@appium/base-driver 8.4.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +8 -6
- package/build/lib/basedriver/core.d.ts +3 -3
- package/build/lib/basedriver/core.js +1 -1
- package/build/lib/basedriver/device-settings.d.ts +7 -4
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +4 -9
- package/build/lib/basedriver/helpers.js +3 -3
- package/build/lib/express/idempotency.js +4 -4
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +39 -38
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +24 -6
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +9 -1
- package/build/test/basedriver/driver-e2e-tests.js +4 -4
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +12 -7
- package/build/test/unit/basedriver/device-settings.spec.js +97 -0
- package/build/test/unit/protocol/routes.spec.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/commands/log.js +8 -13
- package/lib/basedriver/core.js +1 -1
- package/lib/basedriver/device-settings.js +7 -12
- package/lib/basedriver/helpers.js +2 -2
- package/lib/express/idempotency.js +3 -3
- package/lib/express/websocket.js +35 -32
- package/lib/jsonwp-proxy/proxy.js +26 -6
- package/lib/protocol/routes.js +3 -0
- package/package.json +11 -9
- package/test/basedriver/driver-e2e-tests.js +3 -4
|
@@ -1192,6 +1192,14 @@ const METHOD_MAP = {
|
|
|
1192
1192
|
command: 'fullScreenWindow'
|
|
1193
1193
|
}
|
|
1194
1194
|
},
|
|
1195
|
+
'/session/:sessionId/window/new': {
|
|
1196
|
+
POST: {
|
|
1197
|
+
command: 'createNewWindow',
|
|
1198
|
+
payloadParams: {
|
|
1199
|
+
optional: ['type']
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
},
|
|
1195
1203
|
'/session/:sessionId/element/:elementId/property/:name': {
|
|
1196
1204
|
GET: {
|
|
1197
1205
|
command: 'getProperty'
|
|
@@ -1344,4 +1352,4 @@ function routeToCommandName(endpoint, method, basePath = _constants.DEFAULT_BASE
|
|
|
1344
1352
|
|
|
1345
1353
|
const NO_SESSION_ID_COMMANDS = ['createSession', 'getStatus', 'getSessions'];
|
|
1346
1354
|
exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
|
|
1347
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7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a1xuXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgeyBQUk9UT0NPTFMsIERFRkFVTFRfQkFTRV9QQVRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuXG5jb25zdCBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyA9IHtcbiAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICdlaXRoZXIgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIG11c3QgYmUgc2V0JyxcbiAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxufTtcblxuLy8gZGVmaW5lIHRoZSByb3V0ZXMsIG1hcHBpbmcgb2YgSFRUUCBtZXRob2RzIHRvIHBhcnRpY3VsYXIgZHJpdmVyIGNvbW1hbmRzLFxuLy8gYW5kIGFueSBwYXJhbWV0ZXJzIHRoYXQgYXJlIGV4cGVjdGVkIGluIGEgcmVxdWVzdFxuLy8gcGFyYW1ldGVycyBjYW4gYmUgYHJlcXVpcmVkYCBvciBgb3B0aW9uYWxgXG4vKiogQHR5cGUge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLk1ldGhvZE1hcH0gKi9cbmNvbnN0IE1FVEhPRF9NQVAgPSB7XG4gICcvc3RhdHVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTdGF0dXMnfVxuICB9LFxuICAnL3Nlc3Npb24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVTZXNzaW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIWpzb25PYmouY2FwYWJpbGl0aWVzICYmICFqc29uT2JqLmRlc2lyZWRDYXBhYmlsaXRpZXMpICYmICd3ZSByZXF1aXJlIG9uZSBvZiBcImRlc2lyZWRDYXBhYmlsaXRpZXNcIiBvciBcImNhcGFiaWxpdGllc1wiIG9iamVjdCcsXG4gICAgICBvcHRpb25hbDogWydkZXNpcmVkQ2FwYWJpbGl0aWVzJywgJ3JlcXVpcmVkQ2FwYWJpbGl0aWVzJywgJ2NhcGFiaWxpdGllcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9ucyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbid9LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVTZXNzaW9uJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRpbWVvdXRzJ30sIC8vIFczQyByb3V0ZVxuICAgIFBPU1Q6IHtjb21tYW5kOiAndGltZW91dHMnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmosIHByb3RvY29sTmFtZSkgPT4ge1xuICAgICAgICBpZiAocHJvdG9jb2xOYW1lID09PSBQUk9UT0NPTFMuVzNDKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2NyaXB0KSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnBhZ2VMb2FkKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmltcGxpY2l0KSkge1xuICAgICAgICAgICAgcmV0dXJuICdXM0MgcHJvdG9jb2wgZXhwZWN0cyBhbnkgb2Ygc2NyaXB0LCBwYWdlTG9hZCBvciBpbXBsaWNpdCB0byBiZSBzZXQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBNSlNPTldQXG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudHlwZSkgfHwgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5tcykpIHtcbiAgICAgICAgICAgIHJldHVybiAnTUpTT05XUCBwcm90b2NvbCByZXF1aXJlcyB0eXBlIGFuZCBtcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb3B0aW9uYWw6IFsndHlwZScsICdtcycsICdzY3JpcHQnLCAncGFnZUxvYWQnLCAnaW1wbGljaXQnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cy9hc3luY19zY3JpcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhc3luY1NjcmlwdFRpbWVvdXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2ltcGxpY2l0X3dhaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpbXBsaWNpdFdhaXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gIC8vIEpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3dfaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ31cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgLy8gVzNDXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdXJsJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRVcmwnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFVybCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1cmwnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZvcndhcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmb3J3YXJkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYmFjayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWZyZXNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVmcmVzaCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZV9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hdmFpbGFibGVfZW5naW5lcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnYXZhaWxhYmxlSU1FRW5naW5lcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmVfZW5naW5lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBY3RpdmVJTUVFbmdpbmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYWN0aXZhdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0lNRUFjdGl2YXRlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9kZWFjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZGVhY3RpdmF0ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FjdGl2YXRlSU1FRW5naW5lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VuZ2luZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGcmFtZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUvcGFyZW50Jzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICBvcHRpb25hbDogWyduYW1lJywgJ2hhbmRsZSddLFxuICAgICAgLy8gUmV0dXJuIGJvdGggdmFsdWVzIHRvIG1hdGNoIFczQyBhbmQgSlNPTldQIHByb3RvY29sc1xuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLmhhbmRsZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmoubmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmouaGFuZGxlXTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSlcbiAgICAgICAgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwibmFtZVwiIG9yIFwiaGFuZGxlXCIgdG8gYmUgc2V0JyxcbiAgICB9fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnY2xvc2VXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dTaXplJ30sXG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Lzp3aW5kb3doYW5kbGUvcG9zaXRpb24nOiB7XG4gICAgUE9TVDoge30sXG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWVzJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb29raWUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY29va2llJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29va2llJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZUNvb2tpZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NvdXJjZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZVNvdXJjZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpdGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICd0aXRsZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvYWN0aXZlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhY3RpdmUnfSwgLy8gVzNDOiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWdldC1hY3RpdmUtZWxlbWVudFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHNGcm9tRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc3VibWl0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3VibWl0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRleHQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb25zdHJ1Y3RvciBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsXG4gICAgICAgIC8vIGxvZ2ljIGhlcmUuIEJhc2ljYWxseSB3ZSB3YW50IHRvIGFjY2VwdCBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUClcbiAgICAgICAgLy8gb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgKG5vdCBib3RoKS4gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2tleXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmFtZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jbGVhcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsZWFyJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NlbGVjdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50U2VsZWN0ZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZW5hYmxlZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudEVuYWJsZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvYXR0cmlidXRlLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBdHRyaWJ1dGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZXF1YWxzLzpvdGhlcklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlcXVhbHNFbGVtZW50J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Rpc3BsYXllZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudERpc3BsYXllZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbG9jYXRpb25faW5fdmlldyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb25JblZpZXcnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2l6ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaGFkb3cnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTaGFkb3dSb290J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2hhZG93LzpzaGFkb3dJZC9lbGVtZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZEVsZW1lbnRGcm9tU2hhZG93Um9vdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2hhZG93LzpzaGFkb3dJZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21TaGFkb3dSb290JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY3NzLzpwcm9wZXJ0eU5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENzc1Byb3BlcnR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvb3JpZW50YXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldE9yaWVudGF0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRPcmllbnRhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydvcmllbnRhdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcm90YXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFJvdGF0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRSb3RhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAneiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbW92ZXRvJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW92ZVRvJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VsZW1lbnQnLCAneG9mZnNldCcsICd5b2Zmc2V0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsaWNrQ3VycmVudCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2J1dHRvbmRvd24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdidXR0b25Eb3duJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYnV0dG9udXAnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdidXR0b25VcCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZG91YmxlQ2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9jbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsaWNrJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VsZW1lbnQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2Rvd24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaERvd24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC91cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoVXAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9tb3ZlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hNb3ZlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvc2Nyb2xsJzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2RvdWJsZWNsaWNrJzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FjdGlvbnMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtQWN0aW9ucycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAncmVsZWFzZUFjdGlvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9sb25nY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaExvbmdDbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50cyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZmxpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmbGljaycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hzcGVlZCcsICd5c3BlZWQnLCAneG9mZnNldCcsICd5b2Zmc2V0JywgJ3NwZWVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0R2VvTG9jYXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEdlb0xvY2F0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2xvY2F0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlL2tleS86a2V5Jzoge1xuICAgIEdFVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2NhbF9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2UnOiB7XG4gICAgR0VUOiB7fSxcbiAgICBQT1NUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZS9rZXkvOmtleSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL3NpemUnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAvLyBTZWxlbml1bSA0IGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2UvbG9nJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gIC8vIFNlbGVuaXVtIDQgY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZS9sb2cvdHlwZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldExvZ1R5cGVzJ31cbiAgfSxcbiAgLy8gbWpzb253aXJlLCBhcHBpdW0gY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2cnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2cnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgLy8gbWpzb253aXJlLCBhcHBpdW0gY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9sb2cvdHlwZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldExvZ1R5cGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwbGljYXRpb25fY2FjaGUvc3RhdHVzJzoge1xuICAgIEdFVDoge31cbiAgfSxcblxuICAvL1xuICAvLyBtanNvbndpcmVcbiAgLy9cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29udGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudENvbnRleHQnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvbnRleHQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbmFtZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29udGV4dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENvbnRleHRzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3BhZ2VJbmRleCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZUluZGV4J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbmV0d29ya19jb25uZWN0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROZXR3b3JrQ29ubmVjdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0TmV0d29ya0Nvbm5lY3Rpb24nLCBwYXlsb2FkUGFyYW1zOiB7dW53cmFwOiAncGFyYW1ldGVycycsIHJlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3BlcmZvcm0nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtVG91Y2gnLCBwYXlsb2FkUGFyYW1zOiB7d3JhcDogJ2FjdGlvbnMnLCByZXF1aXJlZDogWydhY3Rpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9tdWx0aS9wZXJmb3JtJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybU11bHRpQWN0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2FjdGlvbnMnXSwgb3B0aW9uYWw6IFsnZWxlbWVudElkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWNlaXZlX2FzeW5jX3Jlc3BvbnNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVjZWl2ZUFzeW5jUmVzcG9uc2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdHVzJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NoYWtlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW9iaWxlU2hha2UnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV90aW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX0sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXREZXZpY2VUaW1lJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2Zvcm1hdCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9sb2NrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9jaycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydzZWNvbmRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3VubG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3VubG9jayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfbG9ja2VkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaXNMb2NrZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc3RhcnRfcmVjb3JkaW5nX3NjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3N0YXJ0UmVjb3JkaW5nU2NyZWVuJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ29wdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zdG9wX3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdG9wUmVjb3JkaW5nU2NyZWVuJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ29wdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9wZXJmb3JtYW5jZURhdGEvdHlwZXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRQZXJmb3JtYW5jZURhdGFUeXBlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9nZXRQZXJmb3JtYW5jZURhdGEnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRQZXJmb3JtYW5jZURhdGEnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGFja2FnZU5hbWUnLCAnZGF0YVR5cGUnXSwgb3B0aW9uYWw6IFsnZGF0YVJlYWRUaW1lb3V0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwcmVzc0tleUNvZGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9uZ19wcmVzc19rZXljb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9uZ1ByZXNzS2V5Q29kZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZScsICdmbGFncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9maW5nZXJfcHJpbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5nZXJwcmludCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydmaW5nZXJwcmludElkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3NlbmRfc21zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2VuZFNNUycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwaG9uZU51bWJlcicsICdtZXNzYWdlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9jYWxsJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ3NtQ2FsbCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwaG9uZU51bWJlcicsICdhY3Rpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX3NpZ25hbCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ3NtU2lnbmFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmdoKSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInNpZ25hbFN0cmVuZ3RoXCIgb3IgXCJzaWduYWxTdHJlbmdoXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsnc2lnbmFsU3RyZW5ndGgnLCAnc2lnbmFsU3RyZW5naCddLFxuICAgICAgICAvLyBiYWNrd2FyZC1jb21wYXRpYmxlLiBzb25PYmouc2lnbmFsU3RyZW5ndGggY2FuIGJlIDBcbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ3RoKSA/IGpzb25PYmouc2lnbmFsU3RyZW5ndGggOiBqc29uT2JqLnNpZ25hbFN0cmVuZ2hdXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV92b2ljZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbVZvaWNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Bvd2VyX2NhcGFjaXR5Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG93ZXJDYXBhY2l0eScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwZXJjZW50J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Bvd2VyX2FjJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG93ZXJBQycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9uZXR3b3JrX3NwZWVkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbmV0d29ya1NwZWVkJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25ldHNwZWVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2tleWV2ZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAna2V5ZXZlbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvcm90YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbW9iaWxlUm90YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICByZXF1aXJlZDogWyd4JywgJ3knLCAncmFkaXVzJywgJ3JvdGF0aW9uJywgJ3RvdWNoQ291bnQnLCAnZHVyYXRpb24nXSxcbiAgICAgIG9wdGlvbmFsOiBbJ2VsZW1lbnQnXSB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2N1cnJlbnRfYWN0aXZpdHknOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRBY3Rpdml0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9wYWNrYWdlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50UGFja2FnZSd9XG4gIH0sXG4gIC8vcmVnaW9uIEFwcGxpY2F0aW9ucyBNYW5hZ2VtZW50XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaW5zdGFsbF9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2luc3RhbGxBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydhcHBQYXRoJ10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hY3RpdmF0ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FjdGl2YXRlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9yZW1vdmVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3Rlcm1pbmF0ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3Rlcm1pbmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX2luc3RhbGxlZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnaXNBcHBJbnN0YWxsZWQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hcHBfc3RhdGUnOiB7XG4gICAgR0VUOiB7XG4gICAgICBjb21tYW5kOiAncXVlcnlBcHBTdGF0ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncXVlcnlBcHBTdGF0ZScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAvL2VuZHJlZ2lvblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2hpZGVfa2V5Ym9hcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdoaWRlS2V5Ym9hcmQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc3RyYXRlZ3knLCAna2V5JywgJ2tleUNvZGUnLCAna2V5TmFtZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pc19rZXlib2FyZF9zaG93bic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnaXNLZXlib2FyZFNob3duJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdXNoX2ZpbGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdXNoRmlsZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJywgJ2RhdGEnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVsbF9maWxlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVsbEZpbGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdWxsX2ZvbGRlcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGb2xkZXInLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfYWlycGxhbmVfbW9kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUZsaWdodE1vZGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9kYXRhJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRGF0YSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX3dpZmknOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVXaUZpJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfbG9jYXRpb25fc2VydmljZXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVMb2NhdGlvblNlcnZpY2VzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9vcGVuX25vdGlmaWNhdGlvbnMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdvcGVuTm90aWZpY2F0aW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3RhcnRfYWN0aXZpdHknOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3N0YXJ0QWN0aXZpdHknLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydhcHBQYWNrYWdlJywgJ2FwcEFjdGl2aXR5J10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ2FwcFdhaXRQYWNrYWdlJywgJ2FwcFdhaXRBY3Rpdml0eScsICdpbnRlbnRBY3Rpb24nLFxuICAgICAgICAgICdpbnRlbnRDYXRlZ29yeScsICdpbnRlbnRGbGFncycsICdvcHRpb25hbEludGVudEFyZ3VtZW50cycsICdkb250U3RvcEFwcE9uUmVzZXQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zeXN0ZW1fYmFycyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U3lzdGVtQmFycyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZGlzcGxheV9kZW5zaXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXREaXNwbGF5RGVuc2l0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zaW11bGF0b3IvdG91Y2hfaWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaElkJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ21hdGNoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvZ2dsZV90b3VjaF9pZF9lbnJvbGxtZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRW5yb2xsVG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbmFibGVkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2xhdW5jaCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xhdW5jaEFwcCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvY2xvc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbG9zZUFwcCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvcmVzZXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZXNldCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvYmFja2dyb3VuZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2tncm91bmQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2Vjb25kcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9lbmRfdGVzdF9jb3ZlcmFnZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2VuZENvdmVyYWdlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2ludGVudCcsICdwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL3N0cmluZ3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRTdHJpbmdzJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2xhbmd1YWdlJywgJ3N0cmluZ0ZpbGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRWYWx1ZUltbWVkaWF0ZScsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkpICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgLy8gV2Ugd2FudCB0byBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUCkgb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsXG4gICAgICAvLyBidXQgb25seSBzZW5kIG9uZSBvZiB0aGVtIHRvIHRoZSBjb21tYW5kIChub3QgYm90aCkuXG4gICAgICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3JlcGxhY2VfdmFsdWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZXBsYWNlVmFsdWUnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgIC8vIFdlIHdhbnQgdG8gZWl0aGVyIGEgdmFsdWUgKG9sZCBKU09OV1ApIG9yIGEgdGV4dCAobmV3IFczQykgcGFyYW1ldGVyLFxuICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlID8/IGpzb25PYmoudGV4dCA/PyAnJ10sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NldHRpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndXBkYXRlU2V0dGluZ3MnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2V0dGluZ3MnXX19LFxuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXR0aW5ncyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9yZWNlaXZlX2FzeW5jX3Jlc3BvbnNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVjZWl2ZUFzeW5jUmVzcG9uc2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncmVzcG9uc2UnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9ldmVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2dFdmVudHMnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2xvZ19ldmVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvZ0N1c3RvbUV2ZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZlbmRvcicsICdldmVudCddfX1cbiAgfSxcblxuICAvKlxuICAgKiBUaGUgVzNDIHNwZWMgaGFzIHNvbWUgY2hhbmdlcyB0byB0aGUgd2lyZSBwcm90b2NvbC5cbiAgICogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sXG4gICAqIEJlZ2luIHRvIGFkZCB0aG9zZSBjaGFuZ2VzIGhlcmUsIGtlZXBpbmcgdGhlIG9sZCB2ZXJzaW9uXG4gICAqIHNpbmNlIGNsaWVudHMgc3RpbGwgaW1wbGVtZW50IHRoZW0uXG4gICAqL1xuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0X3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfVxuICB9LFxuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FjY2VwdF9hbGVydCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3RBY2NlcHRBbGVydCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZGlzbWlzc19hbGVydCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3REaXNtaXNzQWxlcnQnfVxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjdXNlci1wcm9tcHRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFsZXJ0VGV4dCd9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRBbGVydFRleHQnLFxuICAgICAgcGF5bG9hZFBhcmFtczogU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMsXG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC9hY2NlcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0QWNjZXB0QWxlcnQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC9kaXNtaXNzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdERpc21pc3NBbGVydCd9XG4gIH0sXG4gIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNnZXQtZWxlbWVudC1yZWN0XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9yZWN0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50UmVjdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2V4ZWN1dGUvc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2V4ZWN1dGUvYXN5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQXN5bmMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIFByZS1XM0MgZW5kcG9pbnQgZm9yIGVsZW1lbnQgc2NyZWVuc2hvdFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zY3JlZW5zaG90LzplbGVtZW50SWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NjcmVlbnNob3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L3JlY3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1JlY3QnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFdpbmRvd1JlY3QnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3dpZHRoJywgJ2hlaWdodCddfX0sXG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L21pbmltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWluaW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvZnVsbHNjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Z1bGxTY3JlZW5XaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcHJvcGVydHkvOm5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFByb3BlcnR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zZXRfY2xpcGJvYXJkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRDbGlwYm9hcmQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydjb250ZW50J10sXG4gICAgICAgIG9wdGlvbmFsOiBbXG4gICAgICAgICAgJ2NvbnRlbnRUeXBlJyxcbiAgICAgICAgICAnbGFiZWwnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nZXRfY2xpcGJvYXJkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnZXRDbGlwYm9hcmQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgIF1cbiAgICAgIH0sXG4gICAgfVxuICB9LFxuXG4gIC8vIGNocm9taXVtIGRldnRvb2xzXG4gIC8vIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL3NlcnZlci9odHRwX2hhbmRsZXIuY2NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvOnZlbmRvci9jZHAvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVDZHAnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY21kJywgJ3BhcmFtcyddfX1cbiAgfSxcblxuICAvL3JlZ2lvbiBXZWJhdXRoblxuICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXV0aG4tMi8jc2N0bi1hdXRvbWF0aW9uLWFkZC12aXJ0dWFsLWF1dGhlbnRpY2F0b3JcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhZGRWaXJ0dWFsQXV0aGVudGljYXRvcicsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ3Byb3RvY29sJywgJ3RyYW5zcG9ydCddLFxuICAgICAgICBvcHRpb25hbDogWydoYXNSZXNpZGVudEtleScsICdoYXNVc2VyVmVyaWZpY2F0aW9uJywgJ2lzVXNlckNvbnNlbnRpbmcnLCAnaXNVc2VyVmVyaWZpZWQnXSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkJzoge1xuICAgIERFTEVURToge1xuICAgICAgY29tbWFuZDogJ3JlbW92ZVZpcnR1YWxBdXRoZW50aWNhdG9yJ1xuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkQXV0aENyZWRlbnRpYWwnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydjcmVkZW50aWFsSWQnLCAnaXNSZXNpZGVudENyZWRlbnRpYWwnLCAncnBJZCcsICdwcml2YXRlS2V5J10sXG4gICAgICAgIG9wdGlvbmFsOiBbJ3VzZXJIYW5kbGUnLCAnc2lnbkNvdW50J10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QXV0aENyZWRlbnRpYWwnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAncmVtb3ZlQWxsQXV0aENyZWRlbnRpYWxzJ30sXG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWxzLzpjcmVkZW50aWFsSWQnOiB7XG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUF1dGhDcmVkZW50aWFsJ31cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvdXYnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFVzZXJBdXRoVmVyaWZpZWQnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydpc1VzZXJWZXJpZmllZCddXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vZW5kcmVnaW9uXG5cbn07XG5cbi8vIGRyaXZlciBjb21tYW5kIG5hbWVzXG5sZXQgQUxMX0NPTU1BTkRTID0gW107XG5mb3IgKGxldCB2IG9mIF8udmFsdWVzKE1FVEhPRF9NQVApKSB7XG4gIGZvciAobGV0IG0gb2YgXy52YWx1ZXModikpIHtcbiAgICBpZiAobS5jb21tYW5kKSB7XG4gICAgICBBTExfQ09NTUFORFMucHVzaChtLmNvbW1hbmQpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBSRV9FU0NBUEUgPSAvWy1bXFxde30oKSs/LixcXFxcXiR8I1xcc10vZztcbmNvbnN0IFJFX1BBUkFNID0gLyhbOipdKShcXHcrKS9nO1xuXG5jbGFzcyBSb3V0ZSB7XG4gIGNvbnN0cnVjdG9yIChyb3V0ZSkge1xuICAgIHRoaXMucGFyYW1OYW1lcyA9IFtdO1xuXG4gICAgbGV0IHJlU3RyID0gcm91dGUucmVwbGFjZShSRV9FU0NBUEUsICdcXFxcJCYnKTtcbiAgICByZVN0ciA9IHJlU3RyLnJlcGxhY2UoUkVfUEFSQU0sIChfLCBtb2RlLCBuYW1lKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtTmFtZXMucHVzaChuYW1lKTtcbiAgICAgIHJldHVybiBtb2RlID09PSAnOicgPyAnKFteL10qKScgOiAnKC4qKSc7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZVJlZ2V4cCA9IG5ldyBSZWdFeHAoYF4ke3JlU3RyfSRgKTtcbiAgfVxuXG4gIHBhcnNlICh1cmwpIHtcbiAgICAvL2lmICh1cmwuaW5kZXhPZigndGltZW91dHMnKSAhPT0gLTEgJiYgdGhpcy5yb3V0ZVJlZ2V4cC50b1N0cmluZygpLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xKSB7XG4gICAgLy9kZWJ1Z2dlcjtcbiAgICAvL31cbiAgICBsZXQgbWF0Y2hlcyA9IHVybC5tYXRjaCh0aGlzLnJvdXRlUmVnZXhwKTtcbiAgICBpZiAoIW1hdGNoZXMpIHJldHVybjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICAgIGxldCBpID0gMDtcbiAgICBsZXQgcGFyYW1zID0ge307XG4gICAgd2hpbGUgKGkgPCB0aGlzLnBhcmFtTmFtZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwYXJhbU5hbWUgPSB0aGlzLnBhcmFtTmFtZXNbaSsrXTtcbiAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gbWF0Y2hlc1tpXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxufVxuXG5mdW5jdGlvbiByb3V0ZVRvQ29tbWFuZE5hbWUgKGVuZHBvaW50LCBtZXRob2QsIGJhc2VQYXRoID0gREVGQVVMVF9CQVNFX1BBVEgpIHtcbiAgbGV0IGRzdFJvdXRlID0gbnVsbDtcblxuICAvLyByZW1vdmUgYW55IHF1ZXJ5IHN0cmluZ1xuICBpZiAoZW5kcG9pbnQuaW5jbHVkZXMoJz8nKSkge1xuICAgIGVuZHBvaW50ID0gZW5kcG9pbnQuc2xpY2UoMCwgZW5kcG9pbnQuaW5kZXhPZignPycpKTtcbiAgfVxuXG4gIGNvbnN0IGFjdHVhbEVuZHBvaW50ID0gZW5kcG9pbnQgPT09ICcvJyA/ICcnIDpcbiAgICAoXy5zdGFydHNXaXRoKGVuZHBvaW50LCAnLycpID8gZW5kcG9pbnQgOiBgLyR7ZW5kcG9pbnR9YCk7XG5cbiAgZm9yIChsZXQgY3VycmVudFJvdXRlIG9mIF8ua2V5cyhNRVRIT0RfTUFQKSkge1xuICAgIGNvbnN0IHJvdXRlID0gbmV3IFJvdXRlKGAke2Jhc2VQYXRofSR7Y3VycmVudFJvdXRlfWApO1xuICAgIC8vIHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdHVhbCBzZXNzaW9uIGlkIGZvciBtYXRjaGluZ1xuICAgIGlmIChyb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0vc2Vzc2lvbi9pZ25vcmVkLXNlc3Npb24taWQke2FjdHVhbEVuZHBvaW50fWApIHx8XG4gICAgICAgIHJvdXRlLnBhcnNlKGAke2Jhc2VQYXRofSR7YWN0dWFsRW5kcG9pbnR9YCkgfHwgcm91dGUucGFyc2UoYWN0dWFsRW5kcG9pbnQpKSB7XG4gICAgICBkc3RSb3V0ZSA9IGN1cnJlbnRSb3V0ZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoIWRzdFJvdXRlKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcblxuICBjb25zdCBtZXRob2RzID0gXy5nZXQoTUVUSE9EX01BUCwgZHN0Um91dGUpO1xuICBtZXRob2QgPSBfLnRvVXBwZXIobWV0aG9kKTtcbiAgaWYgKF8uaGFzKG1ldGhvZHMsIG1ldGhvZCkpIHtcbiAgICBjb25zdCBkc3RNZXRob2QgPSBfLmdldChtZXRob2RzLCBtZXRob2QpO1xuICAgIGlmIChkc3RNZXRob2QuY29tbWFuZCkge1xuICAgICAgcmV0dXJuIGRzdE1ldGhvZC5jb21tYW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLyBkcml2ZXIgY29tbWFuZHMgdGhhdCBkbyBub3QgcmVxdWlyZSBhIHNlc3Npb24gdG8gYWxyZWFkeSBleGlzdFxuY29uc3QgTk9fU0VTU0lPTl9JRF9DT01NQU5EUyA9IFsnY3JlYXRlU2Vzc2lvbicsICdnZXRTdGF0dXMnLCAnZ2V0U2Vzc2lvbnMnXTtcblxuZXhwb3J0IHsgTUVUSE9EX01BUCwgQUxMX0NPTU1BTkRTLCBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLCByb3V0ZVRvQ29tbWFuZE5hbWUgfTtcbiJdfQ==
|
|
1355
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7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QXVCO0FBQ3JCLGFBQU8rRCxTQUFTLENBQUMvRCxPQUFqQjtBQUNEO0FBQ0Y7QUFDRjs7QUFHRCxNQUFNZ0Usc0JBQXNCLEdBQUcsQ0FBQyxlQUFELEVBQWtCLFdBQWxCLEVBQStCLGFBQS9CLENBQS9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgREVGQVVMVF9CQVNFX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5cbmNvbnN0IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TID0ge1xuICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgJ2VpdGhlciBcInRleHRcIiBvciBcInZhbHVlXCIgbXVzdCBiZSBzZXQnLFxuICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG59O1xuXG4vLyBkZWZpbmUgdGhlIHJvdXRlcywgbWFwcGluZyBvZiBIVFRQIG1ldGhvZHMgdG8gcGFydGljdWxhciBkcml2ZXIgY29tbWFuZHMsXG4vLyBhbmQgYW55IHBhcmFtZXRlcnMgdGhhdCBhcmUgZXhwZWN0ZWQgaW4gYSByZXF1ZXN0XG4vLyBwYXJhbWV0ZXJzIGNhbiBiZSBgcmVxdWlyZWRgIG9yIGBvcHRpb25hbGBcbi8qKiBAdHlwZSB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuTWV0aG9kTWFwfSAqL1xuY29uc3QgTUVUSE9EX01BUCA9IHtcbiAgJy9zdGF0dXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN0YXR1cyd9XG4gIH0sXG4gICcvc2Vzc2lvbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NyZWF0ZVNlc3Npb24nLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghanNvbk9iai5jYXBhYmlsaXRpZXMgJiYgIWpzb25PYmouZGVzaXJlZENhcGFiaWxpdGllcykgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwiZGVzaXJlZENhcGFiaWxpdGllc1wiIG9yIFwiY2FwYWJpbGl0aWVzXCIgb2JqZWN0JyxcbiAgICAgIG9wdGlvbmFsOiBbJ2Rlc2lyZWRDYXBhYmlsaXRpZXMnLCAncmVxdWlyZWRDYXBhYmlsaXRpZXMnLCAnY2FwYWJpbGl0aWVzJ119fVxuICB9LFxuICAnL3Nlc3Npb25zJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTZXNzaW9uJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZVNlc3Npb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGltZW91dHMnfSwgLy8gVzNDIHJvdXRlXG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0aW1lb3V0cycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaiwgcHJvdG9jb2xOYW1lKSA9PiB7XG4gICAgICAgIGlmIChwcm90b2NvbE5hbWUgPT09IFBST1RPQ09MUy5XM0MpIHtcbiAgICAgICAgICBpZiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai5zY3JpcHQpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoucGFnZUxvYWQpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaW1wbGljaXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ1czQyBwcm90b2NvbCBleHBlY3RzIGFueSBvZiBzY3JpcHQsIHBhZ2VMb2FkIG9yIGltcGxpY2l0IHRvIGJlIHNldCc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE1KU09OV1BcbiAgICAgICAgICBpZiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai50eXBlKSB8fCAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm1zKSkge1xuICAgICAgICAgICAgcmV0dXJuICdNSlNPTldQIHByb3RvY29sIHJlcXVpcmVzIHR5cGUgYW5kIG1zJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvcHRpb25hbDogWyd0eXBlJywgJ21zJywgJ3NjcmlwdCcsICdwYWdlTG9hZCcsICdpbXBsaWNpdCddLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2FzeW5jX3NjcmlwdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FzeW5jU2NyaXB0VGltZW91dCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMvaW1wbGljaXRfd2FpdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ltcGxpY2l0V2FpdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtcyddfX1cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZSd9XG4gIH0sXG4gIC8vIFczQ1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBKU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93X2hhbmRsZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZXMnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZXMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd0hhbmRsZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC91cmwnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFVybCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VXJsJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VybCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZm9yd2FyZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZvcndhcmQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9iYWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYmFjayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JlZnJlc2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWZyZXNoJ31cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlX2FzeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zY3JlZW5zaG90Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTY3JlZW5zaG90J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2F2YWlsYWJsZV9lbmdpbmVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhdmFpbGFibGVJTUVFbmdpbmVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2ZV9lbmdpbmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEFjdGl2ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzSU1FQWN0aXZhdGVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2RlYWN0aXZhdGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdkZWFjdGl2YXRlSU1FRW5naW5lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvaW1lL2FjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZhdGVJTUVFbmdpbmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZW5naW5lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldEZyYW1lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2lkJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9mcmFtZS9wYXJlbnQnOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFdpbmRvdycsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIG9wdGlvbmFsOiBbJ25hbWUnLCAnaGFuZGxlJ10sXG4gICAgICAvLyBSZXR1cm4gYm90aCB2YWx1ZXMgdG8gbWF0Y2ggVzNDIGFuZCBKU09OV1AgcHJvdG9jb2xzXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IHtcbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmouaGFuZGxlLCBqc29uT2JqLmhhbmRsZV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHV0aWwuaGFzVmFsdWUoanNvbk9iai5uYW1lKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmhhbmRsZSkpIHtcbiAgICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2pzb25PYmoubmFtZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgfSxcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKVxuICAgICAgICAmJiAnd2UgcmVxdWlyZSBvbmUgb2YgXCJuYW1lXCIgb3IgXCJoYW5kbGVcIiB0byBiZSBzZXQnLFxuICAgIH19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdjbG9zZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL3NpemUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFdpbmRvd1NpemUnfSxcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9wb3NpdGlvbic6IHtcbiAgICBQT1NUOiB7fSxcbiAgICBHRVQ6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy86d2luZG93aGFuZGxlL21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb29raWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldENvb2tpZXMnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldENvb2tpZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydjb29raWUnXX19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVDb29raWVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWUnfSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc291cmNlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlU291cmNlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGl0bGUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ3RpdGxlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50cycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC9hY3RpdmUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2FjdGl2ZSd9LCAvLyBXM0M6IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCNkZm4tZ2V0LWFjdGl2ZS1lbGVtZW50XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhY3RpdmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50RnJvbUVsZW1lbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbGVtZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmRFbGVtZW50c0Zyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zdWJtaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdWJtaXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0VGV4dCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC92YWx1ZSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0VmFsdWUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAgIC8vIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGFyZ3VtZW50IGNvbnN0cnVjdG9yIGJlY2F1c2Ugb2YgdGhlIHNwZWNpYWxcbiAgICAgICAgLy8gbG9naWMgaGVyZS4gQmFzaWNhbGx5IHdlIHdhbnQgdG8gYWNjZXB0IGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKVxuICAgICAgICAvLyBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlciwgYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGVcbiAgICAgICAgLy8gY29tbWFuZCAobm90IGJvdGgpLiBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmVcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQva2V5cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleXMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9uYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXROYW1lJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsZWFyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xlYXInfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2VsZWN0ZWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTZWxlY3RlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lbmFibGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RW5hYmxlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9hdHRyaWJ1dGUvOm5hbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF0dHJpYnV0ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9lcXVhbHMvOm90aGVySWQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VxdWFsc0VsZW1lbnQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZGlzcGxheWVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50RGlzcGxheWVkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2xvY2F0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbl9pbl92aWV3Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2NhdGlvbkluVmlldyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTaXplJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NoYWRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudFNoYWRvd1Jvb3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zaGFkb3cvOnNoYWRvd0lkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21TaGFkb3dSb290JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zaGFkb3cvOnNoYWRvd0lkL2VsZW1lbnRzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZEVsZW1lbnRzRnJvbVNoYWRvd1Jvb3QnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jc3MvOnByb3BlcnR5TmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3NzUHJvcGVydHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9vcmllbnRhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0T3JpZW50YXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldE9yaWVudGF0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ29yaWVudGF0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yb3RhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Um90YXRpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFJvdGF0aW9uJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneScsICd6J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9tb3ZldG8nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb3ZlVG8nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZWxlbWVudCcsICd4b2Zmc2V0JywgJ3lvZmZzZXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2tDdXJyZW50JywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYnV0dG9uZG93bic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2J1dHRvbkRvd24nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b251cCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2J1dHRvblVwJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2J1dHRvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZG91YmxlY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdkb3VibGVDbGljayd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZWxlbWVudCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZG93bic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoRG93bicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3VwJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hVcCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL21vdmUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaE1vdmUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9zY3JvbGwnOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvZG91YmxlY2xpY2snOiB7XG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWN0aW9ucyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1BY3Rpb25zJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2FjdGlvbnMnXX19LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZWxlYXNlQWN0aW9ucyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2xvbmdjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTG9uZ0NsaWNrJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VsZW1lbnRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9mbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZsaWNrJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VsZW1lbnQnLCAneHNwZWVkJywgJ3lzcGVlZCcsICd4b2Zmc2V0JywgJ3lvZmZzZXQnLCAnc3BlZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2F0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRHZW9Mb2NhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0R2VvTG9jYXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbG9jYXRpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2UnOiB7XG4gICAgR0VUOiB7fSxcbiAgICBQT1NUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvY2FsX3N0b3JhZ2Uvc2l6ZSc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlL2tleS86a2V5Jzoge1xuICAgIEdFVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2Uvc2l6ZSc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG4gIC8vIFNlbGVuaXVtIDQgY2xpZW50c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZS9sb2cnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnZXRMb2cnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZy90eXBlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9nVHlwZXMnfVxuICB9LFxuICAvLyBtanNvbndpcmUsIGFwcGl1bSBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAvLyBtanNvbndpcmUsIGFwcGl1bSBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2xvZy90eXBlcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9nVHlwZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBsaWNhdGlvbl9jYWNoZS9zdGF0dXMnOiB7XG4gICAgR0VUOiB7fVxuICB9LFxuXG4gIC8vXG4gIC8vIG1qc29ud2lyZVxuICAvL1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb250ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50Q29udGV4dCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Q29udGV4dCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyduYW1lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9jb250ZXh0cyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29udGV4dHMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcGFnZUluZGV4Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQYWdlSW5kZXgnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9uZXR3b3JrX2Nvbm5lY3Rpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldE5ldHdvcmtDb25uZWN0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXROZXR3b3JrQ29ubmVjdGlvbicsIHBheWxvYWRQYXJhbXM6IHt1bndyYXA6ICdwYXJhbWV0ZXJzJywgcmVxdWlyZWQ6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1Ub3VjaCcsIHBheWxvYWRQYXJhbXM6IHt3cmFwOiAnYWN0aW9ucycsIHJlcXVpcmVkOiBbJ2FjdGlvbnMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL211bHRpL3BlcmZvcm0nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwZXJmb3JtTXVsdGlBY3Rpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddLCBvcHRpb25hbDogWydlbGVtZW50SWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY2VpdmVfYXN5bmNfcmVzcG9uc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWNlaXZlQXN5bmNSZXNwb25zZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0dXMnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2hha2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb2JpbGVTaGFrZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3lzdGVtX3RpbWUnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldERldmljZVRpbWUnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZm9ybWF0J119fSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldERldmljZVRpbWUnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZm9ybWF0J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2xvY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb2NrJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3NlY29uZHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdW5sb2NrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndW5sb2NrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pc19sb2NrZWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpc0xvY2tlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zdGFydF9yZWNvcmRpbmdfc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3RhcnRSZWNvcmRpbmdTY3JlZW4nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnb3B0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0b3BfcmVjb3JkaW5nX3NjcmVlbic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3N0b3BSZWNvcmRpbmdTY3JlZW4nLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnb3B0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3BlcmZvcm1hbmNlRGF0YS90eXBlcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YVR5cGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2dldFBlcmZvcm1hbmNlRGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFBlcmZvcm1hbmNlRGF0YScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYWNrYWdlTmFtZScsICdkYXRhVHlwZSddLCBvcHRpb25hbDogWydkYXRhUmVhZFRpbWVvdXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHJlc3Nfa2V5Y29kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3ByZXNzS2V5Q29kZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZScsICdmbGFncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9sb25nX3ByZXNzX2tleWNvZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb25nUHJlc3NLZXlDb2RlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2Zpbmdlcl9wcmludCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2ZpbmdlcnByaW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2ZpbmdlcnByaW50SWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2VuZF9zbXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZW5kU01TJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Bob25lTnVtYmVyJywgJ21lc3NhZ2UnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX2NhbGwnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnc21DYWxsJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Bob25lTnVtYmVyJywgJ2FjdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fc2lnbmFsJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdnc21TaWduYWwnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ3RoKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnNpZ25hbFN0cmVuZ2gpKSAmJlxuICAgICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwic2lnbmFsU3RyZW5ndGhcIiBvciBcInNpZ25hbFN0cmVuZ2hcIiBwYXJhbXMnLFxuICAgICAgICBvcHRpb25hbDogWydzaWduYWxTdHJlbmd0aCcsICdzaWduYWxTdHJlbmdoJ10sXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuIHNvbk9iai5zaWduYWxTdHJlbmd0aCBjYW4gYmUgMFxuICAgICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFt1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5ndGgpID8ganNvbk9iai5zaWduYWxTdHJlbmd0aCA6IGpzb25PYmouc2lnbmFsU3RyZW5naF1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ3NtX3ZvaWNlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ3NtVm9pY2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcG93ZXJfY2FwYWNpdHknOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3dlckNhcGFjaXR5JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BlcmNlbnQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcG93ZXJfYWMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3dlckFDJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL25ldHdvcmtfc3BlZWQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICduZXR3b3JrU3BlZWQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbmV0c3BlZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uva2V5ZXZlbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlldmVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydrZXljb2RlJ10sIG9wdGlvbmFsOiBbJ21ldGFzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9yb3RhdGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtb2JpbGVSb3RhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHJlcXVpcmVkOiBbJ3gnLCAneScsICdyYWRpdXMnLCAncm90YXRpb24nLCAndG91Y2hDb3VudCcsICdkdXJhdGlvbiddLFxuICAgICAgb3B0aW9uYWw6IFsnZWxlbWVudCddIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvY3VycmVudF9hY3Rpdml0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudEFjdGl2aXR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9jdXJyZW50X3BhY2thZ2UnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRQYWNrYWdlJ31cbiAgfSxcbiAgLy9yZWdpb24gQXBwbGljYXRpb25zIE1hbmFnZW1lbnRcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9pbnN0YWxsX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnaW5zdGFsbEFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2FwcFBhdGgnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FjdGl2YXRlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWN0aXZhdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3JlbW92ZV9hcHAnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3JlbW92ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdGVybWluYXRlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAndGVybWluYXRlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9hcHBfaW5zdGFsbGVkJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpc0FwcEluc3RhbGxlZCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9zdGF0ZSc6IHtcbiAgICBHRVQ6IHtcbiAgICAgIGNvbW1hbmQ6ICdxdWVyeUFwcFN0YXRlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9LFxuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdxdWVyeUFwcFN0YXRlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIC8vZW5kcmVnaW9uXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaGlkZV9rZXlib2FyZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2hpZGVLZXlib2FyZCcsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydzdHJhdGVneScsICdrZXknLCAna2V5Q29kZScsICdrZXlOYW1lJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2tleWJvYXJkX3Nob3duJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0tleWJvYXJkU2hvd24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1c2hfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1c2hGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnLCAnZGF0YSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wdWxsX2ZpbGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdWxsRmlsZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZm9sZGVyJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVsbEZvbGRlcicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydwYXRoJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9haXJwbGFuZV9tb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlRmxpZ2h0TW9kZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2RhdGEnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVEYXRhJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfd2lmaSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZVdpRmknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV9sb2NhdGlvbl9zZXJ2aWNlcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUxvY2F0aW9uU2VydmljZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL29wZW5fbm90aWZpY2F0aW9ucyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ29wZW5Ob3RpZmljYXRpb25zJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zdGFydF9hY3Rpdml0eSc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc3RhcnRBY3Rpdml0eScsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbJ2FwcFBhY2thZ2UnLCAnYXBwQWN0aXZpdHknXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnYXBwV2FpdFBhY2thZ2UnLCAnYXBwV2FpdEFjdGl2aXR5JywgJ2ludGVudEFjdGlvbicsXG4gICAgICAgICAgJ2ludGVudENhdGVnb3J5JywgJ2ludGVudEZsYWdzJywgJ29wdGlvbmFsSW50ZW50QXJndW1lbnRzJywgJ2RvbnRTdG9wQXBwT25SZXNldCddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N5c3RlbV9iYXJzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTeXN0ZW1CYXJzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9kaXNwbGF5X2RlbnNpdHknOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldERpc3BsYXlEZW5zaXR5J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NpbXVsYXRvci90b3VjaF9pZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoSWQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbWF0Y2gnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zaW11bGF0b3IvdG9nZ2xlX3RvdWNoX2lkX2Vucm9sbG1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVFbnJvbGxUb3VjaElkJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ2VuYWJsZWQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvbGF1bmNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbGF1bmNoQXBwJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9jbG9zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2Nsb3NlQXBwJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9yZXNldCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Jlc2V0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9iYWNrZ3JvdW5kJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYmFja2dyb3VuZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzZWNvbmRzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2VuZF90ZXN0X2NvdmVyYWdlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZW5kQ292ZXJhZ2UnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnaW50ZW50JywgJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvc3RyaW5ncyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldFN0cmluZ3MnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnbGFuZ3VhZ2UnLCAnc3RyaW5nRmlsZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2VsZW1lbnQvOmVsZW1lbnRJZC92YWx1ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFZhbHVlSW1tZWRpYXRlJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSB8fCBqc29uT2JqLnRleHRdLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9lbGVtZW50LzplbGVtZW50SWQvcmVwbGFjZV92YWx1ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlcGxhY2VWYWx1ZScsIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudmFsdWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudGV4dCkpICYmXG4gICAgICAgICAgJ3dlIHJlcXVpcmUgb25lIG9mIFwidGV4dFwiIG9yIFwidmFsdWVcIiBwYXJhbXMnLFxuICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgLy8gV2Ugd2FudCB0byBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUCkgb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsXG4gICAgICAvLyBidXQgb25seSBzZW5kIG9uZSBvZiB0aGVtIHRvIHRoZSBjb21tYW5kIChub3QgYm90aCkuXG4gICAgICAvLyBQcmVmZXIgJ3ZhbHVlJyBzaW5jZSBpdCdzIG1vcmUgYmFja3dhcmQtY29tcGF0aWJsZS5cbiAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgPz8ganNvbk9iai50ZXh0ID8/ICcnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2V0dGluZ3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd1cGRhdGVTZXR0aW5ncycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzZXR0aW5ncyddfX0sXG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFNldHRpbmdzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3JlY2VpdmVfYXN5bmNfcmVzcG9uc2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdyZWNlaXZlQXN5bmNSZXNwb25zZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydyZXNwb25zZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2V2ZW50cyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZ0V2ZW50cycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWyd0eXBlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vbG9nX2V2ZW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbG9nQ3VzdG9tRXZlbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndmVuZG9yJywgJ2V2ZW50J119fVxuICB9LFxuXG4gIC8qXG4gICAqIFRoZSBXM0Mgc3BlYyBoYXMgc29tZSBjaGFuZ2VzIHRvIHRoZSB3aXJlIHByb3RvY29sLlxuICAgKiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWxcbiAgICogQmVnaW4gdG8gYWRkIHRob3NlIGNoYW5nZXMgaGVyZSwga2VlcGluZyB0aGUgb2xkIHZlcnNpb25cbiAgICogc2luY2UgY2xpZW50cyBzdGlsbCBpbXBsZW1lbnQgdGhlbS5cbiAgICovXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnRfdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QWxlcnRUZXh0J30sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldEFsZXJ0VGV4dCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyxcbiAgICB9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWNjZXB0X2FsZXJ0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J31cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kaXNtaXNzX2FsZXJ0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdERpc21pc3NBbGVydCd9XG4gIH0sXG4gIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbCN1c2VyLXByb21wdHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvdGV4dCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0QWxlcnRUZXh0J30sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldEFsZXJ0VGV4dCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiBTRVRfQUxFUlRfVEVYVF9QQVlMT0FEX1BBUkFNUyxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L2FjY2VwdCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3RBY2NlcHRBbGVydCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FsZXJ0L2Rpc21pc3MnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0RGlzbWlzc0FsZXJ0J31cbiAgfSxcbiAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI2dldC1lbGVtZW50LXJlY3RcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3JlY3QnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEVsZW1lbnRSZWN0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZS9zeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZS9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgLy8gUHJlLVczQyBlbmRwb2ludCBmb3IgZWxlbWVudCBzY3JlZW5zaG90XG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NjcmVlbnNob3QvOmVsZW1lbnRJZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFNjcmVlbnNob3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93UmVjdCd9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0V2luZG93UmVjdCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knLCAnd2lkdGgnLCAnaGVpZ2h0J119fSxcbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L21heGltaXplJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnbWF4aW1pemVXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWluaW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtaW5pbWl6ZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9mdWxsc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZnVsbFNjcmVlbldpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9uZXcnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVOZXdXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsndHlwZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3Byb3BlcnR5LzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY29udGVudCddLFxuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgICAgJ2xhYmVsJyxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnY29udGVudFR5cGUnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcblxuICAvLyBjaHJvbWl1bSBkZXZ0b29sc1xuICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvbWFzdGVyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9zZXJ2ZXIvaHR0cF9oYW5kbGVyLmNjXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkLzp2ZW5kb3IvY2RwL2V4ZWN1dGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQ2RwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2NtZCcsICdwYXJhbXMnXX19XG4gIH0sXG5cbiAgLy9yZWdpb24gV2ViYXV0aG5cbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLTIvI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvcic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkVmlydHVhbEF1dGhlbnRpY2F0b3InLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydwcm90b2NvbCcsICd0cmFuc3BvcnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnaGFzUmVzaWRlbnRLZXknLCAnaGFzVXNlclZlcmlmaWNhdGlvbicsICdpc1VzZXJDb25zZW50aW5nJywgJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZCc6IHtcbiAgICBERUxFVEU6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVWaXJ0dWFsQXV0aGVudGljYXRvcidcbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FkZEF1dGhDcmVkZW50aWFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY3JlZGVudGlhbElkJywgJ2lzUmVzaWRlbnRDcmVkZW50aWFsJywgJ3JwSWQnLCAncHJpdmF0ZUtleSddLFxuICAgICAgICBvcHRpb25hbDogWyd1c2VySGFuZGxlJywgJ3NpZ25Db3VudCddLFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF1dGhDcmVkZW50aWFsJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUFsbEF1dGhDcmVkZW50aWFscyd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscy86Y3JlZGVudGlhbElkJzoge1xuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBdXRoQ3JlZGVudGlhbCd9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL3V2Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRVc2VyQXV0aFZlcmlmaWVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnaXNVc2VyVmVyaWZpZWQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvL2VuZHJlZ2lvblxuXG59O1xuXG4vLyBkcml2ZXIgY29tbWFuZCBuYW1lc1xubGV0IEFMTF9DT01NQU5EUyA9IFtdO1xuZm9yIChsZXQgdiBvZiBfLnZhbHVlcyhNRVRIT0RfTUFQKSkge1xuICBmb3IgKGxldCBtIG9mIF8udmFsdWVzKHYpKSB7XG4gICAgaWYgKG0uY29tbWFuZCkge1xuICAgICAgQUxMX0NPTU1BTkRTLnB1c2gobS5jb21tYW5kKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgUkVfRVNDQVBFID0gL1stW1xcXXt9KCkrPy4sXFxcXF4kfCNcXHNdL2c7XG5jb25zdCBSRV9QQVJBTSA9IC8oWzoqXSkoXFx3KykvZztcblxuY2xhc3MgUm91dGUge1xuICBjb25zdHJ1Y3RvciAocm91dGUpIHtcbiAgICB0aGlzLnBhcmFtTmFtZXMgPSBbXTtcblxuICAgIGxldCByZVN0ciA9IHJvdXRlLnJlcGxhY2UoUkVfRVNDQVBFLCAnXFxcXCQmJyk7XG4gICAgcmVTdHIgPSByZVN0ci5yZXBsYWNlKFJFX1BBUkFNLCAoXywgbW9kZSwgbmFtZSkgPT4ge1xuICAgICAgdGhpcy5wYXJhbU5hbWVzLnB1c2gobmFtZSk7XG4gICAgICByZXR1cm4gbW9kZSA9PT0gJzonID8gJyhbXi9dKiknIDogJyguKiknO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGVSZWdleHAgPSBuZXcgUmVnRXhwKGBeJHtyZVN0cn0kYCk7XG4gIH1cblxuICBwYXJzZSAodXJsKSB7XG4gICAgLy9pZiAodXJsLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xICYmIHRoaXMucm91dGVSZWdleHAudG9TdHJpbmcoKS5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSkge1xuICAgIC8vZGVidWdnZXI7XG4gICAgLy99XG4gICAgbGV0IG1hdGNoZXMgPSB1cmwubWF0Y2godGhpcy5yb3V0ZVJlZ2V4cCk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIHdoaWxlIChpIDwgdGhpcy5wYXJhbU5hbWVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1OYW1lID0gdGhpcy5wYXJhbU5hbWVzW2krK107XG4gICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IG1hdGNoZXNbaV07XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcm91dGVUb0NvbW1hbmROYW1lIChlbmRwb2ludCwgbWV0aG9kLCBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRIKSB7XG4gIGxldCBkc3RSb3V0ZSA9IG51bGw7XG5cbiAgLy8gcmVtb3ZlIGFueSBxdWVyeSBzdHJpbmdcbiAgaWYgKGVuZHBvaW50LmluY2x1ZGVzKCc/JykpIHtcbiAgICBlbmRwb2ludCA9IGVuZHBvaW50LnNsaWNlKDAsIGVuZHBvaW50LmluZGV4T2YoJz8nKSk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxFbmRwb2ludCA9IGVuZHBvaW50ID09PSAnLycgPyAnJyA6XG4gICAgKF8uc3RhcnRzV2l0aChlbmRwb2ludCwgJy8nKSA/IGVuZHBvaW50IDogYC8ke2VuZHBvaW50fWApO1xuXG4gIGZvciAobGV0IGN1cnJlbnRSb3V0ZSBvZiBfLmtleXMoTUVUSE9EX01BUCkpIHtcbiAgICBjb25zdCByb3V0ZSA9IG5ldyBSb3V0ZShgJHtiYXNlUGF0aH0ke2N1cnJlbnRSb3V0ZX1gKTtcbiAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwgc2Vzc2lvbiBpZCBmb3IgbWF0Y2hpbmdcbiAgICBpZiAocm91dGUucGFyc2UoYCR7YmFzZVBhdGh9L3Nlc3Npb24vaWdub3JlZC1zZXNzaW9uLWlkJHthY3R1YWxFbmRwb2ludH1gKSB8fFxuICAgICAgICByb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0ke2FjdHVhbEVuZHBvaW50fWApIHx8IHJvdXRlLnBhcnNlKGFjdHVhbEVuZHBvaW50KSkge1xuICAgICAgZHN0Um91dGUgPSBjdXJyZW50Um91dGU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKCFkc3RSb3V0ZSkgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG5cbiAgY29uc3QgbWV0aG9kcyA9IF8uZ2V0KE1FVEhPRF9NQVAsIGRzdFJvdXRlKTtcbiAgbWV0aG9kID0gXy50b1VwcGVyKG1ldGhvZCk7XG4gIGlmIChfLmhhcyhtZXRob2RzLCBtZXRob2QpKSB7XG4gICAgY29uc3QgZHN0TWV0aG9kID0gXy5nZXQobWV0aG9kcywgbWV0aG9kKTtcbiAgICBpZiAoZHN0TWV0aG9kLmNvbW1hbmQpIHtcbiAgICAgIHJldHVybiBkc3RNZXRob2QuY29tbWFuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZHJpdmVyIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBzZXNzaW9uIHRvIGFscmVhZHkgZXhpc3RcbmNvbnN0IE5PX1NFU1NJT05fSURfQ09NTUFORFMgPSBbJ2NyZWF0ZVNlc3Npb24nLCAnZ2V0U3RhdHVzJywgJ2dldFNlc3Npb25zJ107XG5cbmV4cG9ydCB7IE1FVEhPRF9NQVAsIEFMTF9DT01NQU5EUywgTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgcm91dGVUb0NvbW1hbmROYW1lIH07XG4iXX0=
|
|
@@ -329,12 +329,12 @@ function baseDriverE2ETests(DriverClass, defaultCaps = {}) {
|
|
|
329
329
|
it('should be able to get settings object', function () {
|
|
330
330
|
d.settings.getSettings().ignoreUnimportantViews.should.be.false;
|
|
331
331
|
});
|
|
332
|
-
it('should
|
|
332
|
+
it('should not reject when `updateSettings` method is not provided', async function () {
|
|
333
333
|
await d.settings.update({
|
|
334
334
|
ignoreUnimportantViews: true
|
|
335
|
-
}).should.
|
|
335
|
+
}).should.not.be.rejected;
|
|
336
336
|
});
|
|
337
|
-
it('should
|
|
337
|
+
it('should reject for invalid update object', async function () {
|
|
338
338
|
await d.settings.update('invalid json').should.eventually.be.rejectedWith('JSON');
|
|
339
339
|
});
|
|
340
340
|
});
|
|
@@ -410,4 +410,4 @@ function baseDriverE2ETests(DriverClass, defaultCaps = {}) {
|
|
|
410
410
|
|
|
411
411
|
var _default = baseDriverE2ETests;
|
|
412
412
|
exports.default = _default;
|
|
413
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvYmFzZWRyaXZlci9kcml2ZXItZTJlLXRlc3RzLmpzIl0sIm5hbWVzIjpbIlBPU1QiLCJERUxFVEUiLCJNRVRIT0RTIiwiYmFzZURyaXZlckUyRVRlc3RzIiwiRHJpdmVyQ2xhc3MiLCJkZWZhdWx0Q2FwcyIsImFkZHJlc3MiLCJURVNUX0hPU1QiLCJwb3J0IiwiY2xhc3NOYW1lIiwibmFtZSIsImRlc2NyaWJlIiwiYmFzZVNlcnZlciIsImQiLCJuZXdTZXNzaW9uVVJMIiwiY3JlYXRlQXBwaXVtVGVzdFVSTCIsImNyZWF0ZVNlc3Npb25VUkwiLCJiZWZvcmUiLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJob3N0bmFtZSIsIl8iLCJhZnRlciIsImNsb3NlIiwic3RhcnRTZXNzaW9uIiwiY2FwcyIsInVybCIsIm1ldGhvZCIsImRhdGEiLCJjYXBhYmlsaXRpZXMiLCJhbHdheXNNYXRjaCIsImZpcnN0TWF0Y2giLCJ2YWx1ZSIsImVuZFNlc3Npb24iLCJpZCIsInZhbGlkYXRlU3RhdHVzIiwiZ2V0U2Vzc2lvbiIsIml0Iiwic2Vzc2lvbklkcyIsInRpbWVzIiwic2Vzc2lvbklkIiwiaGVhZGVycyIsInNpbXBsZSIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicHVzaCIsInVuaXEiLCJsZW5ndGgiLCJzaG91bGQiLCJlcXVhbCIsInN0YXR1cyIsInJlcXMiLCJCIiwiYWxsIiwibWFwIiwieCIsImV4aXN0IiwicGxhdGZvcm1OYW1lIiwiZGV2aWNlTmFtZSIsInNraXAiLCJvcmlnaW5hbEZpbmRFbGVtZW50Iiwib3JpZ2luYWxGaW5kRWxlbWVudHMiLCJzdGFydFRpbWVvdXRTZXNzaW9uIiwidGltZW91dCIsImNsb25lRGVlcCIsImZpbmRFbGVtZW50IiwiYmluZCIsImZpbmRFbGVtZW50cyIsImRlbGF5IiwibmV3U2Vzc2lvbiIsIm5ld0NvbW1hbmRUaW1lb3V0TXMiLCJiZSIsImFib3ZlIiwic2Vzc2lvblVSTCIsInVzaW5nIiwiZXJyb3IiLCJyZXNwIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZXFsIiwibm90Iiwibm9Db21tYW5kVGltZXIiLCJzZXR0aW5ncyIsIkRldmljZVNldHRpbmdzIiwiaWdub3JlVW5pbXBvcnRhbnRWaWV3cyIsImdldFNldHRpbmdzIiwiZmFsc2UiLCJ1cGRhdGUiLCJldmVudHVhbGx5IiwicmVqZWN0ZWRXaXRoIiwiX29sZEdldFN0YXR1cyIsImdldFN0YXR1cyIsInJlcVByb21pc2UiLCJzaHV0ZG93bkV2ZW50UHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzZXRUaW1lb3V0IiwiRXJyb3IiLCJvblVuZXhwZWN0ZWRTaHV0ZG93biIsInN0YXJ0VW5leHBlY3RlZFNodXRkb3duIiwibWVzc2FnZSIsImNvbnRhaW4iLCJzZXNzaW9uIiwicmVzIiwiZXZlbnRzIiwiT2JqZWN0IiwiYXNzaWduIiwibmV3U2Vzc2lvblJlcXVlc3RlZCIsIm5ld1Nlc3Npb25TdGFydGVkIiwiYSIsIkJhc2VEcml2ZXIiLCJyZXQiLCJQUkVGSVhFRF9BUFBJVU1fT1BUU19DQVAiLCJwbGF0Zm9ybVZlcnNpb24iLCJvcHRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBLE1BQU07QUFBQ0EsRUFBQUEsSUFBRDtBQUFPQyxFQUFBQTtBQUFQLElBQWlCQyxnQkFBdkI7O0FBRUEsU0FBU0Msa0JBQVQsQ0FBNkJDLFdBQTdCLEVBQTBDQyxXQUFXLEdBQUcsRUFBeEQsRUFBNEQ7QUFBQTs7QUFDMUQsTUFBSUMsT0FBTywyQkFBR0QsV0FBVyxDQUFDLGdCQUFELENBQWQsdUVBQW9DRSxrQkFBL0M7QUFDQSxNQUFJQyxJQUFJLEdBQUdILFdBQVcsQ0FBQyxhQUFELENBQXRCO0FBQ0EsUUFBTUksU0FBUyxHQUFHTCxXQUFXLENBQUNNLElBQVosSUFBb0Isa0JBQXRDO0FBRUFDLEVBQUFBLFFBQVEsQ0FBRSxzQkFBcUJGLFNBQVUsR0FBakMsRUFBcUMsWUFB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b0VBQUQsRUFBdUUsa0JBQWtCO0FBQ3pGLGdCQUFNMEUsR0FBRyxHQUFHLE1BQU12RixZQUFZLENBQUM7QUFDN0JnQyxZQUFBQSxZQUFZLEVBQUUsS0FEZTtBQUU3QixhQUFDd0Qsc0NBQUQsR0FBNEI7QUFDMUJDLGNBQUFBLGVBQWUsRUFBRSxNQURTO0FBRTFCLG1DQUFxQjtBQUZLO0FBRkMsV0FBRCxDQUE5QjtBQU9BbkcsVUFBQUEsQ0FBQyxDQUFDb0csSUFBRixDQUFPRCxlQUFQLENBQXVCbEUsTUFBdkIsQ0FBOEJnQyxHQUE5QixDQUFrQyxNQUFsQztBQUNBakUsVUFBQUEsQ0FBQyxDQUFDb0csSUFBRixDQUFPekQsVUFBUCxDQUFrQlYsTUFBbEIsQ0FBeUJnQyxHQUF6QixDQUE2QixXQUE3QjtBQUNBLGdCQUFNOUMsVUFBVSxDQUFDOEUsR0FBRyxDQUFDdkUsU0FBTCxDQUFoQjtBQUNELFNBWEMsQ0FBRjtBQVlELE9BYk8sQ0FBUjtBQWNEO0FBQ0YsR0F4Vk8sQ0FBUjtBQXlWRDs7ZUFFY3BDLGtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJhc2VEcml2ZXIsIHNlcnZlciwgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLCBEZXZpY2VTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2xpYic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHsgVEVTVF9IT1NULCBnZXRUZXN0UG9ydCwgY3JlYXRlQXBwaXVtVVJMLCBNRVRIT0RTIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgeyBQUkVGSVhFRF9BUFBJVU1fT1BUU19DQVAgfSBmcm9tICcuLi8uLi9saWIvYmFzZWRyaXZlci9jYXBhYmlsaXRpZXMnO1xuY29uc3Qge1BPU1QsIERFTEVURX0gPSBNRVRIT0RTO1xuXG5mdW5jdGlvbiBiYXNlRHJpdmVyRTJFVGVzdHMgKERyaXZlckNsYXNzLCBkZWZhdWx0Q2FwcyA9IHt9KSB7XG4gIGxldCBhZGRyZXNzID0gZGVmYXVsdENhcHNbJ2FwcGl1bTphZGRyZXNzJ10gPz8gVEVTVF9IT1NUO1xuICBsZXQgcG9ydCA9IGRlZmF1bHRDYXBzWydhcHBpdW06cG9ydCddO1xuICBjb25zdCBjbGFzc05hbWUgPSBEcml2ZXJDbGFzcy5uYW1lIHx8ICcodW5rbm93biBkcml2ZXIpJztcblxuICBkZXNjcmliZShgQmFzZURyaXZlciBFMkUgKGFzICR7Y2xhc3NOYW1lfSlgLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGJhc2VTZXJ2ZXIsIGQ7XG4gICAgLyoqXG4gICAgICAgKiBUaGlzIFVSTCBjcmVhdGVzIGEgbmV3IHNlc3Npb25cbiAgICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICAgKiovXG4gICAgbGV0IG5ld1Nlc3Npb25VUkw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgVVJMIHdpdGggYmFzZSBob3N0L3BvcnQuIFN1cHBseSBgc2Vzc2lvbmAgYW5kIGBwYXRobmFtZWBcbiAgICAgKiBAdHlwZSB7Xy5DdXJyaWVkRnVuY3Rpb24yPHN0cmluZyxzdHJpbmcsc3RyaW5nPn1cbiAgICAgKi9cbiAgICBsZXQgY3JlYXRlQXBwaXVtVGVzdFVSTDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBVUkwgd2l0aCB0aGUgZ2l2ZW4gc2Vzc2lvbiBJRCBhbmQgYSBibGFuayBwYXRobmFtZTtcbiAgICAgKiBlLmcuLCBgaHR0cDovL2Zvby5iYXI6MTIzL3Nlc3Npb24vPHNlc3Npb24taWQ+YFxuICAgICAqICBAdHlwZSB7Xy5DdXJyaWVkRnVuY3Rpb24xPHN0cmluZyxzdHJpbmc+fVxuICAgICAqL1xuICAgIGxldCBjcmVhdGVTZXNzaW9uVVJMO1xuXG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIHBvcnQgPSBwb3J0ID8/IGF3YWl0IGdldFRlc3RQb3J0KCk7XG4gICAgICBkZWZhdWx0Q2FwcyA9IHsuLi5kZWZhdWx0Q2FwcywgJ2FwcGl1bTpwb3J0JzogcG9ydH07XG4gICAgICBkID0gbmV3IERyaXZlckNsYXNzKHtwb3J0LCBhZGRyZXNzfSk7XG4gICAgICBiYXNlU2VydmVyID0gYXdhaXQgc2VydmVyKHtcbiAgICAgICAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uOiByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24oZCksXG4gICAgICAgIHBvcnQsXG4gICAgICAgIGhvc3RuYW1lOiBURVNUX0hPU1RcbiAgICAgIH0pO1xuICAgICAgY3JlYXRlQXBwaXVtVGVzdFVSTCA9IGNyZWF0ZUFwcGl1bVVSTChhZGRyZXNzLCBwb3J0KTtcbiAgICAgIG5ld1Nlc3Npb25VUkwgPSBjcmVhdGVBcHBpdW1UZXN0VVJMKCcnLCAnc2Vzc2lvbicpO1xuICAgICAgY3JlYXRlU2Vzc2lvblVSTCA9IGNyZWF0ZUFwcGl1bVRlc3RVUkwoXywgJycpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgYXdhaXQgYmFzZVNlcnZlci5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gc3RhcnRTZXNzaW9uIChjYXBzKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgdXJsOiBuZXdTZXNzaW9uVVJMLFxuICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgIGRhdGE6IHtjYXBhYmlsaXRpZXM6IHthbHdheXNNYXRjaDogY2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgfSkpLmRhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgYXN5bmMgZnVuY3Rpb24gZW5kU2Vzc2lvbiAoaWQpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoaWQpLFxuICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICB9KSkuZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBnZXRTZXNzaW9uIChpZCkge1xuICAgICAgcmV0dXJuIChhd2FpdCBheGlvcyh7XG4gICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChpZCksXG4gICAgICB9KSkuZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBkZXNjcmliZSgnc2Vzc2lvbiBoYW5kbGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgaGFuZGxlIGlkZW1wb3RlbmN5IHdoaWxlIGNyZWF0aW5nIHNlc3Npb25zJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBzZXNzaW9uSWRzID0gW107XG4gICAgICAgIGxldCB0aW1lcyA9IDA7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjb25zdCB7c2Vzc2lvbklkfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdYLUlkZW1wb3RlbmN5LUtleSc6ICcxMjM0NTYnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICAgIGRhdGE6IHtjYXBhYmlsaXRpZXM6IHthbHdheXNNYXRjaDogZGVmYXVsdENhcHMsIGZpcnN0TWF0Y2g6IFt7fV19fSxcbiAgICAgICAgICAgIHNpbXBsZTogZmFsc2UsXG4gICAgICAgICAgICByZXNvbHZlV2l0aEZ1bGxSZXNwb25zZTogdHJ1ZVxuICAgICAgICAgIH0pKS5kYXRhLnZhbHVlO1xuXG4gICAgICAgICAgc2Vzc2lvbklkcy5wdXNoKHNlc3Npb25JZCk7XG4gICAgICAgICAgdGltZXMrKztcbiAgICAgICAgfSB3aGlsZSAodGltZXMgPCAyKTtcbiAgICAgICAgXy51bmlxKHNlc3Npb25JZHMpLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG5cbiAgICAgICAgY29uc3Qge3N0YXR1cywgZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKHNlc3Npb25JZHNbMF0pLFxuICAgICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICB9KTtcbiAgICAgICAgc3RhdHVzLnNob3VsZC5lcXVhbCgyMDApO1xuICAgICAgICBzaG91bGQuZXF1YWwoZGF0YS52YWx1ZSwgbnVsbCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBoYW5kbGUgaWRlbXBvdGVuY3kgd2hpbGUgY3JlYXRpbmcgcGFyYWxsZWwgc2Vzc2lvbnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHJlcXMgPSBbXTtcbiAgICAgICAgbGV0IHRpbWVzID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIHJlcXMucHVzaChheGlvcyh7XG4gICAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdYLUlkZW1wb3RlbmN5LUtleSc6ICcxMjM0NScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBkZWZhdWx0Q2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgICAgIH0pKTtcbiAgICAgICAgICB0aW1lcysrO1xuICAgICAgICB9IHdoaWxlICh0aW1lcyA8IDIpO1xuICAgICAgICBjb25zdCBzZXNzaW9uSWRzID0gKGF3YWl0IEIuYWxsKHJlcXMpKS5tYXAoKHgpID0+IHguZGF0YS52YWx1ZS5zZXNzaW9uSWQpO1xuICAgICAgICBfLnVuaXEoc2Vzc2lvbklkcykubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcblxuICAgICAgICBjb25zdCB7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoc2Vzc2lvbklkc1swXSksXG4gICAgICAgICAgbWV0aG9kOiBERUxFVEUsXG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0dXMuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkYXRhLnZhbHVlLCBudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGNyZWF0ZSBzZXNzaW9uIGFuZCByZXRyaWV2ZSBhIHNlc3Npb24gaWQsIHRoZW4gZGVsZXRlIGl0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQge3N0YXR1cywgZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBuZXdTZXNzaW9uVVJMLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7Y2FwYWJpbGl0aWVzOiB7YWx3YXlzTWF0Y2g6IGRlZmF1bHRDYXBzLCBmaXJzdE1hdGNoOiBbe31dfX0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmV4aXN0KGRhdGEudmFsdWUuc2Vzc2lvbklkKTtcbiAgICAgICAgZGF0YS52YWx1ZS5jYXBhYmlsaXRpZXMucGxhdGZvcm1OYW1lLnNob3VsZC5lcXVhbChkZWZhdWx0Q2Fwcy5wbGF0Zm9ybU5hbWUpO1xuICAgICAgICBkYXRhLnZhbHVlLmNhcGFiaWxpdGllcy5kZXZpY2VOYW1lLnNob3VsZC5lcXVhbChkZWZhdWx0Q2Fwc1snYXBwaXVtOmRldmljZU5hbWUnXSk7XG5cbiAgICAgICAgKHtzdGF0dXMsIGRhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCksXG4gICAgICAgICAgbWV0aG9kOiBERUxFVEUsXG4gICAgICAgIH0pKTtcblxuICAgICAgICBzdGF0dXMuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkYXRhLnZhbHVlLCBudWxsKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGQuc2Vzc2lvbklkLCBudWxsKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQuc2tpcCgnc2hvdWxkIHRocm93IE5ZSSBmb3IgY29tbWFuZHMgbm90IGltcGxlbWVudGVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NvbW1hbmQgdGltZW91dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBsZXQgb3JpZ2luYWxGaW5kRWxlbWVudCwgb3JpZ2luYWxGaW5kRWxlbWVudHM7XG5cbiAgICAgIGFzeW5jIGZ1bmN0aW9uIHN0YXJ0VGltZW91dFNlc3Npb24gKHRpbWVvdXQpIHtcbiAgICAgICAgY29uc3QgY2FwcyA9IF8uY2xvbmVEZWVwKGRlZmF1bHRDYXBzKTtcbiAgICAgICAgY2Fwc1snYXBwaXVtOm5ld0NvbW1hbmRUaW1lb3V0J10gPSB0aW1lb3V0O1xuICAgICAgICByZXR1cm4gYXdhaXQgc3RhcnRTZXNzaW9uKGNhcHMpO1xuICAgICAgfVxuXG4gICAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgICBvcmlnaW5hbEZpbmRFbGVtZW50ID0gZC5maW5kRWxlbWVudDtcbiAgICAgICAgZC5maW5kRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gJ2Zvbyc7XG4gICAgICAgIH0uYmluZChkKTtcblxuICAgICAgICBvcmlnaW5hbEZpbmRFbGVtZW50cyA9IGQuZmluZEVsZW1lbnRzO1xuICAgICAgICBkLmZpbmRFbGVtZW50cyA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBhd2FpdCBCLmRlbGF5KDIwMCk7XG4gICAgICAgICAgcmV0dXJuIFsnZm9vJ107XG4gICAgICAgIH0uYmluZChkKTtcbiAgICAgIH0pO1xuXG4gICAgICBhZnRlcihmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuZmluZEVsZW1lbnQgPSBvcmlnaW5hbEZpbmRFbGVtZW50O1xuICAgICAgICBkLmZpbmRFbGVtZW50cyA9IG9yaWdpbmFsRmluZEVsZW1lbnRzO1xuICAgICAgfSk7XG5cblxuICAgICAgaXQoJ3Nob3VsZCBzZXQgYSBkZWZhdWx0IGNvbW1hbmRUaW1lb3V0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oKTtcbiAgICAgICAgZC5uZXdDb21tYW5kVGltZW91dE1zLnNob3VsZC5iZS5hYm92ZSgwKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCB0aW1lb3V0IG9uIGNvbW1hbmRzIHVzaW5nIGNvbW1hbmRUaW1lb3V0IGNhcCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDAuMjUpO1xuICAgICAgICAvLyBYWFg6IHJhY2UgY29uZGl0aW9uOiB3ZSBtdXN0IGJ1aWxkIHRoaXMgVVJMIGJlZm9yZSAuLi5zb21ldGhpbmcgaGFwcGVucy4uLlxuICAgICAgICAvLyB3aGljaCBjYXVzZXMgYGQuc2Vzc2lvbklkYCB0byBiZSBtaXNzaW5nXG4gICAgICAgIGxldCBzZXNzaW9uVVJMID0gY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCk7XG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZUFwcGl1bVRlc3RVUkwoZC5zZXNzaW9uSWQsICdlbGVtZW50JyksXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHt1c2luZzogJ25hbWUnLCB2YWx1ZTogJ2Zvbyd9LFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgQi5kZWxheSg0MDApO1xuICAgICAgICBjb25zdCB7ZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBzZXNzaW9uVVJMLFxuICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUuZXJyb3IsICdpbnZhbGlkIHNlc3Npb24gaWQnKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGQuc2Vzc2lvbklkLCBudWxsKTtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQuZXF1YWwocmVzcC5lcnJvciwgJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgbm90IHRpbWVvdXQgd2l0aCBjb21tYW5kVGltZW91dCBvZiBmYWxzZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDAuMSk7XG4gICAgICAgIGxldCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSAoYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTChkLnNlc3Npb25JZCwgJ2VsZW1lbnRzJyksXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHt1c2luZzogJ25hbWUnLCB2YWx1ZTogJ2Zvbyd9LFxuICAgICAgICB9KSkuZGF0YTtcbiAgICAgICAgKERhdGUubm93KCkgLSBzdGFydCkuc2hvdWxkLmJlLmFib3ZlKDE1MCk7XG4gICAgICAgIHZhbHVlLnNob3VsZC5lcWwoWydmb28nXSk7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgbm90IHRpbWVvdXQgd2l0aCBjb21tYW5kVGltZW91dCBvZiAwJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBkLm5ld0NvbW1hbmRUaW1lb3V0TXMgPSAyO1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMCk7XG5cbiAgICAgICAgYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTChkLnNlc3Npb25JZCwgJ2VsZW1lbnQnKSxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge3VzaW5nOiAnbmFtZScsIHZhbHVlOiAnZm9vJ30sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBCLmRlbGF5KDQwMCk7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSAoYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCksXG4gICAgICAgIH0pKS5kYXRhO1xuICAgICAgICB2YWx1ZS5wbGF0Zm9ybU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzLnBsYXRmb3JtTmFtZSk7XG4gICAgICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHJlc3AsIG51bGwpO1xuXG4gICAgICAgIGQubmV3Q29tbWFuZFRpbWVvdXRNcyA9IDYwICogMTAwMDtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCB0aW1lb3V0IGlmIGl0cyBqdXN0IHRoZSBjb21tYW5kIHRha2luZyBhd2hpbGUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwLjI1KTtcbiAgICAgICAgLy8gWFhYOiByYWNlIGNvbmRpdGlvbjogd2UgbXVzdCBidWlsZCB0aGlzIFVSTCBiZWZvcmUgLi4uc29tZXRoaW5nIGhhcHBlbnMuLi5cbiAgICAgICAgLy8gd2hpY2ggY2F1c2VzIGBkLnNlc3Npb25JZGAgdG8gYmUgbWlzc2luZ1xuICAgICAgICBsZXQgc2Vzc2lvblVSTCA9IGNyZWF0ZVNlc3Npb25VUkwoZC5zZXNzaW9uSWQpO1xuICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudCcpLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IEIuZGVsYXkoNDAwKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBzZXNzaW9uVVJMLFxuICAgICAgICAgIHZhbGlkYXRlU3RhdHVzOiBudWxsLFxuICAgICAgICB9KSkuZGF0YTtcbiAgICAgICAgdmFsdWUuZXJyb3Iuc2hvdWxkLmVxdWFsKCdpbnZhbGlkIHNlc3Npb24gaWQnKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGQuc2Vzc2lvbklkLCBudWxsKTtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICByZXNwLmVycm9yLnNob3VsZC5lcXVhbCgnaW52YWxpZCBzZXNzaW9uIGlkJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBub3QgaGF2ZSBhIHRpbWVyIHJ1bm5pbmcgYmVmb3JlIG9yIGFmdGVyIGEgc2Vzc2lvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgc2hvdWxkLm5vdC5leGlzdChkLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDAuMjUpO1xuICAgICAgICBuZXdTZXNzaW9uLnNlc3Npb25JZC5zaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQuZXhpc3QoZC5ub0NvbW1hbmRUaW1lcik7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQubm90LmV4aXN0KGQubm9Db21tYW5kVGltZXIpO1xuICAgICAgfSk7XG5cbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdzZXR0aW5ncyBhcGknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgICAgICBkLnNldHRpbmdzID0gbmV3IERldmljZVNldHRpbmdzKHtpZ25vcmVVbmltcG9ydGFudFZpZXdzOiBmYWxzZX0pO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2V0IHNldHRpbmdzIG9iamVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZC5zZXR0aW5ncy5nZXRTZXR0aW5ncygpLmlnbm9yZVVuaW1wb3J0YW50Vmlld3Muc2hvdWxkLmJlLmZhbHNlO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gdXBkYXRlU2V0dGluZ3MgbWV0aG9kIGlzIG5vdCBkZWZpbmVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkLnNldHRpbmdzLnVwZGF0ZSh7aWdub3JlVW5pbXBvcnRhbnRWaWV3czogdHJ1ZX0pLnNob3VsZC5ldmVudHVhbGx5XG4gICAgICAgICAgICAgICAgLmJlLnJlamVjdGVkV2l0aCgnb25TZXR0aW5nc1VwZGF0ZScpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciBpbnZhbGlkIHVwZGF0ZSBvYmplY3QnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGF3YWl0IGQuc2V0dGluZ3MudXBkYXRlKCdpbnZhbGlkIGpzb24nKS5zaG91bGQuZXZlbnR1YWxseVxuICAgICAgICAgICAgICAgIC5iZS5yZWplY3RlZFdpdGgoJ0pTT04nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3VuZXhwZWN0ZWQgZXhpdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBhIGN1cnJlbnQgY29tbWFuZCB3aGVuIHRoZSBkcml2ZXIgY3Jhc2hlcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZC5fb2xkR2V0U3RhdHVzID0gZC5nZXRTdGF0dXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZC5nZXRTdGF0dXMgPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBhd2FpdCBCLmRlbGF5KDUwMDApO1xuICAgICAgICAgIH0uYmluZChkKTtcbiAgICAgICAgICBjb25zdCByZXFQcm9taXNlID0gYXhpb3Moe1xuICAgICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKCcnLCAnc3RhdHVzJyksXG4gICAgICAgICAgICB2YWxpZGF0ZVN0YXR1czogbnVsbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCB0aGUgcmVxdWVzdCBnZXRzIHRvIHRoZSBzZXJ2ZXIgYmVmb3JlIG91ciBzaHV0ZG93blxuICAgICAgICAgIGF3YWl0IEIuZGVsYXkoMTAwKTtcbiAgICAgICAgICBjb25zdCBzaHV0ZG93bkV2ZW50UHJvbWlzZSA9IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KG5ldyBFcnJvcignb25VbmV4cGVjdGVkU2h1dGRvd24gZXZlbnQgaXMgZXhwZWN0ZWQgdG8gYmUgZmlyZWQgd2l0aGluIDUgc2Vjb25kcyB0aW1lb3V0JykpLCA1MDAwKTtcbiAgICAgICAgICAgIGQub25VbmV4cGVjdGVkU2h1dGRvd24ocmVzb2x2ZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZC5zdGFydFVuZXhwZWN0ZWRTaHV0ZG93bihuZXcgRXJyb3IoJ0NyYXNoeXRpbWVzJykpO1xuICAgICAgICAgIGNvbnN0IHt2YWx1ZX0gPSAoYXdhaXQgcmVxUHJvbWlzZSkuZGF0YTtcbiAgICAgICAgICB2YWx1ZS5tZXNzYWdlLnNob3VsZC5jb250YWluKCdDcmFzaHl0aW1lcycpO1xuICAgICAgICAgIGF3YWl0IHNodXRkb3duRXZlbnRQcm9taXNlO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIGQuZ2V0U3RhdHVzID0gZC5fb2xkR2V0U3RhdHVzO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdldmVudCB0aW1pbmdzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBub3QgYWRkIHRpbWluZ3MgaWYgbm90IHVzaW5nIG9wdC1pbiBjYXAnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBzdGFydFNlc3Npb24oZGVmYXVsdENhcHMpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgc2hvdWxkLm5vdC5leGlzdChyZXMuZXZlbnRzKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgYWRkIHN0YXJ0IHNlc3Npb24gdGltaW5ncycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgY2FwcyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRDYXBzLCB7J2FwcGl1bTpldmVudFRpbWluZ3MnOiB0cnVlfSk7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBzdGFydFNlc3Npb24oY2Fwcyk7XG4gICAgICAgIGNvbnN0IHJlcyA9IChhd2FpdCBnZXRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKSk7XG4gICAgICAgIHNob3VsZC5leGlzdChyZXMuZXZlbnRzKTtcbiAgICAgICAgc2hvdWxkLmV4aXN0KHJlcy5ldmVudHMubmV3U2Vzc2lvblJlcXVlc3RlZCk7XG4gICAgICAgIHNob3VsZC5leGlzdChyZXMuZXZlbnRzLm5ld1Nlc3Npb25TdGFydGVkKTtcbiAgICAgICAgcmVzLmV2ZW50cy5uZXdTZXNzaW9uUmVxdWVzdGVkWzBdLnNob3VsZC5iZS5hKCdudW1iZXInKTtcbiAgICAgICAgcmVzLmV2ZW50cy5uZXdTZXNzaW9uU3RhcnRlZFswXS5zaG91bGQuYmUuYSgnbnVtYmVyJyk7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24oc2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoRHJpdmVyQ2xhc3MgPT09IEJhc2VEcml2ZXIpIHtcbiAgICAgIC8vIG9ubHkgcnVuIHRoaXMgdGVzdCBvbiBiYXNlZHJpdmVyLCBub3Qgb3RoZXIgZHJpdmVycyB3aGljaCBhbHNvIHVzZSB0aGVzZSB0ZXN0cywgc2luY2Ugd2VcbiAgICAgIC8vIGRvbid0IHdhbnQgdGhlbSB0byB0cnkgYW5kIHN0YXJ0IHNlc3Npb25zIHdpdGggdGhlc2UgcmFuZG9tIGNhcGFiaWxpdGllcyB0aGF0IGFyZVxuICAgICAgLy8gbmVjZXNzYXJ5IHRvIHRlc3QgdGhlIGFwcGl1bSBvcHRpb25zIGxvZ2ljXG4gICAgICBkZXNjcmliZSgnc3BlY2lhbCBhcHBpdW06b3B0aW9ucyBjYXBhYmlsaXR5JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gc3RhcnQgYSBzZXNzaW9uIHdpdGggY2FwcyBoZWxkIGluIGFwcGl1bTpvcHRpb25zJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGNvbnN0IHJldCA9IGF3YWl0IHN0YXJ0U2Vzc2lvbih7XG4gICAgICAgICAgICBwbGF0Zm9ybU5hbWU6ICdpT1MnLFxuICAgICAgICAgICAgW1BSRUZJWEVEX0FQUElVTV9PUFRTX0NBUF06IHtcbiAgICAgICAgICAgICAgcGxhdGZvcm1WZXJzaW9uOiAnMTEuNCcsXG4gICAgICAgICAgICAgICdhcHBpdW06ZGV2aWNlTmFtZSc6ICdpUGhvbmUgMTEnLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGQub3B0cy5wbGF0Zm9ybVZlcnNpb24uc2hvdWxkLmVxbCgnMTEuNCcpO1xuICAgICAgICAgIGQub3B0cy5kZXZpY2VOYW1lLnNob3VsZC5lcWwoJ2lQaG9uZSAxMScpO1xuICAgICAgICAgIGF3YWl0IGVuZFNlc3Npb24ocmV0LnNlc3Npb25JZCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYmFzZURyaXZlckUyRVRlc3RzO1xuIl19
|
|
413
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvYmFzZWRyaXZlci9kcml2ZXItZTJlLXRlc3RzLmpzIl0sIm5hbWVzIjpbIlBPU1QiLCJERUxFVEUiLCJNRVRIT0RTIiwiYmFzZURyaXZlckUyRVRlc3RzIiwiRHJpdmVyQ2xhc3MiLCJkZWZhdWx0Q2FwcyIsImFkZHJlc3MiLCJURVNUX0hPU1QiLCJwb3J0IiwiY2xhc3NOYW1lIiwibmFtZSIsImRlc2NyaWJlIiwiYmFzZVNlcnZlciIsImQiLCJuZXdTZXNzaW9uVVJMIiwiY3JlYXRlQXBwaXVtVGVzdFVSTCIsImNyZWF0ZVNlc3Npb25VUkwiLCJiZWZvcmUiLCJyb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24iLCJob3N0bmFtZSIsIl8iLCJhZnRlciIsImNsb3NlIiwic3RhcnRTZXNzaW9uIiwiY2FwcyIsInVybCIsIm1ldGhvZCIsImRhdGEiLCJjYXBhYmlsaXRpZXMiLCJhbHdheXNNYXRjaCIsImZpcnN0TWF0Y2giLCJ2YWx1ZSIsImVuZFNlc3Npb24iLCJpZCIsInZhbGlkYXRlU3RhdHVzIiwiZ2V0U2Vzc2lvbiIsIml0Iiwic2Vzc2lvbklkcyIsInRpbWVzIiwic2Vzc2lvbklkIiwiaGVhZGVycyIsInNpbXBsZSIsInJlc29sdmVXaXRoRnVsbFJlc3BvbnNlIiwicHVzaCIsInVuaXEiLCJsZW5ndGgiLCJzaG91bGQiLCJlcXVhbCIsInN0YXR1cyIsInJlcXMiLCJCIiwiYWxsIiwibWFwIiwieCIsImV4aXN0IiwicGxhdGZvcm1OYW1lIiwiZGV2aWNlTmFtZSIsInNraXAiLCJvcmlnaW5hbEZpbmRFbGVtZW50Iiwib3JpZ2luYWxGaW5kRWxlbWVudHMiLCJzdGFydFRpbWVvdXRTZXNzaW9uIiwidGltZW91dCIsImNsb25lRGVlcCIsImZpbmRFbGVtZW50IiwiYmluZCIsImZpbmRFbGVtZW50cyIsImRlbGF5IiwibmV3U2Vzc2lvbiIsIm5ld0NvbW1hbmRUaW1lb3V0TXMiLCJiZSIsImFib3ZlIiwic2Vzc2lvblVSTCIsInVzaW5nIiwiZXJyb3IiLCJyZXNwIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZXFsIiwibm90Iiwibm9Db21tYW5kVGltZXIiLCJzZXR0aW5ncyIsIkRldmljZVNldHRpbmdzIiwiaWdub3JlVW5pbXBvcnRhbnRWaWV3cyIsImdldFNldHRpbmdzIiwiZmFsc2UiLCJ1cGRhdGUiLCJyZWplY3RlZCIsImV2ZW50dWFsbHkiLCJyZWplY3RlZFdpdGgiLCJfb2xkR2V0U3RhdHVzIiwiZ2V0U3RhdHVzIiwicmVxUHJvbWlzZSIsInNodXRkb3duRXZlbnRQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInNldFRpbWVvdXQiLCJFcnJvciIsIm9uVW5leHBlY3RlZFNodXRkb3duIiwic3RhcnRVbmV4cGVjdGVkU2h1dGRvd24iLCJtZXNzYWdlIiwiY29udGFpbiIsInNlc3Npb24iLCJyZXMiLCJldmVudHMiLCJPYmplY3QiLCJhc3NpZ24iLCJuZXdTZXNzaW9uUmVxdWVzdGVkIiwibmV3U2Vzc2lvblN0YXJ0ZWQiLCJhIiwiQmFzZURyaXZlciIsInJldCIsIlBSRUZJWEVEX0FQUElVTV9PUFRTX0NBUCIsInBsYXRmb3JtVmVyc2lvbiIsIm9wdHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0EsTUFBTTtBQUFDQSxFQUFBQSxJQUFEO0FBQU9DLEVBQUFBO0FBQVAsSUFBaUJDLGdCQUF2Qjs7QUFFQSxTQUFTQyxrQkFBVCxDQUE2QkMsV0FBN0IsRUFBMENDLFdBQVcsR0FBRyxFQUF4RCxFQUE0RDtBQUFBOztBQUMxRCxNQUFJQyxPQUFPLDJCQUFHRCxXQUFXLENBQUMsZ0JBQUQsQ0FBZCx1RUFBb0NFLGtCQUEvQztBQUNBLE1BQUlDLElBQUksR0FBR0gsV0FBVyxDQUFDLGFBQUQsQ0FBdEI7QUFDQSxRQUFNSSxTQUFTLEdBQUdMLFdBQVcsQ0FBQ00sSUFBWixJQUFvQixrQkFBdEM7QUFFQUMsRUFBQUEsUUFBUSxDQUFFLHNCQUFxQkYsU0FBVSxHQUFq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RCxFQUF1RSxrQkFBa0I7QUFDekYsZ0JBQU0yRSxHQUFHLEdBQUcsTUFBTXhGLFlBQVksQ0FBQztBQUM3QmdDLFlBQUFBLFlBQVksRUFBRSxLQURlO0FBRTdCLGFBQUN5RCxzQ0FBRCxHQUE0QjtBQUMxQkMsY0FBQUEsZUFBZSxFQUFFLE1BRFM7QUFFMUIsbUNBQXFCO0FBRks7QUFGQyxXQUFELENBQTlCO0FBT0FwRyxVQUFBQSxDQUFDLENBQUNxRyxJQUFGLENBQU9ELGVBQVAsQ0FBdUJuRSxNQUF2QixDQUE4QmdDLEdBQTlCLENBQWtDLE1BQWxDO0FBQ0FqRSxVQUFBQSxDQUFDLENBQUNxRyxJQUFGLENBQU8xRCxVQUFQLENBQWtCVixNQUFsQixDQUF5QmdDLEdBQXpCLENBQTZCLFdBQTdCO0FBQ0EsZ0JBQU05QyxVQUFVLENBQUMrRSxHQUFHLENBQUN4RSxTQUFMLENBQWhCO0FBQ0QsU0FYQyxDQUFGO0FBWUQsT0FiTyxDQUFSO0FBY0Q7QUFDRixHQXZWTyxDQUFSO0FBd1ZEOztlQUVjcEMsa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmFzZURyaXZlciwgc2VydmVyLCByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sIERldmljZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbGliJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBURVNUX0hPU1QsIGdldFRlc3RQb3J0LCBjcmVhdGVBcHBpdW1VUkwsIE1FVEhPRFMgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IFBSRUZJWEVEX0FQUElVTV9PUFRTX0NBUCB9IGZyb20gJy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NhcGFiaWxpdGllcyc7XG5jb25zdCB7UE9TVCwgREVMRVRFfSA9IE1FVEhPRFM7XG5cbmZ1bmN0aW9uIGJhc2VEcml2ZXJFMkVUZXN0cyAoRHJpdmVyQ2xhc3MsIGRlZmF1bHRDYXBzID0ge30pIHtcbiAgbGV0IGFkZHJlc3MgPSBkZWZhdWx0Q2Fwc1snYXBwaXVtOmFkZHJlc3MnXSA/PyBURVNUX0hPU1Q7XG4gIGxldCBwb3J0ID0gZGVmYXVsdENhcHNbJ2FwcGl1bTpwb3J0J107XG4gIGNvbnN0IGNsYXNzTmFtZSA9IERyaXZlckNsYXNzLm5hbWUgfHwgJyh1bmtub3duIGRyaXZlciknO1xuXG4gIGRlc2NyaWJlKGBCYXNlRHJpdmVyIEUyRSAoYXMgJHtjbGFzc05hbWV9KWAsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgYmFzZVNlcnZlciwgZDtcbiAgICAvKipcbiAgICAgICAqIFRoaXMgVVJMIGNyZWF0ZXMgYSBuZXcgc2Vzc2lvblxuICAgICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgICAqKi9cbiAgICBsZXQgbmV3U2Vzc2lvblVSTDtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBVUkwgd2l0aCBiYXNlIGhvc3QvcG9ydC4gU3VwcGx5IGBzZXNzaW9uYCBhbmQgYHBhdGhuYW1lYFxuICAgICAqIEB0eXBlIHtfLkN1cnJpZWRGdW5jdGlvbjI8c3RyaW5nLHN0cmluZyxzdHJpbmc+fVxuICAgICAqL1xuICAgIGxldCBjcmVhdGVBcHBpdW1UZXN0VVJMO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFVSTCB3aXRoIHRoZSBnaXZlbiBzZXNzaW9uIElEIGFuZCBhIGJsYW5rIHBhdGhuYW1lO1xuICAgICAqIGUuZy4sIGBodHRwOi8vZm9vLmJhcjoxMjMvc2Vzc2lvbi88c2Vzc2lvbi1pZD5gXG4gICAgICogIEB0eXBlIHtfLkN1cnJpZWRGdW5jdGlvbjE8c3RyaW5nLHN0cmluZz59XG4gICAgICovXG4gICAgbGV0IGNyZWF0ZVNlc3Npb25VUkw7XG5cbiAgICBiZWZvcmUoYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgcG9ydCA9IHBvcnQgPz8gYXdhaXQgZ2V0VGVzdFBvcnQoKTtcbiAgICAgIGRlZmF1bHRDYXBzID0gey4uLmRlZmF1bHRDYXBzLCAnYXBwaXVtOnBvcnQnOiBwb3J0fTtcbiAgICAgIGQgPSBuZXcgRHJpdmVyQ2xhc3Moe3BvcnQsIGFkZHJlc3N9KTtcbiAgICAgIGJhc2VTZXJ2ZXIgPSBhd2FpdCBzZXJ2ZXIoe1xuICAgICAgICByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb246IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbihkKSxcbiAgICAgICAgcG9ydCxcbiAgICAgICAgaG9zdG5hbWU6IFRFU1RfSE9TVFxuICAgICAgfSk7XG4gICAgICBjcmVhdGVBcHBpdW1UZXN0VVJMID0gY3JlYXRlQXBwaXVtVVJMKGFkZHJlc3MsIHBvcnQpO1xuICAgICAgbmV3U2Vzc2lvblVSTCA9IGNyZWF0ZUFwcGl1bVRlc3RVUkwoJycsICdzZXNzaW9uJyk7XG4gICAgICBjcmVhdGVTZXNzaW9uVVJMID0gY3JlYXRlQXBwaXVtVGVzdFVSTChfLCAnJyk7XG4gICAgfSk7XG5cbiAgICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBhd2FpdCBiYXNlU2VydmVyLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiBzdGFydFNlc3Npb24gKGNhcHMpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBjYXBzLCBmaXJzdE1hdGNoOiBbe31dfX0sXG4gICAgICB9KSkuZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBhc3luYyBmdW5jdGlvbiBlbmRTZXNzaW9uIChpZCkge1xuICAgICAgcmV0dXJuIChhd2FpdCBheGlvcyh7XG4gICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChpZCksXG4gICAgICAgIG1ldGhvZDogREVMRVRFLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1czogbnVsbCxcbiAgICAgIH0pKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIGdldFNlc3Npb24gKGlkKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGlkKSxcbiAgICAgIH0pKS5kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGRlc2NyaWJlKCdzZXNzaW9uIGhhbmRsaW5nJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBoYW5kbGUgaWRlbXBvdGVuY3kgd2hpbGUgY3JlYXRpbmcgc2Vzc2lvbnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZHMgPSBbXTtcbiAgICAgICAgbGV0IHRpbWVzID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IHtzZXNzaW9uSWR9ID0gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ1gtSWRlbXBvdGVuY3ktS2V5JzogJzEyMzQ1NicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgICAgZGF0YToge2NhcGFiaWxpdGllczoge2Fsd2F5c01hdGNoOiBkZWZhdWx0Q2FwcywgZmlyc3RNYXRjaDogW3t9XX19LFxuICAgICAgICAgICAgc2ltcGxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc29sdmVXaXRoRnVsbFJlc3BvbnNlOiB0cnVlXG4gICAgICAgICAgfSkpLmRhdGEudmFsdWU7XG5cbiAgICAgICAgICBzZXNzaW9uSWRzLnB1c2goc2Vzc2lvbklkKTtcbiAgICAgICAgICB0aW1lcysrO1xuICAgICAgICB9IHdoaWxlICh0aW1lcyA8IDIpO1xuICAgICAgICBfLnVuaXEoc2Vzc2lvbklkcykubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcblxuICAgICAgICBjb25zdCB7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZVNlc3Npb25VUkwoc2Vzc2lvbklkc1swXSksXG4gICAgICAgICAgbWV0aG9kOiBERUxFVEUsXG4gICAgICAgIH0pO1xuICAgICAgICBzdGF0dXMuc2hvdWxkLmVxdWFsKDIwMCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChkYXRhLnZhbHVlLCBudWxsKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGhhbmRsZSBpZGVtcG90ZW5jeSB3aGlsZSBjcmVhdGluZyBwYXJhbGxlbCBzZXNzaW9ucycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgcmVxcyA9IFtdO1xuICAgICAgICBsZXQgdGltZXMgPSAwO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgcmVxcy5wdXNoKGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogbmV3U2Vzc2lvblVSTCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ1gtSWRlbXBvdGVuY3ktS2V5JzogJzEyMzQ1JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgICBkYXRhOiB7Y2FwYWJpbGl0aWVzOiB7YWx3YXlzTWF0Y2g6IGRlZmF1bHRDYXBzLCBmaXJzdE1hdGNoOiBbe31dfX0sXG4gICAgICAgICAgfSkpO1xuICAgICAgICAgIHRpbWVzKys7XG4gICAgICAgIH0gd2hpbGUgKHRpbWVzIDwgMik7XG4gICAgICAgIGNvbnN0IHNlc3Npb25JZHMgPSAoYXdhaXQgQi5hbGwocmVxcykpLm1hcCgoeCkgPT4geC5kYXRhLnZhbHVlLnNlc3Npb25JZCk7XG4gICAgICAgIF8udW5pcShzZXNzaW9uSWRzKS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuXG4gICAgICAgIGNvbnN0IHtzdGF0dXMsIGRhdGF9ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlU2Vzc2lvblVSTChzZXNzaW9uSWRzWzBdKSxcbiAgICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgfSk7XG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUsIG51bGwpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgY3JlYXRlIHNlc3Npb24gYW5kIHJldHJpZXZlIGEgc2Vzc2lvbiBpZCwgdGhlbiBkZWxldGUgaXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCB7c3RhdHVzLCBkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IG5ld1Nlc3Npb25VUkwsXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHtjYXBhYmlsaXRpZXM6IHthbHdheXNNYXRjaDogZGVmYXVsdENhcHMsIGZpcnN0TWF0Y2g6IFt7fV19fSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgc3RhdHVzLnNob3VsZC5lcXVhbCgyMDApO1xuICAgICAgICBzaG91bGQuZXhpc3QoZGF0YS52YWx1ZS5zZXNzaW9uSWQpO1xuICAgICAgICBkYXRhLnZhbHVlLmNhcGFiaWxpdGllcy5wbGF0Zm9ybU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzLnBsYXRmb3JtTmFtZSk7XG4gICAgICAgIGRhdGEudmFsdWUuY2FwYWJpbGl0aWVzLmRldmljZU5hbWUuc2hvdWxkLmVxdWFsKGRlZmF1bHRDYXBzWydhcHBpdW06ZGV2aWNlTmFtZSddKTtcblxuICAgICAgICAoe3N0YXR1cywgZGF0YX0gPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKSxcbiAgICAgICAgICBtZXRob2Q6IERFTEVURSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHN0YXR1cy5zaG91bGQuZXF1YWwoMjAwKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKGRhdGEudmFsdWUsIG51bGwpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdC5za2lwKCdzaG91bGQgdGhyb3cgTllJIGZvciBjb21tYW5kcyBub3QgaW1wbGVtZW50ZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY29tbWFuZCB0aW1lb3V0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxldCBvcmlnaW5hbEZpbmRFbGVtZW50LCBvcmlnaW5hbEZpbmRFbGVtZW50cztcblxuICAgICAgYXN5bmMgZnVuY3Rpb24gc3RhcnRUaW1lb3V0U2Vzc2lvbiAodGltZW91dCkge1xuICAgICAgICBjb25zdCBjYXBzID0gXy5jbG9uZURlZXAoZGVmYXVsdENhcHMpO1xuICAgICAgICBjYXBzWydhcHBpdW06bmV3Q29tbWFuZFRpbWVvdXQnXSA9IHRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBhd2FpdCBzdGFydFNlc3Npb24oY2Fwcyk7XG4gICAgICB9XG5cbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIG9yaWdpbmFsRmluZEVsZW1lbnQgPSBkLmZpbmRFbGVtZW50O1xuICAgICAgICBkLmZpbmRFbGVtZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiAnZm9vJztcbiAgICAgICAgfS5iaW5kKGQpO1xuXG4gICAgICAgIG9yaWdpbmFsRmluZEVsZW1lbnRzID0gZC5maW5kRWxlbWVudHM7XG4gICAgICAgIGQuZmluZEVsZW1lbnRzID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGF3YWl0IEIuZGVsYXkoMjAwKTtcbiAgICAgICAgICByZXR1cm4gWydmb28nXTtcbiAgICAgICAgfS5iaW5kKGQpO1xuICAgICAgfSk7XG5cbiAgICAgIGFmdGVyKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZC5maW5kRWxlbWVudCA9IG9yaWdpbmFsRmluZEVsZW1lbnQ7XG4gICAgICAgIGQuZmluZEVsZW1lbnRzID0gb3JpZ2luYWxGaW5kRWxlbWVudHM7XG4gICAgICB9KTtcblxuXG4gICAgICBpdCgnc2hvdWxkIHNldCBhIGRlZmF1bHQgY29tbWFuZFRpbWVvdXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigpO1xuICAgICAgICBkLm5ld0NvbW1hbmRUaW1lb3V0TXMuc2hvdWxkLmJlLmFib3ZlKDApO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKG5ld1Nlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHRpbWVvdXQgb24gY29tbWFuZHMgdXNpbmcgY29tbWFuZFRpbWVvdXQgY2FwJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4yNSk7XG4gICAgICAgIC8vIFhYWDogcmFjZSBjb25kaXRpb246IHdlIG11c3QgYnVpbGQgdGhpcyBVUkwgYmVmb3JlIC4uLnNvbWV0aGluZyBoYXBwZW5zLi4uXG4gICAgICAgIC8vIHdoaWNoIGNhdXNlcyBgZC5zZXNzaW9uSWRgIHRvIGJlIG1pc3NpbmdcbiAgICAgICAgbGV0IHNlc3Npb25VUkwgPSBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKTtcbiAgICAgICAgYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTChkLnNlc3Npb25JZCwgJ2VsZW1lbnQnKSxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge3VzaW5nOiAnbmFtZScsIHZhbHVlOiAnZm9vJ30sXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBCLmRlbGF5KDQwMCk7XG4gICAgICAgIGNvbnN0IHtkYXRhfSA9IGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IHNlc3Npb25VUkwsXG4gICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgIH0pO1xuICAgICAgICBzaG91bGQuZXF1YWwoZGF0YS52YWx1ZS5lcnJvciwgJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5lcXVhbChyZXNwLmVycm9yLCAnaW52YWxpZCBzZXNzaW9uIGlkJyk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBub3QgdGltZW91dCB3aXRoIGNvbW1hbmRUaW1lb3V0IG9mIGZhbHNlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4xKTtcbiAgICAgICAgbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudHMnKSxcbiAgICAgICAgICBtZXRob2Q6IFBPU1QsXG4gICAgICAgICAgZGF0YToge3VzaW5nOiAnbmFtZScsIHZhbHVlOiAnZm9vJ30sXG4gICAgICAgIH0pKS5kYXRhO1xuICAgICAgICAoRGF0ZS5ub3coKSAtIHN0YXJ0KS5zaG91bGQuYmUuYWJvdmUoMTUwKTtcbiAgICAgICAgdmFsdWUuc2hvdWxkLmVxbChbJ2ZvbyddKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBub3QgdGltZW91dCB3aXRoIGNvbW1hbmRUaW1lb3V0IG9mIDAnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQubmV3Q29tbWFuZFRpbWVvdXRNcyA9IDI7XG4gICAgICAgIGxldCBuZXdTZXNzaW9uID0gYXdhaXQgc3RhcnRUaW1lb3V0U2Vzc2lvbigwKTtcblxuICAgICAgICBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVBcHBpdW1UZXN0VVJMKGQuc2Vzc2lvbklkLCAnZWxlbWVudCcpLFxuICAgICAgICAgIG1ldGhvZDogUE9TVCxcbiAgICAgICAgICBkYXRhOiB7dXNpbmc6ICduYW1lJywgdmFsdWU6ICdmb28nfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IEIuZGVsYXkoNDAwKTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IChhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsOiBjcmVhdGVTZXNzaW9uVVJMKGQuc2Vzc2lvbklkKSxcbiAgICAgICAgfSkpLmRhdGE7XG4gICAgICAgIHZhbHVlLnBsYXRmb3JtTmFtZS5zaG91bGQuZXF1YWwoZGVmYXVsdENhcHMucGxhdGZvcm1OYW1lKTtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGVuZFNlc3Npb24obmV3U2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgICBzaG91bGQuZXF1YWwocmVzcCwgbnVsbCk7XG5cbiAgICAgICAgZC5uZXdDb21tYW5kVGltZW91dE1zID0gNjAgKiAxMDAwO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgbm90IHRpbWVvdXQgaWYgaXRzIGp1c3QgdGhlIGNvbW1hbmQgdGFraW5nIGF3aGlsZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSBhd2FpdCBzdGFydFRpbWVvdXRTZXNzaW9uKDAuMjUpO1xuICAgICAgICAvLyBYWFg6IHJhY2UgY29uZGl0aW9uOiB3ZSBtdXN0IGJ1aWxkIHRoaXMgVVJMIGJlZm9yZSAuLi5zb21ldGhpbmcgaGFwcGVucy4uLlxuICAgICAgICAvLyB3aGljaCBjYXVzZXMgYGQuc2Vzc2lvbklkYCB0byBiZSBtaXNzaW5nXG4gICAgICAgIGxldCBzZXNzaW9uVVJMID0gY3JlYXRlU2Vzc2lvblVSTChkLnNlc3Npb25JZCk7XG4gICAgICAgIGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IGNyZWF0ZUFwcGl1bVRlc3RVUkwoZC5zZXNzaW9uSWQsICdlbGVtZW50JyksXG4gICAgICAgICAgbWV0aG9kOiBQT1NULFxuICAgICAgICAgIGRhdGE6IHt1c2luZzogJ25hbWUnLCB2YWx1ZTogJ2Zvbyd9LFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgQi5kZWxheSg0MDApO1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gKGF3YWl0IGF4aW9zKHtcbiAgICAgICAgICB1cmw6IHNlc3Npb25VUkwsXG4gICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgIH0pKS5kYXRhO1xuICAgICAgICB2YWx1ZS5lcnJvci5zaG91bGQuZXF1YWwoJ2ludmFsaWQgc2Vzc2lvbiBpZCcpO1xuICAgICAgICBzaG91bGQuZXF1YWwoZC5zZXNzaW9uSWQsIG51bGwpO1xuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHJlc3AuZXJyb3Iuc2hvdWxkLmVxdWFsKCdpbnZhbGlkIHNlc3Npb24gaWQnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIG5vdCBoYXZlIGEgdGltZXIgcnVubmluZyBiZWZvcmUgb3IgYWZ0ZXIgYSBzZXNzaW9uJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBzaG91bGQubm90LmV4aXN0KGQubm9Db21tYW5kVGltZXIpO1xuICAgICAgICBsZXQgbmV3U2Vzc2lvbiA9IGF3YWl0IHN0YXJ0VGltZW91dFNlc3Npb24oMC4yNSk7XG4gICAgICAgIG5ld1Nlc3Npb24uc2Vzc2lvbklkLnNob3VsZC5lcXVhbChkLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5leGlzdChkLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgICAgYXdhaXQgZW5kU2Vzc2lvbihuZXdTZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5ub3QuZXhpc3QoZC5ub0NvbW1hbmRUaW1lcik7XG4gICAgICB9KTtcblxuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3NldHRpbmdzIGFwaScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuc2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3Moe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IGZhbHNlfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZXQgc2V0dGluZ3Mgb2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICBkLnNldHRpbmdzLmdldFNldHRpbmdzKCkuaWdub3JlVW5pbXBvcnRhbnRWaWV3cy5zaG91bGQuYmUuZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIGl0KCdzaG91bGQgbm90IHJlamVjdCB3aGVuIGB1cGRhdGVTZXR0aW5nc2AgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXdhaXQgZC5zZXR0aW5ncy51cGRhdGUoe2lnbm9yZVVuaW1wb3J0YW50Vmlld3M6IHRydWV9KS5zaG91bGQubm90LmJlLnJlamVjdGVkO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBmb3IgaW52YWxpZCB1cGRhdGUgb2JqZWN0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBhd2FpdCBkLnNldHRpbmdzLnVwZGF0ZSgnaW52YWxpZCBqc29uJykuc2hvdWxkLmV2ZW50dWFsbHlcbiAgICAgICAgICAgICAgICAuYmUucmVqZWN0ZWRXaXRoKCdKU09OJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCd1bmV4cGVjdGVkIGV4aXRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCByZWplY3QgYSBjdXJyZW50IGNvbW1hbmQgd2hlbiB0aGUgZHJpdmVyIGNyYXNoZXMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGQuX29sZEdldFN0YXR1cyA9IGQuZ2V0U3RhdHVzO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGQuZ2V0U3RhdHVzID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXdhaXQgQi5kZWxheSg1MDAwKTtcbiAgICAgICAgICB9LmJpbmQoZCk7XG4gICAgICAgICAgY29uc3QgcmVxUHJvbWlzZSA9IGF4aW9zKHtcbiAgICAgICAgICAgIHVybDogY3JlYXRlQXBwaXVtVGVzdFVSTCgnJywgJ3N0YXR1cycpLFxuICAgICAgICAgICAgdmFsaWRhdGVTdGF0dXM6IG51bGwsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIHJlcXVlc3QgZ2V0cyB0byB0aGUgc2VydmVyIGJlZm9yZSBvdXIgc2h1dGRvd25cbiAgICAgICAgICBhd2FpdCBCLmRlbGF5KDEwMCk7XG4gICAgICAgICAgY29uc3Qgc2h1dGRvd25FdmVudFByb21pc2UgPSBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdChuZXcgRXJyb3IoJ29uVW5leHBlY3RlZFNodXRkb3duIGV2ZW50IGlzIGV4cGVjdGVkIHRvIGJlIGZpcmVkIHdpdGhpbiA1IHNlY29uZHMgdGltZW91dCcpKSwgNTAwMCk7XG4gICAgICAgICAgICBkLm9uVW5leHBlY3RlZFNodXRkb3duKHJlc29sdmUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGQuc3RhcnRVbmV4cGVjdGVkU2h1dGRvd24obmV3IEVycm9yKCdDcmFzaHl0aW1lcycpKTtcbiAgICAgICAgICBjb25zdCB7dmFsdWV9ID0gKGF3YWl0IHJlcVByb21pc2UpLmRhdGE7XG4gICAgICAgICAgdmFsdWUubWVzc2FnZS5zaG91bGQuY29udGFpbignQ3Jhc2h5dGltZXMnKTtcbiAgICAgICAgICBhd2FpdCBzaHV0ZG93bkV2ZW50UHJvbWlzZTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBkLmdldFN0YXR1cyA9IGQuX29sZEdldFN0YXR1cztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZXZlbnQgdGltaW5ncycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGl0KCdzaG91bGQgbm90IGFkZCB0aW1pbmdzIGlmIG5vdCB1c2luZyBvcHQtaW4gY2FwJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RhcnRTZXNzaW9uKGRlZmF1bHRDYXBzKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0U2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCk7XG4gICAgICAgIHNob3VsZC5ub3QuZXhpc3QocmVzLmV2ZW50cyk7XG4gICAgICAgIGF3YWl0IGVuZFNlc3Npb24oc2Vzc2lvbi5zZXNzaW9uSWQpO1xuICAgICAgfSk7XG4gICAgICBpdCgnc2hvdWxkIGFkZCBzdGFydCBzZXNzaW9uIHRpbWluZ3MnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGNhcHMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0Q2FwcywgeydhcHBpdW06ZXZlbnRUaW1pbmdzJzogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gYXdhaXQgc3RhcnRTZXNzaW9uKGNhcHMpO1xuICAgICAgICBjb25zdCByZXMgPSAoYXdhaXQgZ2V0U2Vzc2lvbihzZXNzaW9uLnNlc3Npb25JZCkpO1xuICAgICAgICBzaG91bGQuZXhpc3QocmVzLmV2ZW50cyk7XG4gICAgICAgIHNob3VsZC5leGlzdChyZXMuZXZlbnRzLm5ld1Nlc3Npb25SZXF1ZXN0ZWQpO1xuICAgICAgICBzaG91bGQuZXhpc3QocmVzLmV2ZW50cy5uZXdTZXNzaW9uU3RhcnRlZCk7XG4gICAgICAgIHJlcy5ldmVudHMubmV3U2Vzc2lvblJlcXVlc3RlZFswXS5zaG91bGQuYmUuYSgnbnVtYmVyJyk7XG4gICAgICAgIHJlcy5ldmVudHMubmV3U2Vzc2lvblN0YXJ0ZWRbMF0uc2hvdWxkLmJlLmEoJ251bWJlcicpO1xuICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKHNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaWYgKERyaXZlckNsYXNzID09PSBCYXNlRHJpdmVyKSB7XG4gICAgICAvLyBvbmx5IHJ1biB0aGlzIHRlc3Qgb24gYmFzZWRyaXZlciwgbm90IG90aGVyIGRyaXZlcnMgd2hpY2ggYWxzbyB1c2UgdGhlc2UgdGVzdHMsIHNpbmNlIHdlXG4gICAgICAvLyBkb24ndCB3YW50IHRoZW0gdG8gdHJ5IGFuZCBzdGFydCBzZXNzaW9ucyB3aXRoIHRoZXNlIHJhbmRvbSBjYXBhYmlsaXRpZXMgdGhhdCBhcmVcbiAgICAgIC8vIG5lY2Vzc2FyeSB0byB0ZXN0IHRoZSBhcHBpdW0gb3B0aW9ucyBsb2dpY1xuICAgICAgZGVzY3JpYmUoJ3NwZWNpYWwgYXBwaXVtOm9wdGlvbnMgY2FwYWJpbGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaXQoJ3Nob3VsZCBiZSBhYmxlIHRvIHN0YXJ0IGEgc2Vzc2lvbiB3aXRoIGNhcHMgaGVsZCBpbiBhcHBpdW06b3B0aW9ucycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCByZXQgPSBhd2FpdCBzdGFydFNlc3Npb24oe1xuICAgICAgICAgICAgcGxhdGZvcm1OYW1lOiAnaU9TJyxcbiAgICAgICAgICAgIFtQUkVGSVhFRF9BUFBJVU1fT1BUU19DQVBdOiB7XG4gICAgICAgICAgICAgIHBsYXRmb3JtVmVyc2lvbjogJzExLjQnLFxuICAgICAgICAgICAgICAnYXBwaXVtOmRldmljZU5hbWUnOiAnaVBob25lIDExJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBkLm9wdHMucGxhdGZvcm1WZXJzaW9uLnNob3VsZC5lcWwoJzExLjQnKTtcbiAgICAgICAgICBkLm9wdHMuZGV2aWNlTmFtZS5zaG91bGQuZXFsKCdpUGhvbmUgMTEnKTtcbiAgICAgICAgICBhd2FpdCBlbmRTZXNzaW9uKHJldC5zZXNzaW9uSWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGJhc2VEcml2ZXJFMkVUZXN0cztcbiJdfQ==
|