parse-server 9.7.0-alpha.1 → 9.7.0-alpha.3
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/lib/Deprecator/Deprecations.js +5 -1
- package/lib/Options/Definitions.js +7 -1
- package/lib/Options/docs.js +2 -1
- package/lib/Options/index.js +1 -1
- package/lib/RestQuery.js +2 -2
- package/lib/RestWrite.js +26 -1
- package/package.json +1 -1
|
@@ -486,6 +486,12 @@ module.exports.ParseServerOptions = {
|
|
|
486
486
|
action: parsers.booleanParser,
|
|
487
487
|
default: true
|
|
488
488
|
},
|
|
489
|
+
protectedFieldsSaveResponseExempt: {
|
|
490
|
+
env: 'PARSE_SERVER_PROTECTED_FIELDS_SAVE_RESPONSE_EXEMPT',
|
|
491
|
+
help: 'Whether save operation responses (create, update) are exempt from `protectedFields`. If `true` (default), protected fields modified during a save are included in the response to the client. If `false`, protected fields are stripped from save responses, consistent with how they are stripped from query results. Defaults to `true`.',
|
|
492
|
+
action: parsers.booleanParser,
|
|
493
|
+
default: true
|
|
494
|
+
},
|
|
489
495
|
protectedFieldsTriggerExempt: {
|
|
490
496
|
env: 'PARSE_SERVER_PROTECTED_FIELDS_TRIGGER_EXEMPT',
|
|
491
497
|
help: "Whether Cloud Code triggers (e.g. `beforeSave`, `afterSave`) are exempt from `protectedFields`. If `true`, triggers receive the full object including protected fields in `request.object` and `request.original`, regardless of the caller's auth context. If `false`, protected fields are stripped from the original object fetch used to build trigger objects. Defaults to `false`.",
|
|
@@ -1494,4 +1500,4 @@ module.exports.LogLevels = {
|
|
|
1494
1500
|
default: 'info'
|
|
1495
1501
|
}
|
|
1496
1502
|
};
|
|
1497
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGkiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInByb3RlY3RlZEZpZWxkc093bmVyRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzVHJpZ2dlckV4ZW1wdCIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJyYXRlTGltaXQiLCJyZWFkT25seU1hc3RlcktleSIsInJlYWRPbmx5TWFzdGVyS2V5SXBzIiwicmVxdWVzdENvbXBsZXhpdHkiLCJyZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlbmRVc2VyRW1haWxWZXJpZmljYXRpb24iLCJzZXJ2ZXJDbG9zZUNvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidHJ1c3RQcm94eSIsInVzZXJTZW5zaXRpdmVGaWVsZHMiLCJ2ZXJib3NlIiwidmVyaWZ5U2VydmVyVXJsIiwidmVyaWZ5VXNlckVtYWlscyIsIndlYmhvb2tLZXkiLCJSYXRlTGltaXRPcHRpb25zIiwiZXJyb3JSZXNwb25zZU1lc3NhZ2UiLCJpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0cyIsImluY2x1ZGVNYXN0ZXJLZXkiLCJyZWRpc1VybCIsInJlcXVlc3RDb3VudCIsInJlcXVlc3RNZXRob2RzIiwicmVxdWVzdFBhdGgiLCJyZXF1ZXN0VGltZVdpbmRvdyIsInpvbmUiLCJSZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMiLCJiYXRjaFJlcXVlc3RMaW1pdCIsImdyYXBoUUxEZXB0aCIsImdyYXBoUUxGaWVsZHMiLCJpbmNsdWRlQ291bnQiLCJpbmNsdWRlRGVwdGgiLCJxdWVyeURlcHRoIiwic3VicXVlcnlEZXB0aCIsIlNlY3VyaXR5T3B0aW9ucyIsImNoZWNrR3JvdXBzIiwiZW5hYmxlQ2hlY2siLCJlbmFibGVDaGVja0xvZyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmNvZGVQYWdlUGFyYW1IZWFkZXJzIiwiZm9yY2VSZWRpcmVjdCIsImxvY2FsaXphdGlvbkZhbGxiYWNrTG9jYWxlIiwibG9jYWxpemF0aW9uSnNvblBhdGgiLCJwYWdlc0VuZHBvaW50IiwicGFnZXNQYXRoIiwicGxhY2Vob2xkZXJzIiwiUGFnZXNSb3V0ZSIsImhhbmRsZXIiLCJtZXRob2QiLCJwYXRoIiwiUGFnZXNDdXN0b21VcmxzT3B0aW9ucyIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtJbnZhbGlkIiwiZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3MiLCJlbWFpbFZlcmlmaWNhdGlvblN1Y2Nlc3MiLCJwYXNzd29yZFJlc2V0IiwicGFzc3dvcmRSZXNldExpbmtJbnZhbGlkIiwicGFzc3dvcmRSZXNldFN1Y2Nlc3MiLCJDdXN0b21QYWdlc09wdGlvbnMiLCJjaG9vc2VQYXNzd29yZCIsImV4cGlyZWRWZXJpZmljYXRpb25MaW5rIiwiaW52YWxpZExpbmsiLCJpbnZhbGlkUGFzc3dvcmRSZXNldExpbmsiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsImxpbmtTZW5kRmFpbCIsImxpbmtTZW5kU3VjY2VzcyIsInBhcnNlRnJhbWVVUkwiLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3MiLCJMaXZlUXVlcnlPcHRpb25zIiwiY2xhc3NOYW1lcyIsInB1YlN1YkFkYXB0ZXIiLCJyZWRpc09wdGlvbnMiLCJyZWRpc1VSTCIsInJlZ2V4VGltZW91dCIsIndzc0FkYXB0ZXIiLCJMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwiY2FjaGVUaW1lb3V0Iiwia2V5UGFpcnMiLCJ3ZWJzb2NrZXRUaW1lb3V0IiwiSWRlbXBvdGVuY3lPcHRpb25zIiwicGF0aHMiLCJ0dGwiLCJBY2NvdW50TG9ja291dE9wdGlvbnMiLCJkdXJhdGlvbiIsInRocmVzaG9sZCIsInVubG9ja09uUGFzc3dvcmRSZXNldCIsIlBhc3N3b3JkUG9saWN5T3B0aW9ucyIsImRvTm90QWxsb3dVc2VybmFtZSIsIm1heFBhc3N3b3JkQWdlIiwibWF4UGFzc3dvcmRIaXN0b3J5IiwicmVzZXRQYXNzd29yZFN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsInJlc2V0VG9rZW5SZXVzZUlmVmFsaWQiLCJyZXNldFRva2VuVmFsaWRpdHlEdXJhdGlvbiIsInZhbGlkYXRpb25FcnJvciIsInZhbGlkYXRvckNhbGxiYWNrIiwidmFsaWRhdG9yUGF0dGVybiIsIkZpbGVVcGxvYWRPcHRpb25zIiwiYWxsb3dlZEZpbGVVcmxEb21haW5zIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwiZmlsZUV4dGVuc2lvbnMiLCJMb2dMZXZlbCIsImRlYnVnIiwiZXJyb3IiLCJpbmZvIiwic2lsbHkiLCJ3YXJuIiwiTG9nQ2xpZW50RXZlbnQiLCJrZXlzIiwibmFtZSIsIkRhdGFiYXNlT3B0aW9ucyIsImFsbG93UHVibGljRXhwbGFpbiIsImF1dGhNZWNoYW5pc20iLCJhdXRoTWVjaGFuaXNtUHJvcGVydGllcyIsImF1dGhTb3VyY2UiLCJhdXRvU2VsZWN0RmFtaWx5IiwiYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0IiwiYmF0Y2hTaXplIiwiY2xpZW50TWV0YWRhdGEiLCJjb21wcmVzc29ycyIsImNvbm5lY3RUaW1lb3V0TVMiLCJjcmVhdGVJbmRleEF1dGhEYXRhVW5pcXVlbmVzcyIsImNyZWF0ZUluZGV4Um9sZU5hbWUiLCJjcmVhdGVJbmRleFVzZXJFbWFpbCIsImNyZWF0ZUluZGV4VXNlckVtYWlsQ2FzZUluc2Vuc2l0aXZlIiwiY3JlYXRlSW5kZXhVc2VyRW1haWxWZXJpZnlUb2tlbiIsImNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbiIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lIiwiY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmUiLCJkaXJlY3RDb25uZWN0aW9uIiwiZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uIiwiZW5hYmxlU2NoZW1hSG9va3MiLCJmb3JjZVNlcnZlck9iamVjdElkIiwiaGVhcnRiZWF0RnJlcXVlbmN5TVMiLCJsb2FkQmFsYW5jZWQiLCJsb2NhbFRocmVzaG9sZE1TIiwibG9nQ2xpZW50RXZlbnRzIiwibWF4Q29ubmVjdGluZyIsIm1heElkbGVUaW1lTVMiLCJtYXhQb29sU2l6ZSIsIm1heFN0YWxlbmVzc1NlY29uZHMiLCJtYXhUaW1lTVMiLCJtaW5Qb29sU2l6ZSIsInByb3h5SG9zdCIsInByb3h5UGFzc3dvcmQiLCJwcm94eVBvcnQiLCJwcm94eVVzZXJuYW1lIiwicmVhZENvbmNlcm5MZXZlbCIsInJlYWRQcmVmZXJlbmNlIiwicmVhZFByZWZlcmVuY2VUYWdzIiwicmVwbGljYVNldCIsInJldHJ5UmVhZHMiLCJyZXRyeVdyaXRlcyIsInNjaGVtYUNhY2hlVHRsIiwic2VydmVyTW9uaXRvcmluZ01vZGUiLCJzZXJ2ZXJTZWxlY3Rpb25UaW1lb3V0TVMiLCJzb2NrZXRUaW1lb3V0TVMiLCJzcnZNYXhIb3N0cyIsInNydlNlcnZpY2VOYW1lIiwic3NsIiwidGxzIiwidGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzIiwidGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzIiwidGxzQ0FGaWxlIiwidGxzQ2VydGlmaWNhdGVLZXlGaWxlIiwidGxzQ2VydGlmaWNhdGVLZXlGaWxlUGFzc3dvcmQiLCJ0bHNJbnNlY3VyZSIsIndhaXRRdWV1ZVRpbWVvdXRNUyIsInpsaWJDb21wcmVzc2lvbkxldmVsIiwiRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEiLCJ2ZXJzaW9uIiwiQXV0aEFkYXB0ZXIiLCJlbmFibGVkIiwiTG9nTGV2ZWxzIiwiY2xvdWRGdW5jdGlvbkVycm9yIiwiY2xvdWRGdW5jdGlvblN1Y2Nlc3MiLCJzaWdudXBVc2VybmFtZVRha2VuIiwidHJpZ2dlckFmdGVyIiwidHJpZ2dlckJlZm9yZUVycm9yIiwidHJpZ2dlckJlZm9yZVN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvT3B0aW9ucy9EZWZpbml0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuKioqKiBHRU5FUkFURUQgQ09ERSAqKioqXG5UaGlzIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHJlc291cmNlcy9idWlsZENvbmZpZ0RlZmluaXRpb25zLmpzXG5EbyBub3QgZWRpdCBtYW51YWxseSwgYnV0IHVwZGF0ZSBPcHRpb25zL2luZGV4LmpzXG4qL1xudmFyIHBhcnNlcnMgPSByZXF1aXJlKCcuL3BhcnNlcnMnKTtcbm1vZHVsZS5leHBvcnRzLlNjaGVtYU9wdGlvbnMgPSB7XG4gIGFmdGVyTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9BRlRFUl9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYWZ0ZXIgcnVubmluZyBzY2hlbWEgbWlncmF0aW9ucy4nLFxuICB9LFxuICBiZWZvcmVNaWdyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0JFRk9SRV9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYmVmb3JlIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgZGVmaW5pdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFRklOSVRJT05TJyxcbiAgICBoZWxwOiAnUmVzdCByZXByZXNlbnRhdGlvbiBvbiBQYXJzZS5TY2hlbWEgaHR0cHM6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3Jlc3QvZ3VpZGUvI2FkZGluZy1hLXNjaGVtYScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgZGVsZXRlRXh0cmFGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFTEVURV9FWFRSQV9GSUVMRFMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZGVsZXRlIGFueSBmaWVsZHMgbm90IGRlZmluZWQgaW4gYSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBrZWVwVW5rbm93bkluZGV4ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0tFRVBfVU5LTk9XTl9JTkRFWEVTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgS2VlcCBpbmRleGVzIHRoYXQgYXJlIHByZXNlbnQgaW4gdGhlIGRhdGFiYXNlIGJ1dCBub3QgZGVmaW5lZCBpbiB0aGUgc2NoZW1hLiBTZXQgdGhpcyB0byBgdHJ1ZWAgaWYgeW91IGFyZSBhZGRpbmcgaW5kZXhlcyBtYW51YWxseSwgc28gdGhhdCB0aGV5IHdvbid0IGJlIHJlbW92ZWQgd2hlbiBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb24uIERlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9ja1NjaGVtYXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0xPQ0tfU0NIRU1BUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHdpbGwgcmVqZWN0IGFueSBhdHRlbXB0cyB0byBtb2RpZnkgdGhlIHNjaGVtYSB3aGlsZSB0aGUgc2VydmVyIGlzIHJ1bm5pbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVjcmVhdGVNb2RpZmllZEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfUkVDUkVBVEVfTU9ESUZJRURfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIHJlY3JlYXRlIGFueSBmaWVsZHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gdGhlIGN1cnJlbnQgZGF0YWJhc2Ugc2NoZW1hIGFuZCB0aGVzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzdHJpY3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1NUUklDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBleGl0IGlmIHNjaGVtYSB1cGRhdGUgZmFpbC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhcnNlU2VydmVyT3B0aW9ucyA9IHtcbiAgYWNjb3VudExvY2tvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUJyxcbiAgICBoZWxwOiBcIlRoZSBhY2NvdW50IGxvY2tvdXQgcG9saWN5IGZvciBmYWlsZWQgbG9naW4gYXR0ZW1wdHMuPGJyPjxicj5Ob3RlOiBTZXR0aW5nIGEgdXNlcidzIEFDTCB0byBhbiBlbXB0eSBvYmplY3QgYHt9YCB2aWEgbWFzdGVyIGtleSBpcyBhIHNlcGFyYXRlIG1lY2hhbmlzbSB0aGF0IG9ubHkgcHJldmVudHMgbmV3IGxvZ2luczsgaXQgZG9lcyBub3QgaW52YWxpZGF0ZSBleGlzdGluZyBzZXNzaW9uIHRva2Vucy4gVG8gaW1tZWRpYXRlbHkgcmV2b2tlIGEgdXNlcidzIGFjY2VzcywgZGVzdHJveSB0aGVpciBzZXNzaW9ucyB2aWEgbWFzdGVyIGtleSBpbiBhZGRpdGlvbiB0byBzZXR0aW5nIHRoZSBBQ0wuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnQWNjb3VudExvY2tvdXRPcHRpb25zJyxcbiAgfSxcbiAgYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NMSUVOVF9DTEFTU19DUkVBVElPTicsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgY2xpZW50IGNsYXNzIGNyZWF0aW9uLCBkZWZhdWx0cyB0byBmYWxzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93Q3VzdG9tT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfQ1VTVE9NX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgY3VzdG9tIG9iamVjdElkJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19FWFBJUkVEX0FVVEhfREFUQV9UT0tFTicsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBBdXRoIHByb3ZpZGVycyBhcmUgYWx3YXlzIHZhbGlkYXRlZCBvbiBsb2dpbi4gT24gdXBkYXRlLCBpZiB0aGlzIGlzIHNldCB0byBgdHJ1ZWAsIGF1dGggcHJvdmlkZXJzIGFyZSBvbmx5IHJlLXZhbGlkYXRlZCB3aGVuIHRoZSBhdXRoIGRhdGEgaGFzIGNoYW5nZWQuIElmIHRoaXMgaXMgc2V0IHRvIGBmYWxzZWAsIGF1dGggcHJvdmlkZXJzIGFyZSByZS12YWxpZGF0ZWQgb24gZXZlcnkgdXBkYXRlLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93SGVhZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19IRUFERVJTJyxcbiAgICBoZWxwOiAnQWRkIGhlYWRlcnMgdG8gQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBhbGxvd09yaWdpbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19PUklHSU4nLFxuICAgIGhlbHA6ICdTZXRzIG9yaWdpbnMgZm9yIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4gVGhpcyBjYW4gYmUgYSBzdHJpbmcgZm9yIGEgc2luZ2xlIG9yaWdpbiBvciBhbiBhcnJheSBvZiBzdHJpbmdzIGZvciBtdWx0aXBsZSBvcmlnaW5zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBhbmFseXRpY3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FOQUxZVElDU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBhbmFseXRpY3MnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXBwSWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQVBQTElDQVRJT05fSUQnLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIEFwcGxpY2F0aW9uIElEJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBfTkFNRScsXG4gICAgaGVscDogJ1NldHMgdGhlIGFwcCBuYW1lJyxcbiAgfSxcbiAgYXV0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BVVRIX1BST1ZJREVSUycsXG4gICAgaGVscDogXCJDb25maWd1cmF0aW9uIGZvciB5b3VyIGF1dGhlbnRpY2F0aW9uIHByb3ZpZGVycywgYXMgc3RyaW5naWZpZWQgSlNPTi4gU2VlIGh0dHA6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3BhcnNlLXNlcnZlci9ndWlkZS8jb2F1dGgtYW5kLTNyZC1wYXJ0eS1hdXRoZW50aWNhdGlvbjxicj48YnI+UHJvdmlkZXIgbmFtZXMgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIGFuZCBjb250YWluIG9ubHkgbGV0dGVycywgZGlnaXRzLCBhbmQgdW5kZXJzY29yZXMgKGAvXltBLVphLXpdW0EtWmEtejAtOV9dKiQvYCkuIFRoaXMgaXMgYmVjYXVzZSBlYWNoIHByb3ZpZGVyIG5hbWUgaXMgdXNlZCB0byBjb25zdHJ1Y3QgYSBkYXRhYmFzZSBmaWVsZCAoYF9hdXRoX2RhdGFfPHByb3ZpZGVyPmApLCB3aGljaCBtdXN0IGNvbXBseSB3aXRoIFBhcnNlIFNlcnZlcidzIGZpZWxkIG5hbWluZyBydWxlcy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZUFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgY2FjaGUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgY2FjaGVNYXhTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX01BWF9TSVpFJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlLCBkZWZhdWx0cyB0byAxMDAwMCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVNYXhTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMDAsXG4gIH0sXG4gIGNhY2hlVFRMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX1RUTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIFRUTCBmb3IgdGhlIGluIG1lbW9yeSBjYWNoZSAoaW4gbXMpLCBkZWZhdWx0cyB0byA1MDAwICg1IHNlY29uZHMpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZVRUTCcpLFxuICAgIGRlZmF1bHQ6IDUwMDAsXG4gIH0sXG4gIGNsaWVudEtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTElFTlRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBpT1MsIE1hY09TLCB0dk9TIGNsaWVudHMnLFxuICB9LFxuICBjbG91ZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTE9VRCcsXG4gICAgaGVscDogJ0Z1bGwgcGF0aCB0byB5b3VyIGNsb3VkIGNvZGUgbWFpbi5qcycsXG4gIH0sXG4gIGNsdXN0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0xVU1RFUicsXG4gICAgaGVscDogJ1J1biB3aXRoIGNsdXN0ZXIsIG9wdGlvbmFsbHkgc2V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGRlZmF1bHQgdG8gb3MuY3B1cygpLmxlbmd0aCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yQm9vbGVhblBhcnNlcixcbiAgfSxcbiAgY29sbGVjdGlvblByZWZpeDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT0xMRUNUSU9OX1BSRUZJWCcsXG4gICAgaGVscDogJ0EgY29sbGVjdGlvbiBwcmVmaXggZm9yIHRoZSBjbGFzc2VzJyxcbiAgICBkZWZhdWx0OiAnJyxcbiAgfSxcbiAgY29udmVydEVtYWlsVG9Mb3dlcmNhc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09OVkVSVF9FTUFJTF9UT19MT1dFUkNBU0UnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGBlbWFpbGAgcHJvcGVydHkgb2YgYSB1c2VyIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGxvd2VyY2FzZSBiZWZvcmUgYmVpbmcgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gQ29uc2VxdWVudGx5LCBxdWVyaWVzIG11c3QgbWF0Y2ggdGhlIGNhc2UgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggd291bGQgYmUgbG93ZXJjYXNlIGluIHRoaXMgc2NlbmFyaW8uIElmIGBmYWxzZWAsIHRoZSBgZW1haWxgIHByb3BlcnR5IGlzIHN0b3JlZCBhcyBzZXQsIHdpdGhvdXQgYW55IGNhc2UgbW9kaWZpY2F0aW9ucy4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGNvbnZlcnRVc2VybmFtZVRvTG93ZXJjYXNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTlZFUlRfVVNFUk5BTUVfVE9fTE9XRVJDQVNFJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IG9mIGEgdXNlciBpcyBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBsb3dlcmNhc2UgYmVmb3JlIGJlaW5nIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuIENvbnNlcXVlbnRseSwgcXVlcmllcyBtdXN0IG1hdGNoIHRoZSBjYXNlIGFzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UsIHdoaWNoIHdvdWxkIGJlIGxvd2VyY2FzZSBpbiB0aGlzIHNjZW5hcmlvLiBJZiBgZmFsc2VgLCB0aGUgYHVzZXJuYW1lYCBwcm9wZXJ0eSBpcyBzdG9yZWQgYXMgc2V0LCB3aXRob3V0IGFueSBjYXNlIG1vZGlmaWNhdGlvbnMuIERlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBjdXN0b21QYWdlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVMnLFxuICAgIGhlbHA6ICdjdXN0b20gcGFnZXMgZm9yIHBhc3N3b3JkIHZhbGlkYXRpb24gYW5kIHJlc2V0JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdDdXN0b21QYWdlc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBkYXRhYmFzZUFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgZGF0YWJhc2U7IGFueSBvcHRpb25zIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5IGRlc2NyaWJlZCBoZXJlIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIGRhdGFiYXNlIGNsaWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZGF0YWJhc2VPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGRhdGFiYXNlIGNsaWVudCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRGF0YWJhc2VPcHRpb25zJyxcbiAgfSxcbiAgZGF0YWJhc2VVUkk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVVJJJyxcbiAgICBoZWxwOiAnVGhlIGZ1bGwgVVJJIHRvIHlvdXIgZGF0YWJhc2UuIFN1cHBvcnRlZCBkYXRhYmFzZXMgYXJlIG1vbmdvZGIgb3IgcG9zdGdyZXMuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZWZhdWx0OiAnbW9uZ29kYjovL2xvY2FsaG9zdDoyNzAxNy9wYXJzZScsXG4gIH0sXG4gIGRlZmF1bHRMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ERUZBVUxUX0xJTUlUJyxcbiAgICBoZWxwOiAnRGVmYXVsdCB2YWx1ZSBmb3IgbGltaXQgb3B0aW9uIG9uIHF1ZXJpZXMsIGRlZmF1bHRzIHRvIGAxMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZGVmYXVsdExpbWl0JyksXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxuICBkaXJlY3RBY2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRElSRUNUX0FDQ0VTUycsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBzYW1lIE5vZGUuanMgZW52aXJvbm1lbnQgYXMgUGFyc2UgU2VydmVyIHNob3VsZCBiZSByb3V0ZWQgdG8gUGFyc2UgU2VydmVyIGRpcmVjdGx5IGluc3RlYWQgb2YgdmlhIHRoZSBIVFRQIGludGVyZmFjZS4gRGVmYXVsdCBpcyBgZmFsc2VgLjxicj48YnI+SWYgc2V0IHRvIGBmYWxzZWAgdGhlbiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgYXJlIGV4ZWN1dGVkIGFzIEhUVFAgcmVxdWVzdHMgc2VudCB0byBQYXJzZSBTZXJ2ZXIgdmlhIHRoZSBgc2VydmVyVVJMYC4gRm9yIGV4YW1wbGUsIGEgYFBhcnNlLlF1ZXJ5YCBpbiBDbG91ZCBDb2RlIGlzIGNhbGxpbmcgUGFyc2UgU2VydmVyIHZpYSBhIEhUVFAgcmVxdWVzdC4gVGhlIHNlcnZlciBpcyBlc3NlbnRpYWxseSBtYWtpbmcgYSBIVFRQIHJlcXVlc3QgdG8gaXRzZWxmLCB1bm5lY2Vzc2FyaWx5IHVzaW5nIG5ldHdvcmsgcmVzb3VyY2VzIHN1Y2ggYXMgbmV0d29yayBwb3J0cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEluIGVudmlyb25tZW50cyB3aGVyZSBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIHJ1biBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyIGFuZCBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIGN1cnJlbnQgTm9kZS5qcyBlbnZpcm9ubWVudCBzaG91bGQgYmUgcm91dGVkIHZpYSB0aGUgbG9hZCBiYWxhbmNlciBhbmQgZGlzdHJpYnV0ZWQgYXMgSFRUUCByZXF1ZXN0cyBhbW9uZyBhbGwgaW5zdGFuY2VzIHZpYSB0aGUgYHNlcnZlclVSTGAsIHRoaXMgc2hvdWxkIGJlIHNldCB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZG90TmV0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RPVF9ORVRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBVbml0eSBhbmQgLk5ldCBTREsnLFxuICB9LFxuICBlbWFpbEFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciBlbWFpbCBzZW5kaW5nJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5U3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byB2ZXJpZnkgdGhlIGVtYWlsIHNob3VsZCByZXR1cm4gYSBzdWNjZXNzIHJlc3BvbnNlIGV2ZW4gaWYgdGhlIHByb3ZpZGVkIGVtYWlsIGFkZHJlc3MgZG9lcyBub3QgYmVsb25nIHRvIGEgdmVyaWZpYWJsZSBhY2NvdW50LCBmb3IgZXhhbXBsZSBiZWNhdXNlIGl0IGlzIHVua25vd24gb3IgYWxyZWFkeSB2ZXJpZmllZCwgb3IgYGZhbHNlYCBpZiB0aGUgcmVxdWVzdCBzaG91bGQgcmV0dXJuIGFuIGVycm9yIHJlc3BvbnNlIGluIHRob3NlIGNhc2VzLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbWFpbFZlcmlmeVRva2VuUmV1c2VJZlZhbGlkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9UT0tFTl9SRVVTRV9JRl9WQUxJRCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSBlbWFpbCB2ZXJpZmljYXRpb24gdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSB0b2tlbiBleHBpcmVzLiBUaGUgdG9rZW4gaXMgdXNlZCBpbiB0aGUgbGluayB0aGF0IGlzIHNldCBpbiB0aGUgZW1haWwuIEFmdGVyIHRoZSB0b2tlbiBleHBpcmVzLCB0aGUgbGluayBiZWNvbWVzIGludmFsaWQgYW5kIGEgbmV3IGxpbmsgaGFzIHRvIGJlIHNlbnQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYHVuZGVmaW5lZGAsIHRoZW4gdGhlIHRva2VuIG5ldmVyIGV4cGlyZXMuPGJyPjxicj5Gb3IgZXhhbXBsZSwgdG8gZXhwaXJlIHRoZSB0b2tlbiBhZnRlciAyIGhvdXJzLCBzZXQgYSB2YWx1ZSBvZiA3MjAwIHNlY29uZHMgKD0gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXMgKiAyIGhvdXJzKS48YnI+PGJyPkRlZmF1bHQgaXMgYHVuZGVmaW5lZGAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbicpLFxuICB9LFxuICBlbmFibGVBbm9ueW1vdXNVc2Vyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfQU5PTl9VU0VSUycsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgYW5vbnltb3VzIHVzZXJzLCBkZWZhdWx0cyB0byB0cnVlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVDb2xsYXRpb25DYXNlQ29tcGFyaXNvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfQ09MTEFUSU9OX0NBU0VfQ09NUEFSSVNPTicsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgY29sbGF0aW9uIHJ1bGUgb2YgY2FzZSBjb21wYXJpc29uIGZvciBxdWVyaWVzIGFuZCBpbmRleGVzIGlzIGVuYWJsZWQuIEVuYWJsZSB0aGlzIG9wdGlvbiB0byBydW4gUGFyc2UgU2VydmVyIHdpdGggTW9uZ29EQiBBdGxhcyBTZXJ2ZXJsZXNzIG9yIEFXUyBBbWF6b24gRG9jdW1lbnREQi4gSWYgYGZhbHNlYCwgdGhlIGNvbGxhdGlvbiBydWxlIG9mIGNhc2UgY29tcGFyaXNvbiBpcyBkaXNhYmxlZC4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUV4cHJlc3NFcnJvckhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0VYUFJFU1NfRVJST1JfSEFORExFUicsXG4gICAgaGVscDogJ0VuYWJsZXMgdGhlIGRlZmF1bHQgZXhwcmVzcyBlcnJvciBoYW5kbGVyIGZvciBhbGwgZXJyb3JzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0lOU0VDVVJFX0FVVEhfQURBUFRFUlMnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gRW5hYmxlcyBpbnNlY3VyZSBhdXRoZW50aWNhdGlvbiBhZGFwdGVycy4gSW5zZWN1cmUgYXV0aCBhZGFwdGVycyBhcmUgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlUHJvZHVjdFB1cmNoYXNlTGVnYWN5QXBpOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9QUk9EVUNUX1BVUkNIQVNFX0xFR0FDWV9BUEknLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBFbmFibGVzIHRoZSBsZWdhY3kgcHJvZHVjdCBwdXJjaGFzZSBBUEkgaW5jbHVkaW5nIHRoZSBgX1Byb2R1Y3RgIGNsYXNzIGFuZCB0aGUgYC92YWxpZGF0ZV9wdXJjaGFzZWAgZW5kcG9pbnQuIFRoaXMgaXMgYW4gdW5kb2N1bWVudGVkLCB1bm1haW50YWluZWQgbGVnYWN5IGZlYXR1cmUgaW5oZXJpdGVkIGZyb20gdGhlIG9yaWdpbmFsIFBhcnNlIHBsYXRmb3JtIHRoYXQgbWF5IG5vdCBmdW5jdGlvbiBhcyBleHBlY3RlZC4gV2Ugc3Ryb25nbHkgYWR2aXNlIGFnYWluc3QgdXNpbmcgaXQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciB2ZXJzaW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlU2FuaXRpemVkRXJyb3JSZXNwb25zZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfU0FOSVRJWkVEX0VSUk9SX1JFU1BPTlNFJyxcbiAgICBoZWxwOiAnSWYgc2V0IHRvIGB0cnVlYCwgZXJyb3IgZGV0YWlscyBhcmUgcmVtb3ZlZCBmcm9tIGVycm9yIG1lc3NhZ2VzIGluIHJlc3BvbnNlcyB0byBjbGllbnQgcmVxdWVzdHMsIGFuZCBpbnN0ZWFkIGEgZ2VuZXJpYyBlcnJvciBtZXNzYWdlIGlzIHNlbnQuIERlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5jcnlwdGlvbktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkNSWVBUSU9OX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgZW5jcnlwdGluZyB5b3VyIGZpbGVzJyxcbiAgfSxcbiAgZW5mb3JjZVByaXZhdGVVc2Vyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkZPUkNFX1BSSVZBVEVfVVNFUlMnLFxuICAgIGhlbHA6ICdTZXQgdG8gdHJ1ZSBpZiBuZXcgdXNlcnMgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aG91dCBwdWJsaWMgcmVhZCBhbmQgd3JpdGUgYWNjZXNzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZXhwaXJlSW5hY3RpdmVTZXNzaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBJUkVfSU5BQ1RJVkVfU0VTU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHdoZXRoZXIgd2Ugc2hvdWxkIGV4cGlyZSB0aGUgaW5hY3RpdmUgc2Vzc2lvbnMsIGRlZmF1bHRzIHRvIHRydWUuIElmIGZhbHNlLCBhbGwgbmV3IHNlc3Npb25zIGFyZSBjcmVhdGVkIHdpdGggbm8gZXhwaXJhdGlvbiBkYXRlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZXh0ZW5kU2Vzc2lvbk9uVXNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYVEVORF9TRVNTSU9OX09OX1VTRScsXG4gICAgaGVscDogXCJXaGV0aGVyIFBhcnNlIFNlcnZlciBzaG91bGQgYXV0b21hdGljYWxseSBleHRlbmQgYSB2YWxpZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uTGVuZ3RoLiBJbiBvcmRlciB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBzZXNzaW9uIHVwZGF0ZXMgaW4gdGhlIGRhdGFiYXNlLCBhIHNlc3Npb24gd2lsbCBvbmx5IGJlIGV4dGVuZGVkIHdoZW4gYSByZXF1ZXN0IGlzIHJlY2VpdmVkIGFmdGVyIGF0IGxlYXN0IGhhbGYgb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbidzIGxpZmV0aW1lIGhhcyBwYXNzZWQuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZpbGVLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHlvdXIgZmlsZXMnLFxuICB9LFxuICBmaWxlc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRVNfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgZmlsZXMgc3ViLXN5c3RlbScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBmaWxlVXBsb2FkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIGZvciBmaWxlIHVwbG9hZHMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0ZpbGVVcGxvYWRPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZ3JhcGhRTFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhRTF9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIG1vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50PGJyPjxicj5cXHUyNkEwXFx1RkUwRiBGaWxlIHVwbG9hZCBpbnNpZGUgdGhlIEdyYXBoUUwgbXV0YXRpb24gc3lzdGVtIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHRzIGlzIGAvZ3JhcGhxbGAuJyxcbiAgICBkZWZhdWx0OiAnL2dyYXBocWwnLFxuICB9LFxuICBncmFwaFFMUHVibGljSW50cm9zcGVjdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSFFMX1BVQkxJQ19JTlRST1NQRUNUSU9OJyxcbiAgICBoZWxwOiAnRW5hYmxlIHB1YmxpYyBpbnRyb3NwZWN0aW9uIGZvciB0aGUgR3JhcGhRTCBlbmRwb2ludCwgZGVmYXVsdHMgdG8gZmFsc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBncmFwaFFMU2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIX1FMU0NIRU1BJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgR3JhcGhRTCBjdXN0b20gc2NoZW1hLmdyYXBocWwgZmlsZScsXG4gIH0sXG4gIGhvc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSE9TVCcsXG4gICAgaGVscDogJ1RoZSBob3N0IHRvIHNlcnZlIFBhcnNlU2VydmVyIG9uLCBkZWZhdWx0cyB0byAwLjAuMC4wJyxcbiAgICBkZWZhdWx0OiAnMC4wLjAuMCcsXG4gIH0sXG4gIGlkZW1wb3RlbmN5T3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIHJlcXVlc3QgaWRlbXBvdGVuY3kgdG8gZGVkdXBsaWNhdGUgaWRlbnRpY2FsIHJlcXVlc3RzIHRoYXQgbWF5IGJlIGNhdXNlZCBieSBuZXR3b3JrIGlzc3Vlcy4gQ2F1dGlvbiwgdGhpcyBpcyBhbiBleHBlcmltZW50YWwgZmVhdHVyZSB0aGF0IG1heSBub3QgYmUgYXBwcm9wcmlhdGUgZm9yIHByb2R1Y3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdJZGVtcG90ZW5jeU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBqYXZhc2NyaXB0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0pBVkFTQ1JJUFRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciB0aGUgSmF2YXNjcmlwdCBTREsnLFxuICB9LFxuICBqc29uTG9nczoge1xuICAgIGVudjogJ0pTT05fTE9HUycsXG4gICAgaGVscDogJ0xvZyBhcyBzdHJ1Y3R1cmVkIEpTT04gb2JqZWN0cycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGxpdmVRdWVyeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFX1FVRVJZJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjb25maWd1cmF0aW9uIG9iamVjdFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeU9wdGlvbnMnLFxuICB9LFxuICBsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUllfU0VSVkVSX09QVElPTlMnLFxuICAgIGhlbHA6ICdMaXZlIHF1ZXJ5IHNlcnZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgKHdpbGwgc3RhcnQgdGhlIGxpdmVRdWVyeSBzZXJ2ZXIpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zJyxcbiAgfSxcbiAgbG9nZ2VyQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dHRVJfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgbG9nZ2luZyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIGxldmVsIGZvciBsb2dzJyxcbiAgfSxcbiAgbG9nTGV2ZWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFMnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIE92ZXJyaWRlcyB0aGUgbG9nIGxldmVscyB1c2VkIGludGVybmFsbHkgYnkgUGFyc2UgU2VydmVyIHRvIGxvZyBldmVudHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMb2dMZXZlbHMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBsb2dzRm9sZGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR1NfRk9MREVSJyxcbiAgICBoZWxwOiBcIkZvbGRlciBmb3IgdGhlIGxvZ3MgKGRlZmF1bHRzIHRvICcuL2xvZ3MnKTsgc2V0IHRvIG51bGwgdG8gZGlzYWJsZSBmaWxlIGJhc2VkIGxvZ2dpbmdcIixcbiAgICBkZWZhdWx0OiAnLi9sb2dzJyxcbiAgfSxcbiAgbWFpbnRlbmFuY2VLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFJTlRFTkFOQ0VfS0VZJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgbWFpbnRlbmFuY2Uga2V5IGlzIHVzZWQgZm9yIG1vZGlmeWluZyBpbnRlcm5hbCBhbmQgcmVhZC1vbmx5IGZpZWxkcyBvZiBQYXJzZSBTZXJ2ZXIuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBUaGlzIGtleSBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGEgcmVndWxhciBvcGVyYXRpb24gb2YgUGFyc2UgU2VydmVyLiBUaGlzIGtleSBpcyBpbnRlbmRlZCB0byBjb25kdWN0IG91dC1vZi1iYW5kIGNoYW5nZXMgc3VjaCBhcyBvbmUtdGltZSBtaWdyYXRpb25zIG9yIGRhdGEgY29ycmVjdGlvbiB0YXNrcy4gSW50ZXJuYWwgZmllbGRzIGFyZSBub3Qgb2ZmaWNpYWxseSBkb2N1bWVudGVkIGFuZCBtYXkgY2hhbmdlIGF0IGFueSB0aW1lIHdpdGhvdXQgcHVibGljYXRpb24gaW4gcmVsZWFzZSBjaGFuZ2Vsb2dzLiBXZSBzdHJvbmdseSBhZHZpY2Ugbm90IHRvIHJlbHkgb24gaW50ZXJuYWwgZmllbGRzIGFzIHBhcnQgb2YgeW91ciByZWd1bGFyIG9wZXJhdGlvbiBhbmQgdG8gaW52ZXN0aWdhdGUgdGhlIGltcGxpY2F0aW9ucyBvZiBhbnkgcGxhbm5lZCBjaGFuZ2VzICpkaXJlY3RseSBpbiB0aGUgc291cmNlIGNvZGUqIG9mIHlvdXIgY3VycmVudCB2ZXJzaW9uIG9mIFBhcnNlIFNlcnZlci4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYWludGVuYW5jZUtleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVlfSVBTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgUmVzdHJpY3RzIHRoZSB1c2Ugb2YgbWFpbnRlbmFuY2Uga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYWludGVuYW5jZSBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5IGFuZCBlZmZlY3RpdmVseSBkaXNhYmxlcyB0aGUgSVAgZmlsdGVyLjxicj48YnI+PGI+Q29uc2lkZXJhdGlvbnM6PC9iPjxicj4tIElQdjQgYW5kIElQdjYgYWRkcmVzc2VzIGFyZSBub3QgY29tcGFyZWQgYWdhaW5zdCBlYWNoIG90aGVyLiBFYWNoIElQIHZlcnNpb24gKElQdjQgYW5kIElQdjYpIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgc2VwYXJhdGVseS4gRm9yIGV4YW1wbGUsIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgYW55IElQdjQgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjYgYWRkcmVzcy4gQ29udmVyc2VseSwgYFsnOjowJ11gIGFsbG93cyBhbnkgSVB2NiBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NCBhZGRyZXNzLjxicj4tIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBJUCB2ZXJzaW9uIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBuZXR3b3JrIHN0YWNrIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucy4gQSBsb2NhbCBlbnZpcm9ubWVudCBtYXkgdXNlIGEgZGlmZmVyZW50IElQIHZlcnNpb24gdGhhbiBhIHJlbW90ZSBlbnZpcm9ubWVudC4gRm9yIGV4YW1wbGUsIGl0J3MgcG9zc2libGUgdGhhdCBsb2NhbGx5IHRoZSB2YWx1ZSBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIHRoZSByZXF1ZXN0IElQIGJlY2F1c2UgdGhlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjQsIGJ1dCB3aGVuIFBhcnNlIFNlcnZlciBpcyBkZXBsb3llZCByZW1vdGVseSB0aGUgcmVxdWVzdCBJUCBpcyBibG9ja2VkIGJlY2F1c2UgdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY2Ljxicj4tIFdoZW4gc2V0dGluZyB0aGUgb3B0aW9uIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0aGUgbm90YXRpb24gaXMgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZSBgXFxcIjAuMC4wLjAvMCw6OjBcXFwiYC48YnI+LSBJUHY2IHpvbmUgaW5kaWNlcyAoYCVgIHN1ZmZpeCkgYXJlIG5vdCBzdXBwb3J0ZWQsIGZvciBleGFtcGxlIGBmZTgwOjoxJWV0aDBgLCBgZmU4MDo6MSUxYCBvciBgOjoxJWxvYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgd2hpY2ggbWVhbnMgdGhhdCBvbmx5IGBsb2NhbGhvc3RgLCB0aGUgc2VydmVyIGluc3RhbmNlIG9uIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLCBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIE1hc3RlciBLZXknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYXN0ZXJLZXlJcHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYXN0ZXIga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYXN0ZXIga2V5IGNhbm5vdCBiZSB1c2VkIGV2ZW4gaW4gUGFyc2UgU2VydmVyIENsb3VkIENvZGUuIFRoaXMgdmFsdWUgY2Fubm90IGJlIHNldCB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIHBhc3MgYW4gZW1wdHkgYXJyYXkgdG8gUGFyc2UgU2VydmVyIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS48YnI+LSBTZXR0aW5nIGBbJzAuMC4wLjAvMCcsICc6OjAnXWAgbWVhbnMgdG8gYWxsb3cgYW55IElQdjQgYW5kIElQdjYgYWRkcmVzcyB0byB1c2UgdGhlIG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYXN0ZXIga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5VHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVlfVFRMJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBmb3Igd2hpY2ggdGhlIGN1cnJlbnQgYG1hc3RlcktleWAgaXMgYmVpbmcgdXNlZCBiZWZvcmUgaXQgaXMgcmVxdWVzdGVkIGFnYWluIGlmIGBtYXN0ZXJLZXlgIGlzIHNldCB0byBhIGZ1bmN0aW9uLiBJZiBgbWFzdGVyS2V5YCBpcyBub3Qgc2V0IHRvIGEgZnVuY3Rpb24sIHRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QuIERlZmF1bHQgaXMgYDBgLCB3aGljaCBtZWFucyB0aGUgbWFzdGVyIGtleSBpcyByZXF1ZXN0ZWQgYnkgaW52b2tpbmcgdGhlICBgbWFzdGVyS2V5YCBmdW5jdGlvbiBldmVyeSB0aW1lIHRoZSBtYXN0ZXIga2V5IGlzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXN0ZXJLZXlUdGwnKSxcbiAgfSxcbiAgbWF4TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFYX0xJTUlUJyxcbiAgICBoZWxwOiAnTWF4IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gdW5saW1pdGVkJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhMaW1pdCcpLFxuICB9LFxuICBtYXhMb2dGaWxlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTE9HX0ZJTEVTJyxcbiAgICBoZWxwOiBcIk1heGltdW0gbnVtYmVyIG9mIGxvZ3MgdG8ga2VlcC4gSWYgbm90IHNldCwgbm8gbG9ncyB3aWxsIGJlIHJlbW92ZWQuIFRoaXMgY2FuIGJlIGEgbnVtYmVyIG9mIGZpbGVzIG9yIG51bWJlciBvZiBkYXlzLiBJZiB1c2luZyBkYXlzLCBhZGQgJ2QnIGFzIHRoZSBzdWZmaXguIChkZWZhdWx0OiBudWxsKVwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJPclN0cmluZ1BhcnNlcignbWF4TG9nRmlsZXMnKSxcbiAgfSxcbiAgbWF4VXBsb2FkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfVVBMT0FEX1NJWkUnLFxuICAgIGhlbHA6ICdNYXggZmlsZSBzaXplIGZvciB1cGxvYWRzLCBkZWZhdWx0cyB0byAyMG1iJyxcbiAgICBkZWZhdWx0OiAnMjBtYicsXG4gIH0sXG4gIG1pZGRsZXdhcmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUlERExFV0FSRScsXG4gICAgaGVscDogJ21pZGRsZXdhcmUgZm9yIGV4cHJlc3Mgc2VydmVyLCBjYW4gYmUgc3RyaW5nIG9yIGZ1bmN0aW9uJyxcbiAgfSxcbiAgbW91bnRHcmFwaFFMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX0dSQVBIUUwnLFxuICAgIGhlbHA6ICdNb3VudHMgdGhlIEdyYXBoUUwgZW5kcG9pbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBtb3VudFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBzZXJ2ZXIsIGRlZmF1bHRzIHRvIC9wYXJzZScsXG4gICAgZGVmYXVsdDogJy9wYXJzZScsXG4gIH0sXG4gIG1vdW50UGxheWdyb3VuZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QTEFZR1JPVU5EJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gTW91bnRzIHRoZSBHcmFwaFFMIFBsYXlncm91bmQgd2hpY2ggaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIFRoZSBwbGF5Z3JvdW5kIGV4cG9zZXMgdGhlIG1hc3RlciBrZXkgaW4gdGhlIGJyb3dzZXIuIFVzZSBQYXJzZSBEYXNoYm9hcmQgYXMgR3JhcGhRTCBJREUgb3IgY29uZmlndXJlIGEgdGhpcmQtcGFydHkgR3JhcGhRTCBjbGllbnQgd2l0aCBjdXN0b20gcmVxdWVzdCBoZWFkZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG9iamVjdElkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9PQkpFQ1RfSURfU0laRScsXG4gICAgaGVscDogXCJTZXRzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBnZW5lcmF0ZWQgb2JqZWN0IGlkJ3MsIGRlZmF1bHQgMTBcIixcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdvYmplY3RJZFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMCxcbiAgfSxcbiAgcGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVMnLFxuICAgIGhlbHA6ICdUaGUgb3B0aW9ucyBmb3IgcGFnZXMgc3VjaCBhcyBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUGFnZXNPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcGFzc3dvcmRQb2xpY3k6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZJyxcbiAgICBoZWxwOiAnVGhlIHBhc3N3b3JkIHBvbGljeSBmb3IgZW5mb3JjaW5nIHBhc3N3b3JkIHJlbGF0ZWQgcnVsZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYXNzd29yZFBvbGljeU9wdGlvbnMnLFxuICB9LFxuICBwbGF5Z3JvdW5kUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QTEFZR1JPVU5EX1BBVEgnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudCBwYXRoIGZvciB0aGUgR3JhcGhRTCBQbGF5Z3JvdW5kLiBUaGUgcGxheWdyb3VuZCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4nLFxuICAgIGRlZmF1bHQ6ICcvcGxheWdyb3VuZCcsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBQYXJzZVNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwcmVzZXJ2ZUZpbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVNFUlZFX0ZJTEVfTkFNRScsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgdGhlIGFkZGl0aW9uIG9mIGEgdW5pcXVlIGhhc2ggdG8gdGhlIGZpbGUgbmFtZXMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50TG9naW5XaXRoVW52ZXJpZmllZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVZFTlRfTE9HSU5fV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIlNldCB0byBgdHJ1ZWAgdG8gcHJldmVudCBhIHVzZXIgZnJvbSBsb2dnaW5nIGluIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgcHJldmVudGlvbi4gVGhlIGZ1bmN0aW9uIHJlY2VpdmVzIGEgcmVxdWVzdCBvYmplY3QgdGhhdCBpbmNsdWRlcyBgY3JlYXRlZFdpdGhgIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGludm9jYXRpb24gaXMgZm9yIGBzaWdudXBgIG9yIGBsb2dpbmAgYW5kIHRoZSB1c2VkIGF1dGggcHJvdmlkZXIuPGJyPjxicj5UaGUgYGNyZWF0ZWRXaXRoYCB2YWx1ZXMgcGVyIHNjZW5hcmlvOjx1bD48bGk+UGFzc3dvcmQgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIHNpZ251cDogYHsgYWN0aW9uOiAnc2lnbnVwJywgYXV0aFByb3ZpZGVyOiAnPHByb3ZpZGVyPicgfWA8L2xpPjxsaT5QYXNzd29yZCBsb2dpbjogYHsgYWN0aW9uOiAnbG9naW4nLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIGxvZ2luOiBmdW5jdGlvbiBub3QgaW52b2tlZDsgYXV0aCBwcm92aWRlciBsb2dpbiBieXBhc3NlcyBlbWFpbCB2ZXJpZmljYXRpb248L2xpPjwvdWw+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9TSUdOVVBfV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIklmIHNldCB0byBgdHJ1ZWAgaXQgcHJldmVudHMgYSB1c2VyIGZyb20gc2lnbmluZyB1cCBpZiB0aGUgZW1haWwgaGFzIG5vdCB5ZXQgYmVlbiB2ZXJpZmllZCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVkLiBJbiB0aGF0IGNhc2UgdGhlIHNlcnZlciByZXNwb25kcyB0byB0aGUgc2lnbi11cCB3aXRoIEhUVFAgc3RhdHVzIDQwMCBhbmQgYSBQYXJzZSBFcnJvciAyMDUgYEVNQUlMX05PVF9GT1VORGAuIElmIHNldCB0byBgZmFsc2VgIHRoZSBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBIVFRQIHN0YXR1cyAyMDAsIGFuZCBjbGllbnQgU0RLcyByZXR1cm4gYW4gdW5hdXRoZW50aWNhdGVkIFBhcnNlIFVzZXIgd2l0aG91dCBzZXNzaW9uIHRva2VuLiBJbiB0aGF0IGNhc2Ugc3Vic2VxdWVudCByZXF1ZXN0cyBmYWlsIHVudGlsIHRoZSB1c2VyJ3MgZW1haWwgYWRkcmVzcyBpcyB2ZXJpZmllZC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFMnLFxuICAgIGhlbHA6IFwiRmllbGRzIHBlciBjbGFzcyB0aGF0IGFyZSBoaWRkZW4gZnJvbSBxdWVyeSByZXN1bHRzIGZvciBzcGVjaWZpYyB1c2VyIGdyb3Vwcy4gUHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSB0aGUgc2VydmVyIHJlc3BvbnNlLCBidXQgY2FuIHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseSAoZS5nLiBpbiBDbG91ZCBDb2RlIHRyaWdnZXJzKS4gQ29uZmlndXJlIGFzIGB7ICdDbGFzc05hbWUnOiB7ICdVc2VyR3JvdXAnOiBbJ2ZpZWxkMScsICdmaWVsZDInXSB9IH1gIHdoZXJlIGBVc2VyR3JvdXBgIGlzIG9uZSBvZjogYCcqJ2AgKGFsbCB1c2VycyksIGAnYXV0aGVudGljYXRlZCdgIChhdXRoZW50aWNhdGVkIHVzZXJzKSwgYCdyb2xlOlJvbGVOYW1lJ2AgKHVzZXJzIHdpdGggYSBzcGVjaWZpYyByb2xlKSwgYCd1c2VyRmllbGQ6RmllbGROYW1lJ2AgKHVzZXJzIHJlZmVyZW5jZWQgYnkgYSBwb2ludGVyIGZpZWxkKSwgb3IgYSB1c2VyIGBvYmplY3RJZGAgdG8gdGFyZ2V0IGEgc3BlY2lmaWMgdXNlci4gV2hlbiBtdWx0aXBsZSBncm91cHMgYXBwbHksIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlaXIgcHJvdGVjdGVkIGZpZWxkcyBpcyB1c2VkLiBBbnkgZmllbGQgY2FuIGJlIHByb3RlY3RlZCwgaW5jbHVkaW5nIHN5c3RlbSBmaWVsZHMgbGlrZSBgY3JlYXRlZEF0YCBhbmQgYHVwZGF0ZWRBdGAuIEJ5IGRlZmF1bHQsIGBlbWFpbGAgaXMgcHJvdGVjdGVkIG9uIHRoZSBgX1VzZXJgIGNsYXNzIGZvciBhbGwgdXNlcnMuIE9uIHRoZSBgX1VzZXJgIGNsYXNzLCB0aGUgb2JqZWN0IG93bmVyIGlzIGV4ZW1wdCBmcm9tIHByb3RlY3RlZCBmaWVsZHMgYnkgZGVmYXVsdDsgc2VlIGBwcm90ZWN0ZWRGaWVsZHNPd25lckV4ZW1wdGAgdG8gY2hhbmdlIHRoaXMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7XG4gICAgICBfVXNlcjoge1xuICAgICAgICAnKic6IFsnZW1haWwnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzT3duZXJFeGVtcHQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEU19PV05FUl9FWEVNUFQnLFxuICAgIGhlbHA6IFwiV2hldGhlciB0aGUgYF9Vc2VyYCBjbGFzcyBpcyBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYCB3aGVuIHRoZSBsb2dnZWQtaW4gdXNlciBxdWVyaWVzIHRoZWlyIG93biB1c2VyIG9iamVjdC4gSWYgYHRydWVgIChkZWZhdWx0KSwgYSB1c2VyIGNhbiBzZWUgYWxsIHRoZWlyIG93biBmaWVsZHMgcmVnYXJkbGVzcyBvZiBgcHJvdGVjdGVkRmllbGRzYCBjb25maWd1cmF0aW9uOyBkZWZhdWx0IHByb3RlY3RlZCBmaWVsZHMgKGUuZy4gYGVtYWlsYCkgYXJlIG1lcmdlZCBpbnRvIGFueSBjdXN0b20gYHByb3RlY3RlZEZpZWxkc2AgY29uZmlndXJhdGlvbi4gSWYgYGZhbHNlYCwgYHByb3RlY3RlZEZpZWxkc2AgYXBwbGllcyBlcXVhbGx5IHRvIHRoZSB1c2VyJ3Mgb3duIG9iamVjdCwgY29uc2lzdGVudCB3aXRoIGFsbCBvdGhlciBjbGFzc2VzOyBvbmx5IGV4cGxpY2l0bHkgY29uZmlndXJlZCBwcm90ZWN0ZWQgZmllbGRzIGFwcGx5LCBkZWZhdWx0cyBhcmUgbm90IG1lcmdlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIHByb3RlY3RlZEZpZWxkc1RyaWdnZXJFeGVtcHQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEU19UUklHR0VSX0VYRU1QVCcsXG4gICAgaGVscDogXCJXaGV0aGVyIENsb3VkIENvZGUgdHJpZ2dlcnMgKGUuZy4gYGJlZm9yZVNhdmVgLCBgYWZ0ZXJTYXZlYCkgYXJlIGV4ZW1wdCBmcm9tIGBwcm90ZWN0ZWRGaWVsZHNgLiBJZiBgdHJ1ZWAsIHRyaWdnZXJzIHJlY2VpdmUgdGhlIGZ1bGwgb2JqZWN0IGluY2x1ZGluZyBwcm90ZWN0ZWQgZmllbGRzIGluIGByZXF1ZXN0Lm9iamVjdGAgYW5kIGByZXF1ZXN0Lm9yaWdpbmFsYCwgcmVnYXJkbGVzcyBvZiB0aGUgY2FsbGVyJ3MgYXV0aCBjb250ZXh0LiBJZiBgZmFsc2VgLCBwcm90ZWN0ZWQgZmllbGRzIGFyZSBzdHJpcHBlZCBmcm9tIHRoZSBvcmlnaW5hbCBvYmplY3QgZmV0Y2ggdXNlZCB0byBidWlsZCB0cmlnZ2VyIG9iamVjdHMuIERlZmF1bHRzIHRvIGBmYWxzZWAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHB1YmxpY1NlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1BVQkxJQ19TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIFRoZSBwdWJsaWMgVVJMIHRvIFBhcnNlIFNlcnZlci4gVGhpcyBVUkwgd2lsbCBiZSB1c2VkIHRvIHJlYWNoIFBhcnNlIFNlcnZlciBwdWJsaWNseSBmb3IgZmVhdHVyZXMgbGlrZSBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGxpbmtzLiBUaGUgb3B0aW9uIGNhbiBiZSBzZXQgdG8gYSBzdHJpbmcgb3IgYSBmdW5jdGlvbiB0aGF0IGNhbiBiZSBhc3luY2hyb25vdXNseSByZXNvbHZlZC4gVGhlIHJldHVybmVkIFVSTCBzdHJpbmcgbXVzdCBzdGFydCB3aXRoIGBodHRwOi8vYCBvciBgaHR0cHM6Ly9gLicsXG4gIH0sXG4gIHB1c2g6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2gsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI3B1c2gtbm90aWZpY2F0aW9ucycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmF0ZUxpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVQnLFxuICAgIGhlbHA6IFwiT3B0aW9ucyB0byBsaW1pdCByZXBlYXRlZCByZXF1ZXN0cyB0byBQYXJzZSBTZXJ2ZXIgQVBJcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcm90ZWN0IHNlbnNpdGl2ZSBlbmRwb2ludHMgc3VjaCBhcyBgL3JlcXVlc3RQYXNzd29yZFJlc2V0YCBmcm9tIGJydXRlLWZvcmNlIGF0dGFja3Mgb3IgUGFyc2UgU2VydmVyIGFzIGEgd2hvbGUgZnJvbSBkZW5pYWwtb2Ytc2VydmljZSAoRG9TKSBhdHRhY2tzLjxicj48YnI+XFx1MjEzOVxcdUZFMEYgTWluZCB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOjxicj4tIHJhdGUgbGltaXRzIGFwcGxpZWQgcGVyIElQIGFkZHJlc3M7IHRoaXMgbGltaXRzIHByb3RlY3Rpb24gYWdhaW5zdCBkaXN0cmlidXRlZCBkZW5pYWwtb2Ytc2VydmljZSAoRERvUykgYXR0YWNrcyB3aGVyZSBtYW55IHJlcXVlc3RzIGFyZSBjb21pbmcgZnJvbSB2YXJpb3VzIElQIGFkZHJlc3Nlczxicj4tIGlmIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgYXJlIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgb3IgcmFuIGluIGEgY2x1c3RlciwgZWFjaCBpbnN0YW5jZSB3aWxsIGNhbGN1bGF0ZSBpdCdzIG93biByZXF1ZXN0IHJhdGVzLCBpbmRlcGVuZGVudCBmcm9tIG90aGVyIGluc3RhbmNlczsgdGhpcyBsaW1pdHMgdGhlIGFwcGxpY2FiaWxpdHkgb2YgdGhpcyBmZWF0dXJlIHdoZW4gdXNpbmcgYSBsb2FkIGJhbGFuY2VyIGFuZCBhbm90aGVyIHJhdGUgbGltaXRpbmcgc29sdXRpb24gdGhhdCB0YWtlcyByZXF1ZXN0cyBhY3Jvc3MgYWxsIGluc3RhbmNlcyBpbnRvIGFjY291bnQgbWF5IGJlIG1vcmUgc3VpdGFibGU8YnI+LSB0aGlzIGZlYXR1cmUgcHJvdmlkZXMgYmFzaWMgcHJvdGVjdGlvbiBhZ2FpbnN0IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MsIGJ1dCBhIG1vcmUgc29waGlzdGljYXRlZCBzb2x1dGlvbiB3b3JrcyBlYXJsaWVyIGluIHRoZSByZXF1ZXN0IGZsb3cgYW5kIHByZXZlbnRzIGEgbWFsaWNpb3VzIHJlcXVlc3RzIHRvIGV2ZW4gcmVhY2ggYSBzZXJ2ZXIgaW5zdGFuY2U7IGl0J3MgdGhlcmVmb3JlIHJlY29tbWVuZGVkIHRvIGltcGxlbWVudCBhIHNvbHV0aW9uIGFjY29yZGluZyB0byBhcmNoaXRlY3R1cmUgYW5kIHVzZSBjYXNlLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnUmF0ZUxpbWl0T3B0aW9uc1tdJyxcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgcmVhZE9ubHlNYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVBRF9PTkxZX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdSZWFkLW9ubHkga2V5LCB3aGljaCBoYXMgdGhlIHNhbWUgY2FwYWJpbGl0aWVzIGFzIE1hc3RlcktleSB3aXRob3V0IHdyaXRlcycsXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZX0lQUycsXG4gICAgaGVscDogXCIoT3B0aW9uYWwpIFJlc3RyaWN0cyB0aGUgdXNlIG9mIHJlYWQtb25seSBtYXN0ZXIga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBjYW5ub3QgYmUgdXNlZCBldmVuIGluIFBhcnNlIFNlcnZlciBDbG91ZCBDb2RlLiBUaGlzIHZhbHVlIGNhbm5vdCBiZSBzZXQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIGFzIHRoZXJlIGlzIG5vIHdheSB0byBwYXNzIGFuIGVtcHR5IGFycmF5IHRvIFBhcnNlIFNlcnZlciB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuPGJyPi0gU2V0dGluZyBgWycwLjAuMC4wLzAnLCAnOjowJ11gIG1lYW5zIHRvIGFsbG93IGFueSBJUHY0IGFuZCBJUHY2IGFkZHJlc3MgdG8gdXNlIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleSBhbmQgZWZmZWN0aXZlbHkgZGlzYWJsZXMgdGhlIElQIGZpbHRlci48YnI+PGJyPjxiPkNvbnNpZGVyYXRpb25zOjwvYj48YnI+LSBJUHY0IGFuZCBJUHY2IGFkZHJlc3NlcyBhcmUgbm90IGNvbXBhcmVkIGFnYWluc3QgZWFjaCBvdGhlci4gRWFjaCBJUCB2ZXJzaW9uIChJUHY0IGFuZCBJUHY2KSBuZWVkcyB0byBiZSBjb25zaWRlcmVkIHNlcGFyYXRlbHkuIEZvciBleGFtcGxlLCBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIGFueSBJUHY0IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY2IGFkZHJlc3MuIENvbnZlcnNlbHksIGBbJzo6MCddYCBhbGxvd3MgYW55IElQdjYgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjQgYWRkcmVzcy48YnI+LSBLZWVwIGluIG1pbmQgdGhhdCB0aGUgSVAgdmVyc2lvbiBpbiB1c2UgZGVwZW5kcyBvbiB0aGUgbmV0d29yayBzdGFjayBvZiB0aGUgZW52aXJvbm1lbnQgaW4gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMuIEEgbG9jYWwgZW52aXJvbm1lbnQgbWF5IHVzZSBhIGRpZmZlcmVudCBJUCB2ZXJzaW9uIHRoYW4gYSByZW1vdGUgZW52aXJvbm1lbnQuIEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRoYXQgbG9jYWxseSB0aGUgdmFsdWUgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyB0aGUgcmVxdWVzdCBJUCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY0LCBidXQgd2hlbiBQYXJzZSBTZXJ2ZXIgaXMgZGVwbG95ZWQgcmVtb3RlbHkgdGhlIHJlcXVlc3QgSVAgaXMgYmxvY2tlZCBiZWNhdXNlIHRoZSByZW1vdGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2Ni48YnI+LSBXaGVuIHNldHRpbmcgdGhlIG9wdGlvbiB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdGhlIG5vdGF0aW9uIGlzIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZywgZm9yIGV4YW1wbGUgYFxcXCIwLjAuMC4wLzAsOjowXFxcImAuPGJyPi0gSVB2NiB6b25lIGluZGljZXMgKGAlYCBzdWZmaXgpIGFyZSBub3Qgc3VwcG9ydGVkLCBmb3IgZXhhbXBsZSBgZmU4MDo6MSVldGgwYCwgYGZlODA6OjElMWAgb3IgYDo6MSVsb2AuPGJyPjxicj5EZWZhdWx0cyB0byBgWycwLjAuMC4wLzAnLCAnOjowJ11gIHdoaWNoIG1lYW5zIHRoYXQgYW55IElQIGFkZHJlc3MgaXMgYWxsb3dlZCB0byB1c2UgdGhlIHJlYWQtb25seSBtYXN0ZXIga2V5LiBJdCBpcyByZWNvbW1lbmRlZCB0byBzZXQgdGhpcyBvcHRpb24gdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB0byByZXN0cmljdCBhY2Nlc3MgdG8gYGxvY2FsaG9zdGAuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFsnMC4wLjAuMC8wJywgJzo6MCddLFxuICB9LFxuICByZXF1ZXN0Q29tcGxleGl0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFknLFxuICAgIGhlbHA6ICdPcHRpb25zIHRvIGxpbWl0IHRoZSBjb21wbGV4aXR5IG9mIHJlcXVlc3RzIHRvIHByZXZlbnQgZGVuaWFsLW9mLXNlcnZpY2UgYXR0YWNrcy4gTGltaXRzIGFyZSBlbmZvcmNlZCBmb3IgYWxsIHJlcXVlc3RzIGV4Y2VwdCB0aG9zZSB1c2luZyB0aGUgbWFzdGVyIG9yIG1haW50ZW5hbmNlIGtleS4gRWFjaCBwcm9wZXJ0eSBjYW4gYmUgc2V0IHRvIGAtMWAgdG8gZGlzYWJsZSB0aGF0IHNwZWNpZmljIGxpbWl0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUmVxdWVzdENvbXBsZXhpdHlPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcmVxdWVzdENvbnRleHRNaWRkbGV3YXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09OVEVYVF9NSURETEVXQVJFJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBjdXN0b21pemUgdGhlIHJlcXVlc3QgY29udGV4dCB1c2luZyBpbnZlcnNpb24gb2YgY29udHJvbC9kZXBlbmRlbmN5IGluamVjdGlvbi4nLFxuICB9LFxuICByZXF1ZXN0S2V5d29yZERlbnlsaXN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfS0VZV09SRF9ERU5ZTElTVCcsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBwcm9oaWJpdGVkIGluIGRhdGFiYXNlIHJlYWQgYW5kIHdyaXRlIHJlcXVlc3RzIHRvIHByZXZlbnQgcG90ZW50aWFsIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4gSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBvbmx5IGEga2V5IChge1wia2V5XCI6XCIuLi5cIn1gKSwgb25seSBhIHZhbHVlIChge1widmFsdWVcIjpcIi4uLlwifWApIG9yIGEga2V5LXZhbHVlIHBhaXIgKGB7XCJrZXlcIjpcIi4uLlwiLFwidmFsdWVcIjpcIi4uLlwifWApLiBUaGUgc3BlY2lmaWNhdGlvbiBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdHlwZXM6IGBib29sZWFuYCwgYG51bWVyaWNgIG9yIGBzdHJpbmdgLCB3aGVyZSBgc3RyaW5nYCB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgcmVnZXggbm90YXRpb24uIFJlcXVlc3QgZGF0YSBpcyBkZWVwLXNjYW5uZWQgZm9yIG1hdGNoaW5nIGRlZmluaXRpb25zIHRvIGRldGVjdCBhbHNvIGFueSBuZXN0ZWQgb2NjdXJyZW5jZXMuIERlZmF1bHRzIGFyZSBwYXR0ZXJucyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgdXNlZCBpbiBtYWxpY2lvdXMgcmVxdWVzdHMuIFNldHRpbmcgdGhpcyBvcHRpb24gd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBwYXR0ZXJucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ19ic29udHlwZScsXG4gICAgICAgIHZhbHVlOiAnQ29kZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdjb25zdHJ1Y3RvcicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdfX3Byb3RvX18nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICByZXN0QVBJS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFU1RfQVBJX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgUkVTVCBjYWxscycsXG4gIH0sXG4gIHJldm9rZVNlc3Npb25PblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVWT0tFX1NFU1NJT05fT05fUEFTU1dPUkRfUkVTRVQnLFxuICAgIGhlbHA6IFwiV2hlbiBhIHVzZXIgY2hhbmdlcyB0aGVpciBwYXNzd29yZCwgZWl0aGVyIHRocm91Z2ggdGhlIHJlc2V0IHBhc3N3b3JkIGVtYWlsIG9yIHdoaWxlIGxvZ2dlZCBpbiwgYWxsIHNlc3Npb25zIGFyZSByZXZva2VkIGlmIHRoaXMgaXMgdHJ1ZS4gU2V0IHRvIGZhbHNlIGlmIHlvdSBkb24ndCB3YW50IHRvIHJldm9rZSBzZXNzaW9ucy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBzY2hlZHVsZWRQdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVEVUxFRF9QVVNIJyxcbiAgICBoZWxwOiAnQ29uZmlndXJhdGlvbiBmb3IgcHVzaCBzY2hlZHVsaW5nLCBkZWZhdWx0cyB0byBmYWxzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BJyxcbiAgICBoZWxwOiAnRGVmaW5lZCBzY2hlbWEnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1NjaGVtYU9wdGlvbnMnLFxuICB9LFxuICBzZWN1cml0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWScsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBvcHRpb25zIHRvIGlkZW50aWZ5IGFuZCByZXBvcnQgd2VhayBzZWN1cml0eSBzZXR0aW5ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1NlY3VyaXR5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHNlbmRVc2VyRW1haWxWZXJpZmljYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VORF9VU0VSX0VNQUlMX1ZFUklGSUNBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgc2VuZGluZyBvZiB2ZXJpZmljYXRpb24gZW1haWwuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgZW1haWwgc2VuZGluZy48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLjxicj4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBzZXJ2ZXJDbG9zZUNvbXBsZXRlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFUlZFUl9DTE9TRV9DT01QTEVURScsXG4gICAgaGVscDogJ0NhbGxiYWNrIHdoZW4gc2VydmVyIGhhcyBjbG9zZWQnLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byBQYXJzZSBTZXJ2ZXIuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBDZXJ0YWluIHNlcnZlciBmZWF0dXJlcyBvciBhZGFwdGVycyBtYXkgcmVxdWlyZSBQYXJzZSBTZXJ2ZXIgdG8gYmUgYWJsZSB0byBjYWxsIGl0c2VsZiBieSBtYWtpbmcgcmVxdWVzdHMgdG8gdGhlIFVSTCBzZXQgaW4gYHNlcnZlclVSTGAuIElmIGEgZmVhdHVyZSByZXF1aXJlcyB0aGlzLCBpdCBpcyBtZW50aW9uZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uIEluIHRoYXQgY2FzZSBlbnN1cmUgdGhhdCB0aGUgVVJMIGlzIGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZi4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzZXNzaW9uTGVuZ3RoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFU1NJT05fTEVOR1RIJyxcbiAgICBoZWxwOiAnU2Vzc2lvbiBkdXJhdGlvbiwgaW4gc2Vjb25kcywgZGVmYXVsdHMgdG8gMSB5ZWFyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzZXNzaW9uTGVuZ3RoJyksXG4gICAgZGVmYXVsdDogMzE1MzYwMDAsXG4gIH0sXG4gIHNpbGVudDoge1xuICAgIGVudjogJ1NJTEVOVCcsXG4gICAgaGVscDogJ0Rpc2FibGVzIGNvbnNvbGUgb3V0cHV0JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgc3RhcnRMaXZlUXVlcnlTZXJ2ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU1RBUlRfTElWRV9RVUVSWV9TRVJWRVInLFxuICAgIGhlbHA6ICdTdGFydHMgdGhlIGxpdmVRdWVyeSBzZXJ2ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0cnVzdFByb3h5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1RSVVNUX1BST1hZJyxcbiAgICBoZWxwOiAnVGhlIHRydXN0IHByb3h5IHNldHRpbmdzLiBJdCBpcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZXhhY3Qgc2V0dXAgb2YgdGhlIHJldmVyc2UgcHJveHksIHNpbmNlIHRoaXMgc2V0dGluZyB3aWxsIHRydXN0IHZhbHVlcyBwcm92aWRlZCBpbiB0aGUgUGFyc2UgU2VydmVyIEFQSSByZXF1ZXN0LiBTZWUgdGhlIDxhIGhyZWY9XCJodHRwczovL2V4cHJlc3Nqcy5jb20vZW4vZ3VpZGUvYmVoaW5kLXByb3hpZXMuaHRtbFwiPmV4cHJlc3MgdHJ1c3QgcHJveHkgc2V0dGluZ3M8L2E+IGRvY3VtZW50YXRpb24uIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB1c2VyU2Vuc2l0aXZlRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VTRVJfU0VOU0lUSVZFX0ZJRUxEUycsXG4gICAgaGVscDogJ1BlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIGZpZWxkcyBpbiB0aGUgdXNlciB0YWJsZSB0aGUgc2hvdWxkIGJlIHJlbW92ZWQgZm9yIG5vbi1hdXRob3JpemVkIHVzZXJzLiBEZXByZWNhdGVkIEBzZWUgcHJvdGVjdGVkRmllbGRzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdWRVJCT1NFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBsb2dnaW5nIHRvIHZlcmJvc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB2ZXJpZnlTZXJ2ZXJVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVkVSSUZZX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdQYXJzZSBTZXJ2ZXIgbWFrZXMgYSBIVFRQIHJlcXVlc3QgdG8gdGhlIFVSTCBzZXQgaW4gYHNlcnZlclVSTGAgYXQgdGhlIGVuZCBvZiBpdHMgbGF1bmNoIHJvdXRpbmUgdG8gdmVyaWZ5IHRoYXQgdGhlIGxhdW5jaCBzdWNjZWVkZWQuIElmIHRoaXMgb3B0aW9uIGlzIHNldCB0byBgZmFsc2VgLCB0aGUgdmVyaWZpY2F0aW9uIHdpbGwgYmUgc2tpcHBlZC4gVGhpcyBjYW4gYmUgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aGVyZSB0aGUgc2VydmVyIFVSTCBpcyBub3QgYWNjZXNzaWJsZSBmcm9tIHRoZSBzZXJ2ZXIgaXRzZWxmLCBzdWNoIGFzIHdoZW4gcnVubmluZyBiZWhpbmQgYSBmaXJld2FsbCBvciBpbiBjZXJ0YWluIGNvbnRhaW5lcml6ZWQgZW52aXJvbm1lbnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgU2VydmVyIFVSTCB2ZXJpZmljYXRpb24gcmVxdWlyZXMgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICB2ZXJpZnlVc2VyRW1haWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9VU0VSX0VNQUlMUycsXG4gICAgaGVscDogXCJTZXQgdG8gYHRydWVgIHRvIHJlcXVpcmUgdXNlcnMgdG8gdmVyaWZ5IHRoZWlyIGVtYWlsIGFkZHJlc3MgdG8gY29tcGxldGUgdGhlIHNpZ24tdXAgcHJvY2Vzcy4gU3VwcG9ydHMgYSBmdW5jdGlvbiB3aXRoIGEgcmV0dXJuIHZhbHVlIG9mIGB0cnVlYCBvciBgZmFsc2VgIGZvciBjb25kaXRpb25hbCB2ZXJpZmljYXRpb24uIFRoZSBmdW5jdGlvbiByZWNlaXZlcyBhIHJlcXVlc3Qgb2JqZWN0IHRoYXQgaW5jbHVkZXMgYGNyZWF0ZWRXaXRoYCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBpbnZvY2F0aW9uIGlzIGZvciBgc2lnbnVwYCBvciBgbG9naW5gIGFuZCB0aGUgdXNlZCBhdXRoIHByb3ZpZGVyLjxicj48YnI+VGhlIGBjcmVhdGVkV2l0aGAgdmFsdWVzIHBlciBzY2VuYXJpbzo8dWw+PGxpPlBhc3N3b3JkIHNpZ251cDogYHsgYWN0aW9uOiAnc2lnbnVwJywgYXV0aFByb3ZpZGVyOiAncGFzc3dvcmQnIH1gPC9saT48bGk+QXV0aCBwcm92aWRlciBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJzxwcm92aWRlcj4nIH1gPC9saT48bGk+UGFzc3dvcmQgbG9naW46IGB7IGFjdGlvbjogJ2xvZ2luJywgYXV0aFByb3ZpZGVyOiAncGFzc3dvcmQnIH1gPC9saT48bGk+QXV0aCBwcm92aWRlciBsb2dpbjogZnVuY3Rpb24gbm90IGludm9rZWQ7IGF1dGggcHJvdmlkZXIgbG9naW4gYnlwYXNzZXMgZW1haWwgdmVyaWZpY2F0aW9uPC9saT48bGk+UmVzZW5kIHZlcmlmaWNhdGlvbiBlbWFpbDogYGNyZWF0ZWRXaXRoYCBpcyBgdW5kZWZpbmVkYDsgdXNlIHRoZSBgcmVzZW5kUmVxdWVzdGAgcHJvcGVydHkgdG8gaWRlbnRpZnkgdGhvc2U8L2xpPjwvdWw+RGVmYXVsdCBpcyBgZmFsc2VgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgd2ViaG9va0tleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9XRUJIT09LX0tFWScsXG4gICAgaGVscDogJ0tleSBzZW50IHdpdGggb3V0Z29pbmcgd2ViaG9vayBjYWxscycsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUmF0ZUxpbWl0T3B0aW9ucyA9IHtcbiAgZXJyb3JSZXNwb25zZU1lc3NhZ2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9FUlJPUl9SRVNQT05TRV9NRVNTQUdFJyxcbiAgICBoZWxwOiAnVGhlIGVycm9yIG1lc3NhZ2UgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gdGhlIGJvZHkgb2YgdGhlIEhUVFAgNDI5IHJlc3BvbnNlIHdoZW4gdGhlIHJhdGUgbGltaXQgaXMgaGl0LiBEZWZhdWx0IGlzIGBUb28gbWFueSByZXF1ZXN0cy5gLicsXG4gICAgZGVmYXVsdDogJ1RvbyBtYW55IHJlcXVlc3RzLicsXG4gIH0sXG4gIGluY2x1ZGVJbnRlcm5hbFJlcXVlc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfSU5DTFVERV9JTlRFUk5BTF9SRVFVRVNUUycsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHRoYXQgYXJlIG1hZGUgaW4gYnkgQ2xvdWQgQ29kZSwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIG1heSBjaXJjdW12ZW50IHJhdGUgbGltaXRpbmcgYW5kIGJlIHZ1bG5lcmFibGUgdG8gYXR0YWNrcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBpbmNsdWRlTWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfSU5DTFVERV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwsIGlmIGB0cnVlYCB0aGUgcmF0ZSBsaW1pdCB3aWxsIGFsc28gYXBwbHkgdG8gcmVxdWVzdHMgdXNpbmcgdGhlIGBtYXN0ZXJLZXlgLCBkZWZhdWx0IGlzIGBmYWxzZWAuIE5vdGUgdGhhdCBhIHB1YmxpYyBDbG91ZCBDb2RlIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgaW50ZXJuYWwgcmVxdWVzdHMgdXNpbmcgdGhlIGBtYXN0ZXJLZXlgIG1heSBjaXJjdW12ZW50IHJhdGUgbGltaXRpbmcgYW5kIGJlIHZ1bG5lcmFibGUgdG8gYXR0YWNrcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICByZWRpc1VybDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFRElTX1VSTCcsXG4gICAgaGVscDogJ09wdGlvbmFsLCB0aGUgVVJMIG9mIHRoZSBSZWRpcyBzZXJ2ZXIgdG8gc3RvcmUgcmF0ZSBsaW1pdCBkYXRhLiBUaGlzIGFsbG93cyB0byByYXRlIGxpbWl0IHJlcXVlc3RzIGZvciBtdWx0aXBsZSBzZXJ2ZXJzIGJ5IGNhbGN1bGF0aW5nIHRoZSBzdW0gb2YgYWxsIHJlcXVlc3RzIGFjcm9zcyBhbGwgc2VydmVycy4gVGhpcyBpcyB1c2VmdWwgaWYgbXVsdGlwbGUgc2VydmVycyBhcmUgcHJvY2Vzc2luZyByZXF1ZXN0cyBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyLiBGb3IgZXhhbXBsZSwgdGhlIGxpbWl0IG9mIDEwIHJlcXVlc3RzIGlzIHJlYWNoZWQgaWYgZWFjaCBvZiAyIHNlcnZlcnMgcHJvY2Vzc2VkIDUgcmVxdWVzdHMuJyxcbiAgfSxcbiAgcmVxdWVzdENvdW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfUkVRVUVTVF9DT1VOVCcsXG4gICAgaGVscDogJ1RoZSBudW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBjYW4gYmUgbWFkZSBwZXIgSVAgYWRkcmVzcyB3aXRoaW4gdGhlIHRpbWUgd2luZG93IHNldCBpbiBgcmVxdWVzdFRpbWVXaW5kb3dgIGJlZm9yZSB0aGUgcmF0ZSBsaW1pdCBpcyBhcHBsaWVkLiBGb3IgYmF0Y2ggcmVxdWVzdHMsIHRoaXMgYWxzbyBsaW1pdHMgdGhlIG51bWJlciBvZiBzdWItcmVxdWVzdHMgaW4gYSBzaW5nbGUgYmF0Y2ggdGhhdCB0YXJnZXQgdGhpcyBwYXRoOyBob3dldmVyLCByZXF1ZXN0cyBhbHJlYWR5IGNvbnN1bWVkIGluIHRoZSBjdXJyZW50IHRpbWUgd2luZG93IGFyZSBub3QgY291bnRlZCBhZ2FpbnN0IHRoZSBiYXRjaCwgc28gdGhlIGVmZmVjdGl2ZSBsaW1pdCBtYXkgYmUgaGlnaGVyIHdoZW4gY29tYmluaW5nIGluZGl2aWR1YWwgYW5kIGJhdGNoIHJlcXVlc3RzLiBOb3RlIHRoYXQgdGhpcyBpcyBhIGJhc2ljIHNlcnZlci1sZXZlbCByYXRlIGxpbWl0OyBmb3IgY29tcHJlaGVuc2l2ZSBwcm90ZWN0aW9uLCB1c2UgYSByZXZlcnNlIHByb3h5IG9yIFdBRiBmb3IgcmF0ZSBsaW1pdGluZy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RDb3VudCcpLFxuICB9LFxuICByZXF1ZXN0TWV0aG9kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfTUVUSE9EUycsXG4gICAgaGVscDogJ09wdGlvbmFsLCB0aGUgSFRUUCByZXF1ZXN0IG1ldGhvZHMgdG8gd2hpY2ggdGhlIHJhdGUgbGltaXQgc2hvdWxkIGJlIGFwcGxpZWQsIGRlZmF1bHQgaXMgYWxsIG1ldGhvZHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIHJlcXVlc3RQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfUkVRVUVTVF9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHBhdGggb2YgdGhlIEFQSSByb3V0ZSB0byBiZSByYXRlIGxpbWl0ZWQuIFJvdXRlIHBhdGhzLCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgcmVxdWVzdCBtZXRob2QsIGRlZmluZSB0aGUgZW5kcG9pbnRzIGF0IHdoaWNoIHJlcXVlc3RzIGNhbiBiZSBtYWRlLiBSb3V0ZSBwYXRocyBjYW4gYmUgc3RyaW5ncyBvciBzdHJpbmcgcGF0dGVybnMgZm9sbG93aW5nIDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vcGlsbGFyanMvcGF0aC10by1yZWdleHBcIj5wYXRoLXRvLXJlZ2V4cCB2ODwvYT4gc3ludGF4LicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHJlcXVlc3RUaW1lV2luZG93OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfUkVRVUVTVF9USU1FX1dJTkRPVycsXG4gICAgaGVscDogJ1RoZSB3aW5kb3cgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgd2l0aGluIHdoaWNoIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgc2V0IGluIGByZXF1ZXN0Q291bnRgIGNhbiBiZSBtYWRlIGJlZm9yZSB0aGUgcmF0ZSBsaW1pdCBpcyBhcHBsaWVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncmVxdWVzdFRpbWVXaW5kb3cnKSxcbiAgfSxcbiAgem9uZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1pPTkUnLFxuICAgIGhlbHA6ICdUaGUgdHlwZSBvZiByYXRlIGxpbWl0IHRvIGFwcGx5LiBUaGUgZm9sbG93aW5nIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6PHVsPjxsaT5gZ2xvYmFsYDogcmF0ZSBsaW1pdCBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIG1hZGUgYnkgYWxsIHVzZXJzPC9saT48bGk+YGlwYDogcmF0ZSBsaW1pdCBiYXNlZCBvbiB0aGUgSVAgYWRkcmVzcyBvZiB0aGUgcmVxdWVzdDwvbGk+PGxpPmB1c2VyYDogcmF0ZSBsaW1pdCBiYXNlZCBvbiB0aGUgdXNlciBJRCBvZiB0aGUgcmVxdWVzdDwvbGk+PGxpPmBzZXNzaW9uYDogcmF0ZSBsaW1pdCBiYXNlZCBvbiB0aGUgc2Vzc2lvbiB0b2tlbiBvZiB0aGUgcmVxdWVzdDwvbGk+PC91bD5EZWZhdWx0IGlzIGBpcGAuJyxcbiAgICBkZWZhdWx0OiAnaXAnLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlJlcXVlc3RDb21wbGV4aXR5T3B0aW9ucyA9IHtcbiAgYmF0Y2hSZXF1ZXN0TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0JBVENIX1JFUVVFU1RfTElNSVQnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBzdWItcmVxdWVzdHMgaW4gYSBzaW5nbGUgYmF0Y2ggcmVxdWVzdC4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hSZXF1ZXN0TGltaXQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgZ3JhcGhRTERlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9HUkFQSFFMX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBkZXB0aCBvZiBHcmFwaFFMIGZpZWxkIHNlbGVjdGlvbnMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2dyYXBoUUxEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBncmFwaFFMRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9HUkFQSFFMX0ZJRUxEUycsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIGZpZWxkIHNlbGVjdGlvbnMgaW4gYSBHcmFwaFFMIHF1ZXJ5LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdncmFwaFFMRmllbGRzJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIGluY2x1ZGVDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfSU5DTFVERV9DT1VOVCcsXG4gICAgaGVscDogJ01heGltdW0gbnVtYmVyIG9mIGluY2x1ZGUgcGF0aHMgaW4gYSBzaW5nbGUgcXVlcnkuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2luY2x1ZGVDb3VudCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBpbmNsdWRlRGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0lOQ0xVREVfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIGRlcHRoIG9mIGluY2x1ZGUgcG9pbnRlciBjaGFpbnMgKGUuZy4gYGEuYi5jYCA9IGRlcHRoIDMpLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdpbmNsdWRlRGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgcXVlcnlEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfUVVFUllfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG5lc3RpbmcgZGVwdGggb2YgYCRvcmAsIGAkYW5kYCwgYCRub3JgIHF1ZXJ5IG9wZXJhdG9ycy4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncXVlcnlEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBzdWJxdWVyeURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9TVUJRVUVSWV9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gbmVzdGluZyBkZXB0aCBvZiBgJGluUXVlcnlgLCBgJG5vdEluUXVlcnlgLCBgJHNlbGVjdGAsIGAkZG9udFNlbGVjdGAgc3VicXVlcmllcy4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc3VicXVlcnlEZXB0aCcpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlNlY3VyaXR5T3B0aW9ucyA9IHtcbiAgY2hlY2tHcm91cHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfQ0hFQ0tfR1JPVVBTJyxcbiAgICBoZWxwOiAnVGhlIHNlY3VyaXR5IGNoZWNrIGdyb3VwcyB0byBydW4uIFRoaXMgYWxsb3dzIHRvIGFkZCBjdXN0b20gc2VjdXJpdHkgY2hlY2tzIG9yIG92ZXJyaWRlIGV4aXN0aW5nIG9uZXMuIERlZmF1bHQgYXJlIHRoZSBncm91cHMgZGVmaW5lZCBpbiBgQ2hlY2tHcm91cHMuanNgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBlbmFibGVDaGVjazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9FTkFCTEVfQ0hFQ0snLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgY2hlY2sgZm9yIHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlQ2hlY2tMb2c6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLX0xPRycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgdGhlIHNlY3VyaXR5IGNoZWNrIHJlcG9ydCBzaG91bGQgYmUgd3JpdHRlbiB0byBsb2dzLiBUaGlzIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgdGVtcG9yYXJpbHkgdG8gbm90IGV4cG9zZSB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzIGluIGxvZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc09wdGlvbnMgPSB7XG4gIGN1c3RvbVJvdXRlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fUk9VVEVTJyxcbiAgICBoZWxwOiAnVGhlIGN1c3RvbSByb3V0ZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzUm91dGVbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGN1c3RvbVVybHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTFMnLFxuICAgIGhlbHA6ICdUaGUgVVJMcyB0byB0aGUgY3VzdG9tIHBhZ2VzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUGFnZXNDdXN0b21VcmxzT3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGVuYWJsZUxvY2FsaXphdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19FTkFCTEVfTE9DQUxJWkFUSU9OJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBwYWdlcyBzaG91bGQgYmUgbG9jYWxpemVkOyB0aGlzIGhhcyBubyBlZmZlY3Qgb24gY3VzdG9tIHBhZ2UgcmVkaXJlY3RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuY29kZVBhZ2VQYXJhbUhlYWRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5DT0RFX1BBR0VfUEFSQU1fSEVBREVSUycsXG4gICAgaGVscDogJ0lzIGB0cnVlYCBpZiB0aGUgcGFnZSBwYXJhbWV0ZXIgaGVhZGVycyBzaG91bGQgYmUgVVJJLWVuY29kZWQuIFRoaXMgaXMgcmVxdWlyZWQgaWYgYW55IHBhZ2UgcGFyYW1ldGVyIHZhbHVlIGNvbnRhaW5zIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLCBzdWNoIGFzIHRoZSBhcHAgbmFtZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmb3JjZVJlZGlyZWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0ZPUkNFX1JFRElSRUNUJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiByZXNwb25zZXMgc2hvdWxkIGFsd2F5cyBiZSByZWRpcmVjdHMgYW5kIG5ldmVyIGNvbnRlbnQsIGZhbHNlIGlmIHRoZSByZXNwb25zZSB0eXBlIHNob3VsZCBkZXBlbmQgb24gdGhlIHJlcXVlc3QgdHlwZSAoR0VUIHJlcXVlc3QgLT4gY29udGVudCByZXNwb25zZTsgUE9TVCByZXF1ZXN0IC0+IHJlZGlyZWN0IHJlc3BvbnNlKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2NhbGl6YXRpb25GYWxsYmFja0xvY2FsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19MT0NBTElaQVRJT05fRkFMTEJBQ0tfTE9DQUxFJyxcbiAgICBoZWxwOiAnVGhlIGZhbGxiYWNrIGxvY2FsZSBmb3IgbG9jYWxpemF0aW9uIGlmIG5vIG1hdGNoaW5nIHRyYW5zbGF0aW9uIGlzIHByb3ZpZGVkIGZvciB0aGUgZ2l2ZW4gbG9jYWxlLiBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgd2hlbiBwcm92aWRpbmcgdHJhbnNsYXRpb24gcmVzb3VyY2VzIHZpYSBKU09OIGZpbGUuJyxcbiAgICBkZWZhdWx0OiAnZW4nLFxuICB9LFxuICBsb2NhbGl6YXRpb25Kc29uUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19MT0NBTElaQVRJT05fSlNPTl9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZSBmb3IgbG9jYWxpemF0aW9uOyB0aGUgdHJhbnNsYXRpb25zIHdpbGwgYmUgdXNlZCB0byBmaWxsIHRlbXBsYXRlIHBsYWNlaG9sZGVycyBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZS4nLFxuICB9LFxuICBwYWdlc0VuZHBvaW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX0VORFBPSU5UJyxcbiAgICBoZWxwOiBcIlRoZSBBUEkgZW5kcG9pbnQgZm9yIHRoZSBwYWdlcy4gRGVmYXVsdCBpcyAnYXBwcycuXCIsXG4gICAgZGVmYXVsdDogJ2FwcHMnLFxuICB9LFxuICBwYWdlc1BhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUEFHRVNfUEFUSCcsXG4gICAgaGVscDogXCJUaGUgcGF0aCB0byB0aGUgcGFnZXMgZGlyZWN0b3J5OyB0aGlzIGFsc28gZGVmaW5lcyB3aGVyZSB0aGUgc3RhdGljIGVuZHBvaW50ICcvYXBwcycgcG9pbnRzIHRvLiBEZWZhdWx0IGlzIHRoZSAnLi9wdWJsaWMvJyBkaXJlY3Rvcnkgb2YgdGhlIHBhcnNlLXNlcnZlciBtb2R1bGUuXCIsXG4gIH0sXG4gIHBsYWNlaG9sZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QTEFDRUhPTERFUlMnLFxuICAgIGhlbHA6ICdUaGUgcGxhY2Vob2xkZXIga2V5cyBhbmQgdmFsdWVzIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHBhZ2VzOyB0aGlzIGNhbiBiZSBhIHNpbXBsZSBvYmplY3Qgb3IgYSBjYWxsYmFjayBmdW5jdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNSb3V0ZSA9IHtcbiAgaGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9IQU5ETEVSJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIGhhbmRsZXIgdGhhdCBpcyBhbiBhc3luYyBmdW5jdGlvbi4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtZXRob2Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfTUVUSE9EJyxcbiAgICBoZWxwOiBcIlRoZSByb3V0ZSBtZXRob2QsIGUuZy4gJ0dFVCcgb3IgJ1BPU1QnLlwiLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBwYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgcm91dGUgcGF0aC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzQ3VzdG9tVXJsc09wdGlvbnMgPSB7XG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19FWFBJUkVEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGV4cGlyZWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25MaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgaW52YWxpZC4nLFxuICB9LFxuICBlbWFpbFZlcmlmaWNhdGlvblNlbmRGYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NFTkRfRkFJTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBzZW5kIGZhaWwuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHJlc2VuZCBsaW5rIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0LicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRMaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUX0xJTktfSU5WQUxJRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0IC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5DdXN0b21QYWdlc09wdGlvbnMgPSB7XG4gIGNob29zZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19DSE9PU0VfUEFTU1dPUkQnLFxuICAgIGhlbHA6ICdjaG9vc2UgcGFzc3dvcmQgcGFnZSBwYXRoJyxcbiAgfSxcbiAgZXhwaXJlZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0VYUElSRURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdleHBpcmVkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFBhc3N3b3JkUmVzZXRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1BBU1NXT1JEX1JFU0VUX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHBhc3N3b3JkIHJlc2V0IGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0lOVkFMSURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIGZhaWwgcGFnZSBwYXRoJyxcbiAgfSxcbiAgbGlua1NlbmRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19MSU5LX1NFTkRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmaWNhdGlvbiBsaW5rIHNlbmQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICBwYXJzZUZyYW1lVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVJTRV9GUkFNRV9VUkwnLFxuICAgIGhlbHA6ICdmb3IgbWFza2luZyB1c2VyLWZhY2luZyBwYWdlcycsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAncGFzc3dvcmQgcmVzZXQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICB2ZXJpZnlFbWFpbFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX1ZFUklGWV9FTUFJTF9TVUNDRVNTJyxcbiAgICBoZWxwOiAndmVyaWZ5IGVtYWlsIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5MaXZlUXVlcnlPcHRpb25zID0ge1xuICBjbGFzc05hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9DTEFTU05BTUVTJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjbGFzc05hbWVzXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRURJU19PUFRJT05TJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc09wdGlvbnNcIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWRpc1VSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICByZWdleFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFR0VYX1RJTUVPVVQnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBtYXhpbXVtIGV4ZWN1dGlvbiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4gbWF0Y2hpbmcgaW4gTGl2ZVF1ZXJ5LiBUaGlzIHByb3RlY3RzIGFnYWluc3QgUmVndWxhciBFeHByZXNzaW9uIERlbmlhbCBvZiBTZXJ2aWNlIChSZURvUykgYXR0YWNrcyB3aGVyZSBhIG1hbGljaW91cyByZWdleCBwYXR0ZXJuIGNvdWxkIGJsb2NrIHRoZSBldmVudCBsb29wLiBBIHJlZ2V4IHRoYXQgZXhjZWVkcyB0aGUgdGltZW91dCB3aWxsIGJlIHRyZWF0ZWQgYXMgbm9uLW1hdGNoaW5nLjxicj48YnI+VGhlIHByb3RlY3Rpb24gcnVucyBlYWNoIHJlZ2V4IGV2YWx1YXRpb24gaW4gYW4gaXNvbGF0ZWQgVk0gY29udGV4dCB3aXRoIGEgdGltZW91dC4gVGhpcyBhZGRzIGFwcHJveGltYXRlbHkgNTAgbWljcm9zZWNvbmRzIG9mIG92ZXJoZWFkIHBlciByZWdleCBldmFsdWF0aW9uLiBGb3IgbW9zdCBhcHBsaWNhdGlvbnMgdGhpcyBpcyBuZWdsaWdpYmxlLCBidXQgaXQgY2FuIGFkZCB1cCBpZiB5b3UgaGF2ZSBhIHZlcnkgbGFyZ2UgbnVtYmVyIG9mIExpdmVRdWVyeSBzdWJzY3JpcHRpb25zIHRoYXQgdXNlIGAkcmVnZXhgIG9uIHRoZSBzYW1lIGNsYXNzLiBGb3IgZXhhbXBsZSwgMTAsMDAwIGNvbmN1cnJlbnQgcmVnZXggc3Vic2NyaXB0aW9ucyB3b3VsZCBhZGQgYXBwcm94aW1hdGVseSA1MDBtcyBvZiBwcm9jZXNzaW5nIHRpbWUgcGVyIG9iamVjdCBzYXZlIGV2ZW50IG9uIHRoYXQgY2xhc3MuPGJyPjxicj5TZXQgdG8gYDBgIHRvIGRpc2FibGUgdGhlIHRpbWVvdXQgYW5kIHVzZSBuYXRpdmUgcmVnZXggZXZhbHVhdGlvbiB3aXRob3V0IHByb3RlY3Rpb24uIERlZmF1bHRzIHRvIGAxMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncmVnZXhUaW1lb3V0JyksXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxuICB3c3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5U2VydmVyT3B0aW9ucyA9IHtcbiAgYXBwSWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9BUFBfSUQnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIGFwcElkIGluIHVzZSBieSB5b3VyIFBhcnNlIFNlcnZlci4gSWYgeW91IGRlcGxveSB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciBhbG9uZ3NpZGUgUGFyc2UgU2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byB1c2UgdGhlIHNhbWUgYXBwSWQuJyxcbiAgfSxcbiAgY2FjaGVUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQ0FDSEVfVElNRU9VVCcsXG4gICAgaGVscDogXCJOdW1iZXIgaW4gbWlsbGlzZWNvbmRzLiBXaGVuIGNsaWVudHMgcHJvdmlkZSB0aGUgc2Vzc2lvblRva2VuIHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byBmZXRjaCBpdHMgUGFyc2VVc2VyJ3Mgb2JqZWN0SWQgZnJvbSBwYXJzZSBzZXJ2ZXIgYW5kIHN0b3JlIGl0IGluIHRoZSBjYWNoZS4gVGhlIHZhbHVlIGRlZmluZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWNoZS4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscywgZGVmYXVsdHMgdG8gNSAqIDEwMDAgbXMgKDUgc2Vjb25kcykuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVUaW1lb3V0JyksXG4gIH0sXG4gIGtleVBhaXJzOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfS0VZX1BBSVJTJyxcbiAgICBoZWxwOiAnQSBKU09OIG9iamVjdCB0aGF0IHNlcnZlcyBhcyBhIHdoaXRlbGlzdCBvZiBrZXlzLiBJdCBpcyB1c2VkIGZvciB2YWxpZGF0aW5nIGNsaWVudHMgd2hlbiB0aGV5IHRyeSB0byBjb25uZWN0IHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBDaGVjayB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IHNlY3Rpb24gYW5kIG91ciBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIGZvciBkZXRhaWxzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9MT0dfTEVWRUwnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBkZWZpbmVzIHRoZSBsb2cgbGV2ZWwgb2YgdGhlIExpdmVRdWVyeSBzZXJ2ZXIuIFdlIHN1cHBvcnQgVkVSQk9TRSwgSU5GTywgRVJST1IsIE5PTkUsIGRlZmF1bHRzIHRvIElORk8uJyxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1RoaXMgc3RyaW5nIHNob3VsZCBtYXRjaCB0aGUgbWFzdGVyS2V5IGluIHVzZSBieSB5b3VyIFBhcnNlIFNlcnZlci4gSWYgeW91IGRlcGxveSB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciBhbG9uZ3NpZGUgUGFyc2UgU2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byB1c2UgdGhlIHNhbWUgbWFzdGVyS2V5LicsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBMaXZlUXVlcnkgc2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHB1YlN1YkFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9SRURJU19VUkwnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzVVJMXCIsXG4gIH0sXG4gIHNlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIHNlcnZlclVSTCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIHNlcnZlclVSTC4nLFxuICB9LFxuICB3ZWJzb2NrZXRUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfV0VCU09DS0VUX1RJTUVPVVQnLFxuICAgIGhlbHA6ICdOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gcGluZy9wb25nIGZyYW1lcy4gVGhlIFdlYlNvY2tldCBzZXJ2ZXIgc2VuZHMgcGluZy9wb25nIGZyYW1lcyB0byB0aGUgY2xpZW50cyB0byBrZWVwIHRoZSBXZWJTb2NrZXQgYWxpdmUuIFRoaXMgdmFsdWUgZGVmaW5lcyB0aGUgaW50ZXJ2YWwgb2YgdGhlIHBpbmcvcG9uZyBmcmFtZSBmcm9tIHRoZSBzZXJ2ZXIgdG8gY2xpZW50cywgZGVmYXVsdHMgdG8gMTAgKiAxMDAwIG1zICgxMCBzKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3dlYnNvY2tldFRpbWVvdXQnKSxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dTU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBXZWJTb2NrZXRTZXJ2ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5JZGVtcG90ZW5jeU9wdGlvbnMgPSB7XG4gIHBhdGhzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9QQVRIUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIHBhdGhzIGZvciB3aGljaCB0aGUgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxlZC4gVGhlIG1vdW50IHBhdGggbXVzdCBub3QgYmUgaW5jbHVkZWQsIGZvciBleGFtcGxlIGluc3RlYWQgb2YgYC9wYXJzZS9mdW5jdGlvbnMvbXlGdW5jdGlvbmAgc3BlY2lmaXkgYGZ1bmN0aW9ucy9teUZ1bmN0aW9uYC4gVGhlIGVudHJpZXMgYXJlIGludGVycHJldGVkIGFzIHJlZ3VsYXIgZXhwcmVzc2lvbiwgZm9yIGV4YW1wbGUgYGZ1bmN0aW9ucy8uKmAgbWF0Y2hlcyBhbGwgZnVuY3Rpb25zLCBgam9icy8uKmAgbWF0Y2hlcyBhbGwgam9icywgYGNsYXNzZXMvLipgIG1hdGNoZXMgYWxsIGNsYXNzZXMsIGAuKmAgbWF0Y2hlcyBhbGwgcGF0aHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHR0bDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfVFRMJyxcbiAgICBoZWxwOiAnVGhlIGR1cmF0aW9uIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggYSByZXF1ZXN0IHJlY29yZCBpcyBkaXNjYXJkZWQgZnJvbSB0aGUgZGF0YWJhc2UsIGRlZmF1bHRzIHRvIDMwMHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd0dGwnKSxcbiAgICBkZWZhdWx0OiAzMDAsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQWNjb3VudExvY2tvdXRPcHRpb25zID0ge1xuICBkdXJhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfRFVSQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdGhlIGR1cmF0aW9uIGluIG1pbnV0ZXMgdGhhdCBhIGxvY2tlZC1vdXQgYWNjb3VudCByZW1haW5zIGxvY2tlZCBvdXQgYmVmb3JlIGF1dG9tYXRpY2FsbHkgYmVjb21pbmcgdW5sb2NrZWQuPGJyPjxicj5WYWxpZCB2YWx1ZXMgYXJlIGdyZWF0ZXIgdGhhbiBgMGAgYW5kIGxlc3MgdGhhbiBgMTAwMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2R1cmF0aW9uJyksXG4gIH0sXG4gIHRocmVzaG9sZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfVEhSRVNIT0xEJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZmFpbGVkIHNpZ24taW4gYXR0ZW1wdHMgdGhhdCB3aWxsIGNhdXNlIGEgdXNlciBhY2NvdW50IHRvIGJlIGxvY2tlZC4gSWYgdGhlIGFjY291bnQgaXMgbG9ja2VkLiBUaGUgYWNjb3VudCB3aWxsIHVubG9jayBhZnRlciB0aGUgZHVyYXRpb24gc2V0IGluIHRoZSBgZHVyYXRpb25gIG9wdGlvbiBoYXMgcGFzc2VkIGFuZCBubyBmdXJ0aGVyIGxvZ2luIGF0dGVtcHRzIGhhdmUgYmVlbiBtYWRlLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndGhyZXNob2xkJyksXG4gIH0sXG4gIHVubG9ja09uUGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfVU5MT0NLX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCAgaWYgdGhlIGFjY291bnQgc2hvdWxkIGJlIHVubG9ja2VkIGFmdGVyIGEgc3VjY2Vzc2Z1bCBwYXNzd29yZCByZXNldC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9ucyBgZHVyYXRpb25gIGFuZCBgdGhyZXNob2xkYCB0byBiZSBzZXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXNzd29yZFBvbGljeU9wdGlvbnMgPSB7XG4gIGRvTm90QWxsb3dVc2VybmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfRE9fTk9UX0FMTE9XX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBkaXNhbGxvdyB0aGUgdXNlcm5hbWUgYXMgcGFydCBvZiB0aGUgcGFzc3dvcmQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRBZ2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX01BWF9QQVNTV09SRF9BR0UnLFxuICAgIGhlbHA6ICdTZXQgdGhlIG51bWJlciBvZiBkYXlzIGFmdGVyIHdoaWNoIGEgcGFzc3dvcmQgZXhwaXJlcy4gTG9naW4gYXR0ZW1wdHMgZmFpbCBpZiB0aGUgdXNlciBkb2VzIG5vdCByZXNldCB0aGUgcGFzc3dvcmQgYmVmb3JlIGV4cGlyYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhQYXNzd29yZEFnZScpLFxuICB9LFxuICBtYXhQYXNzd29yZEhpc3Rvcnk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX01BWF9QQVNTV09SRF9ISVNUT1JZJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgcHJldmlvdXMgcGFzc3dvcmQgdGhhdCB3aWxsIG5vdCBiZSBhbGxvd2VkIHRvIGJlIHNldCBhcyBuZXcgcGFzc3dvcmQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYDBgLCBubyBwcmV2aW91cyBwYXNzd29yZHMgd2lsbCBiZSBjb25zaWRlcmVkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSA+PSBgMGAgYW5kIDw9IGAyMGAuPGJyPkRlZmF1bHQgaXMgYDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRIaXN0b3J5JyksXG4gIH0sXG4gIHJlc2V0UGFzc3dvcmRTdWNjZXNzT25JbnZhbGlkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1BBU1NXT1JEX1NVQ0NFU1NfT05fSU5WQUxJRF9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSByZXF1ZXN0IHRvIHJlc2V0IHRoZSBwYXNzd29yZCBzaG91bGQgcmV0dXJuIGEgc3VjY2VzcyByZXNwb25zZSBldmVuIGlmIHRoZSBwcm92aWRlZCBlbWFpbCBhZGRyZXNzIGlzIGludmFsaWQsIG9yIGBmYWxzZWAgaWYgdGhlIHJlcXVlc3Qgc2hvdWxkIHJldHVybiBhbiBlcnJvciByZXNwb25zZSBpZiB0aGUgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICByZXNldFRva2VuUmV1c2VJZlZhbGlkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9SRVVTRV9JRl9WQUxJRCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSBwYXNzd29yZCByZXNldCB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSB2YWxpZGl0eSBkdXJhdGlvbiBvZiB0aGUgcGFzc3dvcmQgcmVzZXQgdG9rZW4gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgdG9rZW4gZXhwaXJlcy4gVGhlIHRva2VuIGlzIHVzZWQgaW4gdGhlIGxpbmsgdGhhdCBpcyBzZXQgaW4gdGhlIGVtYWlsLiBBZnRlciB0aGUgdG9rZW4gZXhwaXJlcywgdGhlIGxpbmsgYmVjb21lcyBpbnZhbGlkIGFuZCBhIG5ldyBsaW5rIGhhcyB0byBiZSBzZW50LiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGB1bmRlZmluZWRgLCB0aGVuIHRoZSB0b2tlbiBuZXZlciBleHBpcmVzLjxicj48YnI+Rm9yIGV4YW1wbGUsIHRvIGV4cGlyZSB0aGUgdG9rZW4gYWZ0ZXIgMiBob3Vycywgc2V0IGEgdmFsdWUgb2YgNzIwMCBzZWNvbmRzICg9IDYwIHNlY29uZHMgKiA2MCBtaW51dGVzICogMiBob3VycykuPGJyPjxicj5EZWZhdWx0IGlzIGB1bmRlZmluZWRgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24nKSxcbiAgfSxcbiAgdmFsaWRhdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUSU9OX0VSUk9SJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBlcnJvciBtZXNzYWdlIHRvIGJlIHNlbnQuPGJyPjxicj5EZWZhdWx0IGlzIGBQYXNzd29yZCBkb2VzIG5vdCBtZWV0IHRoZSBQYXNzd29yZCBQb2xpY3kgcmVxdWlyZW1lbnRzLmAnLFxuICB9LFxuICB2YWxpZGF0b3JDYWxsYmFjazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX0NBTExCQUNLJyxcbiAgICBoZWxwOiAnU2V0IGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYSBwYXNzd29yZCB0byBiZSBhY2NlcHRlZC48YnI+PGJyPklmIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgdmFsaWRhdG9yUGF0dGVybmAsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxuICB2YWxpZGF0b3JQYXR0ZXJuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUT1JfUEFUVEVSTicsXG4gICAgaGVscDogJ1NldCB0aGUgcmVndWxhciBleHByZXNzaW9uIHZhbGlkYXRpb24gcGF0dGVybiBhIHBhc3N3b3JkIG11c3QgbWF0Y2ggdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvckNhbGxiYWNrYCwgdGhlIHBhc3N3b3JkIG11c3QgcGFzcyBib3RoIHRvIGJlIGFjY2VwdGVkLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRmlsZVVwbG9hZE9wdGlvbnMgPSB7XG4gIGFsbG93ZWRGaWxlVXJsRG9tYWluczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9BTExPV0VEX0ZJTEVfVVJMX0RPTUFJTlMnLFxuICAgIGhlbHA6IFwiU2V0cyB0aGUgYWxsb3dlZCBob3N0bmFtZXMgZm9yIGZpbGUgVVJMcyByZWZlcmVuY2VkIGluIFBhcnNlIG9iamVjdHMuIFdoZW4gYSBGaWxlIG9iamVjdCBpbmNsdWRlcyBhIFVSTCwgaXRzIGhvc3RuYW1lIG11c3QgbWF0Y2ggb25lIG9mIHRoZXNlIGVudHJpZXMgdG8gYmUgYWNjZXB0ZWQuIFN1cHBvcnRzIGV4YWN0IGhvc3RuYW1lcyAoZS5nLiwgYCdjZG4uZXhhbXBsZS5jb20nYCkgYW5kIHdpbGRjYXJkIHN1YmRvbWFpbnMgKGUuZy4sIGAnKi5leGFtcGxlLmNvbSdgKS4gVXNlIGBbJyonXWAgdG8gYWxsb3cgYW55IGRvbWFpbi4gVXNlIGBbXWAgdG8gYmxvY2sgYWxsIGZpbGUgVVJMcyAob25seSBuYW1lLWJhc2VkIGZpbGVzIGFsbG93ZWQpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJyonXSxcbiAgfSxcbiAgZW5hYmxlRm9yQW5vbnltb3VzVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FOT05ZTU9VU19VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYW5vbnltb3VzIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0VOQUJMRV9GT1JfQVVUSEVOVElDQVRFRF9VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUZvclB1YmxpYzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX1BVQkxJQycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFueW9uZSwgcmVnYXJkbGVzcyBvZiB1c2VyIGF1dGhlbnRpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZpbGVFeHRlbnNpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0ZJTEVfRVhURU5TSU9OUycsXG4gICAgaGVscDogJ1NldHMgdGhlIGFsbG93ZWQgZmlsZSBleHRlbnNpb25zIGZvciB1cGxvYWRpbmcgZmlsZXMuIFRoZSBleHRlbnNpb24gaXMgZGVmaW5lZCBhcyBhbiBhcnJheSBvZiBmaWxlIGV4dGVuc2lvbnMsIG9yIGEgcmVnZXggcGF0dGVybi48YnI+PGJyPkl0IGlzIHJlY29tbWVuZGVkIHRvIG9ubHkgYWxsb3cgdGhlIGZpbGUgZXh0ZW5zaW9ucyB0aGF0IHlvdXIgYXBwIGFjdHVhbGx5IG5lZWRzLCByYXRoZXIgdGhhbiByZWx5aW5nIG9uIGJsb2NraW5nIGRhbmdlcm91cyBleHRlbnNpb25zLiBUaGlzIGFsbG93bGlzdCBhcHByb2FjaCBpcyBtb3JlIHNlY3VyZSBiZWNhdXNlIG5ldyBkYW5nZXJvdXMgZmlsZSBleHRlbnNpb25zIG1heSBlbWVyZ2UgdGhhdCBhcmUgbm90IGNvdmVyZWQgYnkgdGhlIGRlZmF1bHQgYmxvY2tsaXN0Ljxicj48YnI+VGhlIGRlZmF1bHQgYmxvY2tzIHRoZSBtb3N0IGNvbW1vbiBmaWxlIGV4dGVuc2lvbnMgdGhhdCBhcmUga25vd24gdG8gYmUgcmVuZGVyZWQgYXMgYWN0aXZlIGNvbnRlbnQgYnkgd2ViIGJyb3dzZXJzLCBzdWNoIGFzIEhUTUwsIFNWRywgYW5kIFhNTCBmaWxlcywgd2hpY2ggbWF5IGJlIHVzZWQgYnkgYW4gYXR0YWNrZXIgdG8gY29tcHJvbWlzZSB0aGUgc2Vzc2lvbiB0b2tlbiBvZiBhbm90aGVyIHVzZXIgdmlhIGFjY2Vzc2luZyB0aGUgYnJvd3NlclxcJ3MgbG9jYWwgc3RvcmFnZS4gVGhlIGJsb2NrZWQgZXh0ZW5zaW9ucyBhcmU6IGBodG1sYCwgYGh0bWAsIGBzaHRtbGAsIGB4aHRtbGAsIGB4aHRtbCt4bWxgLCBgeGh0YCwgYHN2Z2AsIGBzdmd6YCwgYHN2Zyt4bWxgLCBgeG1sYCwgYHhzbGAsIGB4c2x0YCwgYHhzbHQreG1sYCwgYHhzZGAsIGBybmdgLCBgcmRmYCwgYHJkZit4bWxgLCBgb3dsYCwgYG1hdGhtbGAsIGBtYXRobWwreG1sYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbXCJeKD8hKFt4WHNTXT9baEhdW3RUXVttTV1bbExdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVttTV1bbExdfFt4WF1bc1NdW2xMXVt0VF0/KFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bc1NdW2REXXxbclJdW25OXVtnR118W3JSXVtkRF1bZkZdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXFxcXFwrW3hYXVttTV1bbExdKT8pJClcIl1gLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtcbiAgICAgICdeKD8hKFt4WHNTXT9baEhdW3RUXVttTV1bbExdPyhcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1baEhdW3RUXXxbc1NdW3ZWXVtnR10oW3paXXxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bc1NdW2REXXxbclJdW25OXVtnR118W3JSXVtkRF1bZkZdKFxcXFwrW3hYXVttTV1bbExdKT98W29PXVt3V11bbExdfFttTV1bYUFdW3RUXVtoSF1bbU1dW2xMXShcXFxcK1t4WF1bbU1dW2xMXSk/KSQpJyxcbiAgICBdLFxuICB9LFxufTtcbi8qIFRoZSBhdmFpbGFibGUgbG9nIGxldmVscyBmb3IgUGFyc2UgU2VydmVyIGxvZ2dpbmcuIFZhbGlkIHZhbHVlcyBhcmU6PGJyPi0gYCdlcnJvcidgIC0gRXJyb3IgbGV2ZWwgKGhpZ2hlc3QgcHJpb3JpdHkpPGJyPi0gYCd3YXJuJ2AgLSBXYXJuaW5nIGxldmVsPGJyPi0gYCdpbmZvJ2AgLSBJbmZvIGxldmVsIChkZWZhdWx0KTxicj4tIGAndmVyYm9zZSdgIC0gVmVyYm9zZSBsZXZlbDxicj4tIGAnZGVidWcnYCAtIERlYnVnIGxldmVsPGJyPi0gYCdzaWxseSdgIC0gU2lsbHkgbGV2ZWwgKGxvd2VzdCBwcmlvcml0eSkgKi9cbm1vZHVsZS5leHBvcnRzLkxvZ0xldmVsID0ge1xuICBkZWJ1Zzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfREVCVUcnLFxuICAgIGhlbHA6ICdEZWJ1ZyBsZXZlbCcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIGVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9FUlJPUicsXG4gICAgaGVscDogJ0Vycm9yIGxldmVsIC0gaGlnaGVzdCBwcmlvcml0eScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIGluZm86IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0lORk8nLFxuICAgIGhlbHA6ICdJbmZvIGxldmVsIC0gZGVmYXVsdCcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHNpbGx5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9TSUxMWScsXG4gICAgaGVscDogJ1NpbGx5IGxldmVsIC0gbG93ZXN0IHByaW9yaXR5JyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgdmVyYm9zZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfVkVSQk9TRScsXG4gICAgaGVscDogJ1ZlcmJvc2UgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICB3YXJuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9XQVJOJyxcbiAgICBoZWxwOiAnV2FybmluZyBsZXZlbCcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTG9nQ2xpZW50RXZlbnQgPSB7XG4gIGtleXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfS0VZUycsXG4gICAgaGVscDogJ09wdGlvbmFsIGFycmF5IG9mIGRvdC1ub3RhdGlvbiBwYXRocyB0byBleHRyYWN0IHNwZWNpZmljIGRhdGEgZnJvbSB0aGUgZXZlbnQgb2JqZWN0LiBJZiBub3QgcHJvdmlkZWQgb3IgZW1wdHksIHRoZSBlbnRpcmUgZXZlbnQgb2JqZWN0IHdpbGwgYmUgbG9nZ2VkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBsb2dMZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UU19MT0dfTEVWRUwnLFxuICAgIGhlbHA6IFwiVGhlIGxvZyBsZXZlbCB0byB1c2UgZm9yIHRoaXMgZXZlbnQuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLiBEZWZhdWx0cyB0byBgJ2luZm8nYC5cIixcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBldmVudCBuYW1lIHRvIGxpc3RlbiBmb3IuIFNlZSB0aGUgW01vbmdvREIgZHJpdmVyIGV2ZW50cyBkb2N1bWVudGF0aW9uXShodHRwczovL3d3dy5tb25nb2RiLmNvbS9kb2NzL2RyaXZlcnMvbm9kZS9jdXJyZW50L2Z1bmRhbWVudGFscy9tb25pdG9yaW5nLykgZm9yIGF2YWlsYWJsZSBldmVudHMuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5EYXRhYmFzZU9wdGlvbnMgPSB7XG4gIGFsbG93UHVibGljRXhwbGFpbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BTExPV19QVUJMSUNfRVhQTEFJTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYWxsb3cgYFBhcnNlLlF1ZXJ5LmV4cGxhaW5gIHdpdGhvdXQgbWFzdGVyIGtleS48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEVuYWJsaW5nIHRoaXMgb3B0aW9uIG1heSBleHBvc2Ugc2Vuc2l0aXZlIHF1ZXJ5IHBlcmZvcm1hbmNlIGRhdGEgdG8gdW5hdXRob3JpemVkIHVzZXJzIGFuZCBjb3VsZCBwb3RlbnRpYWxseSBiZSBleHBsb2l0ZWQgZm9yIG1hbGljaW91cyBwdXJwb3Nlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBhcHBsaWNhdGlvbiB0aGF0IGNyZWF0ZWQgdGhpcyBNb25nb0NsaWVudCBpbnN0YW5jZS4nLFxuICB9LFxuICBhdXRoTWVjaGFuaXNtOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FVVEhfTUVDSEFOSVNNJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc20gdGhhdCBNb25nb0RCIHdpbGwgdXNlIHRvIGF1dGhlbnRpY2F0ZSB0aGUgY29ubmVjdGlvbi4nLFxuICB9LFxuICBhdXRoTWVjaGFuaXNtUHJvcGVydGllczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX01FQ0hBTklTTV9QUk9QRVJUSUVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHByb3BlcnRpZXMgZm9yIHRoZSBzcGVjaWZpZWQgYXV0aE1lY2hhbmlzbSBhcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNvbG9uLXNlcGFyYXRlZCBrZXktdmFsdWUgcGFpcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBhdXRoU291cmNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FVVEhfU09VUkNFJyxcbiAgICBoZWxwOiBcIlRoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgZGF0YWJhc2UgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIHVzZXIncyBjcmVkZW50aWFscy5cIixcbiAgfSxcbiAgYXV0b1NlbGVjdEZhbWlseToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRPX1NFTEVDVF9GQU1JTFknLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB3aGV0aGVyIHRoZSBzb2NrZXQgYXR0ZW1wdHMgdG8gY29ubmVjdCB0byBJUHY2IGFuZCBJUHY0IGFkZHJlc3NlcyB1bnRpbCBhIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuIElmIGF2YWlsYWJsZSwgdGhlIGRyaXZlciB3aWxsIHNlbGVjdCB0aGUgZmlyc3QgSVB2NiBhZGRyZXNzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGF1dG9TZWxlY3RGYW1pbHlBdHRlbXB0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRPX1NFTEVDVF9GQU1JTFlfQVRURU1QVF9USU1FT1VUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBmb3IgYSBjb25uZWN0aW9uIGF0dGVtcHQgdG8gZmluaXNoIGJlZm9yZSB0cnlpbmcgdGhlIG5leHQgYWRkcmVzcyB3aGVuIHVzaW5nIHRoZSBhdXRvU2VsZWN0RmFtaWx5IG9wdGlvbi4gSWYgc2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMTAsIHRoZSB2YWx1ZSAxMCBpcyB1c2VkIGluc3RlYWQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdhdXRvU2VsZWN0RmFtaWx5QXR0ZW1wdFRpbWVvdXQnKSxcbiAgfSxcbiAgYmF0Y2hTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0JBVENIX1NJWkUnLFxuICAgIGhlbHA6ICdUaGUgbnVtYmVyIG9mIGRvY3VtZW50cyBwZXIgYmF0Y2ggZm9yIE1vbmdvREIgY3Vyc29yIGBnZXRNb3JlYCBvcGVyYXRpb25zLiBBIGxvd2VyIHZhbHVlIHJlZHVjZXMgbWVtb3J5IHVzYWdlIHBlciBiYXRjaDsgYSBoaWdoZXIgdmFsdWUgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIG5ldHdvcmsgcm91bmQtdHJpcHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdiYXRjaFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMDAwLFxuICB9LFxuICBjbGllbnRNZXRhZGF0YToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEEnLFxuICAgIGhlbHA6IFwiQ3VzdG9tIG1ldGFkYXRhIHRvIGFwcGVuZCB0byBkYXRhYmFzZSBjbGllbnQgY29ubmVjdGlvbnMgZm9yIGlkZW50aWZ5aW5nIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgaW4gZGF0YWJhc2UgbG9ncy4gSWYgc2V0LCB0aGlzIG1ldGFkYXRhIHdpbGwgYmUgdmlzaWJsZSBpbiBkYXRhYmFzZSBsb2dzIGR1cmluZyBjb25uZWN0aW9uIGhhbmRzaGFrZXMuIFRoaXMgY2FuIGhlbHAgd2l0aCBkZWJ1Z2dpbmcgYW5kIG1vbml0b3JpbmcgaW4gZGVwbG95bWVudHMgd2l0aCBtdWx0aXBsZSBkYXRhYmFzZSBjbGllbnRzLiBTZXQgYG5hbWVgIHRvIGlkZW50aWZ5IHlvdXIgYXBwbGljYXRpb24gKGUuZy4sICdNeUFwcCcpIGFuZCBgdmVyc2lvbmAgdG8geW91ciBhcHBsaWNhdGlvbidzIHZlcnNpb24uIExlYXZlIHVuZGVmaW5lZCAoZGVmYXVsdCkgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUgYW5kIGF2b2lkIHRoZSBhZGRpdGlvbmFsIGRhdGEgdHJhbnNmZXIgb3ZlcmhlYWQuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEnLFxuICB9LFxuICBjb21wcmVzc29yczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DT01QUkVTU09SUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSBhbiBhcnJheSBvciBjb21tYS1kZWxpbWl0ZWQgc3RyaW5nIG9mIGNvbXByZXNzb3JzIHRvIGVuYWJsZSBuZXR3b3JrIGNvbXByZXNzaW9uIGZvciBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhpcyBjbGllbnQgYW5kIGEgbW9uZ29kL21vbmdvcyBpbnN0YW5jZS4nLFxuICB9LFxuICBjb25uZWN0VGltZW91dE1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NPTk5FQ1RfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgdG8gd2FpdCB0byBlc3RhYmxpc2ggYSBzaW5nbGUgVENQIHNvY2tldCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgYmVmb3JlIHJhaXNpbmcgYW4gZXJyb3IuIFNwZWNpZnlpbmcgMCBkaXNhYmxlcyB0aGUgY29ubmVjdGlvbiB0aW1lb3V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY29ubmVjdFRpbWVvdXRNUycpLFxuICB9LFxuICBjcmVhdGVJbmRleEF1dGhEYXRhVW5pcXVlbmVzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfQVVUSF9EQVRBX1VOSVFVRU5FU1MnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIHVuaXF1ZSBpbmRleGVzIG9uIHRoZSBhdXRoRGF0YSBmaWVsZHMgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gZm9yIGVhY2ggY29uZmlndXJlZCBhdXRoIHByb3ZpZGVyIG9uIHNlcnZlciBzdGFydCwgaW5jbHVkaW5nIGBhbm9ueW1vdXNgIHdoZW4gYW5vbnltb3VzIHVzZXJzIGFyZSBlbmFibGVkLiBUaGVzZSBpbmRleGVzIHByZXZlbnQgcmFjZSBjb25kaXRpb25zIGR1cmluZyBjb25jdXJyZW50IHNpZ251cHMgd2l0aCB0aGUgc2FtZSBhdXRoRGF0YS4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4ZXMsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4ZXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4Um9sZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1JPTEVfTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSB1bmlxdWUgaW5kZXggb24gdGhlIG5hbWUgZmllbGQgb2YgdGhlIF9Sb2xlIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9FTUFJTCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgaW5kZXhlcyBvbiB0aGUgZW1haWwgZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJFbWFpbENhc2VJbnNlbnNpdGl2ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9FTUFJTF9DQVNFX0lOU0VOU0lUSVZFJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIGNhc2UtaW5zZW5zaXRpdmUgaW5kZXggb24gdGhlIGVtYWlsIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWxWZXJpZnlUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9FTUFJTF9WRVJJRllfVE9LRU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGFuIGluZGV4IG9uIHRoZSBfZW1haWxfdmVyaWZ5X3Rva2VuIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyUGFzc3dvcmRSZXNldFRva2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9VU0VSX1BBU1NXT1JEX1JFU0VUX1RPS0VOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhbiBpbmRleCBvbiB0aGUgX3BlcmlzaGFibGVfdG9rZW4gZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJVc2VybmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9VU0VSTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgaW5kZXhlcyBvbiB0aGUgdXNlcm5hbWUgZmllbGQgb2YgdGhlIF9Vc2VyIGNvbGxlY3Rpb24gb24gc2VydmVyIHN0YXJ0LiBTZXQgdG8gYGZhbHNlYCB0byBza2lwIGluZGV4IGNyZWF0aW9uLiBEZWZhdWx0IGlzIGB0cnVlYC48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFdoZW4gc2V0dGluZyB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgaW5kZXgsIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBvdGhlcndpc2UgYXV0b21hdGljYWxseSBjcmVhdGVkIGluZGV4IG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFVzZXJVc2VybmFtZUNhc2VJbnNlbnNpdGl2ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9VU0VSTkFNRV9DQVNFX0lOU0VOU0lUSVZFJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIGNhc2UtaW5zZW5zaXRpdmUgaW5kZXggb24gdGhlIHVzZXJuYW1lIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZGlyZWN0Q29ubmVjdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9ESVJFQ1RfQ09OTkVDVElPTicsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZm9yY2UgYSBTaW5nbGUgdG9wb2xvZ3kgdHlwZSB3aXRoIGEgY29ubmVjdGlvbiBzdHJpbmcgY29udGFpbmluZyBvbmUgaG9zdC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBkaXNhYmxlSW5kZXhGaWVsZFZhbGlkYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRElTQUJMRV9JTkRFWF9GSUVMRF9WQUxJREFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBkaXNhYmxlIHZhbGlkYXRpb24gb2YgaW5kZXggZmllbGRzLiBXaGVuIGRpc2FibGVkLCBpbmRleGVzIGNhbiBiZSBjcmVhdGVkIGV2ZW4gaWYgdGhlIGZpZWxkcyBkbyBub3QgZXhpc3QgaW4gdGhlIHNjaGVtYS4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gY3JlYXRpbmcgaW5kZXhlcyBvbiBmaWVsZHMgdGhhdCB3aWxsIGJlIGFkZGVkIGxhdGVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGVuYWJsZVNjaGVtYUhvb2tzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0VOQUJMRV9TQ0hFTUFfSE9PS1MnLFxuICAgIGhlbHA6ICdFbmFibGVzIGRhdGFiYXNlIHJlYWwtdGltZSBob29rcyB0byB1cGRhdGUgc2luZ2xlIHNjaGVtYSBjYWNoZS4gU2V0IHRvIGB0cnVlYCBpZiB1c2luZyBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXJzIGluc3RhbmNlcyBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgZGF0YWJhc2UuIEZhaWxpbmcgdG8gZG8gc28gd2lsbCBjYXVzZSBhIHNjaGVtYSBjaGFuZ2UgdG8gbm90IHByb3BhZ2F0ZSB0byBhbGwgaW5zdGFuY2VzIGFuZCByZS1zeW5jaW5nIHdpbGwgb25seSBoYXBwZW4gd2hlbiB0aGUgaW5zdGFuY2VzIHJlc3RhcnQuIFRvIHVzZSB0aGlzIGZlYXR1cmUgd2l0aCBNb25nb0RCLCBhIHJlcGxpY2Egc2V0IGNsdXN0ZXIgd2l0aCBbY2hhbmdlIHN0cmVhbV0oaHR0cHM6Ly9kb2NzLm1vbmdvZGIuY29tL21hbnVhbC9jaGFuZ2VTdHJlYW1zLyNhdmFpbGFiaWxpdHkpIHN1cHBvcnQgaXMgcmVxdWlyZWQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZm9yY2VTZXJ2ZXJPYmplY3RJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9GT1JDRV9TRVJWRVJfT0JKRUNUX0lEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBmb3JjZSBzZXJ2ZXIgdG8gYXNzaWduIF9pZCB2YWx1ZXMgaW5zdGVhZCBvZiBkcml2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgaGVhcnRiZWF0RnJlcXVlbmN5TVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfSEVBUlRCRUFUX0ZSRVFVRU5DWV9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgZnJlcXVlbmN5IGluIG1pbGxpc2Vjb25kcyBhdCB3aGljaCB0aGUgZHJpdmVyIGNoZWNrcyB0aGUgc3RhdGUgb2YgdGhlIE1vbmdvREIgZGVwbG95bWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2hlYXJ0YmVhdEZyZXF1ZW5jeU1TJyksXG4gIH0sXG4gIGxvYWRCYWxhbmNlZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0FEX0JBTEFOQ0VEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBpbnN0cnVjdCB0aGUgZHJpdmVyIGl0IGlzIGNvbm5lY3RpbmcgdG8gYSBsb2FkIGJhbGFuY2VyIGZyb250aW5nIGEgbW9uZ29zIGxpa2Ugc2VydmljZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBsb2NhbFRocmVzaG9sZE1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPQ0FMX1RIUkVTSE9MRF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgc2l6ZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB0aGUgbGF0ZW5jeSB3aW5kb3cgZm9yIHNlbGVjdGluZyBhbW9uZyBtdWx0aXBsZSBzdWl0YWJsZSBNb25nb0RCIGluc3RhbmNlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2xvY2FsVGhyZXNob2xkTVMnKSxcbiAgfSxcbiAgbG9nQ2xpZW50RXZlbnRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTJyxcbiAgICBoZWxwOiAnQW4gYXJyYXkgb2YgTW9uZ29EQiBjbGllbnQgZXZlbnQgY29uZmlndXJhdGlvbnMgdG8gZW5hYmxlIGxvZ2dpbmcgb2Ygc3BlY2lmaWMgZXZlbnRzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIHR5cGU6ICdMb2dDbGllbnRFdmVudFtdJyxcbiAgfSxcbiAgbWF4Q29ubmVjdGluZzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfQ09OTkVDVElORycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdGhhdCBtYXkgYmUgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgZXN0YWJsaXNoZWQgY29uY3VycmVudGx5IGJ5IHRoZSBjb25uZWN0aW9uIHBvb2wuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhDb25uZWN0aW5nJyksXG4gIH0sXG4gIG1heElkbGVUaW1lTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX0lETEVfVElNRV9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgYSBjb25uZWN0aW9uIGNhbiByZW1haW4gaWRsZSBpbiB0aGUgY29ubmVjdGlvbiBwb29sIGJlZm9yZSBiZWluZyByZW1vdmVkIGFuZCBjbG9zZWQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhJZGxlVGltZU1TJyksXG4gIH0sXG4gIG1heFBvb2xTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9QT09MX1NJWkUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbmVkLCBjYWNoZWQsIHJlYWR5LXRvLXVzZSBkYXRhYmFzZSBjb25uZWN0aW9ucyBtYWludGFpbmVkIGJ5IHRoZSBkcml2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhQb29sU2l6ZScpLFxuICB9LFxuICBtYXhTdGFsZW5lc3NTZWNvbmRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9TVEFMRU5FU1NfU0VDT05EUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IHRoZSBtYXhpbXVtIHJlcGxpY2F0aW9uIGxhZyBmb3IgcmVhZHMgZnJvbSBzZWNvbmRhcnkgbm9kZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhTdGFsZW5lc3NTZWNvbmRzJyksXG4gIH0sXG4gIG1heFRpbWVNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfVElNRV9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc2V0IGEgY3VtdWxhdGl2ZSB0aW1lIGxpbWl0IGluIG1pbGxpc2Vjb25kcyBmb3IgcHJvY2Vzc2luZyBvcGVyYXRpb25zIG9uIGEgY3Vyc29yLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4VGltZU1TJyksXG4gIH0sXG4gIG1pblBvb2xTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01JTl9QT09MX1NJWkUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWluaW11bSBudW1iZXIgb2Ygb3BlbmVkLCBjYWNoZWQsIHJlYWR5LXRvLXVzZSBkYXRhYmFzZSBjb25uZWN0aW9ucyBtYWludGFpbmVkIGJ5IHRoZSBkcml2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtaW5Qb29sU2l6ZScpLFxuICB9LFxuICBwcm94eUhvc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUFJPWFlfSE9TVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gY29uZmlndXJlIGEgU29ja3M1IHByb3h5IGhvc3QgdXNlZCBmb3IgY3JlYXRpbmcgVENQIGNvbm5lY3Rpb25zLicsXG4gIH0sXG4gIHByb3h5UGFzc3dvcmQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUFJPWFlfUEFTU1dPUkQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBwYXNzd29yZCB3aGVuIHRoZSBwcm94eSByZXF1aXJlcyB1c2VybmFtZS9wYXNzd29yZCBhdXRoZW50aWNhdGlvbi4nLFxuICB9LFxuICBwcm94eVBvcnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUFJPWFlfUE9SVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gY29uZmlndXJlIGEgU29ja3M1IHByb3h5IHBvcnQgdXNlZCBmb3IgY3JlYXRpbmcgVENQIGNvbm5lY3Rpb25zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncHJveHlQb3J0JyksXG4gIH0sXG4gIHByb3h5VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUFJPWFlfVVNFUk5BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSB1c2VybmFtZSB3aGVuIHRoZSBwcm94eSByZXF1aXJlcyB1c2VybmFtZS9wYXNzd29yZCBhdXRoZW50aWNhdGlvbi4nLFxuICB9LFxuICByZWFkQ29uY2VybkxldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFQURfQ09OQ0VSTl9MRVZFTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbGV2ZWwgb2YgaXNvbGF0aW9uLicsXG4gIH0sXG4gIHJlYWRQcmVmZXJlbmNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFQURfUFJFRkVSRU5DRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgcmVhZCBwcmVmZXJlbmNlcyBmb3IgdGhpcyBjb25uZWN0aW9uLicsXG4gIH0sXG4gIHJlYWRQcmVmZXJlbmNlVGFnczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX1BSRUZFUkVOQ0VfVEFHUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgdGFncyBkb2N1bWVudCBhcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGNvbG9uLXNlcGFyYXRlZCBrZXktdmFsdWUgcGFpcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIHJlcGxpY2FTZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVQTElDQV9TRVQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIHJlcGxpY2Egc2V0LCBpZiB0aGUgbW9uZ29kIGlzIGEgbWVtYmVyIG9mIGEgcmVwbGljYSBzZXQuJyxcbiAgfSxcbiAgcmV0cnlSZWFkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRVRSWV9SRUFEUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIHJldHJ5YWJsZSByZWFkcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICByZXRyeVdyaXRlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRVRSWV9XUklURVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB3aGV0aGVyIHRvIHJldHJ5IGZhaWxlZCB3cml0ZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgc2NoZW1hQ2FjaGVUdGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU0NIRU1BX0NBQ0hFX1RUTCcsXG4gICAgaGVscDogJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSBzY2hlbWEgY2FjaGUgZXhwaXJlcyBhbmQgd2lsbCBiZSByZWZldGNoZWQgZnJvbSB0aGUgZGF0YWJhc2UuIFVzZSB0aGlzIG9wdGlvbiBpZiB1c2luZyBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXJzIGluc3RhbmNlcyBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgZGF0YWJhc2UuIEEgbG93IGR1cmF0aW9uIHdpbGwgY2F1c2UgdGhlIHNjaGVtYSBjYWNoZSB0byBiZSB1cGRhdGVkIHRvbyBvZnRlbiwgY2F1c2luZyB1bm5lY2Vzc2FyeSBkYXRhYmFzZSByZWFkcy4gQSBoaWdoIGR1cmF0aW9uIHdpbGwgY2F1c2UgdGhlIHNjaGVtYSB0byBiZSB1cGRhdGVkIHRvbyByYXJlbHksIGluY3JlYXNpbmcgdGhlIHRpbWUgcmVxdWlyZWQgdW50aWwgc2NoZW1hIGNoYW5nZXMgcHJvcGFnYXRlIHRvIGFsbCBzZXJ2ZXIgaW5zdGFuY2VzLiBUaGlzIGZlYXR1cmUgY2FuIGJlIHVzZWQgYXMgYW4gYWx0ZXJuYXRpdmUgb3IgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgb3B0aW9uIGBlbmFibGVTY2hlbWFIb29rc2AuIERlZmF1bHQgaXMgaW5maW5pdGUgd2hpY2ggbWVhbnMgdGhlIHNjaGVtYSBjYWNoZSBuZXZlciBleHBpcmVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2NoZW1hQ2FjaGVUdGwnKSxcbiAgfSxcbiAgc2VydmVyTW9uaXRvcmluZ01vZGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU0VSVkVSX01PTklUT1JJTkdfTU9ERScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gaW5zdHJ1Y3QgdGhlIGRyaXZlciBtb25pdG9ycyB0byB1c2UgYSBzcGVjaWZpYyBtb25pdG9yaW5nIG1vZGUuJyxcbiAgfSxcbiAgc2VydmVyU2VsZWN0aW9uVGltZW91dE1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NFUlZFUl9TRUxFQ1RJT05fVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciBhIHNlcnZlciB0byBiZSBjb25zaWRlcmVkIHN1aXRhYmxlIGZvciBzZWxlY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzZXJ2ZXJTZWxlY3Rpb25UaW1lb3V0TVMnKSxcbiAgfSxcbiAgc29ja2V0VGltZW91dE1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NPQ0tFVF9USU1FT1VUX01TJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCBzcGVudCBhdHRlbXB0aW5nIHRvIHNlbmQgb3IgcmVjZWl2ZSBvbiBhIHNvY2tldCBiZWZvcmUgdGltaW5nIG91dC4gU3BlY2lmeWluZyAwIG1lYW5zIG5vIHRpbWVvdXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzb2NrZXRUaW1lb3V0TVMnKSxcbiAgfSxcbiAgc3J2TWF4SG9zdHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU1JWX01BWF9IT1NUUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgaG9zdHMgdG8gY29ubmVjdCB0byB3aGVuIHVzaW5nIGFuIHNydiBjb25uZWN0aW9uIHN0cmluZywgYSBzZXR0aW5nIG9mIDAgbWVhbnMgdW5saW1pdGVkIGhvc3RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc3J2TWF4SG9zdHMnKSxcbiAgfSxcbiAgc3J2U2VydmljZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU1JWX1NFUlZJQ0VfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gbW9kaWZ5IHRoZSBzcnYgVVJJIHNlcnZpY2UgbmFtZS4nLFxuICB9LFxuICBzc2w6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfU1NMJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBlbmFibGUgb3IgZGlzYWJsZSBUTFMvU1NMIGZvciB0aGUgY29ubmVjdGlvbiAoZXF1aXZhbGVudCB0byB0bHMgb3B0aW9uKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0bHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBlbmFibGUgb3IgZGlzYWJsZSBUTFMvU1NMIGZvciB0aGUgY29ubmVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0bHNBbGxvd0ludmFsaWRDZXJ0aWZpY2F0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0FMTE9XX0lOVkFMSURfQ0VSVElGSUNBVEVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBieXBhc3MgdmFsaWRhdGlvbiBvZiB0aGUgY2VydGlmaWNhdGVzIHByZXNlbnRlZCBieSB0aGUgbW9uZ29kL21vbmdvcyBpbnN0YW5jZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0bHNBbGxvd0ludmFsaWRIb3N0bmFtZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0FMTE9XX0lOVkFMSURfSE9TVE5BTUVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBkaXNhYmxlIGhvc3RuYW1lIHZhbGlkYXRpb24gb2YgdGhlIGNlcnRpZmljYXRlIHByZXNlbnRlZCBieSB0aGUgbW9uZ29kL21vbmdvcyBpbnN0YW5jZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB0bHNDQUZpbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0NBRklMRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgYSBsb2NhbCAucGVtIGZpbGUgdGhhdCBjb250YWlucyB0aGUgcm9vdCBjZXJ0aWZpY2F0ZSBjaGFpbiBmcm9tIHRoZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkuJyxcbiAgfSxcbiAgdGxzQ2VydGlmaWNhdGVLZXlGaWxlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DRVJUSUZJQ0FURV9LRVlfRklMRScsXG4gICAgaGVscDogXCJUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgLnBlbSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIGNsaWVudCdzIFRMUy9TU0wgY2VydGlmaWNhdGUgYW5kIGtleS5cIixcbiAgfSxcbiAgdGxzQ2VydGlmaWNhdGVLZXlGaWxlUGFzc3dvcmQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0NFUlRJRklDQVRFX0tFWV9GSUxFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBwYXNzd29yZCB0byBkZWNyeXB0IHRoZSB0bHNDZXJ0aWZpY2F0ZUtleUZpbGUuJyxcbiAgfSxcbiAgdGxzSW5zZWN1cmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVExTX0lOU0VDVVJFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBkaXNhYmxlIHZhcmlvdXMgY2VydGlmaWNhdGUgdmFsaWRhdGlvbnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgd2FpdFF1ZXVlVGltZW91dE1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1dBSVRfUVVFVUVfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGEgdGhyZWFkIGNhbiB3YWl0IGZvciBhIGNvbm5lY3Rpb24gdG8gYmVjb21lIGF2YWlsYWJsZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3dhaXRRdWV1ZVRpbWVvdXRNUycpLFxuICB9LFxuICB6bGliQ29tcHJlc3Npb25MZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9aTElCX0NPTVBSRVNTSU9OX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBjb21wcmVzc2lvbiBsZXZlbCBpZiB1c2luZyB6bGliIGZvciBuZXR3b3JrIGNvbXByZXNzaW9uICgwLTkpLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignemxpYkNvbXByZXNzaW9uTGV2ZWwnKSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5EYXRhYmFzZU9wdGlvbnNDbGllbnRNZXRhZGF0YSA9IHtcbiAgbmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEFfTkFNRScsXG4gICAgaGVscDogXCJUaGUgbmFtZSB0byBpZGVudGlmeSB5b3VyIGFwcGxpY2F0aW9uIGluIGRhdGFiYXNlIGxvZ3MgKGUuZy4sICdNeUFwcCcpLlwiLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICB2ZXJzaW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NMSUVOVF9NRVRBREFUQV9WRVJTSU9OJyxcbiAgICBoZWxwOiBcIlRoZSB2ZXJzaW9uIG9mIHlvdXIgYXBwbGljYXRpb24gKGUuZy4sICcxLjAuMCcpLlwiLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkF1dGhBZGFwdGVyID0ge1xuICBlbmFibGVkOiB7XG4gICAgaGVscDogJ0lzIGB0cnVlYCBpZiB0aGUgYXV0aCBhZGFwdGVyIGlzIGVuYWJsZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTG9nTGV2ZWxzID0ge1xuICBjbG91ZEZ1bmN0aW9uRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19DTE9VRF9GVU5DVElPTl9FUlJPUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIEZ1bmN0aW9ucyBvbiBlcnJvci4gRGVmYXVsdCBpcyBgZXJyb3JgLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdlcnJvcicsXG4gIH0sXG4gIGNsb3VkRnVuY3Rpb25TdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfQ0xPVURfRlVOQ1RJT05fU1VDQ0VTUycsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIEZ1bmN0aW9ucyBvbiBzdWNjZXNzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG4gIHNpZ251cFVzZXJuYW1lVGFrZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19TSUdOVVBfVVNFUk5BTUVfVEFLRU4nLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCB3aGVuIGEgc2lnbi11cCBmYWlscyBiZWNhdXNlIHRoZSB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICB0cmlnZ2VyQWZ0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0FGVEVSJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgYnkgdGhlIENsb3VkIENvZGUgVHJpZ2dlcnMgYGFmdGVyU2F2ZWAsIGBhZnRlckRlbGV0ZWAsIGBhZnRlckZpbmRgLCBgYWZ0ZXJMb2dvdXRgLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG4gIHRyaWdnZXJCZWZvcmVFcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX1RSSUdHRVJfQkVGT1JFX0VSUk9SJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgYnkgdGhlIENsb3VkIENvZGUgVHJpZ2dlcnMgYGJlZm9yZVNhdmVgLCBgYmVmb3JlRGVsZXRlYCwgYGJlZm9yZUZpbmRgLCBgYmVmb3JlTG9naW5gIG9uIGVycm9yLiBEZWZhdWx0IGlzIGBlcnJvcmAuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2Vycm9yJyxcbiAgfSxcbiAgdHJpZ2dlckJlZm9yZVN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0JFRk9SRV9TVUNDRVNTJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgYnkgdGhlIENsb3VkIENvZGUgVHJpZ2dlcnMgYGJlZm9yZVNhdmVgLCBgYmVmb3JlRGVsZXRlYCwgYGJlZm9yZUZpbmRgLCBgYmVmb3JlTG9naW5gIG9uIHN1Y2Nlc3MuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbn07XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLE9BQU8sR0FBR0MsT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUNsQ0MsTUFBTSxDQUFDQyxPQUFPLENBQUNDLGFBQWEsR0FBRztFQUM3QkMsY0FBYyxFQUFFO0lBQ2RDLEdBQUcsRUFBRSxxQ0FBcUM7SUFDMUNDLElBQUksRUFBRTtFQUNSLENBQUM7RUFDREMsZUFBZSxFQUFFO0lBQ2ZGLEdBQUcsRUFBRSxzQ0FBc0M7SUFDM0NDLElBQUksRUFBRTtFQUNSLENBQUM7RUFDREUsV0FBVyxFQUFFO0lBQ1hILEdBQUcsRUFBRSxpQ0FBaUM7SUFDdENDLElBQUksRUFBRSxnR0FBZ0c7SUFDdEdHLFFBQVEsRUFBRSxJQUFJO0lBQ2RDLE1BQU0sRUFBRVgsT0FBTyxDQUFDWSxZQUFZO0lBQzVCQyxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBQ0RDLGlCQUFpQixFQUFFO0lBQ2pCUixHQUFHLEVBQUUseUNBQXlDO0lBQzlDQyxJQUFJLEVBQUUsbUlBQW1JO0lBQ3pJSSxNQUFNLEVBQUVYLE9BQU8sQ0FBQ2UsYUFBYTtJQUM3QkYsT0FBTyxFQUFFO0VBQ1gsQ0FBQztFQUNERyxrQkFBa0IsRUFBRTtJQUNsQlYsR0FBRyxFQUFFLDBDQUEwQztJQUMvQ0MsSUFBSSxFQUFFLGlPQUFpTztJQUN2T0ksTUFBTSxFQUFFWCxPQUFPLENBQUNlLGFBQWE7SUFDN0JGLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFDREksV0FBVyxFQUFFO0lBQ1hYLEdBQUcsRUFBRSxrQ0FBa0M7SUFDdkNDLElB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
|
|
1503
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZXJzIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJTY2hlbWFPcHRpb25zIiwiYWZ0ZXJNaWdyYXRpb24iLCJlbnYiLCJoZWxwIiwiYmVmb3JlTWlncmF0aW9uIiwiZGVmaW5pdGlvbnMiLCJyZXF1aXJlZCIsImFjdGlvbiIsIm9iamVjdFBhcnNlciIsImRlZmF1bHQiLCJkZWxldGVFeHRyYUZpZWxkcyIsImJvb2xlYW5QYXJzZXIiLCJrZWVwVW5rbm93bkluZGV4ZXMiLCJsb2NrU2NoZW1hcyIsInJlY3JlYXRlTW9kaWZpZWRGaWVsZHMiLCJzdHJpY3QiLCJQYXJzZVNlcnZlck9wdGlvbnMiLCJhY2NvdW50TG9ja291dCIsInR5cGUiLCJhbGxvd0NsaWVudENsYXNzQ3JlYXRpb24iLCJhbGxvd0N1c3RvbU9iamVjdElkIiwiYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbiIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY29udmVydEVtYWlsVG9Mb3dlcmNhc2UiLCJjb252ZXJ0VXNlcm5hbWVUb0xvd2VyY2FzZSIsImN1c3RvbVBhZ2VzIiwiZGF0YWJhc2VBZGFwdGVyIiwiZGF0YWJhc2VPcHRpb25zIiwiZGF0YWJhc2VVUkkiLCJkZWZhdWx0TGltaXQiLCJkaXJlY3RBY2Nlc3MiLCJkb3ROZXRLZXkiLCJlbWFpbEFkYXB0ZXIiLCJlbWFpbFZlcmlmeVN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlQ29sbGF0aW9uQ2FzZUNvbXBhcmlzb24iLCJlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyIiwiZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnMiLCJlbmFibGVQcm9kdWN0UHVyY2hhc2VMZWdhY3lBcGkiLCJlbmFibGVTYW5pdGl6ZWRFcnJvclJlc3BvbnNlIiwiZW5jcnlwdGlvbktleSIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJleHBpcmVJbmFjdGl2ZVNlc3Npb25zIiwiZXh0ZW5kU2Vzc2lvbk9uVXNlIiwiZmlsZUtleSIsImZpbGVzQWRhcHRlciIsImZpbGVVcGxvYWQiLCJncmFwaFFMUGF0aCIsImdyYXBoUUxQdWJsaWNJbnRyb3NwZWN0aW9uIiwiZ3JhcGhRTFNjaGVtYSIsImhvc3QiLCJpZGVtcG90ZW5jeU9wdGlvbnMiLCJqYXZhc2NyaXB0S2V5IiwianNvbkxvZ3MiLCJsaXZlUXVlcnkiLCJsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwibG9nZ2VyQWRhcHRlciIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwibG9nc0ZvbGRlciIsIm1haW50ZW5hbmNlS2V5IiwibWFpbnRlbmFuY2VLZXlJcHMiLCJtYXN0ZXJLZXkiLCJtYXN0ZXJLZXlJcHMiLCJtYXN0ZXJLZXlUdGwiLCJtYXhMaW1pdCIsIm1heExvZ0ZpbGVzIiwibnVtYmVyT3JTdHJpbmdQYXJzZXIiLCJtYXhVcGxvYWRTaXplIiwibWlkZGxld2FyZSIsIm1vdW50R3JhcGhRTCIsIm1vdW50UGF0aCIsIm1vdW50UGxheWdyb3VuZCIsIm9iamVjdElkU2l6ZSIsInBhZ2VzIiwicGFzc3dvcmRQb2xpY3kiLCJwbGF5Z3JvdW5kUGF0aCIsInBvcnQiLCJwcmVzZXJ2ZUZpbGVOYW1lIiwicHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbCIsImJvb2xlYW5PckZ1bmN0aW9uUGFyc2VyIiwicHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWwiLCJwcm90ZWN0ZWRGaWVsZHMiLCJfVXNlciIsInByb3RlY3RlZEZpZWxkc093bmVyRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzU2F2ZVJlc3BvbnNlRXhlbXB0IiwicHJvdGVjdGVkRmllbGRzVHJpZ2dlckV4ZW1wdCIsInB1YmxpY1NlcnZlclVSTCIsInB1c2giLCJyYXRlTGltaXQiLCJyZWFkT25seU1hc3RlcktleSIsInJlYWRPbmx5TWFzdGVyS2V5SXBzIiwicmVxdWVzdENvbXBsZXhpdHkiLCJyZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlbmRVc2VyRW1haWxWZXJpZmljYXRpb24iLCJzZXJ2ZXJDbG9zZUNvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidHJ1c3RQcm94eSIsInVzZXJTZW5zaXRpdmVGaWVsZHMiLCJ2ZXJib3NlIiwidmVyaWZ5U2VydmVyVXJsIiwidmVyaWZ5VXNlckVtYWlscyIsIndlYmhvb2tLZXkiLCJSYXRlTGltaXRPcHRpb25zIiwiZXJyb3JSZXNwb25zZU1lc3NhZ2UiLCJpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0cyIsImluY2x1ZGVNYXN0ZXJLZXkiLCJyZWRpc1VybCIsInJlcXVlc3RDb3VudCIsInJlcXVlc3RNZXRob2RzIiwicmVxdWVzdFBhdGgiLCJyZXF1ZXN0VGltZVdpbmRvdyIsInpvbmUiLCJSZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMiLCJiYXRjaFJlcXVlc3RMaW1pdCIsImdyYXBoUUxEZXB0aCIsImdyYXBoUUxGaWVsZHMiLCJpbmNsdWRlQ291bnQiLCJpbmNsdWRlRGVwdGgiLCJxdWVyeURlcHRoIiwic3VicXVlcnlEZXB0aCIsIlNlY3VyaXR5T3B0aW9ucyIsImNoZWNrR3JvdXBzIiwiZW5hYmxlQ2hlY2siLCJlbmFibGVDaGVja0xvZyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmNvZGVQYWdlUGFyYW1IZWFkZXJzIiwiZm9yY2VSZWRpcmVjdCIsImxvY2FsaXphdGlvbkZhbGxiYWNrTG9jYWxlIiwibG9jYWxpemF0aW9uSnNvblBhdGgiLCJwYWdlc0VuZHBvaW50IiwicGFnZXNQYXRoIiwicGxhY2Vob2xkZXJzIiwiUGFnZXNSb3V0ZSIsImhhbmRsZXIiLCJtZXRob2QiLCJwYXRoIiwiUGFnZXNDdXN0b21VcmxzT3B0aW9ucyIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQiLCJlbWFpbFZlcmlmaWNhdGlvbkxpbmtJbnZhbGlkIiwiZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbCIsImVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3MiLCJlbWFpbFZlcmlmaWNhdGlvblN1Y2Nlc3MiLCJwYXNzd29yZFJlc2V0IiwicGFzc3dvcmRSZXNldExpbmtJbnZhbGlkIiwicGFzc3dvcmRSZXNldFN1Y2Nlc3MiLCJDdXN0b21QYWdlc09wdGlvbnMiLCJjaG9vc2VQYXNzd29yZCIsImV4cGlyZWRWZXJpZmljYXRpb25MaW5rIiwiaW52YWxpZExpbmsiLCJpbnZhbGlkUGFzc3dvcmRSZXNldExpbmsiLCJpbnZhbGlkVmVyaWZpY2F0aW9uTGluayIsImxpbmtTZW5kRmFpbCIsImxpbmtTZW5kU3VjY2VzcyIsInBhcnNlRnJhbWVVUkwiLCJ2ZXJpZnlFbWFpbFN1Y2Nlc3MiLCJMaXZlUXVlcnlPcHRpb25zIiwiY2xhc3NOYW1lcyIsInB1YlN1YkFkYXB0ZXIiLCJyZWRpc09wdGlvbnMiLCJyZWRpc1VSTCIsInJlZ2V4VGltZW91dCIsIndzc0FkYXB0ZXIiLCJMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zIiwiY2FjaGVUaW1lb3V0Iiwia2V5UGFpcnMiLCJ3ZWJzb2NrZXRUaW1lb3V0IiwiSWRlbXBvdGVuY3lPcHRpb25zIiwicGF0aHMiLCJ0dGwiLCJBY2NvdW50TG9ja291dE9wdGlvbnMiLCJkdXJhdGlvbiIsInRocmVzaG9sZCIsInVubG9ja09uUGFzc3dvcmRSZXNldCIsIlBhc3N3b3JkUG9saWN5T3B0aW9ucyIsImRvTm90QWxsb3dVc2VybmFtZSIsIm1heFBhc3N3b3JkQWdlIiwibWF4UGFzc3dvcmRIaXN0b3J5IiwicmVzZXRQYXNzd29yZFN1Y2Nlc3NPbkludmFsaWRFbWFpbCIsInJlc2V0VG9rZW5SZXVzZUlmVmFsaWQiLCJyZXNldFRva2VuVmFsaWRpdHlEdXJhdGlvbiIsInZhbGlkYXRpb25FcnJvciIsInZhbGlkYXRvckNhbGxiYWNrIiwidmFsaWRhdG9yUGF0dGVybiIsIkZpbGVVcGxvYWRPcHRpb25zIiwiYWxsb3dlZEZpbGVVcmxEb21haW5zIiwiZW5hYmxlRm9yQW5vbnltb3VzVXNlciIsImVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyIiwiZW5hYmxlRm9yUHVibGljIiwiZmlsZUV4dGVuc2lvbnMiLCJMb2dMZXZlbCIsImRlYnVnIiwiZXJyb3IiLCJpbmZvIiwic2lsbHkiLCJ3YXJuIiwiTG9nQ2xpZW50RXZlbnQiLCJrZXlzIiwibmFtZSIsIkRhdGFiYXNlT3B0aW9ucyIsImFsbG93UHVibGljRXhwbGFpbiIsImF1dGhNZWNoYW5pc20iLCJhdXRoTWVjaGFuaXNtUHJvcGVydGllcyIsImF1dGhTb3VyY2UiLCJhdXRvU2VsZWN0RmFtaWx5IiwiYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0IiwiYmF0Y2hTaXplIiwiY2xpZW50TWV0YWRhdGEiLCJjb21wcmVzc29ycyIsImNvbm5lY3RUaW1lb3V0TVMiLCJjcmVhdGVJbmRleEF1dGhEYXRhVW5pcXVlbmVzcyIsImNyZWF0ZUluZGV4Um9sZU5hbWUiLCJjcmVhdGVJbmRleFVzZXJFbWFpbCIsImNyZWF0ZUluZGV4VXNlckVtYWlsQ2FzZUluc2Vuc2l0aXZlIiwiY3JlYXRlSW5kZXhVc2VyRW1haWxWZXJpZnlUb2tlbiIsImNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbiIsImNyZWF0ZUluZGV4VXNlclVzZXJuYW1lIiwiY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmUiLCJkaXJlY3RDb25uZWN0aW9uIiwiZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uIiwiZW5hYmxlU2NoZW1hSG9va3MiLCJmb3JjZVNlcnZlck9iamVjdElkIiwiaGVhcnRiZWF0RnJlcXVlbmN5TVMiLCJsb2FkQmFsYW5jZWQiLCJsb2NhbFRocmVzaG9sZE1TIiwibG9nQ2xpZW50RXZlbnRzIiwibWF4Q29ubmVjdGluZyIsIm1heElkbGVUaW1lTVMiLCJtYXhQb29sU2l6ZSIsIm1heFN0YWxlbmVzc1NlY29uZHMiLCJtYXhUaW1lTVMiLCJtaW5Qb29sU2l6ZSIsInByb3h5SG9zdCIsInByb3h5UGFzc3dvcmQiLCJwcm94eVBvcnQiLCJwcm94eVVzZXJuYW1lIiwicmVhZENvbmNlcm5MZXZlbCIsInJlYWRQcmVmZXJlbmNlIiwicmVhZFByZWZlcmVuY2VUYWdzIiwicmVwbGljYVNldCIsInJldHJ5UmVhZHMiLCJyZXRyeVdyaXRlcyIsInNjaGVtYUNhY2hlVHRsIiwic2VydmVyTW9uaXRvcmluZ01vZGUiLCJzZXJ2ZXJTZWxlY3Rpb25UaW1lb3V0TVMiLCJzb2NrZXRUaW1lb3V0TVMiLCJzcnZNYXhIb3N0cyIsInNydlNlcnZpY2VOYW1lIiwic3NsIiwidGxzIiwidGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzIiwidGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzIiwidGxzQ0FGaWxlIiwidGxzQ2VydGlmaWNhdGVLZXlGaWxlIiwidGxzQ2VydGlmaWNhdGVLZXlGaWxlUGFzc3dvcmQiLCJ0bHNJbnNlY3VyZSIsIndhaXRRdWV1ZVRpbWVvdXRNUyIsInpsaWJDb21wcmVzc2lvbkxldmVsIiwiRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEiLCJ2ZXJzaW9uIiwiQXV0aEFkYXB0ZXIiLCJlbmFibGVkIiwiTG9nTGV2ZWxzIiwiY2xvdWRGdW5jdGlvbkVycm9yIiwiY2xvdWRGdW5jdGlvblN1Y2Nlc3MiLCJzaWdudXBVc2VybmFtZVRha2VuIiwidHJpZ2dlckFmdGVyIiwidHJpZ2dlckJlZm9yZUVycm9yIiwidHJpZ2dlckJlZm9yZVN1Y2Nlc3MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvT3B0aW9ucy9EZWZpbml0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuKioqKiBHRU5FUkFURUQgQ09ERSAqKioqXG5UaGlzIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHJlc291cmNlcy9idWlsZENvbmZpZ0RlZmluaXRpb25zLmpzXG5EbyBub3QgZWRpdCBtYW51YWxseSwgYnV0IHVwZGF0ZSBPcHRpb25zL2luZGV4LmpzXG4qL1xudmFyIHBhcnNlcnMgPSByZXF1aXJlKCcuL3BhcnNlcnMnKTtcbm1vZHVsZS5leHBvcnRzLlNjaGVtYU9wdGlvbnMgPSB7XG4gIGFmdGVyTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9BRlRFUl9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYWZ0ZXIgcnVubmluZyBzY2hlbWEgbWlncmF0aW9ucy4nLFxuICB9LFxuICBiZWZvcmVNaWdyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0JFRk9SRV9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYmVmb3JlIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgZGVmaW5pdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFRklOSVRJT05TJyxcbiAgICBoZWxwOiAnUmVzdCByZXByZXNlbnRhdGlvbiBvbiBQYXJzZS5TY2hlbWEgaHR0cHM6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3Jlc3QvZ3VpZGUvI2FkZGluZy1hLXNjaGVtYScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgZGVsZXRlRXh0cmFGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFTEVURV9FWFRSQV9GSUVMRFMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgZGVsZXRlIGFueSBmaWVsZHMgbm90IGRlZmluZWQgaW4gYSBzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBrZWVwVW5rbm93bkluZGV4ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0tFRVBfVU5LTk9XTl9JTkRFWEVTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgS2VlcCBpbmRleGVzIHRoYXQgYXJlIHByZXNlbnQgaW4gdGhlIGRhdGFiYXNlIGJ1dCBub3QgZGVmaW5lZCBpbiB0aGUgc2NoZW1hLiBTZXQgdGhpcyB0byBgdHJ1ZWAgaWYgeW91IGFyZSBhZGRpbmcgaW5kZXhlcyBtYW51YWxseSwgc28gdGhhdCB0aGV5IHdvbid0IGJlIHJlbW92ZWQgd2hlbiBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb24uIERlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9ja1NjaGVtYXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0xPQ0tfU0NIRU1BUycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHdpbGwgcmVqZWN0IGFueSBhdHRlbXB0cyB0byBtb2RpZnkgdGhlIHNjaGVtYSB3aGlsZSB0aGUgc2VydmVyIGlzIHJ1bm5pbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVjcmVhdGVNb2RpZmllZEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfUkVDUkVBVEVfTU9ESUZJRURfRklFTERTJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIHJlY3JlYXRlIGFueSBmaWVsZHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gdGhlIGN1cnJlbnQgZGF0YWJhc2Ugc2NoZW1hIGFuZCB0aGVzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzdHJpY3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1NUUklDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBleGl0IGlmIHNjaGVtYSB1cGRhdGUgZmFpbC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhcnNlU2VydmVyT3B0aW9ucyA9IHtcbiAgYWNjb3VudExvY2tvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUJyxcbiAgICBoZWxwOiBcIlRoZSBhY2NvdW50IGxvY2tvdXQgcG9saWN5IGZvciBmYWlsZWQgbG9naW4gYXR0ZW1wdHMuPGJyPjxicj5Ob3RlOiBTZXR0aW5nIGEgdXNlcidzIEFDTCB0byBhbiBlbXB0eSBvYmplY3QgYHt9YCB2aWEgbWFzdGVyIGtleSBpcyBhIHNlcGFyYXRlIG1lY2hhbmlzbSB0aGF0IG9ubHkgcHJldmVudHMgbmV3IGxvZ2luczsgaXQgZG9lcyBub3QgaW52YWxpZGF0ZSBleGlzdGluZyBzZXNzaW9uIHRva2Vucy4gVG8gaW1tZWRpYXRlbHkgcmV2b2tlIGEgdXNlcidzIGFjY2VzcywgZGVzdHJveSB0aGVpciBzZXNzaW9ucyB2aWEgbWFzdGVyIGtleSBpbiBhZGRpdGlvbiB0byBzZXR0aW5nIHRoZSBBQ0wuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnQWNjb3VudExvY2tvdXRPcHRpb25zJyxcbiAgfSxcbiAgYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NMSUVOVF9DTEFTU19DUkVBVElPTicsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgY2xpZW50IGNsYXNzIGNyZWF0aW9uLCBkZWZhdWx0cyB0byBmYWxzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93Q3VzdG9tT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfQ1VTVE9NX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgY3VzdG9tIG9iamVjdElkJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYWxsb3dFeHBpcmVkQXV0aERhdGFUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19FWFBJUkVEX0FVVEhfREFUQV9UT0tFTicsXG4gICAgaGVscDogJ0RlcHJlY2F0ZWQuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBBdXRoIHByb3ZpZGVycyBhcmUgYWx3YXlzIHZhbGlkYXRlZCBvbiBsb2dpbi4gT24gdXBkYXRlLCBpZiB0aGlzIGlzIHNldCB0byBgdHJ1ZWAsIGF1dGggcHJvdmlkZXJzIGFyZSBvbmx5IHJlLXZhbGlkYXRlZCB3aGVuIHRoZSBhdXRoIGRhdGEgaGFzIGNoYW5nZWQuIElmIHRoaXMgaXMgc2V0IHRvIGBmYWxzZWAsIGF1dGggcHJvdmlkZXJzIGFyZSByZS12YWxpZGF0ZWQgb24gZXZlcnkgdXBkYXRlLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93SGVhZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19IRUFERVJTJyxcbiAgICBoZWxwOiAnQWRkIGhlYWRlcnMgdG8gQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBhbGxvd09yaWdpbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19PUklHSU4nLFxuICAgIGhlbHA6ICdTZXRzIG9yaWdpbnMgZm9yIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4gVGhpcyBjYW4gYmUgYSBzdHJpbmcgZm9yIGEgc2luZ2xlIG9yaWdpbiBvciBhbiBhcnJheSBvZiBzdHJpbmdzIGZvciBtdWx0aXBsZSBvcmlnaW5zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBhbmFseXRpY3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FOQUxZVElDU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBhbmFseXRpY3MnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXBwSWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQVBQTElDQVRJT05fSUQnLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIEFwcGxpY2F0aW9uIElEJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBfTkFNRScsXG4gICAgaGVscDogJ1NldHMgdGhlIGFwcCBuYW1lJyxcbiAgfSxcbiAgYXV0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BVVRIX1BST1ZJREVSUycsXG4gICAgaGVscDogXCJDb25maWd1cmF0aW9uIGZvciB5b3VyIGF1dGhlbnRpY2F0aW9uIHByb3ZpZGVycywgYXMgc3RyaW5naWZpZWQgSlNPTi4gU2VlIGh0dHA6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3BhcnNlLXNlcnZlci9ndWlkZS8jb2F1dGgtYW5kLTNyZC1wYXJ0eS1hdXRoZW50aWNhdGlvbjxicj48YnI+UHJvdmlkZXIgbmFtZXMgbXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIGFuZCBjb250YWluIG9ubHkgbGV0dGVycywgZGlnaXRzLCBhbmQgdW5kZXJzY29yZXMgKGAvXltBLVphLXpdW0EtWmEtejAtOV9dKiQvYCkuIFRoaXMgaXMgYmVjYXVzZSBlYWNoIHByb3ZpZGVyIG5hbWUgaXMgdXNlZCB0byBjb25zdHJ1Y3QgYSBkYXRhYmFzZSBmaWVsZCAoYF9hdXRoX2RhdGFfPHByb3ZpZGVyPmApLCB3aGljaCBtdXN0IGNvbXBseSB3aXRoIFBhcnNlIFNlcnZlcidzIGZpZWxkIG5hbWluZyBydWxlcy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZUFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgY2FjaGUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgY2FjaGVNYXhTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX01BWF9TSVpFJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlLCBkZWZhdWx0cyB0byAxMDAwMCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVNYXhTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMDAsXG4gIH0sXG4gIGNhY2hlVFRMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX1RUTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIFRUTCBmb3IgdGhlIGluIG1lbW9yeSBjYWNoZSAoaW4gbXMpLCBkZWZhdWx0cyB0byA1MDAwICg1IHNlY29uZHMpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZVRUTCcpLFxuICAgIGRlZmF1bHQ6IDUwMDAsXG4gIH0sXG4gIGNsaWVudEtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTElFTlRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBpT1MsIE1hY09TLCB0dk9TIGNsaWVudHMnLFxuICB9LFxuICBjbG91ZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTE9VRCcsXG4gICAgaGVscDogJ0Z1bGwgcGF0aCB0byB5b3VyIGNsb3VkIGNvZGUgbWFpbi5qcycsXG4gIH0sXG4gIGNsdXN0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0xVU1RFUicsXG4gICAgaGVscDogJ1J1biB3aXRoIGNsdXN0ZXIsIG9wdGlvbmFsbHkgc2V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGRlZmF1bHQgdG8gb3MuY3B1cygpLmxlbmd0aCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yQm9vbGVhblBhcnNlcixcbiAgfSxcbiAgY29sbGVjdGlvblByZWZpeDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT0xMRUNUSU9OX1BSRUZJWCcsXG4gICAgaGVscDogJ0EgY29sbGVjdGlvbiBwcmVmaXggZm9yIHRoZSBjbGFzc2VzJyxcbiAgICBkZWZhdWx0OiAnJyxcbiAgfSxcbiAgY29udmVydEVtYWlsVG9Mb3dlcmNhc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09OVkVSVF9FTUFJTF9UT19MT1dFUkNBU0UnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gSWYgc2V0IHRvIGB0cnVlYCwgdGhlIGBlbWFpbGAgcHJvcGVydHkgb2YgYSB1c2VyIGlzIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGxvd2VyY2FzZSBiZWZvcmUgYmVpbmcgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gQ29uc2VxdWVudGx5LCBxdWVyaWVzIG11c3QgbWF0Y2ggdGhlIGNhc2UgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZSwgd2hpY2ggd291bGQgYmUgbG93ZXJjYXNlIGluIHRoaXMgc2NlbmFyaW8uIElmIGBmYWxzZWAsIHRoZSBgZW1haWxgIHByb3BlcnR5IGlzIHN0b3JlZCBhcyBzZXQsIHdpdGhvdXQgYW55IGNhc2UgbW9kaWZpY2F0aW9ucy4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGNvbnZlcnRVc2VybmFtZVRvTG93ZXJjYXNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NPTlZFUlRfVVNFUk5BTUVfVE9fTE9XRVJDQVNFJyxcbiAgICBoZWxwOiAnT3B0aW9uYWwuIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBgdXNlcm5hbWVgIHByb3BlcnR5IG9mIGEgdXNlciBpcyBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBsb3dlcmNhc2UgYmVmb3JlIGJlaW5nIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuIENvbnNlcXVlbnRseSwgcXVlcmllcyBtdXN0IG1hdGNoIHRoZSBjYXNlIGFzIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UsIHdoaWNoIHdvdWxkIGJlIGxvd2VyY2FzZSBpbiB0aGlzIHNjZW5hcmlvLiBJZiBgZmFsc2VgLCB0aGUgYHVzZXJuYW1lYCBwcm9wZXJ0eSBpcyBzdG9yZWQgYXMgc2V0LCB3aXRob3V0IGFueSBjYXNlIG1vZGlmaWNhdGlvbnMuIERlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBjdXN0b21QYWdlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVMnLFxuICAgIGhlbHA6ICdjdXN0b20gcGFnZXMgZm9yIHBhc3N3b3JkIHZhbGlkYXRpb24gYW5kIHJlc2V0JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdDdXN0b21QYWdlc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBkYXRhYmFzZUFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgZGF0YWJhc2U7IGFueSBvcHRpb25zIHRoYXQgYXJlIG5vdCBleHBsaWNpdGx5IGRlc2NyaWJlZCBoZXJlIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIGRhdGFiYXNlIGNsaWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZGF0YWJhc2VPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGRhdGFiYXNlIGNsaWVudCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnRGF0YWJhc2VPcHRpb25zJyxcbiAgfSxcbiAgZGF0YWJhc2VVUkk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfVVJJJyxcbiAgICBoZWxwOiAnVGhlIGZ1bGwgVVJJIHRvIHlvdXIgZGF0YWJhc2UuIFN1cHBvcnRlZCBkYXRhYmFzZXMgYXJlIG1vbmdvZGIgb3IgcG9zdGdyZXMuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZWZhdWx0OiAnbW9uZ29kYjovL2xvY2FsaG9zdDoyNzAxNy9wYXJzZScsXG4gIH0sXG4gIGRlZmF1bHRMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9ERUZBVUxUX0xJTUlUJyxcbiAgICBoZWxwOiAnRGVmYXVsdCB2YWx1ZSBmb3IgbGltaXQgb3B0aW9uIG9uIHF1ZXJpZXMsIGRlZmF1bHRzIHRvIGAxMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZGVmYXVsdExpbWl0JyksXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxuICBkaXJlY3RBY2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRElSRUNUX0FDQ0VTUycsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBzYW1lIE5vZGUuanMgZW52aXJvbm1lbnQgYXMgUGFyc2UgU2VydmVyIHNob3VsZCBiZSByb3V0ZWQgdG8gUGFyc2UgU2VydmVyIGRpcmVjdGx5IGluc3RlYWQgb2YgdmlhIHRoZSBIVFRQIGludGVyZmFjZS4gRGVmYXVsdCBpcyBgZmFsc2VgLjxicj48YnI+SWYgc2V0IHRvIGBmYWxzZWAgdGhlbiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgYXJlIGV4ZWN1dGVkIGFzIEhUVFAgcmVxdWVzdHMgc2VudCB0byBQYXJzZSBTZXJ2ZXIgdmlhIHRoZSBgc2VydmVyVVJMYC4gRm9yIGV4YW1wbGUsIGEgYFBhcnNlLlF1ZXJ5YCBpbiBDbG91ZCBDb2RlIGlzIGNhbGxpbmcgUGFyc2UgU2VydmVyIHZpYSBhIEhUVFAgcmVxdWVzdC4gVGhlIHNlcnZlciBpcyBlc3NlbnRpYWxseSBtYWtpbmcgYSBIVFRQIHJlcXVlc3QgdG8gaXRzZWxmLCB1bm5lY2Vzc2FyaWx5IHVzaW5nIG5ldHdvcmsgcmVzb3VyY2VzIHN1Y2ggYXMgbmV0d29yayBwb3J0cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIEluIGVudmlyb25tZW50cyB3aGVyZSBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIHJ1biBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyIGFuZCBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIGN1cnJlbnQgTm9kZS5qcyBlbnZpcm9ubWVudCBzaG91bGQgYmUgcm91dGVkIHZpYSB0aGUgbG9hZCBiYWxhbmNlciBhbmQgZGlzdHJpYnV0ZWQgYXMgSFRUUCByZXF1ZXN0cyBhbW9uZyBhbGwgaW5zdGFuY2VzIHZpYSB0aGUgYHNlcnZlclVSTGAsIHRoaXMgc2hvdWxkIGJlIHNldCB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZG90TmV0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RPVF9ORVRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBVbml0eSBhbmQgLk5ldCBTREsnLFxuICB9LFxuICBlbWFpbEFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciBlbWFpbCBzZW5kaW5nJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5U3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byB2ZXJpZnkgdGhlIGVtYWlsIHNob3VsZCByZXR1cm4gYSBzdWNjZXNzIHJlc3BvbnNlIGV2ZW4gaWYgdGhlIHByb3ZpZGVkIGVtYWlsIGFkZHJlc3MgZG9lcyBub3QgYmVsb25nIHRvIGEgdmVyaWZpYWJsZSBhY2NvdW50LCBmb3IgZXhhbXBsZSBiZWNhdXNlIGl0IGlzIHVua25vd24gb3IgYWxyZWFkeSB2ZXJpZmllZCwgb3IgYGZhbHNlYCBpZiB0aGUgcmVxdWVzdCBzaG91bGQgcmV0dXJuIGFuIGVycm9yIHJlc3BvbnNlIGluIHRob3NlIGNhc2VzLjxicj48YnI+RGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbWFpbFZlcmlmeVRva2VuUmV1c2VJZlZhbGlkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9UT0tFTl9SRVVTRV9JRl9WQUxJRCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgaWYgYSBlbWFpbCB2ZXJpZmljYXRpb24gdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSB0b2tlbiBleHBpcmVzLiBUaGUgdG9rZW4gaXMgdXNlZCBpbiB0aGUgbGluayB0aGF0IGlzIHNldCBpbiB0aGUgZW1haWwuIEFmdGVyIHRoZSB0b2tlbiBleHBpcmVzLCB0aGUgbGluayBiZWNvbWVzIGludmFsaWQgYW5kIGEgbmV3IGxpbmsgaGFzIHRvIGJlIHNlbnQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYHVuZGVmaW5lZGAsIHRoZW4gdGhlIHRva2VuIG5ldmVyIGV4cGlyZXMuPGJyPjxicj5Gb3IgZXhhbXBsZSwgdG8gZXhwaXJlIHRoZSB0b2tlbiBhZnRlciAyIGhvdXJzLCBzZXQgYSB2YWx1ZSBvZiA3MjAwIHNlY29uZHMgKD0gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXMgKiAyIGhvdXJzKS48YnI+PGJyPkRlZmF1bHQgaXMgYHVuZGVmaW5lZGAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbicpLFxuICB9LFxuICBlbmFibGVBbm9ueW1vdXNVc2Vyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfQU5PTl9VU0VSUycsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgYW5vbnltb3VzIHVzZXJzLCBkZWZhdWx0cyB0byB0cnVlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVDb2xsYXRpb25DYXNlQ29tcGFyaXNvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfQ09MTEFUSU9OX0NBU0VfQ09NUEFSSVNPTicsXG4gICAgaGVscDogJ09wdGlvbmFsLiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgY29sbGF0aW9uIHJ1bGUgb2YgY2FzZSBjb21wYXJpc29uIGZvciBxdWVyaWVzIGFuZCBpbmRleGVzIGlzIGVuYWJsZWQuIEVuYWJsZSB0aGlzIG9wdGlvbiB0byBydW4gUGFyc2UgU2VydmVyIHdpdGggTW9uZ29EQiBBdGxhcyBTZXJ2ZXJsZXNzIG9yIEFXUyBBbWF6b24gRG9jdW1lbnREQi4gSWYgYGZhbHNlYCwgdGhlIGNvbGxhdGlvbiBydWxlIG9mIGNhc2UgY29tcGFyaXNvbiBpcyBkaXNhYmxlZC4gRGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUV4cHJlc3NFcnJvckhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0VYUFJFU1NfRVJST1JfSEFORExFUicsXG4gICAgaGVscDogJ0VuYWJsZXMgdGhlIGRlZmF1bHQgZXhwcmVzcyBlcnJvciBoYW5kbGVyIGZvciBhbGwgZXJyb3JzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlSW5zZWN1cmVBdXRoQWRhcHRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0lOU0VDVVJFX0FVVEhfQURBUFRFUlMnLFxuICAgIGhlbHA6ICdPcHRpb25hbC4gRW5hYmxlcyBpbnNlY3VyZSBhdXRoZW50aWNhdGlvbiBhZGFwdGVycy4gSW5zZWN1cmUgYXV0aCBhZGFwdGVycyBhcmUgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIERlZmF1bHRzIHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlUHJvZHVjdFB1cmNoYXNlTGVnYWN5QXBpOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9QUk9EVUNUX1BVUkNIQVNFX0xFR0FDWV9BUEknLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBFbmFibGVzIHRoZSBsZWdhY3kgcHJvZHVjdCBwdXJjaGFzZSBBUEkgaW5jbHVkaW5nIHRoZSBgX1Byb2R1Y3RgIGNsYXNzIGFuZCB0aGUgYC92YWxpZGF0ZV9wdXJjaGFzZWAgZW5kcG9pbnQuIFRoaXMgaXMgYW4gdW5kb2N1bWVudGVkLCB1bm1haW50YWluZWQgbGVnYWN5IGZlYXR1cmUgaW5oZXJpdGVkIGZyb20gdGhlIG9yaWdpbmFsIFBhcnNlIHBsYXRmb3JtIHRoYXQgbWF5IG5vdCBmdW5jdGlvbiBhcyBleHBlY3RlZC4gV2Ugc3Ryb25nbHkgYWR2aXNlIGFnYWluc3QgdXNpbmcgaXQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciB2ZXJzaW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlU2FuaXRpemVkRXJyb3JSZXNwb25zZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfU0FOSVRJWkVEX0VSUk9SX1JFU1BPTlNFJyxcbiAgICBoZWxwOiAnSWYgc2V0IHRvIGB0cnVlYCwgZXJyb3IgZGV0YWlscyBhcmUgcmVtb3ZlZCBmcm9tIGVycm9yIG1lc3NhZ2VzIGluIHJlc3BvbnNlcyB0byBjbGllbnQgcmVxdWVzdHMsIGFuZCBpbnN0ZWFkIGEgZ2VuZXJpYyBlcnJvciBtZXNzYWdlIGlzIHNlbnQuIERlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5jcnlwdGlvbktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkNSWVBUSU9OX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgZW5jcnlwdGluZyB5b3VyIGZpbGVzJyxcbiAgfSxcbiAgZW5mb3JjZVByaXZhdGVVc2Vyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkZPUkNFX1BSSVZBVEVfVVNFUlMnLFxuICAgIGhlbHA6ICdTZXQgdG8gdHJ1ZSBpZiBuZXcgdXNlcnMgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aG91dCBwdWJsaWMgcmVhZCBhbmQgd3JpdGUgYWNjZXNzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZXhwaXJlSW5hY3RpdmVTZXNzaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBJUkVfSU5BQ1RJVkVfU0VTU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHdoZXRoZXIgd2Ugc2hvdWxkIGV4cGlyZSB0aGUgaW5hY3RpdmUgc2Vzc2lvbnMsIGRlZmF1bHRzIHRvIHRydWUuIElmIGZhbHNlLCBhbGwgbmV3IHNlc3Npb25zIGFyZSBjcmVhdGVkIHdpdGggbm8gZXhwaXJhdGlvbiBkYXRlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZXh0ZW5kU2Vzc2lvbk9uVXNlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYVEVORF9TRVNTSU9OX09OX1VTRScsXG4gICAgaGVscDogXCJXaGV0aGVyIFBhcnNlIFNlcnZlciBzaG91bGQgYXV0b21hdGljYWxseSBleHRlbmQgYSB2YWxpZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uTGVuZ3RoLiBJbiBvcmRlciB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBzZXNzaW9uIHVwZGF0ZXMgaW4gdGhlIGRhdGFiYXNlLCBhIHNlc3Npb24gd2lsbCBvbmx5IGJlIGV4dGVuZGVkIHdoZW4gYSByZXF1ZXN0IGlzIHJlY2VpdmVkIGFmdGVyIGF0IGxlYXN0IGhhbGYgb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbidzIGxpZmV0aW1lIGhhcyBwYXNzZWQuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZpbGVLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHlvdXIgZmlsZXMnLFxuICB9LFxuICBmaWxlc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRVNfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgZmlsZXMgc3ViLXN5c3RlbScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBmaWxlVXBsb2FkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIGZvciBmaWxlIHVwbG9hZHMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0ZpbGVVcGxvYWRPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZ3JhcGhRTFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhRTF9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIG1vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50PGJyPjxicj5cXHUyNkEwXFx1RkUwRiBGaWxlIHVwbG9hZCBpbnNpZGUgdGhlIEdyYXBoUUwgbXV0YXRpb24gc3lzdGVtIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHRzIGlzIGAvZ3JhcGhxbGAuJyxcbiAgICBkZWZhdWx0OiAnL2dyYXBocWwnLFxuICB9LFxuICBncmFwaFFMUHVibGljSW50cm9zcGVjdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSFFMX1BVQkxJQ19JTlRST1NQRUNUSU9OJyxcbiAgICBoZWxwOiAnRW5hYmxlIHB1YmxpYyBpbnRyb3NwZWN0aW9uIGZvciB0aGUgR3JhcGhRTCBlbmRwb2ludCwgZGVmYXVsdHMgdG8gZmFsc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBncmFwaFFMU2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIX1FMU0NIRU1BJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgR3JhcGhRTCBjdXN0b20gc2NoZW1hLmdyYXBocWwgZmlsZScsXG4gIH0sXG4gIGhvc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSE9TVCcsXG4gICAgaGVscDogJ1RoZSBob3N0IHRvIHNlcnZlIFBhcnNlU2VydmVyIG9uLCBkZWZhdWx0cyB0byAwLjAuMC4wJyxcbiAgICBkZWZhdWx0OiAnMC4wLjAuMCcsXG4gIH0sXG4gIGlkZW1wb3RlbmN5T3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIHJlcXVlc3QgaWRlbXBvdGVuY3kgdG8gZGVkdXBsaWNhdGUgaWRlbnRpY2FsIHJlcXVlc3RzIHRoYXQgbWF5IGJlIGNhdXNlZCBieSBuZXR3b3JrIGlzc3Vlcy4gQ2F1dGlvbiwgdGhpcyBpcyBhbiBleHBlcmltZW50YWwgZmVhdHVyZSB0aGF0IG1heSBub3QgYmUgYXBwcm9wcmlhdGUgZm9yIHByb2R1Y3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdJZGVtcG90ZW5jeU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBqYXZhc2NyaXB0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0pBVkFTQ1JJUFRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciB0aGUgSmF2YXNjcmlwdCBTREsnLFxuICB9LFxuICBqc29uTG9nczoge1xuICAgIGVudjogJ0pTT05fTE9HUycsXG4gICAgaGVscDogJ0xvZyBhcyBzdHJ1Y3R1cmVkIEpTT04gb2JqZWN0cycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGxpdmVRdWVyeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFX1FVRVJZJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjb25maWd1cmF0aW9uIG9iamVjdFwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0xpdmVRdWVyeU9wdGlvbnMnLFxuICB9LFxuICBsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUllfU0VSVkVSX09QVElPTlMnLFxuICAgIGhlbHA6ICdMaXZlIHF1ZXJ5IHNlcnZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgKHdpbGwgc3RhcnQgdGhlIGxpdmVRdWVyeSBzZXJ2ZXIpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMaXZlUXVlcnlTZXJ2ZXJPcHRpb25zJyxcbiAgfSxcbiAgbG9nZ2VyQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dHRVJfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgbG9nZ2luZyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIGxldmVsIGZvciBsb2dzJyxcbiAgfSxcbiAgbG9nTGV2ZWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFMnLFxuICAgIGhlbHA6ICcoT3B0aW9uYWwpIE92ZXJyaWRlcyB0aGUgbG9nIGxldmVscyB1c2VkIGludGVybmFsbHkgYnkgUGFyc2UgU2VydmVyIHRvIGxvZyBldmVudHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdMb2dMZXZlbHMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBsb2dzRm9sZGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR1NfRk9MREVSJyxcbiAgICBoZWxwOiBcIkZvbGRlciBmb3IgdGhlIGxvZ3MgKGRlZmF1bHRzIHRvICcuL2xvZ3MnKTsgc2V0IHRvIG51bGwgdG8gZGlzYWJsZSBmaWxlIGJhc2VkIGxvZ2dpbmdcIixcbiAgICBkZWZhdWx0OiAnLi9sb2dzJyxcbiAgfSxcbiAgbWFpbnRlbmFuY2VLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFJTlRFTkFOQ0VfS0VZJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgbWFpbnRlbmFuY2Uga2V5IGlzIHVzZWQgZm9yIG1vZGlmeWluZyBpbnRlcm5hbCBhbmQgcmVhZC1vbmx5IGZpZWxkcyBvZiBQYXJzZSBTZXJ2ZXIuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBUaGlzIGtleSBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGEgcmVndWxhciBvcGVyYXRpb24gb2YgUGFyc2UgU2VydmVyLiBUaGlzIGtleSBpcyBpbnRlbmRlZCB0byBjb25kdWN0IG91dC1vZi1iYW5kIGNoYW5nZXMgc3VjaCBhcyBvbmUtdGltZSBtaWdyYXRpb25zIG9yIGRhdGEgY29ycmVjdGlvbiB0YXNrcy4gSW50ZXJuYWwgZmllbGRzIGFyZSBub3Qgb2ZmaWNpYWxseSBkb2N1bWVudGVkIGFuZCBtYXkgY2hhbmdlIGF0IGFueSB0aW1lIHdpdGhvdXQgcHVibGljYXRpb24gaW4gcmVsZWFzZSBjaGFuZ2Vsb2dzLiBXZSBzdHJvbmdseSBhZHZpY2Ugbm90IHRvIHJlbHkgb24gaW50ZXJuYWwgZmllbGRzIGFzIHBhcnQgb2YgeW91ciByZWd1bGFyIG9wZXJhdGlvbiBhbmQgdG8gaW52ZXN0aWdhdGUgdGhlIGltcGxpY2F0aW9ucyBvZiBhbnkgcGxhbm5lZCBjaGFuZ2VzICpkaXJlY3RseSBpbiB0aGUgc291cmNlIGNvZGUqIG9mIHlvdXIgY3VycmVudCB2ZXJzaW9uIG9mIFBhcnNlIFNlcnZlci4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYWludGVuYW5jZUtleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQUlOVEVOQU5DRV9LRVlfSVBTJyxcbiAgICBoZWxwOiBcIihPcHRpb25hbCkgUmVzdHJpY3RzIHRoZSB1c2Ugb2YgbWFpbnRlbmFuY2Uga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYWludGVuYW5jZSBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5IGFuZCBlZmZlY3RpdmVseSBkaXNhYmxlcyB0aGUgSVAgZmlsdGVyLjxicj48YnI+PGI+Q29uc2lkZXJhdGlvbnM6PC9iPjxicj4tIElQdjQgYW5kIElQdjYgYWRkcmVzc2VzIGFyZSBub3QgY29tcGFyZWQgYWdhaW5zdCBlYWNoIG90aGVyLiBFYWNoIElQIHZlcnNpb24gKElQdjQgYW5kIElQdjYpIG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgc2VwYXJhdGVseS4gRm9yIGV4YW1wbGUsIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgYW55IElQdjQgYWRkcmVzcyBhbmQgYmxvY2tzIGV2ZXJ5IElQdjYgYWRkcmVzcy4gQ29udmVyc2VseSwgYFsnOjowJ11gIGFsbG93cyBhbnkgSVB2NiBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NCBhZGRyZXNzLjxicj4tIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBJUCB2ZXJzaW9uIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBuZXR3b3JrIHN0YWNrIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB3aGljaCBQYXJzZSBTZXJ2ZXIgcnVucy4gQSBsb2NhbCBlbnZpcm9ubWVudCBtYXkgdXNlIGEgZGlmZmVyZW50IElQIHZlcnNpb24gdGhhbiBhIHJlbW90ZSBlbnZpcm9ubWVudC4gRm9yIGV4YW1wbGUsIGl0J3MgcG9zc2libGUgdGhhdCBsb2NhbGx5IHRoZSB2YWx1ZSBgWycwLjAuMC4wLzAnXWAgYWxsb3dzIHRoZSByZXF1ZXN0IElQIGJlY2F1c2UgdGhlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjQsIGJ1dCB3aGVuIFBhcnNlIFNlcnZlciBpcyBkZXBsb3llZCByZW1vdGVseSB0aGUgcmVxdWVzdCBJUCBpcyBibG9ja2VkIGJlY2F1c2UgdGhlIHJlbW90ZSBlbnZpcm9ubWVudCBpcyB1c2luZyBJUHY2Ljxicj4tIFdoZW4gc2V0dGluZyB0aGUgb3B0aW9uIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0aGUgbm90YXRpb24gaXMgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLCBmb3IgZXhhbXBsZSBgXFxcIjAuMC4wLjAvMCw6OjBcXFwiYC48YnI+LSBJUHY2IHpvbmUgaW5kaWNlcyAoYCVgIHN1ZmZpeCkgYXJlIG5vdCBzdXBwb3J0ZWQsIGZvciBleGFtcGxlIGBmZTgwOjoxJWV0aDBgLCBgZmU4MDo6MSUxYCBvciBgOjoxJWxvYC48YnI+PGJyPkRlZmF1bHRzIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgd2hpY2ggbWVhbnMgdGhhdCBvbmx5IGBsb2NhbGhvc3RgLCB0aGUgc2VydmVyIGluc3RhbmNlIG9uIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLCBpcyBhbGxvd2VkIHRvIHVzZSB0aGUgbWFpbnRlbmFuY2Uga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIE1hc3RlciBLZXknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYXN0ZXJLZXlJcHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiBtYXN0ZXIga2V5IHBlcm1pc3Npb25zIHRvIGEgbGlzdCBvZiBJUCBhZGRyZXNzZXMgb3IgcmFuZ2VzLjxicj48YnI+VGhpcyBvcHRpb24gYWNjZXB0cyBhIGxpc3Qgb2Ygc2luZ2xlIElQIGFkZHJlc3NlcywgZm9yIGV4YW1wbGUgYFsnMTAuMC4wLjEnLCAnMTAuMC4wLjInXWAuIFlvdSBjYW4gYWxzbyB1c2UgQ0lEUiBub3RhdGlvbiB0byBzcGVjaWZ5IGFuIElQIGFkZHJlc3MgcmFuZ2UsIGZvciBleGFtcGxlIGBbJzEwLjAuMS4wLzI0J11gLjxicj48YnI+PGI+U3BlY2lhbCBzY2VuYXJpb3M6PC9iPjxicj4tIFNldHRpbmcgYW4gZW1wdHkgYXJyYXkgYFtdYCBtZWFucyB0aGF0IHRoZSBtYXN0ZXIga2V5IGNhbm5vdCBiZSB1c2VkIGV2ZW4gaW4gUGFyc2UgU2VydmVyIENsb3VkIENvZGUuIFRoaXMgdmFsdWUgY2Fubm90IGJlIHNldCB2aWEgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIHBhc3MgYW4gZW1wdHkgYXJyYXkgdG8gUGFyc2UgU2VydmVyIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS48YnI+LSBTZXR0aW5nIGBbJzAuMC4wLjAvMCcsICc6OjAnXWAgbWVhbnMgdG8gYWxsb3cgYW55IElQdjQgYW5kIElQdjYgYWRkcmVzcyB0byB1c2UgdGhlIG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMTI3LjAuMC4xJywgJzo6MSddYCB3aGljaCBtZWFucyB0aGF0IG9ubHkgYGxvY2FsaG9zdGAsIHRoZSBzZXJ2ZXIgaW5zdGFuY2Ugb24gd2hpY2ggUGFyc2UgU2VydmVyIHJ1bnMsIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSBtYXN0ZXIga2V5LlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzEyNy4wLjAuMScsICc6OjEnXSxcbiAgfSxcbiAgbWFzdGVyS2V5VHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVlfVFRMJyxcbiAgICBoZWxwOiAnKE9wdGlvbmFsKSBUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBmb3Igd2hpY2ggdGhlIGN1cnJlbnQgYG1hc3RlcktleWAgaXMgYmVpbmcgdXNlZCBiZWZvcmUgaXQgaXMgcmVxdWVzdGVkIGFnYWluIGlmIGBtYXN0ZXJLZXlgIGlzIHNldCB0byBhIGZ1bmN0aW9uLiBJZiBgbWFzdGVyS2V5YCBpcyBub3Qgc2V0IHRvIGEgZnVuY3Rpb24sIHRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QuIERlZmF1bHQgaXMgYDBgLCB3aGljaCBtZWFucyB0aGUgbWFzdGVyIGtleSBpcyByZXF1ZXN0ZWQgYnkgaW52b2tpbmcgdGhlICBgbWFzdGVyS2V5YCBmdW5jdGlvbiBldmVyeSB0aW1lIHRoZSBtYXN0ZXIga2V5IGlzIHVzZWQgaW50ZXJuYWxseSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXN0ZXJLZXlUdGwnKSxcbiAgfSxcbiAgbWF4TGltaXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFYX0xJTUlUJyxcbiAgICBoZWxwOiAnTWF4IHZhbHVlIGZvciBsaW1pdCBvcHRpb24gb24gcXVlcmllcywgZGVmYXVsdHMgdG8gdW5saW1pdGVkJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhMaW1pdCcpLFxuICB9LFxuICBtYXhMb2dGaWxlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTE9HX0ZJTEVTJyxcbiAgICBoZWxwOiBcIk1heGltdW0gbnVtYmVyIG9mIGxvZ3MgdG8ga2VlcC4gSWYgbm90IHNldCwgbm8gbG9ncyB3aWxsIGJlIHJlbW92ZWQuIFRoaXMgY2FuIGJlIGEgbnVtYmVyIG9mIGZpbGVzIG9yIG51bWJlciBvZiBkYXlzLiBJZiB1c2luZyBkYXlzLCBhZGQgJ2QnIGFzIHRoZSBzdWZmaXguIChkZWZhdWx0OiBudWxsKVwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJPclN0cmluZ1BhcnNlcignbWF4TG9nRmlsZXMnKSxcbiAgfSxcbiAgbWF4VXBsb2FkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfVVBMT0FEX1NJWkUnLFxuICAgIGhlbHA6ICdNYXggZmlsZSBzaXplIGZvciB1cGxvYWRzLCBkZWZhdWx0cyB0byAyMG1iJyxcbiAgICBkZWZhdWx0OiAnMjBtYicsXG4gIH0sXG4gIG1pZGRsZXdhcmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUlERExFV0FSRScsXG4gICAgaGVscDogJ21pZGRsZXdhcmUgZm9yIGV4cHJlc3Mgc2VydmVyLCBjYW4gYmUgc3RyaW5nIG9yIGZ1bmN0aW9uJyxcbiAgfSxcbiAgbW91bnRHcmFwaFFMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX0dSQVBIUUwnLFxuICAgIGhlbHA6ICdNb3VudHMgdGhlIEdyYXBoUUwgZW5kcG9pbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBtb3VudFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBzZXJ2ZXIsIGRlZmF1bHRzIHRvIC9wYXJzZScsXG4gICAgZGVmYXVsdDogJy9wYXJzZScsXG4gIH0sXG4gIG1vdW50UGxheWdyb3VuZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QTEFZR1JPVU5EJyxcbiAgICBoZWxwOiAnRGVwcmVjYXRlZC4gTW91bnRzIHRoZSBHcmFwaFFMIFBsYXlncm91bmQgd2hpY2ggaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIFRoZSBwbGF5Z3JvdW5kIGV4cG9zZXMgdGhlIG1hc3RlciBrZXkgaW4gdGhlIGJyb3dzZXIuIFVzZSBQYXJzZSBEYXNoYm9hcmQgYXMgR3JhcGhRTCBJREUgb3IgY29uZmlndXJlIGEgdGhpcmQtcGFydHkgR3JhcGhRTCBjbGllbnQgd2l0aCBjdXN0b20gcmVxdWVzdCBoZWFkZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG9iamVjdElkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9PQkpFQ1RfSURfU0laRScsXG4gICAgaGVscDogXCJTZXRzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBnZW5lcmF0ZWQgb2JqZWN0IGlkJ3MsIGRlZmF1bHQgMTBcIixcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdvYmplY3RJZFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMCxcbiAgfSxcbiAgcGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVMnLFxuICAgIGhlbHA6ICdUaGUgb3B0aW9ucyBmb3IgcGFnZXMgc3VjaCBhcyBwYXNzd29yZCByZXNldCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICB0eXBlOiAnUGFnZXNPcHRpb25zJyxcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcGFzc3dvcmRQb2xpY3k6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZJyxcbiAgICBoZWxwOiAnVGhlIHBhc3N3b3JkIHBvbGljeSBmb3IgZW5mb3JjaW5nIHBhc3N3b3JkIHJlbGF0ZWQgcnVsZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdQYXNzd29yZFBvbGljeU9wdGlvbnMnLFxuICB9LFxuICBwbGF5Z3JvdW5kUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QTEFZR1JPVU5EX1BBVEgnLFxuICAgIGhlbHA6ICdEZXByZWNhdGVkLiBNb3VudCBwYXRoIGZvciB0aGUgR3JhcGhRTCBQbGF5Z3JvdW5kLiBUaGUgcGxheWdyb3VuZCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4nLFxuICAgIGRlZmF1bHQ6ICcvcGxheWdyb3VuZCcsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBQYXJzZVNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwcmVzZXJ2ZUZpbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVNFUlZFX0ZJTEVfTkFNRScsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgdGhlIGFkZGl0aW9uIG9mIGEgdW5pcXVlIGhhc2ggdG8gdGhlIGZpbGUgbmFtZXMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcmV2ZW50TG9naW5XaXRoVW52ZXJpZmllZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BSRVZFTlRfTE9HSU5fV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIlNldCB0byBgdHJ1ZWAgdG8gcHJldmVudCBhIHVzZXIgZnJvbSBsb2dnaW5nIGluIGlmIHRoZSBlbWFpbCBoYXMgbm90IHlldCBiZWVuIHZlcmlmaWVkIGFuZCBlbWFpbCB2ZXJpZmljYXRpb24gaXMgcmVxdWlyZWQuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgcHJldmVudGlvbi4gVGhlIGZ1bmN0aW9uIHJlY2VpdmVzIGEgcmVxdWVzdCBvYmplY3QgdGhhdCBpbmNsdWRlcyBgY3JlYXRlZFdpdGhgIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGludm9jYXRpb24gaXMgZm9yIGBzaWdudXBgIG9yIGBsb2dpbmAgYW5kIHRoZSB1c2VkIGF1dGggcHJvdmlkZXIuPGJyPjxicj5UaGUgYGNyZWF0ZWRXaXRoYCB2YWx1ZXMgcGVyIHNjZW5hcmlvOjx1bD48bGk+UGFzc3dvcmQgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIHNpZ251cDogYHsgYWN0aW9uOiAnc2lnbnVwJywgYXV0aFByb3ZpZGVyOiAnPHByb3ZpZGVyPicgfWA8L2xpPjxsaT5QYXNzd29yZCBsb2dpbjogYHsgYWN0aW9uOiAnbG9naW4nLCBhdXRoUHJvdmlkZXI6ICdwYXNzd29yZCcgfWA8L2xpPjxsaT5BdXRoIHByb3ZpZGVyIGxvZ2luOiBmdW5jdGlvbiBub3QgaW52b2tlZDsgYXV0aCBwcm92aWRlciBsb2dpbiBieXBhc3NlcyBlbWFpbCB2ZXJpZmljYXRpb248L2xpPjwvdWw+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuT3JGdW5jdGlvblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJldmVudFNpZ251cFdpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9TSUdOVVBfV0lUSF9VTlZFUklGSUVEX0VNQUlMJyxcbiAgICBoZWxwOiBcIklmIHNldCB0byBgdHJ1ZWAgaXQgcHJldmVudHMgYSB1c2VyIGZyb20gc2lnbmluZyB1cCBpZiB0aGUgZW1haWwgaGFzIG5vdCB5ZXQgYmVlbiB2ZXJpZmllZCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVkLiBJbiB0aGF0IGNhc2UgdGhlIHNlcnZlciByZXNwb25kcyB0byB0aGUgc2lnbi11cCB3aXRoIEhUVFAgc3RhdHVzIDQwMCBhbmQgYSBQYXJzZSBFcnJvciAyMDUgYEVNQUlMX05PVF9GT1VORGAuIElmIHNldCB0byBgZmFsc2VgIHRoZSBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBIVFRQIHN0YXR1cyAyMDAsIGFuZCBjbGllbnQgU0RLcyByZXR1cm4gYW4gdW5hdXRoZW50aWNhdGVkIFBhcnNlIFVzZXIgd2l0aG91dCBzZXNzaW9uIHRva2VuLiBJbiB0aGF0IGNhc2Ugc3Vic2VxdWVudCByZXF1ZXN0cyBmYWlsIHVudGlsIHRoZSB1c2VyJ3MgZW1haWwgYWRkcmVzcyBpcyB2ZXJpZmllZC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFMnLFxuICAgIGhlbHA6IFwiRmllbGRzIHBlciBjbGFzcyB0aGF0IGFyZSBoaWRkZW4gZnJvbSBxdWVyeSByZXN1bHRzIGZvciBzcGVjaWZpYyB1c2VyIGdyb3Vwcy4gUHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSB0aGUgc2VydmVyIHJlc3BvbnNlLCBidXQgY2FuIHN0aWxsIGJlIHVzZWQgaW50ZXJuYWxseSAoZS5nLiBpbiBDbG91ZCBDb2RlIHRyaWdnZXJzKS4gQ29uZmlndXJlIGFzIGB7ICdDbGFzc05hbWUnOiB7ICdVc2VyR3JvdXAnOiBbJ2ZpZWxkMScsICdmaWVsZDInXSB9IH1gIHdoZXJlIGBVc2VyR3JvdXBgIGlzIG9uZSBvZjogYCcqJ2AgKGFsbCB1c2VycyksIGAnYXV0aGVudGljYXRlZCdgIChhdXRoZW50aWNhdGVkIHVzZXJzKSwgYCdyb2xlOlJvbGVOYW1lJ2AgKHVzZXJzIHdpdGggYSBzcGVjaWZpYyByb2xlKSwgYCd1c2VyRmllbGQ6RmllbGROYW1lJ2AgKHVzZXJzIHJlZmVyZW5jZWQgYnkgYSBwb2ludGVyIGZpZWxkKSwgb3IgYSB1c2VyIGBvYmplY3RJZGAgdG8gdGFyZ2V0IGEgc3BlY2lmaWMgdXNlci4gV2hlbiBtdWx0aXBsZSBncm91cHMgYXBwbHksIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlaXIgcHJvdGVjdGVkIGZpZWxkcyBpcyB1c2VkLiBBbnkgZmllbGQgY2FuIGJlIHByb3RlY3RlZCwgaW5jbHVkaW5nIHN5c3RlbSBmaWVsZHMgbGlrZSBgY3JlYXRlZEF0YCBhbmQgYHVwZGF0ZWRBdGAuIEJ5IGRlZmF1bHQsIGBlbWFpbGAgaXMgcHJvdGVjdGVkIG9uIHRoZSBgX1VzZXJgIGNsYXNzIGZvciBhbGwgdXNlcnMuIE9uIHRoZSBgX1VzZXJgIGNsYXNzLCB0aGUgb2JqZWN0IG93bmVyIGlzIGV4ZW1wdCBmcm9tIHByb3RlY3RlZCBmaWVsZHMgYnkgZGVmYXVsdDsgc2VlIGBwcm90ZWN0ZWRGaWVsZHNPd25lckV4ZW1wdGAgdG8gY2hhbmdlIHRoaXMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7XG4gICAgICBfVXNlcjoge1xuICAgICAgICAnKic6IFsnZW1haWwnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgcHJvdGVjdGVkRmllbGRzT3duZXJFeGVtcHQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEU19PV05FUl9FWEVNUFQnLFxuICAgIGhlbHA6IFwiV2hldGhlciB0aGUgYF9Vc2VyYCBjbGFzcyBpcyBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYCB3aGVuIHRoZSBsb2dnZWQtaW4gdXNlciBxdWVyaWVzIHRoZWlyIG93biB1c2VyIG9iamVjdC4gSWYgYHRydWVgIChkZWZhdWx0KSwgYSB1c2VyIGNhbiBzZWUgYWxsIHRoZWlyIG93biBmaWVsZHMgcmVnYXJkbGVzcyBvZiBgcHJvdGVjdGVkRmllbGRzYCBjb25maWd1cmF0aW9uOyBkZWZhdWx0IHByb3RlY3RlZCBmaWVsZHMgKGUuZy4gYGVtYWlsYCkgYXJlIG1lcmdlZCBpbnRvIGFueSBjdXN0b20gYHByb3RlY3RlZEZpZWxkc2AgY29uZmlndXJhdGlvbi4gSWYgYGZhbHNlYCwgYHByb3RlY3RlZEZpZWxkc2AgYXBwbGllcyBlcXVhbGx5IHRvIHRoZSB1c2VyJ3Mgb3duIG9iamVjdCwgY29uc2lzdGVudCB3aXRoIGFsbCBvdGhlciBjbGFzc2VzOyBvbmx5IGV4cGxpY2l0bHkgY29uZmlndXJlZCBwcm90ZWN0ZWQgZmllbGRzIGFwcGx5LCBkZWZhdWx0cyBhcmUgbm90IG1lcmdlZC4gRGVmYXVsdHMgdG8gYHRydWVgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIHByb3RlY3RlZEZpZWxkc1NhdmVSZXNwb25zZUV4ZW1wdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUk9URUNURURfRklFTERTX1NBVkVfUkVTUE9OU0VfRVhFTVBUJyxcbiAgICBoZWxwOiAnV2hldGhlciBzYXZlIG9wZXJhdGlvbiByZXNwb25zZXMgKGNyZWF0ZSwgdXBkYXRlKSBhcmUgZXhlbXB0IGZyb20gYHByb3RlY3RlZEZpZWxkc2AuIElmIGB0cnVlYCAoZGVmYXVsdCksIHByb3RlY3RlZCBmaWVsZHMgbW9kaWZpZWQgZHVyaW5nIGEgc2F2ZSBhcmUgaW5jbHVkZWQgaW4gdGhlIHJlc3BvbnNlIHRvIHRoZSBjbGllbnQuIElmIGBmYWxzZWAsIHByb3RlY3RlZCBmaWVsZHMgYXJlIHN0cmlwcGVkIGZyb20gc2F2ZSByZXNwb25zZXMsIGNvbnNpc3RlbnQgd2l0aCBob3cgdGhleSBhcmUgc3RyaXBwZWQgZnJvbSBxdWVyeSByZXN1bHRzLiBEZWZhdWx0cyB0byBgdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHNUcmlnZ2VyRXhlbXB0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BST1RFQ1RFRF9GSUVMRFNfVFJJR0dFUl9FWEVNUFQnLFxuICAgIGhlbHA6IFwiV2hldGhlciBDbG91ZCBDb2RlIHRyaWdnZXJzIChlLmcuIGBiZWZvcmVTYXZlYCwgYGFmdGVyU2F2ZWApIGFyZSBleGVtcHQgZnJvbSBgcHJvdGVjdGVkRmllbGRzYC4gSWYgYHRydWVgLCB0cmlnZ2VycyByZWNlaXZlIHRoZSBmdWxsIG9iamVjdCBpbmNsdWRpbmcgcHJvdGVjdGVkIGZpZWxkcyBpbiBgcmVxdWVzdC5vYmplY3RgIGFuZCBgcmVxdWVzdC5vcmlnaW5hbGAsIHJlZ2FyZGxlc3Mgb2YgdGhlIGNhbGxlcidzIGF1dGggY29udGV4dC4gSWYgYGZhbHNlYCwgcHJvdGVjdGVkIGZpZWxkcyBhcmUgc3RyaXBwZWQgZnJvbSB0aGUgb3JpZ2luYWwgb2JqZWN0IGZldGNoIHVzZWQgdG8gYnVpbGQgdHJpZ2dlciBvYmplY3RzLiBEZWZhdWx0cyB0byBgZmFsc2VgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwdWJsaWNTZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9QVUJMSUNfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ09wdGlvbmFsLiBUaGUgcHVibGljIFVSTCB0byBQYXJzZSBTZXJ2ZXIuIFRoaXMgVVJMIHdpbGwgYmUgdXNlZCB0byByZWFjaCBQYXJzZSBTZXJ2ZXIgcHVibGljbHkgZm9yIGZlYXR1cmVzIGxpa2UgcGFzc3dvcmQgcmVzZXQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBsaW5rcy4gVGhlIG9wdGlvbiBjYW4gYmUgc2V0IHRvIGEgc3RyaW5nIG9yIGEgZnVuY3Rpb24gdGhhdCBjYW4gYmUgYXN5bmNocm9ub3VzbHkgcmVzb2x2ZWQuIFRoZSByZXR1cm5lZCBVUkwgc3RyaW5nIG11c3Qgc3RhcnQgd2l0aCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC4nLFxuICB9LFxuICBwdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BVU0gnLFxuICAgIGhlbHA6ICdDb25maWd1cmF0aW9uIGZvciBwdXNoLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNwdXNoLW5vdGlmaWNhdGlvbnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJhdGVMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUJyxcbiAgICBoZWxwOiBcIk9wdGlvbnMgdG8gbGltaXQgcmVwZWF0ZWQgcmVxdWVzdHMgdG8gUGFyc2UgU2VydmVyIEFQSXMuIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJvdGVjdCBzZW5zaXRpdmUgZW5kcG9pbnRzIHN1Y2ggYXMgYC9yZXF1ZXN0UGFzc3dvcmRSZXNldGAgZnJvbSBicnV0ZS1mb3JjZSBhdHRhY2tzIG9yIFBhcnNlIFNlcnZlciBhcyBhIHdob2xlIGZyb20gZGVuaWFsLW9mLXNlcnZpY2UgKERvUykgYXR0YWNrcy48YnI+PGJyPlxcdTIxMzlcXHVGRTBGIE1pbmQgdGhlIGZvbGxvd2luZyBsaW1pdGF0aW9uczo8YnI+LSByYXRlIGxpbWl0cyBhcHBsaWVkIHBlciBJUCBhZGRyZXNzOyB0aGlzIGxpbWl0cyBwcm90ZWN0aW9uIGFnYWluc3QgZGlzdHJpYnV0ZWQgZGVuaWFsLW9mLXNlcnZpY2UgKEREb1MpIGF0dGFja3Mgd2hlcmUgbWFueSByZXF1ZXN0cyBhcmUgY29taW5nIGZyb20gdmFyaW91cyBJUCBhZGRyZXNzZXM8YnI+LSBpZiBtdWx0aXBsZSBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGFyZSBiZWhpbmQgYSBsb2FkIGJhbGFuY2VyIG9yIHJhbiBpbiBhIGNsdXN0ZXIsIGVhY2ggaW5zdGFuY2Ugd2lsbCBjYWxjdWxhdGUgaXQncyBvd24gcmVxdWVzdCByYXRlcywgaW5kZXBlbmRlbnQgZnJvbSBvdGhlciBpbnN0YW5jZXM7IHRoaXMgbGltaXRzIHRoZSBhcHBsaWNhYmlsaXR5IG9mIHRoaXMgZmVhdHVyZSB3aGVuIHVzaW5nIGEgbG9hZCBiYWxhbmNlciBhbmQgYW5vdGhlciByYXRlIGxpbWl0aW5nIHNvbHV0aW9uIHRoYXQgdGFrZXMgcmVxdWVzdHMgYWNyb3NzIGFsbCBpbnN0YW5jZXMgaW50byBhY2NvdW50IG1heSBiZSBtb3JlIHN1aXRhYmxlPGJyPi0gdGhpcyBmZWF0dXJlIHByb3ZpZGVzIGJhc2ljIHByb3RlY3Rpb24gYWdhaW5zdCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzLCBidXQgYSBtb3JlIHNvcGhpc3RpY2F0ZWQgc29sdXRpb24gd29ya3MgZWFybGllciBpbiB0aGUgcmVxdWVzdCBmbG93IGFuZCBwcmV2ZW50cyBhIG1hbGljaW91cyByZXF1ZXN0cyB0byBldmVuIHJlYWNoIGEgc2VydmVyIGluc3RhbmNlOyBpdCdzIHRoZXJlZm9yZSByZWNvbW1lbmRlZCB0byBpbXBsZW1lbnQgYSBzb2x1dGlvbiBhY2NvcmRpbmcgdG8gYXJjaGl0ZWN0dXJlIGFuZCB1c2UgY2FzZS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgdHlwZTogJ1JhdGVMaW1pdE9wdGlvbnNbXScsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHJlYWRPbmx5TWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFQURfT05MWV9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnUmVhZC1vbmx5IGtleSwgd2hpY2ggaGFzIHRoZSBzYW1lIGNhcGFiaWxpdGllcyBhcyBNYXN0ZXJLZXkgd2l0aG91dCB3cml0ZXMnLFxuICB9LFxuICByZWFkT25seU1hc3RlcktleUlwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRUFEX09OTFlfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6IFwiKE9wdGlvbmFsKSBSZXN0cmljdHMgdGhlIHVzZSBvZiByZWFkLW9ubHkgbWFzdGVyIGtleSBwZXJtaXNzaW9ucyB0byBhIGxpc3Qgb2YgSVAgYWRkcmVzc2VzIG9yIHJhbmdlcy48YnI+PGJyPlRoaXMgb3B0aW9uIGFjY2VwdHMgYSBsaXN0IG9mIHNpbmdsZSBJUCBhZGRyZXNzZXMsIGZvciBleGFtcGxlIGBbJzEwLjAuMC4xJywgJzEwLjAuMC4yJ11gLiBZb3UgY2FuIGFsc28gdXNlIENJRFIgbm90YXRpb24gdG8gc3BlY2lmeSBhbiBJUCBhZGRyZXNzIHJhbmdlLCBmb3IgZXhhbXBsZSBgWycxMC4wLjEuMC8yNCddYC48YnI+PGJyPjxiPlNwZWNpYWwgc2NlbmFyaW9zOjwvYj48YnI+LSBTZXR0aW5nIGFuIGVtcHR5IGFycmF5IGBbXWAgbWVhbnMgdGhhdCB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgY2Fubm90IGJlIHVzZWQgZXZlbiBpbiBQYXJzZSBTZXJ2ZXIgQ2xvdWQgQ29kZS4gVGhpcyB2YWx1ZSBjYW5ub3QgYmUgc2V0IHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyB0aGVyZSBpcyBubyB3YXkgdG8gcGFzcyBhbiBlbXB0eSBhcnJheSB0byBQYXJzZSBTZXJ2ZXIgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLjxicj4tIFNldHRpbmcgYFsnMC4wLjAuMC8wJywgJzo6MCddYCBtZWFucyB0byBhbGxvdyBhbnkgSVB2NCBhbmQgSVB2NiBhZGRyZXNzIHRvIHVzZSB0aGUgcmVhZC1vbmx5IG1hc3RlciBrZXkgYW5kIGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBJUCBmaWx0ZXIuPGJyPjxicj48Yj5Db25zaWRlcmF0aW9uczo8L2I+PGJyPi0gSVB2NCBhbmQgSVB2NiBhZGRyZXNzZXMgYXJlIG5vdCBjb21wYXJlZCBhZ2FpbnN0IGVhY2ggb3RoZXIuIEVhY2ggSVAgdmVyc2lvbiAoSVB2NCBhbmQgSVB2NikgbmVlZHMgdG8gYmUgY29uc2lkZXJlZCBzZXBhcmF0ZWx5LiBGb3IgZXhhbXBsZSwgYFsnMC4wLjAuMC8wJ11gIGFsbG93cyBhbnkgSVB2NCBhZGRyZXNzIGFuZCBibG9ja3MgZXZlcnkgSVB2NiBhZGRyZXNzLiBDb252ZXJzZWx5LCBgWyc6OjAnXWAgYWxsb3dzIGFueSBJUHY2IGFkZHJlc3MgYW5kIGJsb2NrcyBldmVyeSBJUHY0IGFkZHJlc3MuPGJyPi0gS2VlcCBpbiBtaW5kIHRoYXQgdGhlIElQIHZlcnNpb24gaW4gdXNlIGRlcGVuZHMgb24gdGhlIG5ldHdvcmsgc3RhY2sgb2YgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIFBhcnNlIFNlcnZlciBydW5zLiBBIGxvY2FsIGVudmlyb25tZW50IG1heSB1c2UgYSBkaWZmZXJlbnQgSVAgdmVyc2lvbiB0aGFuIGEgcmVtb3RlIGVudmlyb25tZW50LiBGb3IgZXhhbXBsZSwgaXQncyBwb3NzaWJsZSB0aGF0IGxvY2FsbHkgdGhlIHZhbHVlIGBbJzAuMC4wLjAvMCddYCBhbGxvd3MgdGhlIHJlcXVlc3QgSVAgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgaXMgdXNpbmcgSVB2NCwgYnV0IHdoZW4gUGFyc2UgU2VydmVyIGlzIGRlcGxveWVkIHJlbW90ZWx5IHRoZSByZXF1ZXN0IElQIGlzIGJsb2NrZWQgYmVjYXVzZSB0aGUgcmVtb3RlIGVudmlyb25tZW50IGlzIHVzaW5nIElQdjYuPGJyPi0gV2hlbiBzZXR0aW5nIHRoZSBvcHRpb24gdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoZSBub3RhdGlvbiBpcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcsIGZvciBleGFtcGxlIGBcXFwiMC4wLjAuMC8wLDo6MFxcXCJgLjxicj4tIElQdjYgem9uZSBpbmRpY2VzIChgJWAgc3VmZml4KSBhcmUgbm90IHN1cHBvcnRlZCwgZm9yIGV4YW1wbGUgYGZlODA6OjElZXRoMGAsIGBmZTgwOjoxJTFgIG9yIGA6OjElbG9gLjxicj48YnI+RGVmYXVsdHMgdG8gYFsnMC4wLjAuMC8wJywgJzo6MCddYCB3aGljaCBtZWFucyB0aGF0IGFueSBJUCBhZGRyZXNzIGlzIGFsbG93ZWQgdG8gdXNlIHRoZSByZWFkLW9ubHkgbWFzdGVyIGtleS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gc2V0IHRoaXMgb3B0aW9uIHRvIGBbJzEyNy4wLjAuMScsICc6OjEnXWAgdG8gcmVzdHJpY3QgYWNjZXNzIHRvIGBsb2NhbGhvc3RgLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbJzAuMC4wLjAvMCcsICc6OjAnXSxcbiAgfSxcbiAgcmVxdWVzdENvbXBsZXhpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBsaW1pdCB0aGUgY29tcGxleGl0eSBvZiByZXF1ZXN0cyB0byBwcmV2ZW50IGRlbmlhbC1vZi1zZXJ2aWNlIGF0dGFja3MuIExpbWl0cyBhcmUgZW5mb3JjZWQgZm9yIGFsbCByZXF1ZXN0cyBleGNlcHQgdGhvc2UgdXNpbmcgdGhlIG1hc3RlciBvciBtYWludGVuYW5jZSBrZXkuIEVhY2ggcHJvcGVydHkgY2FuIGJlIHNldCB0byBgLTFgIHRvIGRpc2FibGUgdGhhdCBzcGVjaWZpYyBsaW1pdC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1JlcXVlc3RDb21wbGV4aXR5T3B0aW9ucycsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHJlcXVlc3RDb250ZXh0TWlkZGxld2FyZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTlRFWFRfTUlERExFV0FSRScsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gY3VzdG9taXplIHRoZSByZXF1ZXN0IGNvbnRleHQgdXNpbmcgaW52ZXJzaW9uIG9mIGNvbnRyb2wvZGVwZW5kZW5jeSBpbmplY3Rpb24uJyxcbiAgfSxcbiAgcmVxdWVzdEtleXdvcmREZW55bGlzdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0tFWVdPUkRfREVOWUxJU1QnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBrZXlzIGFuZCB2YWx1ZXMgdGhhdCBhcmUgcHJvaGliaXRlZCBpbiBkYXRhYmFzZSByZWFkIGFuZCB3cml0ZSByZXF1ZXN0cyB0byBwcmV2ZW50IHBvdGVudGlhbCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgb25seSBhIGtleSAoYHtcImtleVwiOlwiLi4uXCJ9YCksIG9ubHkgYSB2YWx1ZSAoYHtcInZhbHVlXCI6XCIuLi5cIn1gKSBvciBhIGtleS12YWx1ZSBwYWlyIChge1wia2V5XCI6XCIuLi5cIixcInZhbHVlXCI6XCIuLi5cIn1gKS4gVGhlIHNwZWNpZmljYXRpb24gY2FuIHVzZSB0aGUgZm9sbG93aW5nIHR5cGVzOiBgYm9vbGVhbmAsIGBudW1lcmljYCBvciBgc3RyaW5nYCwgd2hlcmUgYHN0cmluZ2Agd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHJlZ2V4IG5vdGF0aW9uLiBSZXF1ZXN0IGRhdGEgaXMgZGVlcC1zY2FubmVkIGZvciBtYXRjaGluZyBkZWZpbml0aW9ucyB0byBkZXRlY3QgYWxzbyBhbnkgbmVzdGVkIG9jY3VycmVuY2VzLiBEZWZhdWx0cyBhcmUgcGF0dGVybnMgdGhhdCBhcmUgbGlrZWx5IHRvIGJlIHVzZWQgaW4gbWFsaWNpb3VzIHJlcXVlc3RzLiBTZXR0aW5nIHRoaXMgb3B0aW9uIHdpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGF0dGVybnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW1xuICAgICAge1xuICAgICAgICBrZXk6ICdfYnNvbnR5cGUnLFxuICAgICAgICB2YWx1ZTogJ0NvZGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnY29uc3RydWN0b3InLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnX19wcm90b19fJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVzdEFQSUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVNUX0FQSV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFJFU1QgY2FsbHMnLFxuICB9LFxuICByZXZva2VTZXNzaW9uT25QYXNzd29yZFJlc2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFVk9LRV9TRVNTSU9OX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiBcIldoZW4gYSB1c2VyIGNoYW5nZXMgdGhlaXIgcGFzc3dvcmQsIGVpdGhlciB0aHJvdWdoIHRoZSByZXNldCBwYXNzd29yZCBlbWFpbCBvciB3aGlsZSBsb2dnZWQgaW4sIGFsbCBzZXNzaW9ucyBhcmUgcmV2b2tlZCBpZiB0aGlzIGlzIHRydWUuIFNldCB0byBmYWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCB0byByZXZva2Ugc2Vzc2lvbnMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2NoZWR1bGVkUHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFRFVMRURfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2ggc2NoZWR1bGluZywgZGVmYXVsdHMgdG8gZmFsc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQScsXG4gICAgaGVscDogJ0RlZmluZWQgc2NoZW1hJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTY2hlbWFPcHRpb25zJyxcbiAgfSxcbiAgc2VjdXJpdHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFknLFxuICAgIGhlbHA6ICdUaGUgc2VjdXJpdHkgb3B0aW9ucyB0byBpZGVudGlmeSBhbmQgcmVwb3J0IHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIHR5cGU6ICdTZWN1cml0eU9wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBzZW5kVXNlckVtYWlsVmVyaWZpY2F0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFTkRfVVNFUl9FTUFJTF9WRVJJRklDQVRJT04nLFxuICAgIGhlbHA6ICdTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHNlbmRpbmcgb2YgdmVyaWZpY2F0aW9uIGVtYWlsLiBTdXBwb3J0cyBhIGZ1bmN0aW9uIHdpdGggYSByZXR1cm4gdmFsdWUgb2YgYHRydWVgIG9yIGBmYWxzZWAgZm9yIGNvbmRpdGlvbmFsIGVtYWlsIHNlbmRpbmcuPGJyPjxicj5EZWZhdWx0IGlzIGB0cnVlYC48YnI+JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2VydmVyQ2xvc2VDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfQ0xPU0VfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgY2xvc2VkJyxcbiAgfSxcbiAgc2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VSTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gUGFyc2UgU2VydmVyLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgQ2VydGFpbiBzZXJ2ZXIgZmVhdHVyZXMgb3IgYWRhcHRlcnMgbWF5IHJlcXVpcmUgUGFyc2UgU2VydmVyIHRvIGJlIGFibGUgdG8gY2FsbCBpdHNlbGYgYnkgbWFraW5nIHJlcXVlc3RzIHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgLiBJZiBhIGZlYXR1cmUgcmVxdWlyZXMgdGhpcywgaXQgaXMgbWVudGlvbmVkIGluIHRoZSBkb2N1bWVudGF0aW9uLiBJbiB0aGF0IGNhc2UgZW5zdXJlIHRoYXQgdGhlIFVSTCBpcyBhY2Nlc3NpYmxlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgc2Vzc2lvbkxlbmd0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVNTSU9OX0xFTkdUSCcsXG4gICAgaGVscDogJ1Nlc3Npb24gZHVyYXRpb24sIGluIHNlY29uZHMsIGRlZmF1bHRzIHRvIDEgeWVhcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2Vzc2lvbkxlbmd0aCcpLFxuICAgIGRlZmF1bHQ6IDMxNTM2MDAwLFxuICB9LFxuICBzaWxlbnQ6IHtcbiAgICBlbnY6ICdTSUxFTlQnLFxuICAgIGhlbHA6ICdEaXNhYmxlcyBjb25zb2xlIG91dHB1dCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHN0YXJ0TGl2ZVF1ZXJ5U2VydmVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NUQVJUX0xJVkVfUVVFUllfU0VSVkVSJyxcbiAgICBoZWxwOiAnU3RhcnRzIHRoZSBsaXZlUXVlcnkgc2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdHJ1c3RQcm94eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9UUlVTVF9QUk9YWScsXG4gICAgaGVscDogJ1RoZSB0cnVzdCBwcm94eSBzZXR0aW5ncy4gSXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhlIGV4YWN0IHNldHVwIG9mIHRoZSByZXZlcnNlIHByb3h5LCBzaW5jZSB0aGlzIHNldHRpbmcgd2lsbCB0cnVzdCB2YWx1ZXMgcHJvdmlkZWQgaW4gdGhlIFBhcnNlIFNlcnZlciBBUEkgcmVxdWVzdC4gU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9leHByZXNzanMuY29tL2VuL2d1aWRlL2JlaGluZC1wcm94aWVzLmh0bWxcIj5leHByZXNzIHRydXN0IHByb3h5IHNldHRpbmdzPC9hPiBkb2N1bWVudGF0aW9uLiBEZWZhdWx0cyB0byBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgdXNlclNlbnNpdGl2ZUZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9VU0VSX1NFTlNJVElWRV9GSUVMRFMnLFxuICAgIGhlbHA6ICdQZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBmaWVsZHMgaW4gdGhlIHVzZXIgdGFibGUgdGhlIHNob3VsZCBiZSByZW1vdmVkIGZvciBub24tYXV0aG9yaXplZCB1c2Vycy4gRGVwcmVjYXRlZCBAc2VlIHByb3RlY3RlZEZpZWxkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnVkVSQk9TRScsXG4gICAgaGVscDogJ1NldCB0aGUgbG9nZ2luZyB0byB2ZXJib3NlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdmVyaWZ5U2VydmVyVXJsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnUGFyc2UgU2VydmVyIG1ha2VzIGEgSFRUUCByZXF1ZXN0IHRvIHRoZSBVUkwgc2V0IGluIGBzZXJ2ZXJVUkxgIGF0IHRoZSBlbmQgb2YgaXRzIGxhdW5jaCByb3V0aW5lIHRvIHZlcmlmeSB0aGF0IHRoZSBsYXVuY2ggc3VjY2VlZGVkLiBJZiB0aGlzIG9wdGlvbiBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlIHZlcmlmaWNhdGlvbiB3aWxsIGJlIHNraXBwZWQuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2hlcmUgdGhlIHNlcnZlciBVUkwgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgc2VydmVyIGl0c2VsZiwgc3VjaCBhcyB3aGVuIHJ1bm5pbmcgYmVoaW5kIGEgZmlyZXdhbGwgb3IgaW4gY2VydGFpbiBjb250YWluZXJpemVkIGVudmlyb25tZW50cy48YnI+PGJyPlxcdTI2QTBcXHVGRTBGIFNlcnZlciBVUkwgdmVyaWZpY2F0aW9uIHJlcXVpcmVzIFBhcnNlIFNlcnZlciB0byBiZSBhYmxlIHRvIGNhbGwgaXRzZWxmIGJ5IG1ha2luZyByZXF1ZXN0cyB0byB0aGUgVVJMIHNldCBpbiBgc2VydmVyVVJMYC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgdmVyaWZ5VXNlckVtYWlsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9WRVJJRllfVVNFUl9FTUFJTFMnLFxuICAgIGhlbHA6IFwiU2V0IHRvIGB0cnVlYCB0byByZXF1aXJlIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBlbWFpbCBhZGRyZXNzIHRvIGNvbXBsZXRlIHRoZSBzaWduLXVwIHByb2Nlc3MuIFN1cHBvcnRzIGEgZnVuY3Rpb24gd2l0aCBhIHJldHVybiB2YWx1ZSBvZiBgdHJ1ZWAgb3IgYGZhbHNlYCBmb3IgY29uZGl0aW9uYWwgdmVyaWZpY2F0aW9uLiBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgYSByZXF1ZXN0IG9iamVjdCB0aGF0IGluY2x1ZGVzIGBjcmVhdGVkV2l0aGAgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgaW52b2NhdGlvbiBpcyBmb3IgYHNpZ251cGAgb3IgYGxvZ2luYCBhbmQgdGhlIHVzZWQgYXV0aCBwcm92aWRlci48YnI+PGJyPlRoZSBgY3JlYXRlZFdpdGhgIHZhbHVlcyBwZXIgc2NlbmFyaW86PHVsPjxsaT5QYXNzd29yZCBzaWdudXA6IGB7IGFjdGlvbjogJ3NpZ251cCcsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgc2lnbnVwOiBgeyBhY3Rpb246ICdzaWdudXAnLCBhdXRoUHJvdmlkZXI6ICc8cHJvdmlkZXI+JyB9YDwvbGk+PGxpPlBhc3N3b3JkIGxvZ2luOiBgeyBhY3Rpb246ICdsb2dpbicsIGF1dGhQcm92aWRlcjogJ3Bhc3N3b3JkJyB9YDwvbGk+PGxpPkF1dGggcHJvdmlkZXIgbG9naW46IGZ1bmN0aW9uIG5vdCBpbnZva2VkOyBhdXRoIHByb3ZpZGVyIGxvZ2luIGJ5cGFzc2VzIGVtYWlsIHZlcmlmaWNhdGlvbjwvbGk+PGxpPlJlc2VuZCB2ZXJpZmljYXRpb24gZW1haWw6IGBjcmVhdGVkV2l0aGAgaXMgYHVuZGVmaW5lZGA7IHVzZSB0aGUgYHJlc2VuZFJlcXVlc3RgIHByb3BlcnR5IHRvIGlkZW50aWZ5IHRob3NlPC9saT48L3VsPkRlZmF1bHQgaXMgYGZhbHNlYC5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhbk9yRnVuY3Rpb25QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHdlYmhvb2tLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfV0VCSE9PS19LRVknLFxuICAgIGhlbHA6ICdLZXkgc2VudCB3aXRoIG91dGdvaW5nIHdlYmhvb2sgY2FsbHMnLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlJhdGVMaW1pdE9wdGlvbnMgPSB7XG4gIGVycm9yUmVzcG9uc2VNZXNzYWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JBVEVfTElNSVRfRVJST1JfUkVTUE9OU0VfTUVTU0FHRScsXG4gICAgaGVscDogJ1RoZSBlcnJvciBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIHRoZSBib2R5IG9mIHRoZSBIVFRQIDQyOSByZXNwb25zZSB3aGVuIHRoZSByYXRlIGxpbWl0IGlzIGhpdC4gRGVmYXVsdCBpcyBgVG9vIG1hbnkgcmVxdWVzdHMuYC4nLFxuICAgIGRlZmF1bHQ6ICdUb28gbWFueSByZXF1ZXN0cy4nLFxuICB9LFxuICBpbmNsdWRlSW50ZXJuYWxSZXF1ZXN0czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfSU5URVJOQUxfUkVRVUVTVFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgaWYgYHRydWVgIHRoZSByYXRlIGxpbWl0IHdpbGwgYWxzbyBhcHBseSB0byByZXF1ZXN0cyB0aGF0IGFyZSBtYWRlIGluIGJ5IENsb3VkIENvZGUsIGRlZmF1bHQgaXMgYGZhbHNlYC4gTm90ZSB0aGF0IGEgcHVibGljIENsb3VkIENvZGUgZnVuY3Rpb24gdGhhdCB0cmlnZ2VycyBpbnRlcm5hbCByZXF1ZXN0cyBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgaW5jbHVkZU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX0lOQ0xVREVfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ09wdGlvbmFsLCBpZiBgdHJ1ZWAgdGhlIHJhdGUgbGltaXQgd2lsbCBhbHNvIGFwcGx5IHRvIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCwgZGVmYXVsdCBpcyBgZmFsc2VgLiBOb3RlIHRoYXQgYSBwdWJsaWMgQ2xvdWQgQ29kZSBmdW5jdGlvbiB0aGF0IHRyaWdnZXJzIGludGVybmFsIHJlcXVlc3RzIHVzaW5nIHRoZSBgbWFzdGVyS2V5YCBtYXkgY2lyY3VtdmVudCByYXRlIGxpbWl0aW5nIGFuZCBiZSB2dWxuZXJhYmxlIHRvIGF0dGFja3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVkaXNVcmw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRURJU19VUkwnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIFVSTCBvZiB0aGUgUmVkaXMgc2VydmVyIHRvIHN0b3JlIHJhdGUgbGltaXQgZGF0YS4gVGhpcyBhbGxvd3MgdG8gcmF0ZSBsaW1pdCByZXF1ZXN0cyBmb3IgbXVsdGlwbGUgc2VydmVycyBieSBjYWxjdWxhdGluZyB0aGUgc3VtIG9mIGFsbCByZXF1ZXN0cyBhY3Jvc3MgYWxsIHNlcnZlcnMuIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlIHNlcnZlcnMgYXJlIHByb2Nlc3NpbmcgcmVxdWVzdHMgYmVoaW5kIGEgbG9hZCBiYWxhbmNlci4gRm9yIGV4YW1wbGUsIHRoZSBsaW1pdCBvZiAxMCByZXF1ZXN0cyBpcyByZWFjaGVkIGlmIGVhY2ggb2YgMiBzZXJ2ZXJzIHByb2Nlc3NlZCA1IHJlcXVlc3RzLicsXG4gIH0sXG4gIHJlcXVlc3RDb3VudDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfQ09VTlQnLFxuICAgIGhlbHA6ICdUaGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIG1hZGUgcGVyIElQIGFkZHJlc3Mgd2l0aGluIHRoZSB0aW1lIHdpbmRvdyBzZXQgaW4gYHJlcXVlc3RUaW1lV2luZG93YCBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4gRm9yIGJhdGNoIHJlcXVlc3RzLCB0aGlzIGFsc28gbGltaXRzIHRoZSBudW1iZXIgb2Ygc3ViLXJlcXVlc3RzIGluIGEgc2luZ2xlIGJhdGNoIHRoYXQgdGFyZ2V0IHRoaXMgcGF0aDsgaG93ZXZlciwgcmVxdWVzdHMgYWxyZWFkeSBjb25zdW1lZCBpbiB0aGUgY3VycmVudCB0aW1lIHdpbmRvdyBhcmUgbm90IGNvdW50ZWQgYWdhaW5zdCB0aGUgYmF0Y2gsIHNvIHRoZSBlZmZlY3RpdmUgbGltaXQgbWF5IGJlIGhpZ2hlciB3aGVuIGNvbWJpbmluZyBpbmRpdmlkdWFsIGFuZCBiYXRjaCByZXF1ZXN0cy4gTm90ZSB0aGF0IHRoaXMgaXMgYSBiYXNpYyBzZXJ2ZXItbGV2ZWwgcmF0ZSBsaW1pdDsgZm9yIGNvbXByZWhlbnNpdmUgcHJvdGVjdGlvbiwgdXNlIGEgcmV2ZXJzZSBwcm94eSBvciBXQUYgZm9yIHJhdGUgbGltaXRpbmcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXF1ZXN0Q291bnQnKSxcbiAgfSxcbiAgcmVxdWVzdE1ldGhvZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9SRVFVRVNUX01FVEhPRFMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCwgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2RzIHRvIHdoaWNoIHRoZSByYXRlIGxpbWl0IHNob3VsZCBiZSBhcHBsaWVkLCBkZWZhdWx0IGlzIGFsbCBtZXRob2RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXF1ZXN0UGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIG9mIHRoZSBBUEkgcm91dGUgdG8gYmUgcmF0ZSBsaW1pdGVkLiBSb3V0ZSBwYXRocywgaW4gY29tYmluYXRpb24gd2l0aCBhIHJlcXVlc3QgbWV0aG9kLCBkZWZpbmUgdGhlIGVuZHBvaW50cyBhdCB3aGljaCByZXF1ZXN0cyBjYW4gYmUgbWFkZS4gUm91dGUgcGF0aHMgY2FuIGJlIHN0cmluZ3Mgb3Igc3RyaW5nIHBhdHRlcm5zIGZvbGxvd2luZyA8YSBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL3BpbGxhcmpzL3BhdGgtdG8tcmVnZXhwXCI+cGF0aC10by1yZWdleHAgdjg8L2E+IHN5bnRheC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICByZXF1ZXN0VGltZVdpbmRvdzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SQVRFX0xJTUlUX1JFUVVFU1RfVElNRV9XSU5ET1cnLFxuICAgIGhlbHA6ICdUaGUgd2luZG93IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHdpdGhpbiB3aGljaCB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHNldCBpbiBgcmVxdWVzdENvdW50YCBjYW4gYmUgbWFkZSBiZWZvcmUgdGhlIHJhdGUgbGltaXQgaXMgYXBwbGllZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlcXVlc3RUaW1lV2luZG93JyksXG4gIH0sXG4gIHpvbmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkFURV9MSU1JVF9aT05FJyxcbiAgICBoZWxwOiAnVGhlIHR5cGUgb2YgcmF0ZSBsaW1pdCB0byBhcHBseS4gVGhlIGZvbGxvd2luZyB0eXBlcyBhcmUgc3VwcG9ydGVkOjx1bD48bGk+YGdsb2JhbGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyBtYWRlIGJ5IGFsbCB1c2VyczwvbGk+PGxpPmBpcGA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIElQIGFkZHJlc3Mgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gdXNlcmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHVzZXIgSUQgb2YgdGhlIHJlcXVlc3Q8L2xpPjxsaT5gc2Vzc2lvbmA6IHJhdGUgbGltaXQgYmFzZWQgb24gdGhlIHNlc3Npb24gdG9rZW4gb2YgdGhlIHJlcXVlc3Q8L2xpPjwvdWw+RGVmYXVsdCBpcyBgaXBgLicsXG4gICAgZGVmYXVsdDogJ2lwJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5SZXF1ZXN0Q29tcGxleGl0eU9wdGlvbnMgPSB7XG4gIGJhdGNoUmVxdWVzdExpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9CQVRDSF9SRVFVRVNUX0xJTUlUJyxcbiAgICBoZWxwOiAnTWF4aW11bSBudW1iZXIgb2Ygc3ViLXJlcXVlc3RzIGluIGEgc2luZ2xlIGJhdGNoIHJlcXVlc3QuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2JhdGNoUmVxdWVzdExpbWl0JyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIGdyYXBoUUxEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9ERVBUSCcsXG4gICAgaGVscDogJ01heGltdW0gZGVwdGggb2YgR3JhcGhRTCBmaWVsZCBzZWxlY3Rpb25zLiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdncmFwaFFMRGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgZ3JhcGhRTEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfR1JBUEhRTF9GSUVMRFMnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBmaWVsZCBzZWxlY3Rpb25zIGluIGEgR3JhcGhRTCBxdWVyeS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZ3JhcGhRTEZpZWxkcycpLFxuICAgIGRlZmF1bHQ6IC0xLFxuICB9LFxuICBpbmNsdWRlQ291bnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX0lOQ0xVREVfQ09VTlQnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG51bWJlciBvZiBpbmNsdWRlIHBhdGhzIGluIGEgc2luZ2xlIHF1ZXJ5LiBTZXQgdG8gYC0xYCB0byBkaXNhYmxlLiBEZWZhdWx0IGlzIGAtMWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdpbmNsdWRlQ291bnQnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgaW5jbHVkZURlcHRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFUVVFU1RfQ09NUExFWElUWV9JTkNMVURFX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBkZXB0aCBvZiBpbmNsdWRlIHBvaW50ZXIgY2hhaW5zIChlLmcuIGBhLmIuY2AgPSBkZXB0aCAzKS4gU2V0IHRvIGAtMWAgdG8gZGlzYWJsZS4gRGVmYXVsdCBpcyBgLTFgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignaW5jbHVkZURlcHRoJyksXG4gICAgZGVmYXVsdDogLTEsXG4gIH0sXG4gIHF1ZXJ5RGVwdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9DT01QTEVYSVRZX1FVRVJZX0RFUFRIJyxcbiAgICBoZWxwOiAnTWF4aW11bSBuZXN0aW5nIGRlcHRoIG9mIGAkb3JgLCBgJGFuZGAsIGAkbm9yYCBxdWVyeSBvcGVyYXRvcnMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3F1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbiAgc3VicXVlcnlEZXB0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0NPTVBMRVhJVFlfU1VCUVVFUllfREVQVEgnLFxuICAgIGhlbHA6ICdNYXhpbXVtIG5lc3RpbmcgZGVwdGggb2YgYCRpblF1ZXJ5YCwgYCRub3RJblF1ZXJ5YCwgYCRzZWxlY3RgLCBgJGRvbnRTZWxlY3RgIHN1YnF1ZXJpZXMuIFNldCB0byBgLTFgIHRvIGRpc2FibGUuIERlZmF1bHQgaXMgYC0xYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3N1YnF1ZXJ5RGVwdGgnKSxcbiAgICBkZWZhdWx0OiAtMSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5TZWN1cml0eU9wdGlvbnMgPSB7XG4gIGNoZWNrR3JvdXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0NIRUNLX0dST1VQUycsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBjaGVjayBncm91cHMgdG8gcnVuLiBUaGlzIGFsbG93cyB0byBhZGQgY3VzdG9tIHNlY3VyaXR5IGNoZWNrcyBvciBvdmVycmlkZSBleGlzdGluZyBvbmVzLiBEZWZhdWx0IGFyZSB0aGUgZ3JvdXBzIGRlZmluZWQgaW4gYENoZWNrR3JvdXBzLmpzYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgZW5hYmxlQ2hlY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGNoZWNrIGZvciB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUNoZWNrTG9nOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDS19MT0cnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIHRoZSBzZWN1cml0eSBjaGVjayByZXBvcnQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gbG9ncy4gVGhpcyBzaG91bGQgb25seSBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IHRvIG5vdCBleHBvc2Ugd2VhayBzZWN1cml0eSBzZXR0aW5ncyBpbiBsb2dzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNPcHRpb25zID0ge1xuICBjdXN0b21Sb3V0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1JPVVRFUycsXG4gICAgaGVscDogJ1RoZSBjdXN0b20gcm91dGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIHR5cGU6ICdQYWdlc1JvdXRlW10nLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBjdXN0b21VcmxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxTJyxcbiAgICBoZWxwOiAnVGhlIFVSTHMgdG8gdGhlIGN1c3RvbSBwYWdlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ1BhZ2VzQ3VzdG9tVXJsc09wdGlvbnMnLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBlbmFibGVMb2NhbGl6YXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRU5BQkxFX0xPQ0FMSVpBVElPTicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcGFnZXMgc2hvdWxkIGJlIGxvY2FsaXplZDsgdGhpcyBoYXMgbm8gZWZmZWN0IG9uIGN1c3RvbSBwYWdlIHJlZGlyZWN0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmNvZGVQYWdlUGFyYW1IZWFkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQ09ERV9QQUdFX1BBUkFNX0hFQURFUlMnLFxuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIHBhZ2UgcGFyYW1ldGVyIGhlYWRlcnMgc2hvdWxkIGJlIFVSSS1lbmNvZGVkLiBUaGlzIGlzIHJlcXVpcmVkIGlmIGFueSBwYWdlIHBhcmFtZXRlciB2YWx1ZSBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycywgc3VjaCBhcyB0aGUgYXBwIG5hbWUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZm9yY2VSZWRpcmVjdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19GT1JDRV9SRURJUkVDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgcmVzcG9uc2VzIHNob3VsZCBhbHdheXMgYmUgcmVkaXJlY3RzIGFuZCBuZXZlciBjb250ZW50LCBmYWxzZSBpZiB0aGUgcmVzcG9uc2UgdHlwZSBzaG91bGQgZGVwZW5kIG9uIHRoZSByZXF1ZXN0IHR5cGUgKEdFVCByZXF1ZXN0IC0+IGNvbnRlbnQgcmVzcG9uc2U7IFBPU1QgcmVxdWVzdCAtPiByZWRpcmVjdCByZXNwb25zZSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0ZBTExCQUNLX0xPQ0FMRScsXG4gICAgaGVscDogJ1RoZSBmYWxsYmFjayBsb2NhbGUgZm9yIGxvY2FsaXphdGlvbiBpZiBubyBtYXRjaGluZyB0cmFuc2xhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGdpdmVuIGxvY2FsZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gcHJvdmlkaW5nIHRyYW5zbGF0aW9uIHJlc291cmNlcyB2aWEgSlNPTiBmaWxlLicsXG4gICAgZGVmYXVsdDogJ2VuJyxcbiAgfSxcbiAgbG9jYWxpemF0aW9uSnNvblBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0pTT05fUEFUSCcsXG4gICAgaGVscDogJ1RoZSBwYXRoIHRvIHRoZSBKU09OIGZpbGUgZm9yIGxvY2FsaXphdGlvbjsgdGhlIHRyYW5zbGF0aW9ucyB3aWxsIGJlIHVzZWQgdG8gZmlsbCB0ZW1wbGF0ZSBwbGFjZWhvbGRlcnMgYWNjb3JkaW5nIHRvIHRoZSBsb2NhbGUuJyxcbiAgfSxcbiAgcGFnZXNFbmRwb2ludDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QQUdFU19FTkRQT0lOVCcsXG4gICAgaGVscDogXCJUaGUgQVBJIGVuZHBvaW50IGZvciB0aGUgcGFnZXMuIERlZmF1bHQgaXMgJ2FwcHMnLlwiLFxuICAgIGRlZmF1bHQ6ICdhcHBzJyxcbiAgfSxcbiAgcGFnZXNQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX1BBVEgnLFxuICAgIGhlbHA6IFwiVGhlIHBhdGggdG8gdGhlIHBhZ2VzIGRpcmVjdG9yeTsgdGhpcyBhbHNvIGRlZmluZXMgd2hlcmUgdGhlIHN0YXRpYyBlbmRwb2ludCAnL2FwcHMnIHBvaW50cyB0by4gRGVmYXVsdCBpcyB0aGUgJy4vcHVibGljLycgZGlyZWN0b3J5IG9mIHRoZSBwYXJzZS1zZXJ2ZXIgbW9kdWxlLlwiLFxuICB9LFxuICBwbGFjZWhvbGRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUExBQ0VIT0xERVJTJyxcbiAgICBoZWxwOiAnVGhlIHBsYWNlaG9sZGVyIGtleXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBwYWdlczsgdGhpcyBjYW4gYmUgYSBzaW1wbGUgb2JqZWN0IG9yIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzUm91dGUgPSB7XG4gIGhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfSEFORExFUicsXG4gICAgaGVscDogJ1RoZSByb3V0ZSBoYW5kbGVyIHRoYXQgaXMgYW4gYXN5bmMgZnVuY3Rpb24uJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWV0aG9kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX01FVEhPRCcsXG4gICAgaGVscDogXCJUaGUgcm91dGUgbWV0aG9kLCBlLmcuICdHRVQnIG9yICdQT1NUJy5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIHBhdGguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc0N1c3RvbVVybHNPcHRpb25zID0ge1xuICBlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX0xJTktfRVhQSVJFRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBleHBpcmVkLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19JTlZBTElEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgc2VuZCBmYWlsLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fU0VORF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiByZXNlbmQgbGluayAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldC4nLFxuICB9LFxuICBwYXNzd29yZFJlc2V0TGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgcGFzc3dvcmQgcmVzZXQgLT4gbGluayBpbnZhbGlkLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBzdWNjZXNzLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQ3VzdG9tUGFnZXNPcHRpb25zID0ge1xuICBjaG9vc2VQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfQ0hPT1NFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnY2hvb3NlIHBhc3N3b3JkIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGV4cGlyZWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19FWFBJUkVEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnZXhwaXJlZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBpbnZhbGlkTGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRQYXNzd29yZFJlc2V0TGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9QQVNTV09SRF9SRVNFVF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBwYXNzd29yZCByZXNldCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBsaW5rU2VuZEZhaWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0xJTktfU0VORF9GQUlMJyxcbiAgICBoZWxwOiAndmVyaWZpY2F0aW9uIGxpbmsgc2VuZCBmYWlsIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgcGFyc2VGcmFtZVVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFSU0VfRlJBTUVfVVJMJyxcbiAgICBoZWxwOiAnZm9yIG1hc2tpbmcgdXNlci1mYWNpbmcgcGFnZXMnLFxuICB9LFxuICBwYXNzd29yZFJlc2V0U3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgdmVyaWZ5RW1haWxTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19WRVJJRllfRU1BSUxfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmeSBlbWFpbCBzdWNjZXNzIHBhZ2UgcGF0aCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5T3B0aW9ucyA9IHtcbiAgY2xhc3NOYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfQ0xBU1NOQU1FUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY2xhc3NOYW1lc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgcmVnZXhUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRUdFWF9USU1FT1VUJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBleGVjdXRpb24gdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIG1hdGNoaW5nIGluIExpdmVRdWVyeS4gVGhpcyBwcm90ZWN0cyBhZ2FpbnN0IFJlZ3VsYXIgRXhwcmVzc2lvbiBEZW5pYWwgb2YgU2VydmljZSAoUmVEb1MpIGF0dGFja3Mgd2hlcmUgYSBtYWxpY2lvdXMgcmVnZXggcGF0dGVybiBjb3VsZCBibG9jayB0aGUgZXZlbnQgbG9vcC4gQSByZWdleCB0aGF0IGV4Y2VlZHMgdGhlIHRpbWVvdXQgd2lsbCBiZSB0cmVhdGVkIGFzIG5vbi1tYXRjaGluZy48YnI+PGJyPlRoZSBwcm90ZWN0aW9uIHJ1bnMgZWFjaCByZWdleCBldmFsdWF0aW9uIGluIGFuIGlzb2xhdGVkIFZNIGNvbnRleHQgd2l0aCBhIHRpbWVvdXQuIFRoaXMgYWRkcyBhcHByb3hpbWF0ZWx5IDUwIG1pY3Jvc2Vjb25kcyBvZiBvdmVyaGVhZCBwZXIgcmVnZXggZXZhbHVhdGlvbi4gRm9yIG1vc3QgYXBwbGljYXRpb25zIHRoaXMgaXMgbmVnbGlnaWJsZSwgYnV0IGl0IGNhbiBhZGQgdXAgaWYgeW91IGhhdmUgYSB2ZXJ5IGxhcmdlIG51bWJlciBvZiBMaXZlUXVlcnkgc3Vic2NyaXB0aW9ucyB0aGF0IHVzZSBgJHJlZ2V4YCBvbiB0aGUgc2FtZSBjbGFzcy4gRm9yIGV4YW1wbGUsIDEwLDAwMCBjb25jdXJyZW50IHJlZ2V4IHN1YnNjcmlwdGlvbnMgd291bGQgYWRkIGFwcHJveGltYXRlbHkgNTAwbXMgb2YgcHJvY2Vzc2luZyB0aW1lIHBlciBvYmplY3Qgc2F2ZSBldmVudCBvbiB0aGF0IGNsYXNzLjxicj48YnI+U2V0IHRvIGAwYCB0byBkaXNhYmxlIHRoZSB0aW1lb3V0IGFuZCB1c2UgbmF0aXZlIHJlZ2V4IGV2YWx1YXRpb24gd2l0aG91dCBwcm90ZWN0aW9uLiBEZWZhdWx0cyB0byBgMTAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3JlZ2V4VGltZW91dCcpLFxuICAgIGRlZmF1bHQ6IDEwMCxcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxpdmVRdWVyeVNlcnZlck9wdGlvbnMgPSB7XG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQVBQX0lEJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBhcHBJZCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIGFwcElkLicsXG4gIH0sXG4gIGNhY2hlVGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0NBQ0hFX1RJTUVPVVQnLFxuICAgIGhlbHA6IFwiTnVtYmVyIGluIG1pbGxpc2Vjb25kcy4gV2hlbiBjbGllbnRzIHByb3ZpZGUgdGhlIHNlc3Npb25Ub2tlbiB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gZmV0Y2ggaXRzIFBhcnNlVXNlcidzIG9iamVjdElkIGZyb20gcGFyc2Ugc2VydmVyIGFuZCBzdG9yZSBpdCBpbiB0aGUgY2FjaGUuIFRoZSB2YWx1ZSBkZWZpbmVzIHRoZSBkdXJhdGlvbiBvZiB0aGUgY2FjaGUuIENoZWNrIHRoZSBmb2xsb3dpbmcgU2VjdXJpdHkgc2VjdGlvbiBhbmQgb3VyIHByb3RvY29sIHNwZWNpZmljYXRpb24gZm9yIGRldGFpbHMsIGRlZmF1bHRzIHRvIDUgKiAxMDAwIG1zICg1IHNlY29uZHMpLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlVGltZW91dCcpLFxuICB9LFxuICBrZXlQYWlyczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0tFWV9QQUlSUycsXG4gICAgaGVscDogJ0EgSlNPTiBvYmplY3QgdGhhdCBzZXJ2ZXMgYXMgYSB3aGl0ZWxpc3Qgb2Yga2V5cy4gSXQgaXMgdXNlZCBmb3IgdmFsaWRhdGluZyBjbGllbnRzIHdoZW4gdGhleSB0cnkgdG8gY29ubmVjdCB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgZGVmaW5lcyB0aGUgbG9nIGxldmVsIG9mIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBXZSBzdXBwb3J0IFZFUkJPU0UsIElORk8sIEVSUk9SLCBOT05FLCBkZWZhdWx0cyB0byBJTkZPLicsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIG1hc3RlcktleSBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIG1hc3RlcktleS4nLFxuICB9LFxuICBwb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUE9SVCcsXG4gICAgaGVscDogJ1RoZSBwb3J0IHRvIHJ1biB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciwgZGVmYXVsdHMgdG8gMTMzNy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3BvcnQnKSxcbiAgICBkZWZhdWx0OiAxMzM3LFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1JFRElTX09QVElPTlMnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzT3B0aW9uc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBzZXJ2ZXJVUkwgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBzZXJ2ZXJVUkwuJyxcbiAgfSxcbiAgd2Vic29ja2V0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dFQlNPQ0tFVF9USU1FT1VUJyxcbiAgICBoZWxwOiAnTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHBpbmcvcG9uZyBmcmFtZXMuIFRoZSBXZWJTb2NrZXQgc2VydmVyIHNlbmRzIHBpbmcvcG9uZyBmcmFtZXMgdG8gdGhlIGNsaWVudHMgdG8ga2VlcCB0aGUgV2ViU29ja2V0IGFsaXZlLiBUaGlzIHZhbHVlIGRlZmluZXMgdGhlIGludGVydmFsIG9mIHRoZSBwaW5nL3BvbmcgZnJhbWUgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudHMsIGRlZmF1bHRzIHRvIDEwICogMTAwMCBtcyAoMTAgcykuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3ZWJzb2NrZXRUaW1lb3V0JyksXG4gIH0sXG4gIHdzc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuSWRlbXBvdGVuY3lPcHRpb25zID0ge1xuICBwYXRoczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfUEFUSFMnLFxuICAgIGhlbHA6ICdBbiBhcnJheSBvZiBwYXRocyBmb3Igd2hpY2ggdGhlIGZlYXR1cmUgc2hvdWxkIGJlIGVuYWJsZWQuIFRoZSBtb3VudCBwYXRoIG11c3Qgbm90IGJlIGluY2x1ZGVkLCBmb3IgZXhhbXBsZSBpbnN0ZWFkIG9mIGAvcGFyc2UvZnVuY3Rpb25zL215RnVuY3Rpb25gIHNwZWNpZml5IGBmdW5jdGlvbnMvbXlGdW5jdGlvbmAuIFRoZSBlbnRyaWVzIGFyZSBpbnRlcnByZXRlZCBhcyByZWd1bGFyIGV4cHJlc3Npb24sIGZvciBleGFtcGxlIGBmdW5jdGlvbnMvLipgIG1hdGNoZXMgYWxsIGZ1bmN0aW9ucywgYGpvYnMvLipgIG1hdGNoZXMgYWxsIGpvYnMsIGBjbGFzc2VzLy4qYCBtYXRjaGVzIGFsbCBjbGFzc2VzLCBgLipgIG1hdGNoZXMgYWxsIHBhdGhzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICB0dGw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX1RUTCcsXG4gICAgaGVscDogJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIGEgcmVxdWVzdCByZWNvcmQgaXMgZGlzY2FyZGVkIGZyb20gdGhlIGRhdGFiYXNlLCBkZWZhdWx0cyB0byAzMDBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndHRsJyksXG4gICAgZGVmYXVsdDogMzAwLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkFjY291bnRMb2Nrb3V0T3B0aW9ucyA9IHtcbiAgZHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX0RVUkFUSU9OJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBkdXJhdGlvbiBpbiBtaW51dGVzIHRoYXQgYSBsb2NrZWQtb3V0IGFjY291bnQgcmVtYWlucyBsb2NrZWQgb3V0IGJlZm9yZSBhdXRvbWF0aWNhbGx5IGJlY29taW5nIHVubG9ja2VkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkdXJhdGlvbicpLFxuICB9LFxuICB0aHJlc2hvbGQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1RIUkVTSE9MRCcsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIGZhaWxlZCBzaWduLWluIGF0dGVtcHRzIHRoYXQgd2lsbCBjYXVzZSBhIHVzZXIgYWNjb3VudCB0byBiZSBsb2NrZWQuIElmIHRoZSBhY2NvdW50IGlzIGxvY2tlZC4gVGhlIGFjY291bnQgd2lsbCB1bmxvY2sgYWZ0ZXIgdGhlIGR1cmF0aW9uIHNldCBpbiB0aGUgYGR1cmF0aW9uYCBvcHRpb24gaGFzIHBhc3NlZCBhbmQgbm8gZnVydGhlciBsb2dpbiBhdHRlbXB0cyBoYXZlIGJlZW4gbWFkZS48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgZ3JlYXRlciB0aGFuIGAwYCBhbmQgbGVzcyB0aGFuIGAxMDAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3RocmVzaG9sZCcpLFxuICB9LFxuICB1bmxvY2tPblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1VOTE9DS19PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgIGlmIHRoZSBhY2NvdW50IHNob3VsZCBiZSB1bmxvY2tlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgcGFzc3dvcmQgcmVzZXQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbnMgYGR1cmF0aW9uYCBhbmQgYHRocmVzaG9sZGAgdG8gYmUgc2V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFzc3dvcmRQb2xpY3lPcHRpb25zID0ge1xuICBkb05vdEFsbG93VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX0RPX05PVF9BTExPV19VU0VSTkFNRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWxsb3cgdGhlIHVzZXJuYW1lIGFzIHBhcnQgb2YgdGhlIHBhc3N3b3JkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1heFBhc3N3b3JkQWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfQUdFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBudW1iZXIgb2YgZGF5cyBhZnRlciB3aGljaCBhIHBhc3N3b3JkIGV4cGlyZXMuIExvZ2luIGF0dGVtcHRzIGZhaWwgaWYgdGhlIHVzZXIgZG9lcyBub3QgcmVzZXQgdGhlIHBhc3N3b3JkIGJlZm9yZSBleHBpcmF0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRBZ2UnKSxcbiAgfSxcbiAgbWF4UGFzc3dvcmRIaXN0b3J5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfSElTVE9SWScsXG4gICAgaGVscDogJ1NldCB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHBhc3N3b3JkIHRoYXQgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBiZSBzZXQgYXMgbmV3IHBhc3N3b3JkLiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGAwYCwgbm8gcHJldmlvdXMgcGFzc3dvcmRzIHdpbGwgYmUgY29uc2lkZXJlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgPj0gYDBgIGFuZCA8PSBgMjBgLjxicj5EZWZhdWx0IGlzIGAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkSGlzdG9yeScpLFxuICB9LFxuICByZXNldFBhc3N3b3JkU3VjY2Vzc09uSW52YWxpZEVtYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9QQVNTV09SRF9TVUNDRVNTX09OX0lOVkFMSURfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcmVxdWVzdCB0byByZXNldCB0aGUgcGFzc3dvcmQgc2hvdWxkIHJldHVybiBhIHN1Y2Nlc3MgcmVzcG9uc2UgZXZlbiBpZiB0aGUgcHJvdmlkZWQgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkLCBvciBgZmFsc2VgIGlmIHRoZSByZXF1ZXN0IHNob3VsZCByZXR1cm4gYW4gZXJyb3IgcmVzcG9uc2UgaWYgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZC48YnI+PGJyPkRlZmF1bHQgaXMgYHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgcmVzZXRUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfUkVTRVRfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIGlmIGEgcGFzc3dvcmQgcmVzZXQgdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDogJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIHBhc3N3b3JkIHJlc2V0IHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Jlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIHZhbGlkYXRpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVElPTl9FUlJPUicsXG4gICAgaGVscDogJ1NldCB0aGUgZXJyb3IgbWVzc2FnZSB0byBiZSBzZW50Ljxicj48YnI+RGVmYXVsdCBpcyBgUGFzc3dvcmQgZG9lcyBub3QgbWVldCB0aGUgUGFzc3dvcmQgUG9saWN5IHJlcXVpcmVtZW50cy5gJyxcbiAgfSxcbiAgdmFsaWRhdG9yQ2FsbGJhY2s6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1ZBTElEQVRPUl9DQUxMQkFDSycsXG4gICAgaGVscDogJ1NldCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgcGFzc3dvcmQgdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvclBhdHRlcm5gLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbiAgdmFsaWRhdG9yUGF0dGVybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX1BBVFRFUk4nLFxuICAgIGhlbHA6ICdTZXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0aW9uIHBhdHRlcm4gYSBwYXNzd29yZCBtdXN0IG1hdGNoIHRvIGJlIGFjY2VwdGVkLjxicj48YnI+SWYgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGB2YWxpZGF0b3JDYWxsYmFja2AsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVVcGxvYWRPcHRpb25zID0ge1xuICBhbGxvd2VkRmlsZVVybERvbWFpbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfQUxMT1dFRF9GSUxFX1VSTF9ET01BSU5TJyxcbiAgICBoZWxwOiBcIlNldHMgdGhlIGFsbG93ZWQgaG9zdG5hbWVzIGZvciBmaWxlIFVSTHMgcmVmZXJlbmNlZCBpbiBQYXJzZSBvYmplY3RzLiBXaGVuIGEgRmlsZSBvYmplY3QgaW5jbHVkZXMgYSBVUkwsIGl0cyBob3N0bmFtZSBtdXN0IG1hdGNoIG9uZSBvZiB0aGVzZSBlbnRyaWVzIHRvIGJlIGFjY2VwdGVkLiBTdXBwb3J0cyBleGFjdCBob3N0bmFtZXMgKGUuZy4sIGAnY2RuLmV4YW1wbGUuY29tJ2ApIGFuZCB3aWxkY2FyZCBzdWJkb21haW5zIChlLmcuLCBgJyouZXhhbXBsZS5jb20nYCkuIFVzZSBgWycqJ11gIHRvIGFsbG93IGFueSBkb21haW4uIFVzZSBgW11gIHRvIGJsb2NrIGFsbCBmaWxlIFVSTHMgKG9ubHkgbmFtZS1iYXNlZCBmaWxlcyBhbGxvd2VkKS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogWycqJ10sXG4gIH0sXG4gIGVuYWJsZUZvckFub255bW91c1VzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9BTk9OWU1PVVNfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFub255bW91cyB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FVVEhFTlRJQ0FURURfVVNFUicsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVGb3JQdWJsaWM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9QVUJMSUMnLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbnlvbmUsIHJlZ2FyZGxlc3Mgb2YgdXNlciBhdXRoZW50aWNhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmaWxlRXh0ZW5zaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9GSUxFX0VYVEVOU0lPTlMnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBhbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucyBmb3IgdXBsb2FkaW5nIGZpbGVzLiBUaGUgZXh0ZW5zaW9uIGlzIGRlZmluZWQgYXMgYW4gYXJyYXkgb2YgZmlsZSBleHRlbnNpb25zLCBvciBhIHJlZ2V4IHBhdHRlcm4uPGJyPjxicj5JdCBpcyByZWNvbW1lbmRlZCB0byBvbmx5IGFsbG93IHRoZSBmaWxlIGV4dGVuc2lvbnMgdGhhdCB5b3VyIGFwcCBhY3R1YWxseSBuZWVkcywgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBibG9ja2luZyBkYW5nZXJvdXMgZXh0ZW5zaW9ucy4gVGhpcyBhbGxvd2xpc3QgYXBwcm9hY2ggaXMgbW9yZSBzZWN1cmUgYmVjYXVzZSBuZXcgZGFuZ2Vyb3VzIGZpbGUgZXh0ZW5zaW9ucyBtYXkgZW1lcmdlIHRoYXQgYXJlIG5vdCBjb3ZlcmVkIGJ5IHRoZSBkZWZhdWx0IGJsb2NrbGlzdC48YnI+PGJyPlRoZSBkZWZhdWx0IGJsb2NrcyB0aGUgbW9zdCBjb21tb24gZmlsZSBleHRlbnNpb25zIHRoYXQgYXJlIGtub3duIHRvIGJlIHJlbmRlcmVkIGFzIGFjdGl2ZSBjb250ZW50IGJ5IHdlYiBicm93c2Vycywgc3VjaCBhcyBIVE1MLCBTVkcsIGFuZCBYTUwgZmlsZXMsIHdoaWNoIG1heSBiZSB1c2VkIGJ5IGFuIGF0dGFja2VyIHRvIGNvbXByb21pc2UgdGhlIHNlc3Npb24gdG9rZW4gb2YgYW5vdGhlciB1c2VyIHZpYSBhY2Nlc3NpbmcgdGhlIGJyb3dzZXJcXCdzIGxvY2FsIHN0b3JhZ2UuIFRoZSBibG9ja2VkIGV4dGVuc2lvbnMgYXJlOiBgaHRtbGAsIGBodG1gLCBgc2h0bWxgLCBgeGh0bWxgLCBgeGh0bWwreG1sYCwgYHhodGAsIGBzdmdgLCBgc3ZnemAsIGBzdmcreG1sYCwgYHhtbGAsIGB4c2xgLCBgeHNsdGAsIGB4c2x0K3htbGAsIGB4c2RgLCBgcm5nYCwgYHJkZmAsIGByZGYreG1sYCwgYG93bGAsIGBtYXRobWxgLCBgbWF0aG1sK3htbGAuPGJyPjxicj5EZWZhdWx0cyB0byBgW1wiXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXFxcXFwrW3hYXVttTV1bbExdKT98W3hYXVtoSF1bdFRdfFtzU11bdlZdW2dHXShbelpdfFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/fFt4WF1bbU1dW2xMXXxbeFhdW3NTXVtsTF1bdFRdPyhcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcXFxcXCtbeFhdW21NXVtsTF0pP3xbb09dW3dXXVtsTF18W21NXVthQV1bdFRdW2hIXVttTV1bbExdKFxcXFxcXFxcK1t4WF1bbU1dW2xMXSk/KSQpXCJdYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICAnXig/IShbeFhzU10/W2hIXVt0VF1bbU1dW2xMXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW2hIXVt0VF18W3NTXVt2Vl1bZ0ddKFt6Wl18XFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW21NXVtsTF18W3hYXVtzU11bbExdW3RUXT8oXFxcXCtbeFhdW21NXVtsTF0pP3xbeFhdW3NTXVtkRF18W3JSXVtuTl1bZ0ddfFtyUl1bZERdW2ZGXShcXFxcK1t4WF1bbU1dW2xMXSk/fFtvT11bd1ddW2xMXXxbbU1dW2FBXVt0VF1baEhdW21NXVtsTF0oXFxcXCtbeFhdW21NXVtsTF0pPykkKScsXG4gICAgXSxcbiAgfSxcbn07XG4vKiBUaGUgYXZhaWxhYmxlIGxvZyBsZXZlbHMgZm9yIFBhcnNlIFNlcnZlciBsb2dnaW5nLiBWYWxpZCB2YWx1ZXMgYXJlOjxicj4tIGAnZXJyb3InYCAtIEVycm9yIGxldmVsIChoaWdoZXN0IHByaW9yaXR5KTxicj4tIGAnd2FybidgIC0gV2FybmluZyBsZXZlbDxicj4tIGAnaW5mbydgIC0gSW5mbyBsZXZlbCAoZGVmYXVsdCk8YnI+LSBgJ3ZlcmJvc2UnYCAtIFZlcmJvc2UgbGV2ZWw8YnI+LSBgJ2RlYnVnJ2AgLSBEZWJ1ZyBsZXZlbDxicj4tIGAnc2lsbHknYCAtIFNpbGx5IGxldmVsIChsb3dlc3QgcHJpb3JpdHkpICovXG5tb2R1bGUuZXhwb3J0cy5Mb2dMZXZlbCA9IHtcbiAgZGVidWc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX0RFQlVHJyxcbiAgICBoZWxwOiAnRGVidWcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBlcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfRVJST1InLFxuICAgIGhlbHA6ICdFcnJvciBsZXZlbCAtIGhpZ2hlc3QgcHJpb3JpdHknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBpbmZvOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTF9JTkZPJyxcbiAgICBoZWxwOiAnSW5mbyBsZXZlbCAtIGRlZmF1bHQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzaWxseToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfU0lMTFknLFxuICAgIGhlbHA6ICdTaWxseSBsZXZlbCAtIGxvd2VzdCBwcmlvcml0eScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMX1ZFUkJPU0UnLFxuICAgIGhlbHA6ICdWZXJib3NlIGxldmVsJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgd2Fybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxfV0FSTicsXG4gICAgaGVscDogJ1dhcm5pbmcgbGV2ZWwnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0NsaWVudEV2ZW50ID0ge1xuICBrZXlzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX0tFWVMnLFxuICAgIGhlbHA6ICdPcHRpb25hbCBhcnJheSBvZiBkb3Qtbm90YXRpb24gcGF0aHMgdG8gZXh0cmFjdCBzcGVjaWZpYyBkYXRhIGZyb20gdGhlIGV2ZW50IG9iamVjdC4gSWYgbm90IHByb3ZpZGVkIG9yIGVtcHR5LCB0aGUgZW50aXJlIGV2ZW50IG9iamVjdCB3aWxsIGJlIGxvZ2dlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9HX0NMSUVOVF9FVkVOVFNfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiBcIlRoZSBsb2cgbGV2ZWwgdG8gdXNlIGZvciB0aGlzIGV2ZW50LiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4gRGVmYXVsdHMgdG8gYCdpbmZvJ2AuXCIsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0xPR19DTElFTlRfRVZFTlRTX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgZXZlbnQgbmFtZSB0byBsaXN0ZW4gZm9yLiBTZWUgdGhlIFtNb25nb0RCIGRyaXZlciBldmVudHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly93d3cubW9uZ29kYi5jb20vZG9jcy9kcml2ZXJzL25vZGUvY3VycmVudC9mdW5kYW1lbnRhbHMvbW9uaXRvcmluZy8pIGZvciBhdmFpbGFibGUgZXZlbnRzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zID0ge1xuICBhbGxvd1B1YmxpY0V4cGxhaW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQUxMT1dfUFVCTElDX0VYUExBSU4nLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGFsbG93IGBQYXJzZS5RdWVyeS5leHBsYWluYCB3aXRob3V0IG1hc3RlciBrZXkuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBFbmFibGluZyB0aGlzIG9wdGlvbiBtYXkgZXhwb3NlIHNlbnNpdGl2ZSBxdWVyeSBwZXJmb3JtYW5jZSBkYXRhIHRvIHVuYXV0aG9yaXplZCB1c2VycyBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwbG9pdGVkIGZvciBtYWxpY2lvdXMgcHVycG9zZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgYXBwTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BUFBfTkFNRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gdGhhdCBjcmVhdGVkIHRoaXMgTW9uZ29DbGllbnQgaW5zdGFuY2UuJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX01FQ0hBTklTTScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIHRoYXQgTW9uZ29EQiB3aWxsIHVzZSB0byBhdXRoZW50aWNhdGUgdGhlIGNvbm5lY3Rpb24uJyxcbiAgfSxcbiAgYXV0aE1lY2hhbmlzbVByb3BlcnRpZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUSF9NRUNIQU5JU01fUFJPUEVSVElFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSBwcm9wZXJ0aWVzIGZvciB0aGUgc3BlY2lmaWVkIGF1dGhNZWNoYW5pc20gYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgYXV0aFNvdXJjZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BVVRIX1NPVVJDRScsXG4gICAgaGVscDogXCJUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGRhdGFiYXNlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyJ3MgY3JlZGVudGlhbHMuXCIsXG4gIH0sXG4gIGF1dG9TZWxlY3RGYW1pbHk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0aGUgc29ja2V0IGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gSVB2NiBhbmQgSVB2NCBhZGRyZXNzZXMgdW50aWwgYSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLiBJZiBhdmFpbGFibGUsIHRoZSBkcml2ZXIgd2lsbCBzZWxlY3QgdGhlIGZpcnN0IElQdjYgYWRkcmVzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBhdXRvU2VsZWN0RmFtaWx5QXR0ZW1wdFRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQVVUT19TRUxFQ1RfRkFNSUxZX0FUVEVNUFRfVElNRU9VVCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIGEgY29ubmVjdGlvbiBhdHRlbXB0IHRvIGZpbmlzaCBiZWZvcmUgdHJ5aW5nIHRoZSBuZXh0IGFkZHJlc3Mgd2hlbiB1c2luZyB0aGUgYXV0b1NlbGVjdEZhbWlseSBvcHRpb24uIElmIHNldCB0byBhIHBvc2l0aXZlIGludGVnZXIgbGVzcyB0aGFuIDEwLCB0aGUgdmFsdWUgMTAgaXMgdXNlZCBpbnN0ZWFkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYXV0b1NlbGVjdEZhbWlseUF0dGVtcHRUaW1lb3V0JyksXG4gIH0sXG4gIGJhdGNoU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9CQVRDSF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIG51bWJlciBvZiBkb2N1bWVudHMgcGVyIGJhdGNoIGZvciBNb25nb0RCIGN1cnNvciBgZ2V0TW9yZWAgb3BlcmF0aW9ucy4gQSBsb3dlciB2YWx1ZSByZWR1Y2VzIG1lbW9yeSB1c2FnZSBwZXIgYmF0Y2g7IGEgaGlnaGVyIHZhbHVlIHJlZHVjZXMgdGhlIG51bWJlciBvZiBuZXR3b3JrIHJvdW5kLXRyaXBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignYmF0Y2hTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMCxcbiAgfSxcbiAgY2xpZW50TWV0YWRhdGE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBJyxcbiAgICBoZWxwOiBcIkN1c3RvbSBtZXRhZGF0YSB0byBhcHBlbmQgdG8gZGF0YWJhc2UgY2xpZW50IGNvbm5lY3Rpb25zIGZvciBpZGVudGlmeWluZyBQYXJzZSBTZXJ2ZXIgaW5zdGFuY2VzIGluIGRhdGFiYXNlIGxvZ3MuIElmIHNldCwgdGhpcyBtZXRhZGF0YSB3aWxsIGJlIHZpc2libGUgaW4gZGF0YWJhc2UgbG9ncyBkdXJpbmcgY29ubmVjdGlvbiBoYW5kc2hha2VzLiBUaGlzIGNhbiBoZWxwIHdpdGggZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIGluIGRlcGxveW1lbnRzIHdpdGggbXVsdGlwbGUgZGF0YWJhc2UgY2xpZW50cy4gU2V0IGBuYW1lYCB0byBpZGVudGlmeSB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnTXlBcHAnKSBhbmQgYHZlcnNpb25gIHRvIHlvdXIgYXBwbGljYXRpb24ncyB2ZXJzaW9uLiBMZWF2ZSB1bmRlZmluZWQgKGRlZmF1bHQpIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlIGFuZCBhdm9pZCB0aGUgYWRkaXRpb25hbCBkYXRhIHRyYW5zZmVyIG92ZXJoZWFkLlwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgdHlwZTogJ0RhdGFiYXNlT3B0aW9uc0NsaWVudE1ldGFkYXRhJyxcbiAgfSxcbiAgY29tcHJlc3NvcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ09NUFJFU1NPUlMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgYW4gYXJyYXkgb3IgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBvZiBjb21wcmVzc29ycyB0byBlbmFibGUgbmV0d29yayBjb21wcmVzc2lvbiBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoaXMgY2xpZW50IGFuZCBhIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgfSxcbiAgY29ubmVjdFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DT05ORUNUX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgdG8gZXN0YWJsaXNoIGEgc2luZ2xlIFRDUCBzb2NrZXQgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGJlZm9yZSByYWlzaW5nIGFuIGVycm9yLiBTcGVjaWZ5aW5nIDAgZGlzYWJsZXMgdGhlIGNvbm5lY3Rpb24gdGltZW91dC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2Nvbm5lY3RUaW1lb3V0TVMnKSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhBdXRoRGF0YVVuaXF1ZW5lc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX0FVVEhfREFUQV9VTklRVUVORVNTJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB1bmlxdWUgaW5kZXhlcyBvbiB0aGUgYXV0aERhdGEgZmllbGRzIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIGZvciBlYWNoIGNvbmZpZ3VyZWQgYXV0aCBwcm92aWRlciBvbiBzZXJ2ZXIgc3RhcnQsIGluY2x1ZGluZyBgYW5vbnltb3VzYCB3aGVuIGFub255bW91cyB1c2VycyBhcmUgZW5hYmxlZC4gVGhlc2UgaW5kZXhlcyBwcmV2ZW50IHJhY2UgY29uZGl0aW9ucyBkdXJpbmcgY29uY3VycmVudCBzaWdudXBzIHdpdGggdGhlIHNhbWUgYXV0aERhdGEuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleGVzLCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleGVzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB0byBiZSBvcHRpbWl6ZWQgZm9yIHRoZSBpbnRlcm5hbCB1c2FnZSBieSBQYXJzZSBTZXJ2ZXIuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBjcmVhdGVJbmRleFJvbGVOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0NSRUFURV9JTkRFWF9ST0xFX05BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgdW5pcXVlIGluZGV4IG9uIHRoZSBuYW1lIGZpZWxkIG9mIHRoZSBfUm9sZSBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUwnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIGVtYWlsIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyRW1haWxDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSBlbWFpbCBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlckVtYWlsVmVyaWZ5VG9rZW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfRU1BSUxfVkVSSUZZX1RPS0VOJyxcbiAgICBoZWxwOiAnU2V0IHRvIGB0cnVlYCB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhbiBpbmRleCBvbiB0aGUgX2VtYWlsX3ZlcmlmeV90b2tlbiBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGNyZWF0ZUluZGV4VXNlclBhc3N3b3JkUmVzZXRUb2tlbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DUkVBVEVfSU5ERVhfVVNFUl9QQVNTV09SRF9SRVNFVF9UT0tFTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gaW5kZXggb24gdGhlIF9wZXJpc2hhYmxlX3Rva2VuIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUUnLFxuICAgIGhlbHA6ICdTZXQgdG8gYHRydWVgIHRvIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGluZGV4ZXMgb24gdGhlIHVzZXJuYW1lIGZpZWxkIG9mIHRoZSBfVXNlciBjb2xsZWN0aW9uIG9uIHNlcnZlciBzdGFydC4gU2V0IHRvIGBmYWxzZWAgdG8gc2tpcCBpbmRleCBjcmVhdGlvbi4gRGVmYXVsdCBpcyBgdHJ1ZWAuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBXaGVuIHNldHRpbmcgdGhpcyBvcHRpb24gdG8gYGZhbHNlYCB0byBtYW51YWxseSBjcmVhdGUgdGhlIGluZGV4LCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgb3RoZXJ3aXNlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBpbmRleCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUgdG8gYmUgb3B0aW1pemVkIGZvciB0aGUgaW50ZXJuYWwgdXNhZ2UgYnkgUGFyc2UgU2VydmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgY3JlYXRlSW5kZXhVc2VyVXNlcm5hbWVDYXNlSW5zZW5zaXRpdmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ1JFQVRFX0lOREVYX1VTRVJfVVNFUk5BTUVfQ0FTRV9JTlNFTlNJVElWRScsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYSBjYXNlLWluc2Vuc2l0aXZlIGluZGV4IG9uIHRoZSB1c2VybmFtZSBmaWVsZCBvZiB0aGUgX1VzZXIgY29sbGVjdGlvbiBvbiBzZXJ2ZXIgc3RhcnQuIFNldCB0byBgZmFsc2VgIHRvIHNraXAgaW5kZXggY3JlYXRpb24uIERlZmF1bHQgaXMgYHRydWVgLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRvIGBmYWxzZWAgdG8gbWFudWFsbHkgY3JlYXRlIHRoZSBpbmRleCwga2VlcCBpbiBtaW5kIHRoYXQgdGhlIG90aGVyd2lzZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW5kZXggbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHRvIGJlIG9wdGltaXplZCBmb3IgdGhlIGludGVybmFsIHVzYWdlIGJ5IFBhcnNlIFNlcnZlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGRpcmVjdENvbm5lY3Rpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRElSRUNUX0NPTk5FQ1RJT04nLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGZvcmNlIGEgU2luZ2xlIHRvcG9sb2d5IHR5cGUgd2l0aCBhIGNvbm5lY3Rpb24gc3RyaW5nIGNvbnRhaW5pbmcgb25lIGhvc3QuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgZGlzYWJsZUluZGV4RmllbGRWYWxpZGF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0RJU0FCTEVfSU5ERVhfRklFTERfVkFMSURBVElPTicsXG4gICAgaGVscDogJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB2YWxpZGF0aW9uIG9mIGluZGV4IGZpZWxkcy4gV2hlbiBkaXNhYmxlZCwgaW5kZXhlcyBjYW4gYmUgY3JlYXRlZCBldmVuIGlmIHRoZSBmaWVsZHMgZG8gbm90IGV4aXN0IGluIHRoZSBzY2hlbWEuIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGluZGV4ZXMgb24gZmllbGRzIHRoYXQgd2lsbCBiZSBhZGRlZCBsYXRlci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBlbmFibGVTY2hlbWFIb29rczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9FTkFCTEVfU0NIRU1BX0hPT0tTJyxcbiAgICBoZWxwOiAnRW5hYmxlcyBkYXRhYmFzZSByZWFsLXRpbWUgaG9va3MgdG8gdXBkYXRlIHNpbmdsZSBzY2hlbWEgY2FjaGUuIFNldCB0byBgdHJ1ZWAgaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBGYWlsaW5nIHRvIGRvIHNvIHdpbGwgY2F1c2UgYSBzY2hlbWEgY2hhbmdlIHRvIG5vdCBwcm9wYWdhdGUgdG8gYWxsIGluc3RhbmNlcyBhbmQgcmUtc3luY2luZyB3aWxsIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGluc3RhbmNlcyByZXN0YXJ0LiBUbyB1c2UgdGhpcyBmZWF0dXJlIHdpdGggTW9uZ29EQiwgYSByZXBsaWNhIHNldCBjbHVzdGVyIHdpdGggW2NoYW5nZSBzdHJlYW1dKGh0dHBzOi8vZG9jcy5tb25nb2RiLmNvbS9tYW51YWwvY2hhbmdlU3RyZWFtcy8jYXZhaWxhYmlsaXR5KSBzdXBwb3J0IGlzIHJlcXVpcmVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZvcmNlU2VydmVyT2JqZWN0SWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfRk9SQ0VfU0VSVkVSX09CSkVDVF9JRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZm9yY2Ugc2VydmVyIHRvIGFzc2lnbiBfaWQgdmFsdWVzIGluc3RlYWQgb2YgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGhlYXJ0YmVhdEZyZXF1ZW5jeU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0hFQVJUQkVBVF9GUkVRVUVOQ1lfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGZyZXF1ZW5jeSBpbiBtaWxsaXNlY29uZHMgYXQgd2hpY2ggdGhlIGRyaXZlciBjaGVja3MgdGhlIHN0YXRlIG9mIHRoZSBNb25nb0RCIGRlcGxveW1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdoZWFydGJlYXRGcmVxdWVuY3lNUycpLFxuICB9LFxuICBsb2FkQmFsYW5jZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTE9BRF9CQUxBTkNFRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gaW5zdHJ1Y3QgdGhlIGRyaXZlciBpdCBpcyBjb25uZWN0aW5nIHRvIGEgbG9hZCBiYWxhbmNlciBmcm9udGluZyBhIG1vbmdvcyBsaWtlIHNlcnZpY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbG9jYWxUaHJlc2hvbGRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0NBTF9USFJFU0hPTERfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHNpemUgKGluIG1pbGxpc2Vjb25kcykgb2YgdGhlIGxhdGVuY3kgd2luZG93IGZvciBzZWxlY3RpbmcgYW1vbmcgbXVsdGlwbGUgc3VpdGFibGUgTW9uZ29EQiBpbnN0YW5jZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdsb2NhbFRocmVzaG9sZE1TJyksXG4gIH0sXG4gIGxvZ0NsaWVudEV2ZW50czoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9MT0dfQ0xJRU5UX0VWRU5UUycsXG4gICAgaGVscDogJ0FuIGFycmF5IG9mIE1vbmdvREIgY2xpZW50IGV2ZW50IGNvbmZpZ3VyYXRpb25zIHRvIGVuYWJsZSBsb2dnaW5nIG9mIHNwZWNpZmljIGV2ZW50cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICB0eXBlOiAnTG9nQ2xpZW50RXZlbnRbXScsXG4gIH0sXG4gIG1heENvbm5lY3Rpbmc6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX0NPTk5FQ1RJTkcnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRoYXQgbWF5IGJlIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIGVzdGFibGlzaGVkIGNvbmN1cnJlbnRseSBieSB0aGUgY29ubmVjdGlvbiBwb29sLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4Q29ubmVjdGluZycpLFxuICB9LFxuICBtYXhJZGxlVGltZU1TOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX01BWF9JRExFX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IGEgY29ubmVjdGlvbiBjYW4gcmVtYWluIGlkbGUgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbCBiZWZvcmUgYmVpbmcgcmVtb3ZlZCBhbmQgY2xvc2VkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4SWRsZVRpbWVNUycpLFxuICB9LFxuICBtYXhQb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UG9vbFNpemUnKSxcbiAgfSxcbiAgbWF4U3RhbGVuZXNzU2Vjb25kczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NQVhfU1RBTEVORVNTX1NFQ09ORFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCB0aGUgbWF4aW11bSByZXBsaWNhdGlvbiBsYWcgZm9yIHJlYWRzIGZyb20gc2Vjb25kYXJ5IG5vZGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4U3RhbGVuZXNzU2Vjb25kcycpLFxuICB9LFxuICBtYXhUaW1lTVM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfTUFYX1RJTUVfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNldCBhIGN1bXVsYXRpdmUgdGltZSBsaW1pdCBpbiBtaWxsaXNlY29uZHMgZm9yIHByb2Nlc3Npbmcgb3BlcmF0aW9ucyBvbiBhIGN1cnNvci4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFRpbWVNUycpLFxuICB9LFxuICBtaW5Qb29sU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9NSU5fUE9PTF9TSVpFJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIG9wZW5lZCwgY2FjaGVkLCByZWFkeS10by11c2UgZGF0YWJhc2UgY29ubmVjdGlvbnMgbWFpbnRhaW5lZCBieSB0aGUgZHJpdmVyLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWluUG9vbFNpemUnKSxcbiAgfSxcbiAgcHJveHlIb3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBob3N0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICB9LFxuICBwcm94eVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgcGFzc3dvcmQgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcHJveHlQb3J0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGNvbmZpZ3VyZSBhIFNvY2tzNSBwcm94eSBwb3J0IHVzZWQgZm9yIGNyZWF0aW5nIFRDUCBjb25uZWN0aW9ucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Byb3h5UG9ydCcpLFxuICB9LFxuICBwcm94eVVzZXJuYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1BST1hZX1VTRVJOQU1FJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBjb25maWd1cmUgYSBTb2NrczUgcHJveHkgdXNlcm5hbWUgd2hlbiB0aGUgcHJveHkgcmVxdWlyZXMgdXNlcm5hbWUvcGFzc3dvcmQgYXV0aGVudGljYXRpb24uJyxcbiAgfSxcbiAgcmVhZENvbmNlcm5MZXZlbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX0NPTkNFUk5fTEVWRUwnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxldmVsIG9mIGlzb2xhdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9SRUFEX1BSRUZFUkVOQ0UnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHJlYWQgcHJlZmVyZW5jZXMgZm9yIHRoaXMgY29ubmVjdGlvbi4nLFxuICB9LFxuICByZWFkUHJlZmVyZW5jZVRhZ3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVBRF9QUkVGRVJFTkNFX1RBR1MnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHRhZ3MgZG9jdW1lbnQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBjb2xvbi1zZXBhcmF0ZWQga2V5LXZhbHVlIHBhaXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICByZXBsaWNhU2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1JFUExJQ0FfU0VUJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSByZXBsaWNhIHNldCwgaWYgdGhlIG1vbmdvZCBpcyBhIG1lbWJlciBvZiBhIHJlcGxpY2Egc2V0LicsXG4gIH0sXG4gIHJldHJ5UmVhZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfUkVBRFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGVuYWJsZSByZXRyeWFibGUgcmVhZHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgcmV0cnlXcml0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfUkVUUllfV1JJVEVTJyxcbiAgICBoZWxwOiAnVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzZXQgd2hldGhlciB0byByZXRyeSBmYWlsZWQgd3JpdGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHNjaGVtYUNhY2hlVHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NDSEVNQV9DQUNIRV9UVEwnLFxuICAgIGhlbHA6ICdUaGUgZHVyYXRpb24gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgc2NoZW1hIGNhY2hlIGV4cGlyZXMgYW5kIHdpbGwgYmUgcmVmZXRjaGVkIGZyb20gdGhlIGRhdGFiYXNlLiBVc2UgdGhpcyBvcHRpb24gaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBBIGxvdyBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgY2FjaGUgdG8gYmUgdXBkYXRlZCB0b28gb2Z0ZW4sIGNhdXNpbmcgdW5uZWNlc3NhcnkgZGF0YWJhc2UgcmVhZHMuIEEgaGlnaCBkdXJhdGlvbiB3aWxsIGNhdXNlIHRoZSBzY2hlbWEgdG8gYmUgdXBkYXRlZCB0b28gcmFyZWx5LCBpbmNyZWFzaW5nIHRoZSB0aW1lIHJlcXVpcmVkIHVudGlsIHNjaGVtYSBjaGFuZ2VzIHByb3BhZ2F0ZSB0byBhbGwgc2VydmVyIGluc3RhbmNlcy4gVGhpcyBmZWF0dXJlIGNhbiBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIG9yIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIG9wdGlvbiBgZW5hYmxlU2NoZW1hSG9va3NgLiBEZWZhdWx0IGlzIGluZmluaXRlIHdoaWNoIG1lYW5zIHRoZSBzY2hlbWEgY2FjaGUgbmV2ZXIgZXhwaXJlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3NjaGVtYUNhY2hlVHRsJyksXG4gIH0sXG4gIHNlcnZlck1vbml0b3JpbmdNb2RlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NFUlZFUl9NT05JVE9SSU5HX01PREUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIGluc3RydWN0IHRoZSBkcml2ZXIgbW9uaXRvcnMgdG8gdXNlIGEgc3BlY2lmaWMgbW9uaXRvcmluZyBtb2RlLicsXG4gIH0sXG4gIHNlcnZlclNlbGVjdGlvblRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TRVJWRVJfU0VMRUNUSU9OX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgYSBzZXJ2ZXIgdG8gYmUgY29uc2lkZXJlZCBzdWl0YWJsZSBmb3Igc2VsZWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc2VydmVyU2VsZWN0aW9uVGltZW91dE1TJyksXG4gIH0sXG4gIHNvY2tldFRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9TT0NLRVRfVElNRU9VVF9NUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgc3BlbnQgYXR0ZW1wdGluZyB0byBzZW5kIG9yIHJlY2VpdmUgb24gYSBzb2NrZXQgYmVmb3JlIHRpbWluZyBvdXQuIFNwZWNpZnlpbmcgMCBtZWFucyBubyB0aW1lb3V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignc29ja2V0VGltZW91dE1TJyksXG4gIH0sXG4gIHNydk1heEhvc3RzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9NQVhfSE9TVFMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGhvc3RzIHRvIGNvbm5lY3QgdG8gd2hlbiB1c2luZyBhbiBzcnYgY29ubmVjdGlvbiBzdHJpbmcsIGEgc2V0dGluZyBvZiAwIG1lYW5zIHVubGltaXRlZCBob3N0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Nydk1heEhvc3RzJyksXG4gIH0sXG4gIHNydlNlcnZpY2VOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NSVl9TRVJWSUNFX05BTUUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIG1vZGlmeSB0aGUgc3J2IFVSSSBzZXJ2aWNlIG5hbWUuJyxcbiAgfSxcbiAgc3NsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1NTTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24gKGVxdWl2YWxlbnQgdG8gdGxzIG9wdGlvbikuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZW5hYmxlIG9yIGRpc2FibGUgVExTL1NTTCBmb3IgdGhlIGNvbm5lY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkQ2VydGlmaWNhdGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0NFUlRJRklDQVRFUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gYnlwYXNzIHZhbGlkYXRpb24gb2YgdGhlIGNlcnRpZmljYXRlcyBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQWxsb3dJbnZhbGlkSG9zdG5hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19BTExPV19JTlZBTElEX0hPU1ROQU1FUycsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSBob3N0bmFtZSB2YWxpZGF0aW9uIG9mIHRoZSBjZXJ0aWZpY2F0ZSBwcmVzZW50ZWQgYnkgdGhlIG1vbmdvZC9tb25nb3MgaW5zdGFuY2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdGxzQ0FGaWxlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DQUZJTEUnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgLnBlbSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIHJvb3QgY2VydGlmaWNhdGUgY2hhaW4gZnJvbSB0aGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LicsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9UTFNfQ0VSVElGSUNBVEVfS0VZX0ZJTEUnLFxuICAgIGhlbHA6IFwiVGhlIE1vbmdvREIgZHJpdmVyIG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhIGxvY2FsIC5wZW0gZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBjbGllbnQncyBUTFMvU1NMIGNlcnRpZmljYXRlIGFuZCBrZXkuXCIsXG4gIH0sXG4gIHRsc0NlcnRpZmljYXRlS2V5RmlsZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19DRVJUSUZJQ0FURV9LRVlfRklMRV9QQVNTV09SRCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgcGFzc3dvcmQgdG8gZGVjcnlwdCB0aGUgdGxzQ2VydGlmaWNhdGVLZXlGaWxlLicsXG4gIH0sXG4gIHRsc0luc2VjdXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1RMU19JTlNFQ1VSRScsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gZGlzYWJsZSB2YXJpb3VzIGNlcnRpZmljYXRlIHZhbGlkYXRpb25zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHdhaXRRdWV1ZVRpbWVvdXRNUzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9XQUlUX1FVRVVFX1RJTUVPVVRfTVMnLFxuICAgIGhlbHA6ICdUaGUgTW9uZ29EQiBkcml2ZXIgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIG1heGltdW0gdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBhIHRocmVhZCBjYW4gd2FpdCBmb3IgYSBjb25uZWN0aW9uIHRvIGJlY29tZSBhdmFpbGFibGUuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3YWl0UXVldWVUaW1lb3V0TVMnKSxcbiAgfSxcbiAgemxpYkNvbXByZXNzaW9uTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfWkxJQl9DT01QUkVTU0lPTl9MRVZFTCcsXG4gICAgaGVscDogJ1RoZSBNb25nb0RCIGRyaXZlciBvcHRpb24gdG8gc3BlY2lmeSB0aGUgY29tcHJlc3Npb24gbGV2ZWwgaWYgdXNpbmcgemxpYiBmb3IgbmV0d29yayBjb21wcmVzc2lvbiAoMC05KS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3psaWJDb21wcmVzc2lvbkxldmVsJyksXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zQ2xpZW50TWV0YWRhdGEgPSB7XG4gIG5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfQ0xJRU5UX01FVEFEQVRBX05BTUUnLFxuICAgIGhlbHA6IFwiVGhlIG5hbWUgdG8gaWRlbnRpZnkgeW91ciBhcHBsaWNhdGlvbiBpbiBkYXRhYmFzZSBsb2dzIChlLmcuLCAnTXlBcHAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgdmVyc2lvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9DTElFTlRfTUVUQURBVEFfVkVSU0lPTicsXG4gICAgaGVscDogXCJUaGUgdmVyc2lvbiBvZiB5b3VyIGFwcGxpY2F0aW9uIChlLmcuLCAnMS4wLjAnKS5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5BdXRoQWRhcHRlciA9IHtcbiAgZW5hYmxlZDoge1xuICAgIGhlbHA6ICdJcyBgdHJ1ZWAgaWYgdGhlIGF1dGggYWRhcHRlciBpcyBlbmFibGVkLCBgZmFsc2VgIG90aGVyd2lzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxvZ0xldmVscyA9IHtcbiAgY2xvdWRGdW5jdGlvbkVycm9yOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfQ0xPVURfRlVOQ1RJT05fRVJST1InLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gZXJyb3IuIERlZmF1bHQgaXMgYGVycm9yYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnZXJyb3InLFxuICB9LFxuICBjbG91ZEZ1bmN0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dfTEVWRUxTX0NMT1VEX0ZVTkNUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdMb2cgbGV2ZWwgdXNlZCBieSB0aGUgQ2xvdWQgQ29kZSBGdW5jdGlvbnMgb24gc3VjY2Vzcy4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICBzaWdudXBVc2VybmFtZVRha2VuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfU0lHTlVQX1VTRVJOQU1FX1RBS0VOJyxcbiAgICBoZWxwOiAnTG9nIGxldmVsIHVzZWQgd2hlbiBhIHNpZ24tdXAgZmFpbHMgYmVjYXVzZSB0aGUgdXNlcm5hbWUgYWxyZWFkeSBleGlzdHMuIERlZmF1bHQgaXMgYGluZm9gLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdpbmZvJyxcbiAgfSxcbiAgdHJpZ2dlckFmdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9BRlRFUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBhZnRlclNhdmVgLCBgYWZ0ZXJEZWxldGVgLCBgYWZ0ZXJGaW5kYCwgYGFmdGVyTG9nb3V0YC4gRGVmYXVsdCBpcyBgaW5mb2AuIFNlZSBbTG9nTGV2ZWxdKExvZ0xldmVsLmh0bWwpIGZvciBhdmFpbGFibGUgdmFsdWVzLicsXG4gICAgZGVmYXVsdDogJ2luZm8nLFxuICB9LFxuICB0cmlnZ2VyQmVmb3JlRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMU19UUklHR0VSX0JFRk9SRV9FUlJPUicsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBlcnJvci4gRGVmYXVsdCBpcyBgZXJyb3JgLiBTZWUgW0xvZ0xldmVsXShMb2dMZXZlbC5odG1sKSBmb3IgYXZhaWxhYmxlIHZhbHVlcy4nLFxuICAgIGRlZmF1bHQ6ICdlcnJvcicsXG4gIH0sXG4gIHRyaWdnZXJCZWZvcmVTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTFNfVFJJR0dFUl9CRUZPUkVfU1VDQ0VTUycsXG4gICAgaGVscDogJ0xvZyBsZXZlbCB1c2VkIGJ5IHRoZSBDbG91ZCBDb2RlIFRyaWdnZXJzIGBiZWZvcmVTYXZlYCwgYGJlZm9yZURlbGV0ZWAsIGBiZWZvcmVGaW5kYCwgYGJlZm9yZUxvZ2luYCBvbiBzdWNjZXNzLiBEZWZhdWx0IGlzIGBpbmZvYC4gU2VlIFtMb2dMZXZlbF0oTG9nTGV2ZWwuaHRtbCkgZm9yIGF2YWlsYWJsZSB2YWx1ZXMuJyxcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxPQUFPLEdBQUdDLE9BQU8sQ0FBQyxXQUFXLENBQUM7QUFDbENDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDQyxhQUFhLEdBQUc7RUFDN0JDLGNBQWMsRUFBRTtJQUNkQyxHQUFHLEVBQUUs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
|