parse-server 5.3.0-alpha.12 → 5.3.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -111,6 +111,7 @@ Before you start make sure you have installed:
111
111
  ### Compatibility
112
112
 
113
113
  #### Node.js
114
+
114
115
  Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
115
116
 
116
117
  | Version | Latest Version | End-of-Life | Compatible |
@@ -122,6 +123,7 @@ Parse Server is continuously tested with the most recent releases of Node.js to
122
123
  | Node.js 18 | 18.1.0 | April 2025 | ✅ Yes |
123
124
 
124
125
  #### MongoDB
126
+
125
127
  Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported and have not reached their end-of-life date.
126
128
 
127
129
  | Version | Latest Version | End-of-Life | Compatible |
@@ -134,6 +136,7 @@ Parse Server is continuously tested with the most recent releases of MongoDB to
134
136
  | MongoDB 5.2 | 5.2.1 | TBD | ✅ Yes |
135
137
 
136
138
  #### PostgreSQL
139
+
137
140
  Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility, using [PostGIS docker images](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated). We follow the [PostgreSQL support schedule](https://www.postgresql.org/support/versioning) and [PostGIS support schedule](https://www.postgis.net/eol_policy/) and only test against versions that are officially supported and have not reached their end-of-life date. Due to the extensive PostgreSQL support duration of 5 years, Parse Server drops support if a version is older than 3.5 years and a newer version has been available for at least 2.5 years.
138
141
 
139
142
  | Version | PostGIS Version | End-of-Life | Parse Server Support End | Compatible |
@@ -144,6 +147,7 @@ Parse Server is continuously tested with the most recent releases of PostgreSQL
144
147
  | Postgres 14 | 3.2 | November 2026 | April 2025 | ✅ Yes |
145
148
 
146
149
  ### Locally
150
+
147
151
  ```bash
148
152
  $ npm install -g parse-server mongodb-runner
149
153
  $ mongodb-runner start
@@ -236,7 +240,6 @@ $ curl -X GET \
236
240
  }
237
241
  ]
238
242
  }
239
-
240
243
  ```
241
244
 
242
245
  To learn more about using saving and querying objects on Parse Server, check out the [Parse documentation](http://docs.parseplatform.org).
@@ -386,6 +389,7 @@ const server = ParseServer({
386
389
  ```
387
390
 
388
391
  ## Custom Routes
392
+
389
393
  **Caution, this is an experimental feature that may not be appropriate for production.**
390
394
 
391
395
  Custom routes allow to build user flows with webpages, similar to the existing password reset and email verification features. Custom routes are defined with the `pages` option in the Parse Server configuration:
@@ -418,6 +422,7 @@ The above route can be invoked by sending a `GET` request to:
418
422
  The `handler` receives the `request` and returns a `custom_page.html` webpage from the `pages.pagesPath` directory as response. The advantage of building a custom route this way is that it automatically makes use of Parse Server's built-in capabilities, such as [page localization](#pages) and [dynamic placeholders](#dynamic-placeholders).
419
423
 
420
424
  ### Reserved Paths
425
+
421
426
  The following paths are already used by Parse Server's built-in features and are therefore not available for custom routes. Custom routes with an identical combination of `path` and `method` are ignored.
422
427
 
423
428
  | Path | HTTP Method | Feature |
@@ -513,6 +518,7 @@ Identical requests are identified by their request header `X-Parse-Request-Id`.
513
518
  Deduplication is only done for object creation and update (`POST` and `PUT` requests). Deduplication is not done for object finding and deletion (`GET` and `DELETE` requests), as these operations are already idempotent by definition.
514
519
 
515
520
  ### Configuration example <!-- omit in toc -->
521
+
516
522
  ```
517
523
  let api = new ParseServer({
518
524
  idempotencyOptions: {
@@ -521,6 +527,7 @@ let api = new ParseServer({
521
527
  }
522
528
  }
523
529
  ```
530
+
524
531
  ### Parameters <!-- omit in toc -->
525
532
 
526
533
  | Parameter | Optional | Type | Default value | Example values | Environment variable | Description |
@@ -553,6 +560,7 @@ Assuming the script above is named, `parse_idempotency_delete_expired_records.sh
553
560
  ## Localization
554
561
 
555
562
  ### Pages
563
+
556
564
  **Caution, this is an experimental feature that may not be appropriate for production.**
557
565
 
558
566
  Custom pages as well as feature pages (e.g. password reset, email verification) can be localized with the `pages` option in the Parse Server configuration:
@@ -27,6 +27,10 @@ class ParseWebSocketServer {
27
27
  };
28
28
 
29
29
  wss.onConnection = ws => {
30
+ ws.waitingForPong = false;
31
+ ws.on('pong', () => {
32
+ this.waitingForPong = false;
33
+ });
30
34
  ws.on('error', error => {
31
35
  _logger.default.error(error.message);
32
36
 
@@ -35,10 +39,12 @@ class ParseWebSocketServer {
35
39
  onConnect(new ParseWebSocket(ws)); // Send ping to client periodically
36
40
 
37
41
  const pingIntervalId = setInterval(() => {
38
- if (ws.readyState == ws.OPEN) {
42
+ if (!ws.waitingForPong) {
39
43
  ws.ping();
44
+ ws.waitingForPong = true;
40
45
  } else {
41
46
  clearInterval(pingIntervalId);
47
+ ws.terminate();
42
48
  }
43
49
  }, config.websocketTimeout || 10 * 1000);
44
50
  };
@@ -79,4 +85,4 @@ class ParseWebSocket extends _events.default.EventEmitter {
79
85
  }
80
86
 
81
87
  exports.ParseWebSocket = ParseWebSocket;
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvUGFyc2VXZWJTb2NrZXRTZXJ2ZXIuanMiXSwibmFtZXMiOlsiUGFyc2VXZWJTb2NrZXRTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInNlcnZlciIsIm9uQ29ubmVjdCIsImNvbmZpZyIsIndzcyIsIndzc0FkYXB0ZXIiLCJXU0FkYXB0ZXIiLCJvbkxpc3RlbiIsImxvZ2dlciIsImluZm8iLCJvbkNvbm5lY3Rpb24iLCJ3cyIsIm9uIiwiZXJyb3IiLCJtZXNzYWdlIiwiUGFyc2VXZWJTb2NrZXQiLCJwaW5nSW50ZXJ2YWxJZCIsInNldEludGVydmFsIiwicmVhZHlTdGF0ZSIsIk9QRU4iLCJwaW5nIiwiY2xlYXJJbnRlcnZhbCIsIndlYnNvY2tldFRpbWVvdXQiLCJvbkVycm9yIiwic3RhcnQiLCJjbG9zZSIsImV2ZW50cyIsIkV2ZW50RW1pdHRlciIsIm9ubWVzc2FnZSIsInJlcXVlc3QiLCJlbWl0IiwiZGF0YSIsIm9uY2xvc2UiLCJzZW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFTyxNQUFNQSxvQkFBTixDQUEyQjtBQUdoQ0MsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQWNDLFNBQWQsRUFBbUNDLE1BQW5DLEVBQTJDO0FBQ3BEQSxJQUFBQSxNQUFNLENBQUNGLE1BQVAsR0FBZ0JBLE1BQWhCO0FBQ0EsVUFBTUcsR0FBRyxHQUFHLGdDQUFZRCxNQUFNLENBQUNFLFVBQW5CLEVBQStCQyxvQkFBL0IsRUFBMENILE1BQTFDLENBQVo7O0FBQ0FDLElBQUFBLEdBQUcsQ0FBQ0csUUFBSixHQUFlLE1BQU07QUFDbkJDLHNCQUFPQyxJQUFQLENBQVksd0NBQVo7QUFDRCxLQUZEOztBQUdBTCxJQUFBQSxHQUFHLENBQUNNLFlBQUosR0FBbUJDLEVBQUUsSUFBSTtBQUN2QkEsTUFBQUEsRUFBRSxDQUFDQyxFQUFILENBQU0sT0FBTixFQUFlQyxLQUFLLElBQUk7QUFDdEJMLHdCQUFPSyxLQUFQLENBQWFBLEtBQUssQ0FBQ0MsT0FBbkI7O0FBQ0FOLHdCQUFPSyxLQUFQLENBQWEsbUJBQVFGLEVBQVIsRUFBWSxLQUFaLENBQWI7QUFDRCxPQUhEO0FBSUFULE1BQUFBLFNBQVMsQ0FBQyxJQUFJYSxjQUFKLENBQW1CSixFQUFuQixDQUFELENBQVQsQ0FMdUIsQ0FNdkI7O0FBQ0EsWUFBTUssY0FBYyxHQUFHQyxXQUFXLENBQUMsTUFBTTtBQUN2QyxZQUFJTixFQUFFLENBQUNPLFVBQUgsSUFBaUJQLEVBQUUsQ0FBQ1EsSUFBeEIsRUFBOEI7QUFDNUJSLFVBQUFBLEVBQUUsQ0FBQ1MsSUFBSDtBQUNELFNBRkQsTUFFTztBQUNMQyxVQUFBQSxhQUFhLENBQUNMLGNBQUQsQ0FBYjtBQUNEO0FBQ0YsT0FOaUMsRUFNL0JiLE1BQU0sQ0FBQ21CLGdCQUFQLElBQTJCLEtBQUssSUFORCxDQUFsQztBQU9ELEtBZEQ7O0FBZUFsQixJQUFBQSxHQUFHLENBQUNtQixPQUFKLEdBQWNWLEtBQUssSUFBSTtBQUNyQkwsc0JBQU9LLEtBQVAsQ0FBYUEsS0FBYjtBQUNELEtBRkQ7O0FBR0FULElBQUFBLEdBQUcsQ0FBQ29CLEtBQUo7QUFDQSxTQUFLdkIsTUFBTCxHQUFjRyxHQUFkO0FBQ0Q7O0FBRURxQixFQUFBQSxLQUFLLEdBQUc7QUFDTixRQUFJLEtBQUt4QixNQUFMLElBQWUsS0FBS0EsTUFBTCxDQUFZd0IsS0FBL0IsRUFBc0M7QUFDcEMsV0FBS3hCLE1BQUwsQ0FBWXdCLEtBQVo7QUFDRDtBQUNGOztBQW5DK0I7Ozs7QUFzQzNCLE1BQU1WLGNBQU4sU0FBNkJXLGdCQUFPQyxZQUFwQyxDQUFpRDtBQUd0RDNCLEVBQUFBLFdBQVcsQ0FBQ1csRUFBRCxFQUFVO0FBQ25COztBQUNBQSxJQUFBQSxFQUFFLENBQUNpQixTQUFILEdBQWVDLE9BQU8sSUFDcEIsS0FBS0MsSUFBTCxDQUFVLFNBQVYsRUFBcUJELE9BQU8sSUFBSUEsT0FBTyxDQUFDRSxJQUFuQixHQUEwQkYsT0FBTyxDQUFDRSxJQUFsQyxHQUF5Q0YsT0FBOUQsQ0FERjs7QUFFQWxCLElBQUFBLEVBQUUsQ0FBQ3FCLE9BQUgsR0FBYSxNQUFNLEtBQUtGLElBQUwsQ0FBVSxZQUFWLENBQW5COztBQUNBLFNBQUtuQixFQUFMLEdBQVVBLEVBQVY7QUFDRDs7QUFFRHNCLEVBQUFBLElBQUksQ0FBQ25CLE9BQUQsRUFBcUI7QUFDdkIsU0FBS0gsRUFBTCxDQUFRc0IsSUFBUixDQUFhbkIsT0FBYjtBQUNEOztBQWJxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvYWRBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvQWRhcHRlckxvYWRlcic7XG5pbXBvcnQgeyBXU0FkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9XZWJTb2NrZXRTZXJ2ZXIvV1NBZGFwdGVyJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBldmVudHMgZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICd1dGlsJztcblxuZXhwb3J0IGNsYXNzIFBhcnNlV2ViU29ja2V0U2VydmVyIHtcbiAgc2VydmVyOiBPYmplY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2VydmVyOiBhbnksIG9uQ29ubmVjdDogRnVuY3Rpb24sIGNvbmZpZykge1xuICAgIGNvbmZpZy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgY29uc3Qgd3NzID0gbG9hZEFkYXB0ZXIoY29uZmlnLndzc0FkYXB0ZXIsIFdTQWRhcHRlciwgY29uZmlnKTtcbiAgICB3c3Mub25MaXN0ZW4gPSAoKSA9PiB7XG4gICAgICBsb2dnZXIuaW5mbygnUGFyc2UgTGl2ZVF1ZXJ5IFNlcnZlciBzdGFydGVkIHJ1bm5pbmcnKTtcbiAgICB9O1xuICAgIHdzcy5vbkNvbm5lY3Rpb24gPSB3cyA9PiB7XG4gICAgICB3cy5vbignZXJyb3InLCBlcnJvciA9PiB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgbG9nZ2VyLmVycm9yKGluc3BlY3Qod3MsIGZhbHNlKSk7XG4gICAgICB9KTtcbiAgICAgIG9uQ29ubmVjdChuZXcgUGFyc2VXZWJTb2NrZXQod3MpKTtcbiAgICAgIC8vIFNlbmQgcGluZyB0byBjbGllbnQgcGVyaW9kaWNhbGx5XG4gICAgICBjb25zdCBwaW5nSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgaWYgKHdzLnJlYWR5U3RhdGUgPT0gd3MuT1BFTikge1xuICAgICAgICAgIHdzLnBpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKHBpbmdJbnRlcnZhbElkKTtcbiAgICAgICAgfVxuICAgICAgfSwgY29uZmlnLndlYnNvY2tldFRpbWVvdXQgfHwgMTAgKiAxMDAwKTtcbiAgICB9O1xuICAgIHdzcy5vbkVycm9yID0gZXJyb3IgPT4ge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICB9O1xuICAgIHdzcy5zdGFydCgpO1xuICAgIHRoaXMuc2VydmVyID0gd3NzO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuc2VydmVyICYmIHRoaXMuc2VydmVyLmNsb3NlKSB7XG4gICAgICB0aGlzLnNlcnZlci5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFyc2VXZWJTb2NrZXQgZXh0ZW5kcyBldmVudHMuRXZlbnRFbWl0dGVyIHtcbiAgd3M6IGFueTtcblxuICBjb25zdHJ1Y3Rvcih3czogYW55KSB7XG4gICAgc3VwZXIoKTtcbiAgICB3cy5vbm1lc3NhZ2UgPSByZXF1ZXN0ID0+XG4gICAgICB0aGlzLmVtaXQoJ21lc3NhZ2UnLCByZXF1ZXN0ICYmIHJlcXVlc3QuZGF0YSA/IHJlcXVlc3QuZGF0YSA6IHJlcXVlc3QpO1xuICAgIHdzLm9uY2xvc2UgPSAoKSA9PiB0aGlzLmVtaXQoJ2Rpc2Nvbm5lY3QnKTtcbiAgICB0aGlzLndzID0gd3M7XG4gIH1cblxuICBzZW5kKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMud3Muc2VuZChtZXNzYWdlKTtcbiAgfVxufVxuIl19
88
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaXZlUXVlcnkvUGFyc2VXZWJTb2NrZXRTZXJ2ZXIuanMiXSwibmFtZXMiOlsiUGFyc2VXZWJTb2NrZXRTZXJ2ZXIiLCJjb25zdHJ1Y3RvciIsInNlcnZlciIsIm9uQ29ubmVjdCIsImNvbmZpZyIsIndzcyIsIndzc0FkYXB0ZXIiLCJXU0FkYXB0ZXIiLCJvbkxpc3RlbiIsImxvZ2dlciIsImluZm8iLCJvbkNvbm5lY3Rpb24iLCJ3cyIsIndhaXRpbmdGb3JQb25nIiwib24iLCJlcnJvciIsIm1lc3NhZ2UiLCJQYXJzZVdlYlNvY2tldCIsInBpbmdJbnRlcnZhbElkIiwic2V0SW50ZXJ2YWwiLCJwaW5nIiwiY2xlYXJJbnRlcnZhbCIsInRlcm1pbmF0ZSIsIndlYnNvY2tldFRpbWVvdXQiLCJvbkVycm9yIiwic3RhcnQiLCJjbG9zZSIsImV2ZW50cyIsIkV2ZW50RW1pdHRlciIsIm9ubWVzc2FnZSIsInJlcXVlc3QiLCJlbWl0IiwiZGF0YSIsIm9uY2xvc2UiLCJzZW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFTyxNQUFNQSxvQkFBTixDQUEyQjtBQUdoQ0MsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQWNDLFNBQWQsRUFBbUNDLE1BQW5DLEVBQTJDO0FBQ3BEQSxJQUFBQSxNQUFNLENBQUNGLE1BQVAsR0FBZ0JBLE1BQWhCO0FBQ0EsVUFBTUcsR0FBRyxHQUFHLGdDQUFZRCxNQUFNLENBQUNFLFVBQW5CLEVBQStCQyxvQkFBL0IsRUFBMENILE1BQTFDLENBQVo7O0FBQ0FDLElBQUFBLEdBQUcsQ0FBQ0csUUFBSixHQUFlLE1BQU07QUFDbkJDLHNCQUFPQyxJQUFQLENBQVksd0NBQVo7QUFDRCxLQUZEOztBQUdBTCxJQUFBQSxHQUFHLENBQUNNLFlBQUosR0FBbUJDLEVBQUUsSUFBSTtBQUN2QkEsTUFBQUEsRUFBRSxDQUFDQyxjQUFILEdBQW9CLEtBQXBCO0FBQ0FELE1BQUFBLEVBQUUsQ0FBQ0UsRUFBSCxDQUFNLE1BQU4sRUFBYyxNQUFNO0FBQ2xCLGFBQUtELGNBQUwsR0FBc0IsS0FBdEI7QUFDRCxPQUZEO0FBR0FELE1BQUFBLEVBQUUsQ0FBQ0UsRUFBSCxDQUFNLE9BQU4sRUFBZUMsS0FBSyxJQUFJO0FBQ3RCTix3QkFBT00sS0FBUCxDQUFhQSxLQUFLLENBQUNDLE9BQW5COztBQUNBUCx3QkFBT00sS0FBUCxDQUFhLG1CQUFRSCxFQUFSLEVBQVksS0FBWixDQUFiO0FBQ0QsT0FIRDtBQUlBVCxNQUFBQSxTQUFTLENBQUMsSUFBSWMsY0FBSixDQUFtQkwsRUFBbkIsQ0FBRCxDQUFULENBVHVCLENBVXZCOztBQUNBLFlBQU1NLGNBQWMsR0FBR0MsV0FBVyxDQUFDLE1BQU07QUFDdkMsWUFBSSxDQUFDUCxFQUFFLENBQUNDLGNBQVIsRUFBd0I7QUFDdEJELFVBQUFBLEVBQUUsQ0FBQ1EsSUFBSDtBQUNBUixVQUFBQSxFQUFFLENBQUNDLGNBQUgsR0FBb0IsSUFBcEI7QUFDRCxTQUhELE1BR087QUFDTFEsVUFBQUEsYUFBYSxDQUFDSCxjQUFELENBQWI7QUFDQU4sVUFBQUEsRUFBRSxDQUFDVSxTQUFIO0FBQ0Q7QUFDRixPQVJpQyxFQVEvQmxCLE1BQU0sQ0FBQ21CLGdCQUFQLElBQTJCLEtBQUssSUFSRCxDQUFsQztBQVNELEtBcEJEOztBQXFCQWxCLElBQUFBLEdBQUcsQ0FBQ21CLE9BQUosR0FBY1QsS0FBSyxJQUFJO0FBQ3JCTixzQkFBT00sS0FBUCxDQUFhQSxLQUFiO0FBQ0QsS0FGRDs7QUFHQVYsSUFBQUEsR0FBRyxDQUFDb0IsS0FBSjtBQUNBLFNBQUt2QixNQUFMLEdBQWNHLEdBQWQ7QUFDRDs7QUFFRHFCLEVBQUFBLEtBQUssR0FBRztBQUNOLFFBQUksS0FBS3hCLE1BQUwsSUFBZSxLQUFLQSxNQUFMLENBQVl3QixLQUEvQixFQUFzQztBQUNwQyxXQUFLeEIsTUFBTCxDQUFZd0IsS0FBWjtBQUNEO0FBQ0Y7O0FBekMrQjs7OztBQTRDM0IsTUFBTVQsY0FBTixTQUE2QlUsZ0JBQU9DLFlBQXBDLENBQWlEO0FBR3REM0IsRUFBQUEsV0FBVyxDQUFDVyxFQUFELEVBQVU7QUFDbkI7O0FBQ0FBLElBQUFBLEVBQUUsQ0FBQ2lCLFNBQUgsR0FBZUMsT0FBTyxJQUNwQixLQUFLQyxJQUFMLENBQVUsU0FBVixFQUFxQkQsT0FBTyxJQUFJQSxPQUFPLENBQUNFLElBQW5CLEdBQTBCRixPQUFPLENBQUNFLElBQWxDLEdBQXlDRixPQUE5RCxDQURGOztBQUVBbEIsSUFBQUEsRUFBRSxDQUFDcUIsT0FBSCxHQUFhLE1BQU0sS0FBS0YsSUFBTCxDQUFVLFlBQVYsQ0FBbkI7O0FBQ0EsU0FBS25CLEVBQUwsR0FBVUEsRUFBVjtBQUNEOztBQUVEc0IsRUFBQUEsSUFBSSxDQUFDbEIsT0FBRCxFQUFxQjtBQUN2QixTQUFLSixFQUFMLENBQVFzQixJQUFSLENBQWFsQixPQUFiO0FBQ0Q7O0FBYnFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZEFkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9BZGFwdGVyTG9hZGVyJztcbmltcG9ydCB7IFdTQWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL1dlYlNvY2tldFNlcnZlci9XU0FkYXB0ZXInO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IGV2ZW50cyBmcm9tICdldmVudHMnO1xuaW1wb3J0IHsgaW5zcGVjdCB9IGZyb20gJ3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgUGFyc2VXZWJTb2NrZXRTZXJ2ZXIge1xuICBzZXJ2ZXI6IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihzZXJ2ZXI6IGFueSwgb25Db25uZWN0OiBGdW5jdGlvbiwgY29uZmlnKSB7XG4gICAgY29uZmlnLnNlcnZlciA9IHNlcnZlcjtcbiAgICBjb25zdCB3c3MgPSBsb2FkQWRhcHRlcihjb25maWcud3NzQWRhcHRlciwgV1NBZGFwdGVyLCBjb25maWcpO1xuICAgIHdzcy5vbkxpc3RlbiA9ICgpID0+IHtcbiAgICAgIGxvZ2dlci5pbmZvKCdQYXJzZSBMaXZlUXVlcnkgU2VydmVyIHN0YXJ0ZWQgcnVubmluZycpO1xuICAgIH07XG4gICAgd3NzLm9uQ29ubmVjdGlvbiA9IHdzID0+IHtcbiAgICAgIHdzLndhaXRpbmdGb3JQb25nID0gZmFsc2U7XG4gICAgICB3cy5vbigncG9uZycsICgpID0+IHtcbiAgICAgICAgdGhpcy53YWl0aW5nRm9yUG9uZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgICB3cy5vbignZXJyb3InLCBlcnJvciA9PiB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgbG9nZ2VyLmVycm9yKGluc3BlY3Qod3MsIGZhbHNlKSk7XG4gICAgICB9KTtcbiAgICAgIG9uQ29ubmVjdChuZXcgUGFyc2VXZWJTb2NrZXQod3MpKTtcbiAgICAgIC8vIFNlbmQgcGluZyB0byBjbGllbnQgcGVyaW9kaWNhbGx5XG4gICAgICBjb25zdCBwaW5nSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgaWYgKCF3cy53YWl0aW5nRm9yUG9uZykge1xuICAgICAgICAgIHdzLnBpbmcoKTtcbiAgICAgICAgICB3cy53YWl0aW5nRm9yUG9uZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChwaW5nSW50ZXJ2YWxJZCk7XG4gICAgICAgICAgd3MudGVybWluYXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sIGNvbmZpZy53ZWJzb2NrZXRUaW1lb3V0IHx8IDEwICogMTAwMCk7XG4gICAgfTtcbiAgICB3c3Mub25FcnJvciA9IGVycm9yID0+IHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgfTtcbiAgICB3c3Muc3RhcnQoKTtcbiAgICB0aGlzLnNlcnZlciA9IHdzcztcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLnNlcnZlciAmJiB0aGlzLnNlcnZlci5jbG9zZSkge1xuICAgICAgdGhpcy5zZXJ2ZXIuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhcnNlV2ViU29ja2V0IGV4dGVuZHMgZXZlbnRzLkV2ZW50RW1pdHRlciB7XG4gIHdzOiBhbnk7XG5cbiAgY29uc3RydWN0b3Iod3M6IGFueSkge1xuICAgIHN1cGVyKCk7XG4gICAgd3Mub25tZXNzYWdlID0gcmVxdWVzdCA9PlxuICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlJywgcmVxdWVzdCAmJiByZXF1ZXN0LmRhdGEgPyByZXF1ZXN0LmRhdGEgOiByZXF1ZXN0KTtcbiAgICB3cy5vbmNsb3NlID0gKCkgPT4gdGhpcy5lbWl0KCdkaXNjb25uZWN0Jyk7XG4gICAgdGhpcy53cyA9IHdzO1xuICB9XG5cbiAgc2VuZChtZXNzYWdlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLndzLnNlbmQobWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
@@ -92,7 +92,7 @@ module.exports.ParseServerOptions = {
92
92
  auth: {
93
93
  env: 'PARSE_SERVER_AUTH_PROVIDERS',
94
94
  help: 'Configuration for your authentication providers, as stringified JSON. See http://docs.parseplatform.org/parse-server/guide/#oauth-and-3rd-party-authentication',
95
- action: parsers.objectParser
95
+ action: parsers.arrayParser
96
96
  },
97
97
  cacheAdapter: {
98
98
  env: 'PARSE_SERVER_CACHE_ADAPTER',
@@ -827,4 +827,11 @@ module.exports.DatabaseOptions = {
827
827
  default: false
828
828
  }
829
829
  };
830
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcHRpb25zL0RlZmluaXRpb25zLmpzIl0sIm5hbWVzIjpbInBhcnNlcnMiLCJyZXF1aXJlIiwibW9kdWxlIiwiZXhwb3J0cyIsIlNjaGVtYU9wdGlvbnMiLCJhZnRlck1pZ3JhdGlvbiIsImVudiIsImhlbHAiLCJiZWZvcmVNaWdyYXRpb24iLCJkZWZpbml0aW9ucyIsInJlcXVpcmVkIiwiYWN0aW9uIiwib2JqZWN0UGFyc2VyIiwiZGVmYXVsdCIsImRlbGV0ZUV4dHJhRmllbGRzIiwiYm9vbGVhblBhcnNlciIsImxvY2tTY2hlbWFzIiwicmVjcmVhdGVNb2RpZmllZEZpZWxkcyIsInN0cmljdCIsIlBhcnNlU2VydmVyT3B0aW9ucyIsImFjY291bnRMb2Nrb3V0IiwiYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uIiwiYWxsb3dDdXN0b21PYmplY3RJZCIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY3VzdG9tUGFnZXMiLCJkYXRhYmFzZUFkYXB0ZXIiLCJkYXRhYmFzZU9wdGlvbnMiLCJkYXRhYmFzZVVSSSIsImRpcmVjdEFjY2VzcyIsImRvdE5ldEtleSIsImVtYWlsQWRhcHRlciIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlciIsImVuY3J5cHRpb25LZXkiLCJlbmZvcmNlUHJpdmF0ZVVzZXJzIiwiZXhwaXJlSW5hY3RpdmVTZXNzaW9ucyIsImZpbGVLZXkiLCJmaWxlc0FkYXB0ZXIiLCJmaWxlVXBsb2FkIiwiZ3JhcGhRTFBhdGgiLCJncmFwaFFMU2NoZW1hIiwiaG9zdCIsImlkZW1wb3RlbmN5T3B0aW9ucyIsImphdmFzY3JpcHRLZXkiLCJqc29uTG9ncyIsImxpdmVRdWVyeSIsImxpdmVRdWVyeVNlcnZlck9wdGlvbnMiLCJsb2dnZXJBZGFwdGVyIiwibG9nTGV2ZWwiLCJsb2dzRm9sZGVyIiwibWFzdGVyS2V5IiwibWFzdGVyS2V5SXBzIiwibWF4TGltaXQiLCJtYXhMb2dGaWxlcyIsIm1heFVwbG9hZFNpemUiLCJtaWRkbGV3YXJlIiwibW91bnRHcmFwaFFMIiwibW91bnRQYXRoIiwibW91bnRQbGF5Z3JvdW5kIiwib2JqZWN0SWRTaXplIiwicGFnZXMiLCJwYXNzd29yZFBvbGljeSIsInBsYXlncm91bmRQYXRoIiwicG9ydCIsInByZXNlcnZlRmlsZU5hbWUiLCJwcmV2ZW50TG9naW5XaXRoVW52ZXJpZmllZEVtYWlsIiwicHJvdGVjdGVkRmllbGRzIiwiX1VzZXIiLCJwdWJsaWNTZXJ2ZXJVUkwiLCJwdXNoIiwicmVhZE9ubHlNYXN0ZXJLZXkiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlcnZlckNsb3NlQ29tcGxldGUiLCJzZXJ2ZXJTdGFydENvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidXNlclNlbnNpdGl2ZUZpZWxkcyIsInZlcmJvc2UiLCJ2ZXJpZnlVc2VyRW1haWxzIiwid2ViaG9va0tleSIsIlNlY3VyaXR5T3B0aW9ucyIsImNoZWNrR3JvdXBzIiwiZW5hYmxlQ2hlY2siLCJlbmFibGVDaGVja0xvZyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmFibGVSb3V0ZXIiLCJmb3JjZVJlZGlyZWN0IiwibG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGUiLCJsb2NhbGl6YXRpb25Kc29uUGF0aCIsInBhZ2VzRW5kcG9pbnQiLCJwYWdlc1BhdGgiLCJwbGFjZWhvbGRlcnMiLCJQYWdlc1JvdXRlIiwiaGFuZGxlciIsIm1ldGhvZCIsInBhdGgiLCJQYWdlc0N1c3RvbVVybHNPcHRpb25zIiwiZW1haWxWZXJpZmljYXRpb25MaW5rRXhwaXJlZCIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQiLCJlbWFpbFZlcmlmaWNhdGlvblNlbmRGYWlsIiwiZW1haWxWZXJpZmljYXRpb25TZW5kU3VjY2VzcyIsImVtYWlsVmVyaWZpY2F0aW9uU3VjY2VzcyIsInBhc3N3b3JkUmVzZXQiLCJwYXNzd29yZFJlc2V0TGlua0ludmFsaWQiLCJwYXNzd29yZFJlc2V0U3VjY2VzcyIsIkN1c3RvbVBhZ2VzT3B0aW9ucyIsImNob29zZVBhc3N3b3JkIiwiZXhwaXJlZFZlcmlmaWNhdGlvbkxpbmsiLCJpbnZhbGlkTGluayIsImludmFsaWRQYXNzd29yZFJlc2V0TGluayIsImludmFsaWRWZXJpZmljYXRpb25MaW5rIiwibGlua1NlbmRGYWlsIiwibGlua1NlbmRTdWNjZXNzIiwicGFyc2VGcmFtZVVSTCIsInZlcmlmeUVtYWlsU3VjY2VzcyIsIkxpdmVRdWVyeU9wdGlvbnMiLCJjbGFzc05hbWVzIiwicHViU3ViQWRhcHRlciIsInJlZGlzT3B0aW9ucyIsInJlZGlzVVJMIiwid3NzQWRhcHRlciIsIkxpdmVRdWVyeVNlcnZlck9wdGlvbnMiLCJjYWNoZVRpbWVvdXQiLCJrZXlQYWlycyIsIndlYnNvY2tldFRpbWVvdXQiLCJJZGVtcG90ZW5jeU9wdGlvbnMiLCJwYXRocyIsInR0bCIsIkFjY291bnRMb2Nrb3V0T3B0aW9ucyIsImR1cmF0aW9uIiwidGhyZXNob2xkIiwidW5sb2NrT25QYXNzd29yZFJlc2V0IiwiUGFzc3dvcmRQb2xpY3lPcHRpb25zIiwiZG9Ob3RBbGxvd1VzZXJuYW1lIiwibWF4UGFzc3dvcmRBZ2UiLCJtYXhQYXNzd29yZEhpc3RvcnkiLCJyZXNldFRva2VuUmV1c2VJZlZhbGlkIiwicmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24iLCJ2YWxpZGF0aW9uRXJyb3IiLCJ2YWxpZGF0b3JDYWxsYmFjayIsInZhbGlkYXRvclBhdHRlcm4iLCJGaWxlVXBsb2FkT3B0aW9ucyIsImVuYWJsZUZvckFub255bW91c1VzZXIiLCJlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlciIsImVuYWJsZUZvclB1YmxpYyIsIkRhdGFiYXNlT3B0aW9ucyIsImVuYWJsZVNjaGVtYUhvb2tzIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxPQUFPLEdBQUdDLE9BQU8sQ0FBQyxXQUFELENBQXJCOztBQUVBQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUMsYUFBZixHQUErQjtBQUM3QkMsRUFBQUEsY0FBYyxFQUFFO0FBQ2RDLElBQUFBLEdBQUcsRUFBRSxxQ0FEUztBQUVkQyxJQUFBQSxJQUFJLEVBQUU7QUFGUSxHQURhO0FBSzdCQyxFQUFBQSxlQUFlLEVBQUU7QUFDZkYsSUFBQUEsR0FBRyxFQUFFLHNDQURVO0FBRWZDLElBQUFBLElBQUksRUFBRTtBQUZTLEdBTFk7QUFTN0JFLEVBQUFBLFdBQVcsRUFBRTtBQUNYSCxJQUFBQSxHQUFHLEVBQUUsaUNBRE07QUFFWEMsSUFBQUEsSUFBSSxFQUNGLGdHQUhTO0FBSVhHLElBQUFBLFFBQVEsRUFBRSxJQUpDO0FBS1hDLElBQUFBLE1BQU0sRUFBRVgsT0FBTyxDQUFDWSxZQUxMO0FBTVhDLElBQUFBLE9BQU8sRUFBRTtBQU5FLEdBVGdCO0FBaUI3QkMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakJSLElBQUFBLEdBQUcsRUFBRSx5Q0FEWTtBQUVqQkMsSUFBQUEsSUFBSSxFQUNGLG1JQUhlO0FB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O0FBSWZGLElBQUFBLE9BQU8sRUFBRTtBQUpNO0FBYmdCLENBQW5DO0FBb0JBWCxNQUFNLENBQUNDLE9BQVAsQ0FBZTRLLGVBQWYsR0FBaUM7QUFDL0JDLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCMUssSUFBQUEsR0FBRyxFQUFFLDJDQURZO0FBRWpCQyxJQUFBQSxJQUFJLEVBQ0Ysa2NBSGU7QUFJakJJLElBQUFBLE1BQU0sRUFBRVgsT0FBTyxDQUFDZSxhQUpDO0FBS2pCRixJQUFBQSxPQUFPLEVBQUU7QUFMUTtBQURZLENBQWpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbioqKiogR0VORVJBVEVEIENPREUgKioqKlxuVGhpcyBjb2RlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSByZXNvdXJjZXMvYnVpbGRDb25maWdEZWZpbml0aW9ucy5qc1xuRG8gbm90IGVkaXQgbWFudWFsbHksIGJ1dCB1cGRhdGUgT3B0aW9ucy9pbmRleC5qc1xuKi9cbnZhciBwYXJzZXJzID0gcmVxdWlyZSgnLi9wYXJzZXJzJyk7XG5cbm1vZHVsZS5leHBvcnRzLlNjaGVtYU9wdGlvbnMgPSB7XG4gIGFmdGVyTWlncmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9BRlRFUl9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYWZ0ZXIgcnVubmluZyBzY2hlbWEgbWlncmF0aW9ucy4nLFxuICB9LFxuICBiZWZvcmVNaWdyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0JFRk9SRV9NSUdSQVRJT04nLFxuICAgIGhlbHA6ICdFeGVjdXRlIGEgY2FsbGJhY2sgYmVmb3JlIHJ1bm5pbmcgc2NoZW1hIG1pZ3JhdGlvbnMuJyxcbiAgfSxcbiAgZGVmaW5pdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFRklOSVRJT05TJyxcbiAgICBoZWxwOlxuICAgICAgJ1Jlc3QgcmVwcmVzZW50YXRpb24gb24gUGFyc2UuU2NoZW1hIGh0dHBzOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9yZXN0L2d1aWRlLyNhZGRpbmctYS1zY2hlbWEnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGRlbGV0ZUV4dHJhRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9ERUxFVEVfRVhUUkFfRklFTERTJyxcbiAgICBoZWxwOlxuICAgICAgJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBkZWxldGUgYW55IGZpZWxkcyBub3QgZGVmaW5lZCBpbiBhIHNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGxvY2tTY2hlbWFzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9MT0NLX1NDSEVNQVMnLFxuICAgIGhlbHA6XG4gICAgICAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgd2lsbCByZWplY3QgYW55IGF0dGVtcHRzIHRvIG1vZGlmeSB0aGUgc2NoZW1hIHdoaWxlIHRoZSBzZXJ2ZXIgaXMgcnVubmluZy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICByZWNyZWF0ZU1vZGlmaWVkRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQV9SRUNSRUFURV9NT0RJRklFRF9GSUVMRFMnLFxuICAgIGhlbHA6XG4gICAgICAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIHJlY3JlYXRlIGFueSBmaWVsZHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdlZW4gdGhlIGN1cnJlbnQgZGF0YWJhc2Ugc2NoZW1hIGFuZCB0aGVzY2hlbWEgZGVmaW5pdGlvbi4gVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGR1cmluZyBkZXZlbG9wbWVudC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzdHJpY3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1NUUklDVCcsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBleGl0IGlmIHNjaGVtYSB1cGRhdGUgZmFpbC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhcnNlU2VydmVyT3B0aW9ucyA9IHtcbiAgYWNjb3VudExvY2tvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUJyxcbiAgICBoZWxwOiAnVGhlIGFjY291bnQgbG9ja291dCBwb2xpY3kgZm9yIGZhaWxlZCBsb2dpbiBhdHRlbXB0cy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGFsbG93Q2xpZW50Q2xhc3NDcmVhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DTElFTlRfQ0xBU1NfQ1JFQVRJT04nLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGNsaWVudCBjbGFzcyBjcmVhdGlvbiwgZGVmYXVsdHMgdG8gdHJ1ZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgYWxsb3dDdXN0b21PYmplY3RJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19DVVNUT01fT0JKRUNUX0lEJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSBjdXN0b20gb2JqZWN0SWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBhbGxvd0hlYWRlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfSEVBREVSUycsXG4gICAgaGVscDogJ0FkZCBoZWFkZXJzIHRvIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgYWxsb3dPcmlnaW46IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUxMT1dfT1JJR0lOJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgb3JpZ2luIHRvIEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsXG4gIH0sXG4gIGFuYWx5dGljc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQU5BTFlUSUNTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGFuYWx5dGljcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBhcHBJZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BUFBMSUNBVElPTl9JRCcsXG4gICAgaGVscDogJ1lvdXIgUGFyc2UgQXBwbGljYXRpb24gSUQnLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBhcHBOYW1lOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUF9OQU1FJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgYXBwIG5hbWUnLFxuICB9LFxuICBhdXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FVVEhfUFJPVklERVJTJyxcbiAgICBoZWxwOlxuICAgICAgJ0NvbmZpZ3VyYXRpb24gZm9yIHlvdXIgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzLCBhcyBzdHJpbmdpZmllZCBKU09OLiBTZWUgaHR0cDovL2RvY3MucGFyc2VwbGF0Zm9ybS5vcmcvcGFyc2Utc2VydmVyL2d1aWRlLyNvYXV0aC1hbmQtM3JkLXBhcnR5LWF1dGhlbnRpY2F0aW9uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBjYWNoZUFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0FDSEVfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgY2FjaGUnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgY2FjaGVNYXhTaXplOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX01BWF9TSVpFJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbWF4aW11bSBzaXplIGZvciB0aGUgaW4gbWVtb3J5IGNhY2hlLCBkZWZhdWx0cyB0byAxMDAwMCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVNYXhTaXplJyksXG4gICAgZGVmYXVsdDogMTAwMDAsXG4gIH0sXG4gIGNhY2hlVFRMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX1RUTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIFRUTCBmb3IgdGhlIGluIG1lbW9yeSBjYWNoZSAoaW4gbXMpLCBkZWZhdWx0cyB0byA1MDAwICg1IHNlY29uZHMpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZVRUTCcpLFxuICAgIGRlZmF1bHQ6IDUwMDAsXG4gIH0sXG4gIGNsaWVudEtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTElFTlRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBpT1MsIE1hY09TLCB0dk9TIGNsaWVudHMnLFxuICB9LFxuICBjbG91ZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DTE9VRCcsXG4gICAgaGVscDogJ0Z1bGwgcGF0aCB0byB5b3VyIGNsb3VkIGNvZGUgbWFpbi5qcycsXG4gIH0sXG4gIGNsdXN0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0xVU1RFUicsXG4gICAgaGVscDogJ1J1biB3aXRoIGNsdXN0ZXIsIG9wdGlvbmFsbHkgc2V0IHRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIGRlZmF1bHQgdG8gb3MuY3B1cygpLmxlbmd0aCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlck9yQm9vbGVhblBhcnNlcixcbiAgfSxcbiAgY29sbGVjdGlvblByZWZpeDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DT0xMRUNUSU9OX1BSRUZJWCcsXG4gICAgaGVscDogJ0EgY29sbGVjdGlvbiBwcmVmaXggZm9yIHRoZSBjbGFzc2VzJyxcbiAgICBkZWZhdWx0OiAnJyxcbiAgfSxcbiAgY3VzdG9tUGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTJyxcbiAgICBoZWxwOiAnY3VzdG9tIHBhZ2VzIGZvciBwYXNzd29yZCB2YWxpZGF0aW9uIGFuZCByZXNldCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZGF0YWJhc2VBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGRhdGFiYXNlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGRhdGFiYXNlT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9PUFRJT05TJyxcbiAgICBoZWxwOiAnT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBkYXRhYmFzZSBjbGllbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGRhdGFiYXNlVVJJOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX1VSSScsXG4gICAgaGVscDogJ1RoZSBmdWxsIFVSSSB0byB5b3VyIGRhdGFiYXNlLiBTdXBwb3J0ZWQgZGF0YWJhc2VzIGFyZSBtb25nb2RiIG9yIHBvc3RncmVzLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVmYXVsdDogJ21vbmdvZGI6Ly9sb2NhbGhvc3Q6MjcwMTcvcGFyc2UnLFxuICB9LFxuICBkaXJlY3RBY2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRElSRUNUX0FDQ0VTUycsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdG8gYHRydWVgIGlmIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBzaG91bGQgYmUgcm91dGVkIHRvIFBhcnNlIFNlcnZlciBkaXJlY3RseSBpbnN0ZWFkIG9mIHZpYSB0aGUgSFRUUCBpbnRlcmZhY2UuIERlZmF1bHQgaXMgYGZhbHNlYC48YnI+PGJyPklmIHNldCB0byBgZmFsc2VgIHRoZW4gUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBzYW1lIE5vZGUuanMgZW52aXJvbm1lbnQgYXMgUGFyc2UgU2VydmVyIGFyZSBleGVjdXRlZCBhcyBIVFRQIHJlcXVlc3RzIHNlbnQgdG8gUGFyc2UgU2VydmVyIHZpYSB0aGUgYHNlcnZlclVSTGAuIEZvciBleGFtcGxlLCBhIGBQYXJzZS5RdWVyeWAgaW4gQ2xvdWQgQ29kZSBpcyBjYWxsaW5nIFBhcnNlIFNlcnZlciB2aWEgYSBIVFRQIHJlcXVlc3QuIFRoZSBzZXJ2ZXIgaXMgZXNzZW50aWFsbHkgbWFraW5nIGEgSFRUUCByZXF1ZXN0IHRvIGl0c2VsZiwgdW5uZWNlc3NhcmlseSB1c2luZyBuZXR3b3JrIHJlc291cmNlcyBzdWNoIGFzIG5ldHdvcmsgcG9ydHMuPGJyPjxicj5cXHUyNkEwXFx1RkUwRiBJbiBlbnZpcm9ubWVudHMgd2hlcmUgbXVsdGlwbGUgUGFyc2UgU2VydmVyIGluc3RhbmNlcyBydW4gYmVoaW5kIGEgbG9hZCBiYWxhbmNlciBhbmQgUGFyc2UgcmVxdWVzdHMgd2l0aGluIHRoZSBjdXJyZW50IE5vZGUuanMgZW52aXJvbm1lbnQgc2hvdWxkIGJlIHJvdXRlZCB2aWEgdGhlIGxvYWQgYmFsYW5jZXIgYW5kIGRpc3RyaWJ1dGVkIGFzIEhUVFAgcmVxdWVzdHMgYW1vbmcgYWxsIGluc3RhbmNlcyB2aWEgdGhlIGBzZXJ2ZXJVUkxgLCB0aGlzIHNob3VsZCBiZSBzZXQgdG8gYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBkb3ROZXRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRE9UX05FVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIFVuaXR5IGFuZCAuTmV0IFNESycsXG4gIH0sXG4gIGVtYWlsQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIGVtYWlsIHNlbmRpbmcnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblJldXNlSWZWYWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTUFJTF9WRVJJRllfVE9LRU5fUkVVU0VfSUZfVkFMSUQnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRvIGB0cnVlYCBpZiBhIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIGVtYWlsIHZlcmlmaWNhdGlvbiB0b2tlbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSB0b2tlbiBleHBpcmVzLiBUaGUgdG9rZW4gaXMgdXNlZCBpbiB0aGUgbGluayB0aGF0IGlzIHNldCBpbiB0aGUgZW1haWwuIEFmdGVyIHRoZSB0b2tlbiBleHBpcmVzLCB0aGUgbGluayBiZWNvbWVzIGludmFsaWQgYW5kIGEgbmV3IGxpbmsgaGFzIHRvIGJlIHNlbnQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYHVuZGVmaW5lZGAsIHRoZW4gdGhlIHRva2VuIG5ldmVyIGV4cGlyZXMuPGJyPjxicj5Gb3IgZXhhbXBsZSwgdG8gZXhwaXJlIHRoZSB0b2tlbiBhZnRlciAyIGhvdXJzLCBzZXQgYSB2YWx1ZSBvZiA3MjAwIHNlY29uZHMgKD0gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXMgKiAyIGhvdXJzKS48YnI+PGJyPkRlZmF1bHQgaXMgYHVuZGVmaW5lZGAuPGJyPlJlcXVpcmVzIG9wdGlvbiBgdmVyaWZ5VXNlckVtYWlsczogdHJ1ZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbicpLFxuICB9LFxuICBlbmFibGVBbm9ueW1vdXNVc2Vyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfQU5PTl9VU0VSUycsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgYW5vbnltb3VzIHVzZXJzLCBkZWZhdWx0cyB0byB0cnVlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBlbmFibGVFeHByZXNzRXJyb3JIYW5kbGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQUJMRV9FWFBSRVNTX0VSUk9SX0hBTkRMRVInLFxuICAgIGhlbHA6ICdFbmFibGVzIHRoZSBkZWZhdWx0IGV4cHJlc3MgZXJyb3IgaGFuZGxlciBmb3IgYWxsIGVycm9ycycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuY3J5cHRpb25LZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5DUllQVElPTl9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIGVuY3J5cHRpbmcgeW91ciBmaWxlcycsXG4gIH0sXG4gIGVuZm9yY2VQcml2YXRlVXNlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5GT1JDRV9QUklWQVRFX1VTRVJTJyxcbiAgICBoZWxwOiAnU2V0IHRvIHRydWUgaWYgbmV3IHVzZXJzIHNob3VsZCBiZSBjcmVhdGVkIHdpdGhvdXQgcHVibGljIHJlYWQgYW5kIHdyaXRlIGFjY2Vzcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBleHBpcmVJbmFjdGl2ZVNlc3Npb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUElSRV9JTkFDVElWRV9TRVNTSU9OUycsXG4gICAgaGVscDpcbiAgICAgICdTZXRzIHdoZXRoZXIgd2Ugc2hvdWxkIGV4cGlyZSB0aGUgaW5hY3RpdmUgc2Vzc2lvbnMsIGRlZmF1bHRzIHRvIHRydWUuIElmIGZhbHNlLCBhbGwgbmV3IHNlc3Npb25zIGFyZSBjcmVhdGVkIHdpdGggbm8gZXhwaXJhdGlvbiBkYXRlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZmlsZUtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgeW91ciBmaWxlcycsXG4gIH0sXG4gIGZpbGVzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFU19BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBmaWxlcyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGZpbGVVcGxvYWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgZm9yIGZpbGUgdXBsb2FkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZ3JhcGhRTFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfR1JBUEhRTF9QQVRIJyxcbiAgICBoZWxwOiAnTW91bnQgcGF0aCBmb3IgdGhlIEdyYXBoUUwgZW5kcG9pbnQsIGRlZmF1bHRzIHRvIC9ncmFwaHFsJyxcbiAgICBkZWZhdWx0OiAnL2dyYXBocWwnLFxuICB9LFxuICBncmFwaFFMU2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIX1FMU0NIRU1BJyxcbiAgICBoZWxwOiAnRnVsbCBwYXRoIHRvIHlvdXIgR3JhcGhRTCBjdXN0b20gc2NoZW1hLmdyYXBocWwgZmlsZScsXG4gIH0sXG4gIGhvc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSE9TVCcsXG4gICAgaGVscDogJ1RoZSBob3N0IHRvIHNlcnZlIFBhcnNlU2VydmVyIG9uLCBkZWZhdWx0cyB0byAwLjAuMC4wJyxcbiAgICBkZWZhdWx0OiAnMC4wLjAuMCcsXG4gIH0sXG4gIGlkZW1wb3RlbmN5T3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfT1BUSU9OUycsXG4gICAgaGVscDpcbiAgICAgICdPcHRpb25zIGZvciByZXF1ZXN0IGlkZW1wb3RlbmN5IHRvIGRlZHVwbGljYXRlIGlkZW50aWNhbCByZXF1ZXN0cyB0aGF0IG1heSBiZSBjYXVzZWQgYnkgbmV0d29yayBpc3N1ZXMuIENhdXRpb24sIHRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgdGhhdCBtYXkgbm90IGJlIGFwcHJvcHJpYXRlIGZvciBwcm9kdWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgamF2YXNjcmlwdEtleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9KQVZBU0NSSVBUX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgdGhlIEphdmFzY3JpcHQgU0RLJyxcbiAgfSxcbiAganNvbkxvZ3M6IHtcbiAgICBlbnY6ICdKU09OX0xPR1MnLFxuICAgIGhlbHA6ICdMb2cgYXMgc3RydWN0dXJlZCBKU09OIG9iamVjdHMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBsaXZlUXVlcnk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRV9RVUVSWScsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY29uZmlndXJhdGlvbiBvYmplY3RcIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBsaXZlUXVlcnlTZXJ2ZXJPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUllfU0VSVkVSX09QVElPTlMnLFxuICAgIGhlbHA6ICdMaXZlIHF1ZXJ5IHNlcnZlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgKHdpbGwgc3RhcnQgdGhlIGxpdmVRdWVyeSBzZXJ2ZXIpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBsb2dnZXJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR0dFUl9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBsb2dnaW5nIHN1Yi1zeXN0ZW0nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOiAnU2V0cyB0aGUgbGV2ZWwgZm9yIGxvZ3MnLFxuICB9LFxuICBsb2dzRm9sZGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR1NfRk9MREVSJyxcbiAgICBoZWxwOiBcIkZvbGRlciBmb3IgdGhlIGxvZ3MgKGRlZmF1bHRzIHRvICcuL2xvZ3MnKTsgc2V0IHRvIG51bGwgdG8gZGlzYWJsZSBmaWxlIGJhc2VkIGxvZ2dpbmdcIixcbiAgICBkZWZhdWx0OiAnLi9sb2dzJyxcbiAgfSxcbiAgbWFzdGVyS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdZb3VyIFBhcnNlIE1hc3RlciBLZXknLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtYXN0ZXJLZXlJcHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFTVEVSX0tFWV9JUFMnLFxuICAgIGhlbHA6ICdSZXN0cmljdCBtYXN0ZXJLZXkgdG8gYmUgdXNlZCBieSBvbmx5IHRoZXNlIGlwcywgZGVmYXVsdHMgdG8gW10gKGFsbG93IGFsbCBpcHMpJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIG1heExpbWl0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9MSU1JVCcsXG4gICAgaGVscDogJ01heCB2YWx1ZSBmb3IgbGltaXQgb3B0aW9uIG9uIHF1ZXJpZXMsIGRlZmF1bHRzIHRvIHVubGltaXRlZCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4TGltaXQnKSxcbiAgfSxcbiAgbWF4TG9nRmlsZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFYX0xPR19GSUxFUycsXG4gICAgaGVscDpcbiAgICAgIFwiTWF4aW11bSBudW1iZXIgb2YgbG9ncyB0byBrZWVwLiBJZiBub3Qgc2V0LCBubyBsb2dzIHdpbGwgYmUgcmVtb3ZlZC4gVGhpcyBjYW4gYmUgYSBudW1iZXIgb2YgZmlsZXMgb3IgbnVtYmVyIG9mIGRheXMuIElmIHVzaW5nIGRheXMsIGFkZCAnZCcgYXMgdGhlIHN1ZmZpeC4gKGRlZmF1bHQ6IG51bGwpXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbWF4VXBsb2FkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfVVBMT0FEX1NJWkUnLFxuICAgIGhlbHA6ICdNYXggZmlsZSBzaXplIGZvciB1cGxvYWRzLCBkZWZhdWx0cyB0byAyMG1iJyxcbiAgICBkZWZhdWx0OiAnMjBtYicsXG4gIH0sXG4gIG1pZGRsZXdhcmU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUlERExFV0FSRScsXG4gICAgaGVscDogJ21pZGRsZXdhcmUgZm9yIGV4cHJlc3Mgc2VydmVyLCBjYW4gYmUgc3RyaW5nIG9yIGZ1bmN0aW9uJyxcbiAgfSxcbiAgbW91bnRHcmFwaFFMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX0dSQVBIUUwnLFxuICAgIGhlbHA6ICdNb3VudHMgdGhlIEdyYXBoUUwgZW5kcG9pbnQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBtb3VudFBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBzZXJ2ZXIsIGRlZmF1bHRzIHRvIC9wYXJzZScsXG4gICAgZGVmYXVsdDogJy9wYXJzZScsXG4gIH0sXG4gIG1vdW50UGxheWdyb3VuZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9QTEFZR1JPVU5EJyxcbiAgICBoZWxwOiAnTW91bnRzIHRoZSBHcmFwaFFMIFBsYXlncm91bmQgLSBuZXZlciB1c2UgdGhpcyBvcHRpb24gaW4gcHJvZHVjdGlvbicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG9iamVjdElkU2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9PQkpFQ1RfSURfU0laRScsXG4gICAgaGVscDogXCJTZXRzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyBpbiBnZW5lcmF0ZWQgb2JqZWN0IGlkJ3MsIGRlZmF1bHQgMTBcIixcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdvYmplY3RJZFNpemUnKSxcbiAgICBkZWZhdWx0OiAxMCxcbiAgfSxcbiAgcGFnZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVMnLFxuICAgIGhlbHA6XG4gICAgICAnVGhlIG9wdGlvbnMgZm9yIHBhZ2VzIHN1Y2ggYXMgcGFzc3dvcmQgcmVzZXQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbi4gQ2F1dGlvbiwgdGhpcyBpcyBhbiBleHBlcmltZW50YWwgZmVhdHVyZSB0aGF0IG1heSBub3QgYmUgYXBwcm9wcmlhdGUgZm9yIHByb2R1Y3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxuICBwYXNzd29yZFBvbGljeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1knLFxuICAgIGhlbHA6ICdUaGUgcGFzc3dvcmQgcG9saWN5IGZvciBlbmZvcmNpbmcgcGFzc3dvcmQgcmVsYXRlZCBydWxlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHBsYXlncm91bmRQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BMQVlHUk9VTkRfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIFBsYXlncm91bmQsIGRlZmF1bHRzIHRvIC9wbGF5Z3JvdW5kJyxcbiAgICBkZWZhdWx0OiAnL3BsYXlncm91bmQnLFxuICB9LFxuICBwb3J0OiB7XG4gICAgZW52OiAnUE9SVCcsXG4gICAgaGVscDogJ1RoZSBwb3J0IHRvIHJ1biB0aGUgUGFyc2VTZXJ2ZXIsIGRlZmF1bHRzIHRvIDEzMzcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdwb3J0JyksXG4gICAgZGVmYXVsdDogMTMzNyxcbiAgfSxcbiAgcHJlc2VydmVGaWxlTmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUkVTRVJWRV9GSUxFX05BTUUnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIHRoZSBhZGRpdGlvbiBvZiBhIHVuaXF1ZSBoYXNoIHRvIHRoZSBmaWxlIG5hbWVzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcHJldmVudExvZ2luV2l0aFVudmVyaWZpZWRFbWFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUkVWRU5UX0xPR0lOX1dJVEhfVU5WRVJJRklFRF9FTUFJTCcsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdG8gYHRydWVgIHRvIHByZXZlbnQgYSB1c2VyIGZyb20gbG9nZ2luZyBpbiBpZiB0aGUgZW1haWwgaGFzIG5vdCB5ZXQgYmVlbiB2ZXJpZmllZCBhbmQgZW1haWwgdmVyaWZpY2F0aW9uIGlzIHJlcXVpcmVkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHByb3RlY3RlZEZpZWxkczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QUk9URUNURURfRklFTERTJyxcbiAgICBoZWxwOiAnUHJvdGVjdGVkIGZpZWxkcyB0aGF0IHNob3VsZCBiZSB0cmVhdGVkIHdpdGggZXh0cmEgc2VjdXJpdHkgd2hlbiBmZXRjaGluZyBkZXRhaWxzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7XG4gICAgICBfVXNlcjoge1xuICAgICAgICAnKic6IFsnZW1haWwnXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgcHVibGljU2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfUFVCTElDX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdQdWJsaWMgVVJMIHRvIHlvdXIgcGFyc2Ugc2VydmVyIHdpdGggaHR0cDovLyBvciBodHRwczovLy4nLFxuICB9LFxuICBwdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BVU0gnLFxuICAgIGhlbHA6XG4gICAgICAnQ29uZmlndXJhdGlvbiBmb3IgcHVzaCwgYXMgc3RyaW5naWZpZWQgSlNPTi4gU2VlIGh0dHA6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3BhcnNlLXNlcnZlci9ndWlkZS8jcHVzaC1ub3RpZmljYXRpb25zJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWFkT25seU1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRUFEX09OTFlfTUFTVEVSX0tFWScsXG4gICAgaGVscDogJ1JlYWQtb25seSBrZXksIHdoaWNoIGhhcyB0aGUgc2FtZSBjYXBhYmlsaXRpZXMgYXMgTWFzdGVyS2V5IHdpdGhvdXQgd3JpdGVzJyxcbiAgfSxcbiAgcmVxdWVzdEtleXdvcmREZW55bGlzdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVFVRVNUX0tFWVdPUkRfREVOWUxJU1QnLFxuICAgIGhlbHA6XG4gICAgICAnQW4gYXJyYXkgb2Yga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIHByb2hpYml0ZWQgaW4gZGF0YWJhc2UgcmVhZCBhbmQgd3JpdGUgcmVxdWVzdHMgdG8gcHJldmVudCBwb3RlbnRpYWwgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzLiBJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IG9ubHkgYSBrZXkgKGB7XCJrZXlcIjpcIi4uLlwifWApLCBvbmx5IGEgdmFsdWUgKGB7XCJ2YWx1ZVwiOlwiLi4uXCJ9YCkgb3IgYSBrZXktdmFsdWUgcGFpciAoYHtcImtleVwiOlwiLi4uXCIsXCJ2YWx1ZVwiOlwiLi4uXCJ9YCkuIFRoZSBzcGVjaWZpY2F0aW9uIGNhbiB1c2UgdGhlIGZvbGxvd2luZyB0eXBlczogYGJvb2xlYW5gLCBgbnVtZXJpY2Agb3IgYHN0cmluZ2AsIHdoZXJlIGBzdHJpbmdgIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgYSByZWdleCBub3RhdGlvbi4gUmVxdWVzdCBkYXRhIGlzIGRlZXAtc2Nhbm5lZCBmb3IgbWF0Y2hpbmcgZGVmaW5pdGlvbnMgdG8gZGV0ZWN0IGFsc28gYW55IG5lc3RlZCBvY2N1cnJlbmNlcy4gRGVmYXVsdHMgYXJlIHBhdHRlcm5zIHRoYXQgYXJlIGxpa2VseSB0byBiZSB1c2VkIGluIG1hbGljaW91cyByZXF1ZXN0cy4gU2V0dGluZyB0aGlzIG9wdGlvbiB3aWxsIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHBhdHRlcm5zLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnX2Jzb250eXBlJyxcbiAgICAgICAgdmFsdWU6ICdDb2RlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2NvbnN0cnVjdG9yJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ19fcHJvdG9fXycsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHJlc3RBUElLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVTVF9BUElfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBSRVNUIGNhbGxzJyxcbiAgfSxcbiAgcmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9SRVZPS0VfU0VTU0lPTl9PTl9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDpcbiAgICAgIFwiV2hlbiBhIHVzZXIgY2hhbmdlcyB0aGVpciBwYXNzd29yZCwgZWl0aGVyIHRocm91Z2ggdGhlIHJlc2V0IHBhc3N3b3JkIGVtYWlsIG9yIHdoaWxlIGxvZ2dlZCBpbiwgYWxsIHNlc3Npb25zIGFyZSByZXZva2VkIGlmIHRoaXMgaXMgdHJ1ZS4gU2V0IHRvIGZhbHNlIGlmIHlvdSBkb24ndCB3YW50IHRvIHJldm9rZSBzZXNzaW9ucy5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBzY2hlZHVsZWRQdXNoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVEVUxFRF9QVVNIJyxcbiAgICBoZWxwOiAnQ29uZmlndXJhdGlvbiBmb3IgcHVzaCBzY2hlZHVsaW5nLCBkZWZhdWx0cyB0byBmYWxzZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBzY2hlbWE6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BJyxcbiAgICBoZWxwOiAnRGVmaW5lZCBzY2hlbWEnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIHNlY3VyaXR5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZJyxcbiAgICBoZWxwOiAnVGhlIHNlY3VyaXR5IG9wdGlvbnMgdG8gaWRlbnRpZnkgYW5kIHJlcG9ydCB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgc2VydmVyQ2xvc2VDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfQ0xPU0VfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgY2xvc2VkJyxcbiAgfSxcbiAgc2VydmVyU3RhcnRDb21wbGV0ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRVJWRVJfU1RBUlRfQ09NUExFVEUnLFxuICAgIGhlbHA6ICdDYWxsYmFjayB3aGVuIHNlcnZlciBoYXMgc3RhcnRlZCcsXG4gIH0sXG4gIHNlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6ICdVUkwgdG8geW91ciBwYXJzZSBzZXJ2ZXIgd2l0aCBodHRwOi8vIG9yIGh0dHBzOi8vLicsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIHNlc3Npb25MZW5ndGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VTU0lPTl9MRU5HVEgnLFxuICAgIGhlbHA6ICdTZXNzaW9uIGR1cmF0aW9uLCBpbiBzZWNvbmRzLCBkZWZhdWx0cyB0byAxIHllYXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Nlc3Npb25MZW5ndGgnKSxcbiAgICBkZWZhdWx0OiAzMTUzNjAwMCxcbiAgfSxcbiAgc2lsZW50OiB7XG4gICAgZW52OiAnU0lMRU5UJyxcbiAgICBoZWxwOiAnRGlzYWJsZXMgY29uc29sZSBvdXRwdXQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICBzdGFydExpdmVRdWVyeVNlcnZlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TVEFSVF9MSVZFX1FVRVJZX1NFUlZFUicsXG4gICAgaGVscDogJ1N0YXJ0cyB0aGUgbGl2ZVF1ZXJ5IHNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIHVzZXJTZW5zaXRpdmVGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVVNFUl9TRU5TSVRJVkVfRklFTERTJyxcbiAgICBoZWxwOlxuICAgICAgJ1BlcnNvbmFsbHkgaWRlbnRpZmlhYmxlIGluZm9ybWF0aW9uIGZpZWxkcyBpbiB0aGUgdXNlciB0YWJsZSB0aGUgc2hvdWxkIGJlIHJlbW92ZWQgZm9yIG5vbi1hdXRob3JpemVkIHVzZXJzLiBEZXByZWNhdGVkIEBzZWUgcHJvdGVjdGVkRmllbGRzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIHZlcmJvc2U6IHtcbiAgICBlbnY6ICdWRVJCT1NFJyxcbiAgICBoZWxwOiAnU2V0IHRoZSBsb2dnaW5nIHRvIHZlcmJvc2UnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB2ZXJpZnlVc2VyRW1haWxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1ZFUklGWV9VU0VSX0VNQUlMUycsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdG8gYHRydWVgIHRvIHJlcXVpcmUgdXNlcnMgdG8gdmVyaWZ5IHRoZWlyIGVtYWlsIGFkZHJlc3MgdG8gY29tcGxldGUgdGhlIHNpZ24tdXAgcHJvY2Vzcy48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICB3ZWJob29rS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1dFQkhPT0tfS0VZJyxcbiAgICBoZWxwOiAnS2V5IHNlbnQgd2l0aCBvdXRnb2luZyB3ZWJob29rIGNhbGxzJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5TZWN1cml0eU9wdGlvbnMgPSB7XG4gIGNoZWNrR3JvdXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0NIRUNLX0dST1VQUycsXG4gICAgaGVscDpcbiAgICAgICdUaGUgc2VjdXJpdHkgY2hlY2sgZ3JvdXBzIHRvIHJ1bi4gVGhpcyBhbGxvd3MgdG8gYWRkIGN1c3RvbSBzZWN1cml0eSBjaGVja3Mgb3Igb3ZlcnJpZGUgZXhpc3Rpbmcgb25lcy4gRGVmYXVsdCBhcmUgdGhlIGdyb3VwcyBkZWZpbmVkIGluIGBDaGVja0dyb3Vwcy5qc2AuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gIH0sXG4gIGVuYWJsZUNoZWNrOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFQ1VSSVRZX0VOQUJMRV9DSEVDSycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgUGFyc2UgU2VydmVyIHNob3VsZCBjaGVjayBmb3Igd2VhayBzZWN1cml0eSBzZXR0aW5ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmFibGVDaGVja0xvZzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9FTkFCTEVfQ0hFQ0tfTE9HJyxcbiAgICBoZWxwOlxuICAgICAgJ0lzIHRydWUgaWYgdGhlIHNlY3VyaXR5IGNoZWNrIHJlcG9ydCBzaG91bGQgYmUgd3JpdHRlbiB0byBsb2dzLiBUaGlzIHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgdGVtcG9yYXJpbHkgdG8gbm90IGV4cG9zZSB3ZWFrIHNlY3VyaXR5IHNldHRpbmdzIGluIGxvZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc09wdGlvbnMgPSB7XG4gIGN1c3RvbVJvdXRlczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fUk9VVEVTJyxcbiAgICBoZWxwOiAnVGhlIGN1c3RvbSByb3V0ZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIGN1c3RvbVVybHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTFMnLFxuICAgIGhlbHA6ICdUaGUgVVJMcyB0byB0aGUgY3VzdG9tIHBhZ2VzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgZW5hYmxlTG9jYWxpemF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQUJMRV9MT0NBTElaQVRJT04nLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIHBhZ2VzIHNob3VsZCBiZSBsb2NhbGl6ZWQ7IHRoaXMgaGFzIG5vIGVmZmVjdCBvbiBjdXN0b20gcGFnZSByZWRpcmVjdHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlUm91dGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0VOQUJMRV9ST1VURVInLFxuICAgIGhlbHA6XG4gICAgICAnSXMgdHJ1ZSBpZiB0aGUgcGFnZXMgcm91dGVyIHNob3VsZCBiZSBlbmFibGVkOyB0aGlzIGlzIHJlcXVpcmVkIGZvciBhbnkgb2YgdGhlIHBhZ2VzIG9wdGlvbnMgdG8gdGFrZSBlZmZlY3QuIENhdXRpb24sIHRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgdGhhdCBtYXkgbm90IGJlIGFwcHJvcHJpYXRlIGZvciBwcm9kdWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGZvcmNlUmVkaXJlY3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfRk9SQ0VfUkVESVJFQ1QnLFxuICAgIGhlbHA6XG4gICAgICAnSXMgdHJ1ZSBpZiByZXNwb25zZXMgc2hvdWxkIGFsd2F5cyBiZSByZWRpcmVjdHMgYW5kIG5ldmVyIGNvbnRlbnQsIGZhbHNlIGlmIHRoZSByZXNwb25zZSB0eXBlIHNob3VsZCBkZXBlbmQgb24gdGhlIHJlcXVlc3QgdHlwZSAoR0VUIHJlcXVlc3QgLT4gY29udGVudCByZXNwb25zZTsgUE9TVCByZXF1ZXN0IC0+IHJlZGlyZWN0IHJlc3BvbnNlKS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBsb2NhbGl6YXRpb25GYWxsYmFja0xvY2FsZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19MT0NBTElaQVRJT05fRkFMTEJBQ0tfTE9DQUxFJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoZSBmYWxsYmFjayBsb2NhbGUgZm9yIGxvY2FsaXphdGlvbiBpZiBubyBtYXRjaGluZyB0cmFuc2xhdGlvbiBpcyBwcm92aWRlZCBmb3IgdGhlIGdpdmVuIGxvY2FsZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IHdoZW4gcHJvdmlkaW5nIHRyYW5zbGF0aW9uIHJlc291cmNlcyB2aWEgSlNPTiBmaWxlLicsXG4gICAgZGVmYXVsdDogJ2VuJyxcbiAgfSxcbiAgbG9jYWxpemF0aW9uSnNvblBhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0pTT05fUEFUSCcsXG4gICAgaGVscDpcbiAgICAgICdUaGUgcGF0aCB0byB0aGUgSlNPTiBmaWxlIGZvciBsb2NhbGl6YXRpb247IHRoZSB0cmFuc2xhdGlvbnMgd2lsbCBiZSB1c2VkIHRvIGZpbGwgdGVtcGxhdGUgcGxhY2Vob2xkZXJzIGFjY29yZGluZyB0byB0aGUgbG9jYWxlLicsXG4gIH0sXG4gIHBhZ2VzRW5kcG9pbnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUEFHRVNfRU5EUE9JTlQnLFxuICAgIGhlbHA6IFwiVGhlIEFQSSBlbmRwb2ludCBmb3IgdGhlIHBhZ2VzLiBEZWZhdWx0IGlzICdhcHBzJy5cIixcbiAgICBkZWZhdWx0OiAnYXBwcycsXG4gIH0sXG4gIHBhZ2VzUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QQUdFU19QQVRIJyxcbiAgICBoZWxwOlxuICAgICAgXCJUaGUgcGF0aCB0byB0aGUgcGFnZXMgZGlyZWN0b3J5OyB0aGlzIGFsc28gZGVmaW5lcyB3aGVyZSB0aGUgc3RhdGljIGVuZHBvaW50ICcvYXBwcycgcG9pbnRzIHRvLiBEZWZhdWx0IGlzIHRoZSAnLi9wdWJsaWMvJyBkaXJlY3RvcnkuXCIsXG4gICAgZGVmYXVsdDogJy4vcHVibGljJyxcbiAgfSxcbiAgcGxhY2Vob2xkZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BMQUNFSE9MREVSUycsXG4gICAgaGVscDpcbiAgICAgICdUaGUgcGxhY2Vob2xkZXIga2V5cyBhbmQgdmFsdWVzIHdoaWNoIHdpbGwgYmUgZmlsbGVkIGluIHBhZ2VzOyB0aGlzIGNhbiBiZSBhIHNpbXBsZSBvYmplY3Qgb3IgYSBjYWxsYmFjayBmdW5jdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNSb3V0ZSA9IHtcbiAgaGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9IQU5ETEVSJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIGhhbmRsZXIgdGhhdCBpcyBhbiBhc3luYyBmdW5jdGlvbi4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBtZXRob2Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfTUVUSE9EJyxcbiAgICBoZWxwOiBcIlRoZSByb3V0ZSBtZXRob2QsIGUuZy4gJ0dFVCcgb3IgJ1BPU1QnLlwiLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBwYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX1BBVEgnLFxuICAgIGhlbHA6ICdUaGUgcm91dGUgcGF0aC4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzQ3VzdG9tVXJsc09wdGlvbnMgPSB7XG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0V4cGlyZWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19FWFBJUkVEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGV4cGlyZWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25MaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgaW52YWxpZC4nLFxuICB9LFxuICBlbWFpbFZlcmlmaWNhdGlvblNlbmRGYWlsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NFTkRfRkFJTCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBzZW5kIGZhaWwuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHJlc2VuZCBsaW5rIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0LicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRMaW5rSW52YWxpZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX1BBU1NXT1JEX1JFU0VUX0xJTktfSU5WQUxJRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgcGFzc3dvcmRSZXNldFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIHBhc3N3b3JkIHJlc2V0IC0+IHN1Y2Nlc3MuJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5DdXN0b21QYWdlc09wdGlvbnMgPSB7XG4gIGNob29zZVBhc3N3b3JkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19DSE9PU0VfUEFTU1dPUkQnLFxuICAgIGhlbHA6ICdjaG9vc2UgcGFzc3dvcmQgcGFnZSBwYXRoJyxcbiAgfSxcbiAgZXhwaXJlZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0VYUElSRURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdleHBpcmVkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFBhc3N3b3JkUmVzZXRMaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1BBU1NXT1JEX1JFU0VUX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHBhc3N3b3JkIHJlc2V0IGxpbmsgcGFnZSBwYXRoJyxcbiAgfSxcbiAgaW52YWxpZFZlcmlmaWNhdGlvbkxpbms6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0lOVkFMSURfVkVSSUZJQ0FUSU9OX0xJTksnLFxuICAgIGhlbHA6ICdpbnZhbGlkIHZlcmlmaWNhdGlvbiBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIGZhaWwgcGFnZSBwYXRoJyxcbiAgfSxcbiAgbGlua1NlbmRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19MSU5LX1NFTkRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmaWNhdGlvbiBsaW5rIHNlbmQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICBwYXJzZUZyYW1lVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVJTRV9GUkFNRV9VUkwnLFxuICAgIGhlbHA6ICdmb3IgbWFza2luZyB1c2VyLWZhY2luZyBwYWdlcycsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19QQVNTV09SRF9SRVNFVF9TVUNDRVNTJyxcbiAgICBoZWxwOiAncGFzc3dvcmQgcmVzZXQgc3VjY2VzcyBwYWdlIHBhdGgnLFxuICB9LFxuICB2ZXJpZnlFbWFpbFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX1ZFUklGWV9FTUFJTF9TVUNDRVNTJyxcbiAgICBoZWxwOiAndmVyaWZ5IGVtYWlsIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5MaXZlUXVlcnlPcHRpb25zID0ge1xuICBjbGFzc05hbWVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9DTEFTU05BTUVTJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSBjbGFzc05hbWVzXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBwdWJTdWJBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9SRURJU19PUFRJT05TJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc09wdGlvbnNcIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWRpc1VSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfVVJMJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc1VSTFwiLFxuICB9LFxuICB3c3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVRVUVSWV9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5U2VydmVyT3B0aW9ucyA9IHtcbiAgYXBwSWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9BUFBfSUQnLFxuICAgIGhlbHA6XG4gICAgICAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBhcHBJZCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIGFwcElkLicsXG4gIH0sXG4gIGNhY2hlVGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX0NBQ0hFX1RJTUVPVVQnLFxuICAgIGhlbHA6XG4gICAgICBcIk51bWJlciBpbiBtaWxsaXNlY29uZHMuIFdoZW4gY2xpZW50cyBwcm92aWRlIHRoZSBzZXNzaW9uVG9rZW4gdG8gdGhlIExpdmVRdWVyeSBzZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIGZldGNoIGl0cyBQYXJzZVVzZXIncyBvYmplY3RJZCBmcm9tIHBhcnNlIHNlcnZlciBhbmQgc3RvcmUgaXQgaW4gdGhlIGNhY2hlLiBUaGUgdmFsdWUgZGVmaW5lcyB0aGUgZHVyYXRpb24gb2YgdGhlIGNhY2hlLiBDaGVjayB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IHNlY3Rpb24gYW5kIG91ciBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIGZvciBkZXRhaWxzLCBkZWZhdWx0cyB0byA1ICogMTAwMCBtcyAoNSBzZWNvbmRzKS5cIixcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdjYWNoZVRpbWVvdXQnKSxcbiAgfSxcbiAga2V5UGFpcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9LRVlfUEFJUlMnLFxuICAgIGhlbHA6XG4gICAgICAnQSBKU09OIG9iamVjdCB0aGF0IHNlcnZlcyBhcyBhIHdoaXRlbGlzdCBvZiBrZXlzLiBJdCBpcyB1c2VkIGZvciB2YWxpZGF0aW5nIGNsaWVudHMgd2hlbiB0aGV5IHRyeSB0byBjb25uZWN0IHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBDaGVjayB0aGUgZm9sbG93aW5nIFNlY3VyaXR5IHNlY3Rpb24gYW5kIG91ciBwcm90b2NvbCBzcGVjaWZpY2F0aW9uIGZvciBkZXRhaWxzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nTGV2ZWw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9MT0dfTEVWRUwnLFxuICAgIGhlbHA6XG4gICAgICAnVGhpcyBzdHJpbmcgZGVmaW5lcyB0aGUgbG9nIGxldmVsIG9mIHRoZSBMaXZlUXVlcnkgc2VydmVyLiBXZSBzdXBwb3J0IFZFUkJPU0UsIElORk8sIEVSUk9SLCBOT05FLCBkZWZhdWx0cyB0byBJTkZPLicsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX01BU1RFUl9LRVknLFxuICAgIGhlbHA6XG4gICAgICAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBtYXN0ZXJLZXkgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBtYXN0ZXJLZXkuJyxcbiAgfSxcbiAgcG9ydDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgcG9ydCB0byBydW4gdGhlIExpdmVRdWVyeSBzZXJ2ZXIsIGRlZmF1bHRzIHRvIDEzMzcuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdwb3J0JyksXG4gICAgZGVmYXVsdDogMTMzNyxcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1BVQl9TVUJfQURBUFRFUicsXG4gICAgaGVscDogJ0xpdmVRdWVyeSBwdWJzdWIgYWRhcHRlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWRpc09wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9SRURJU19PUFRJT05TJyxcbiAgICBoZWxwOiBcInBhcnNlLXNlcnZlcidzIExpdmVRdWVyeSByZWRpc09wdGlvbnNcIixcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICByZWRpc1VSTDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgc2VydmVyVVJMOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfU0VSVkVSX1VSTCcsXG4gICAgaGVscDpcbiAgICAgICdUaGlzIHN0cmluZyBzaG91bGQgbWF0Y2ggdGhlIHNlcnZlclVSTCBpbiB1c2UgYnkgeW91ciBQYXJzZSBTZXJ2ZXIuIElmIHlvdSBkZXBsb3kgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgYWxvbmdzaWRlIFBhcnNlIFNlcnZlciwgdGhlIExpdmVRdWVyeSBzZXJ2ZXIgd2lsbCB0cnkgdG8gdXNlIHRoZSBzYW1lIHNlcnZlclVSTC4nLFxuICB9LFxuICB3ZWJzb2NrZXRUaW1lb3V0OiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfV0VCU09DS0VUX1RJTUVPVVQnLFxuICAgIGhlbHA6XG4gICAgICAnTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHBpbmcvcG9uZyBmcmFtZXMuIFRoZSBXZWJTb2NrZXQgc2VydmVyIHNlbmRzIHBpbmcvcG9uZyBmcmFtZXMgdG8gdGhlIGNsaWVudHMgdG8ga2VlcCB0aGUgV2ViU29ja2V0IGFsaXZlLiBUaGlzIHZhbHVlIGRlZmluZXMgdGhlIGludGVydmFsIG9mIHRoZSBwaW5nL3BvbmcgZnJhbWUgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudHMsIGRlZmF1bHRzIHRvIDEwICogMTAwMCBtcyAoMTAgcykuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd3ZWJzb2NrZXRUaW1lb3V0JyksXG4gIH0sXG4gIHdzc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9XU1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgV2ViU29ja2V0U2VydmVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuSWRlbXBvdGVuY3lPcHRpb25zID0ge1xuICBwYXRoczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfUEFUSFMnLFxuICAgIGhlbHA6XG4gICAgICAnQW4gYXJyYXkgb2YgcGF0aHMgZm9yIHdoaWNoIHRoZSBmZWF0dXJlIHNob3VsZCBiZSBlbmFibGVkLiBUaGUgbW91bnQgcGF0aCBtdXN0IG5vdCBiZSBpbmNsdWRlZCwgZm9yIGV4YW1wbGUgaW5zdGVhZCBvZiBgL3BhcnNlL2Z1bmN0aW9ucy9teUZ1bmN0aW9uYCBzcGVjaWZpeSBgZnVuY3Rpb25zL215RnVuY3Rpb25gLiBUaGUgZW50cmllcyBhcmUgaW50ZXJwcmV0ZWQgYXMgcmVndWxhciBleHByZXNzaW9uLCBmb3IgZXhhbXBsZSBgZnVuY3Rpb25zLy4qYCBtYXRjaGVzIGFsbCBmdW5jdGlvbnMsIGBqb2JzLy4qYCBtYXRjaGVzIGFsbCBqb2JzLCBgY2xhc3Nlcy8uKmAgbWF0Y2hlcyBhbGwgY2xhc3NlcywgYC4qYCBtYXRjaGVzIGFsbCBwYXRocy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgdHRsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VYUEVSSU1FTlRBTF9JREVNUE9URU5DWV9UVEwnLFxuICAgIGhlbHA6XG4gICAgICAnVGhlIGR1cmF0aW9uIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggYSByZXF1ZXN0IHJlY29yZCBpcyBkaXNjYXJkZWQgZnJvbSB0aGUgZGF0YWJhc2UsIGRlZmF1bHRzIHRvIDMwMHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd0dGwnKSxcbiAgICBkZWZhdWx0OiAzMDAsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQWNjb3VudExvY2tvdXRPcHRpb25zID0ge1xuICBkdXJhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfRFVSQVRJT04nLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRoZSBkdXJhdGlvbiBpbiBtaW51dGVzIHRoYXQgYSBsb2NrZWQtb3V0IGFjY291bnQgcmVtYWlucyBsb2NrZWQgb3V0IGJlZm9yZSBhdXRvbWF0aWNhbGx5IGJlY29taW5nIHVubG9ja2VkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdkdXJhdGlvbicpLFxuICB9LFxuICB0aHJlc2hvbGQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX1RIUkVTSE9MRCcsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIG51bWJlciBvZiBmYWlsZWQgc2lnbi1pbiBhdHRlbXB0cyB0aGF0IHdpbGwgY2F1c2UgYSB1c2VyIGFjY291bnQgdG8gYmUgbG9ja2VkLiBJZiB0aGUgYWNjb3VudCBpcyBsb2NrZWQuIFRoZSBhY2NvdW50IHdpbGwgdW5sb2NrIGFmdGVyIHRoZSBkdXJhdGlvbiBzZXQgaW4gdGhlIGBkdXJhdGlvbmAgb3B0aW9uIGhhcyBwYXNzZWQgYW5kIG5vIGZ1cnRoZXIgbG9naW4gYXR0ZW1wdHMgaGF2ZSBiZWVuIG1hZGUuPGJyPjxicj5WYWxpZCB2YWx1ZXMgYXJlIGdyZWF0ZXIgdGhhbiBgMGAgYW5kIGxlc3MgdGhhbiBgMTAwMGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCd0aHJlc2hvbGQnKSxcbiAgfSxcbiAgdW5sb2NrT25QYXNzd29yZFJlc2V0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVF9VTkxPQ0tfT05fUEFTU1dPUkRfUkVTRVQnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRvIGB0cnVlYCAgaWYgdGhlIGFjY291bnQgc2hvdWxkIGJlIHVubG9ja2VkIGFmdGVyIGEgc3VjY2Vzc2Z1bCBwYXNzd29yZCByZXNldC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9ucyBgZHVyYXRpb25gIGFuZCBgdGhyZXNob2xkYCB0byBiZSBzZXQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYXNzd29yZFBvbGljeU9wdGlvbnMgPSB7XG4gIGRvTm90QWxsb3dVc2VybmFtZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfRE9fTk9UX0FMTE9XX1VTRVJOQU1FJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0byBgdHJ1ZWAgdG8gZGlzYWxsb3cgdGhlIHVzZXJuYW1lIGFzIHBhcnQgb2YgdGhlIHBhc3N3b3JkLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIG1heFBhc3N3b3JkQWdlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9NQVhfUEFTU1dPUkRfQUdFJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0aGUgbnVtYmVyIG9mIGRheXMgYWZ0ZXIgd2hpY2ggYSBwYXNzd29yZCBleHBpcmVzLiBMb2dpbiBhdHRlbXB0cyBmYWlsIGlmIHRoZSB1c2VyIGRvZXMgbm90IHJlc2V0IHRoZSBwYXNzd29yZCBiZWZvcmUgZXhwaXJhdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkQWdlJyksXG4gIH0sXG4gIG1heFBhc3N3b3JkSGlzdG9yeToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfTUFYX1BBU1NXT1JEX0hJU1RPUlknLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRoZSBudW1iZXIgb2YgcHJldmlvdXMgcGFzc3dvcmQgdGhhdCB3aWxsIG5vdCBiZSBhbGxvd2VkIHRvIGJlIHNldCBhcyBuZXcgcGFzc3dvcmQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYDBgLCBubyBwcmV2aW91cyBwYXNzd29yZHMgd2lsbCBiZSBjb25zaWRlcmVkLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSA+PSBgMGAgYW5kIDw9IGAyMGAuPGJyPkRlZmF1bHQgaXMgYDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignbWF4UGFzc3dvcmRIaXN0b3J5JyksXG4gIH0sXG4gIHJlc2V0VG9rZW5SZXVzZUlmVmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1RPS0VOX1JFVVNFX0lGX1ZBTElEJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0byBgdHJ1ZWAgaWYgYSBwYXNzd29yZCByZXNldCB0b2tlbiBzaG91bGQgYmUgcmV1c2VkIGluIGNhc2UgYW5vdGhlciB0b2tlbiBpcyByZXF1ZXN0ZWQgYnV0IHRoZXJlIGlzIGEgdG9rZW4gdGhhdCBpcyBzdGlsbCB2YWxpZCwgaS5lLiBoYXMgbm90IGV4cGlyZWQuIFRoaXMgYXZvaWRzIHRoZSBvZnRlbiBvYnNlcnZlZCBpc3N1ZSB0aGF0IGEgdXNlciByZXF1ZXN0cyBtdWx0aXBsZSBlbWFpbHMgYW5kIGRvZXMgbm90IGtub3cgd2hpY2ggbGluayBjb250YWlucyBhIHZhbGlkIHRva2VuIGJlY2F1c2UgZWFjaCBuZXdseSBnZW5lcmF0ZWQgdG9rZW4gd291bGQgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgdG9rZW4uPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgcmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1JFU0VUX1RPS0VOX1ZBTElESVRZX0RVUkFUSU9OJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0aGUgdmFsaWRpdHkgZHVyYXRpb24gb2YgdGhlIHBhc3N3b3JkIHJlc2V0IHRva2VuIGluIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIHRva2VuIGV4cGlyZXMuIFRoZSB0b2tlbiBpcyB1c2VkIGluIHRoZSBsaW5rIHRoYXQgaXMgc2V0IGluIHRoZSBlbWFpbC4gQWZ0ZXIgdGhlIHRva2VuIGV4cGlyZXMsIHRoZSBsaW5rIGJlY29tZXMgaW52YWxpZCBhbmQgYSBuZXcgbGluayBoYXMgdG8gYmUgc2VudC4gSWYgdGhlIG9wdGlvbiBpcyBub3Qgc2V0IG9yIHNldCB0byBgdW5kZWZpbmVkYCwgdGhlbiB0aGUgdG9rZW4gbmV2ZXIgZXhwaXJlcy48YnI+PGJyPkZvciBleGFtcGxlLCB0byBleHBpcmUgdGhlIHRva2VuIGFmdGVyIDIgaG91cnMsIHNldCBhIHZhbHVlIG9mIDcyMDAgc2Vjb25kcyAoPSA2MCBzZWNvbmRzICogNjAgbWludXRlcyAqIDIgaG91cnMpLjxicj48YnI+RGVmYXVsdCBpcyBgdW5kZWZpbmVkYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ3Jlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uJyksXG4gIH0sXG4gIHZhbGlkYXRpb25FcnJvcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVElPTl9FUlJPUicsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIGVycm9yIG1lc3NhZ2UgdG8gYmUgc2VudC48YnI+PGJyPkRlZmF1bHQgaXMgYFBhc3N3b3JkIGRvZXMgbm90IG1lZXQgdGhlIFBhc3N3b3JkIFBvbGljeSByZXF1aXJlbWVudHMuYCcsXG4gIH0sXG4gIHZhbGlkYXRvckNhbGxiYWNrOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUT1JfQ0FMTEJBQ0snLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gdmFsaWRhdGUgYSBwYXNzd29yZCB0byBiZSBhY2NlcHRlZC48YnI+PGJyPklmIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgdmFsaWRhdG9yUGF0dGVybmAsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxuICB2YWxpZGF0b3JQYXR0ZXJuOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9WQUxJREFUT1JfUEFUVEVSTicsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiB2YWxpZGF0aW9uIHBhdHRlcm4gYSBwYXNzd29yZCBtdXN0IG1hdGNoIHRvIGJlIGFjY2VwdGVkLjxicj48YnI+SWYgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGB2YWxpZGF0b3JDYWxsYmFja2AsIHRoZSBwYXNzd29yZCBtdXN0IHBhc3MgYm90aCB0byBiZSBhY2NlcHRlZC4nLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkZpbGVVcGxvYWRPcHRpb25zID0ge1xuICBlbmFibGVGb3JBbm9ueW1vdXNVc2VyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0VOQUJMRV9GT1JfQU5PTllNT1VTX1VTRVInLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhbm9ueW1vdXMgdXNlcnMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlRm9yQXV0aGVudGljYXRlZFVzZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9VUExPQURfRU5BQkxFX0ZPUl9BVVRIRU5USUNBVEVEX1VTRVInLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIGZpbGUgdXBsb2FkIHNob3VsZCBiZSBhbGxvd2VkIGZvciBhdXRoZW50aWNhdGVkIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlRm9yUHVibGljOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0VOQUJMRV9GT1JfUFVCTElDJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYW55b25lLCByZWdhcmRsZXNzIG9mIHVzZXIgYXV0aGVudGljYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5EYXRhYmFzZU9wdGlvbnMgPSB7XG4gIGVuYWJsZVNjaGVtYUhvb2tzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RBVEFCQVNFX0VOQUJMRV9TQ0hFTUFfSE9PS1MnLFxuICAgIGhlbHA6XG4gICAgICAnRW5hYmxlcyBkYXRhYmFzZSByZWFsLXRpbWUgaG9va3MgdG8gdXBkYXRlIHNpbmdsZSBzY2hlbWEgY2FjaGUuIFNldCB0byBgdHJ1ZWAgaWYgdXNpbmcgbXVsdGlwbGUgUGFyc2UgU2VydmVycyBpbnN0YW5jZXMgY29ubmVjdGVkIHRvIHRoZSBzYW1lIGRhdGFiYXNlLiBGYWlsaW5nIHRvIGRvIHNvIHdpbGwgY2F1c2UgYSBzY2hlbWEgY2hhbmdlIHRvIG5vdCBwcm9wYWdhdGUgdG8gYWxsIGluc3RhbmNlcyBhbmQgcmUtc3luY2luZyB3aWxsIG9ubHkgaGFwcGVuIHdoZW4gdGhlIGluc3RhbmNlcyByZXN0YXJ0LiBUbyB1c2UgdGhpcyBmZWF0dXJlIHdpdGggTW9uZ29EQiwgYSByZXBsaWNhIHNldCBjbHVzdGVyIHdpdGggW2NoYW5nZSBzdHJlYW1dKGh0dHBzOi8vZG9jcy5tb25nb2RiLmNvbS9tYW51YWwvY2hhbmdlU3RyZWFtcy8jYXZhaWxhYmlsaXR5KSBzdXBwb3J0IGlzIHJlcXVpcmVkLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xuIl19
830
+ module.exports.AuthAdapter = {
831
+ enabled: {
832
+ help: 'Is `true` if the auth adapter is enabled, `false` otherwise.',
833
+ action: parsers.booleanParser,
834
+ default: true
835
+ }
836
+ };
837
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcHRpb25zL0RlZmluaXRpb25zLmpzIl0sIm5hbWVzIjpbInBhcnNlcnMiLCJyZXF1aXJlIiwibW9kdWxlIiwiZXhwb3J0cyIsIlNjaGVtYU9wdGlvbnMiLCJhZnRlck1pZ3JhdGlvbiIsImVudiIsImhlbHAiLCJiZWZvcmVNaWdyYXRpb24iLCJkZWZpbml0aW9ucyIsInJlcXVpcmVkIiwiYWN0aW9uIiwib2JqZWN0UGFyc2VyIiwiZGVmYXVsdCIsImRlbGV0ZUV4dHJhRmllbGRzIiwiYm9vbGVhblBhcnNlciIsImxvY2tTY2hlbWFzIiwicmVjcmVhdGVNb2RpZmllZEZpZWxkcyIsInN0cmljdCIsIlBhcnNlU2VydmVyT3B0aW9ucyIsImFjY291bnRMb2Nrb3V0IiwiYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uIiwiYWxsb3dDdXN0b21PYmplY3RJZCIsImFsbG93SGVhZGVycyIsImFycmF5UGFyc2VyIiwiYWxsb3dPcmlnaW4iLCJhbmFseXRpY3NBZGFwdGVyIiwibW9kdWxlT3JPYmplY3RQYXJzZXIiLCJhcHBJZCIsImFwcE5hbWUiLCJhdXRoIiwiY2FjaGVBZGFwdGVyIiwiY2FjaGVNYXhTaXplIiwibnVtYmVyUGFyc2VyIiwiY2FjaGVUVEwiLCJjbGllbnRLZXkiLCJjbG91ZCIsImNsdXN0ZXIiLCJudW1iZXJPckJvb2xlYW5QYXJzZXIiLCJjb2xsZWN0aW9uUHJlZml4IiwiY3VzdG9tUGFnZXMiLCJkYXRhYmFzZUFkYXB0ZXIiLCJkYXRhYmFzZU9wdGlvbnMiLCJkYXRhYmFzZVVSSSIsImRpcmVjdEFjY2VzcyIsImRvdE5ldEtleSIsImVtYWlsQWRhcHRlciIsImVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQiLCJlbWFpbFZlcmlmeVRva2VuVmFsaWRpdHlEdXJhdGlvbiIsImVuYWJsZUFub255bW91c1VzZXJzIiwiZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlciIsImVuY3J5cHRpb25LZXkiLCJlbmZvcmNlUHJpdmF0ZVVzZXJzIiwiZXhwaXJlSW5hY3RpdmVTZXNzaW9ucyIsImZpbGVLZXkiLCJmaWxlc0FkYXB0ZXIiLCJmaWxlVXBsb2FkIiwiZ3JhcGhRTFBhdGgiLCJncmFwaFFMU2NoZW1hIiwiaG9zdCIsImlkZW1wb3RlbmN5T3B0aW9ucyIsImphdmFzY3JpcHRLZXkiLCJqc29uTG9ncyIsImxpdmVRdWVyeSIsImxpdmVRdWVyeVNlcnZlck9wdGlvbnMiLCJsb2dnZXJBZGFwdGVyIiwibG9nTGV2ZWwiLCJsb2dzRm9sZGVyIiwibWFzdGVyS2V5IiwibWFzdGVyS2V5SXBzIiwibWF4TGltaXQiLCJtYXhMb2dGaWxlcyIsIm1heFVwbG9hZFNpemUiLCJtaWRkbGV3YXJlIiwibW91bnRHcmFwaFFMIiwibW91bnRQYXRoIiwibW91bnRQbGF5Z3JvdW5kIiwib2JqZWN0SWRTaXplIiwicGFnZXMiLCJwYXNzd29yZFBvbGljeSIsInBsYXlncm91bmRQYXRoIiwicG9ydCIsInByZXNlcnZlRmlsZU5hbWUiLCJwcmV2ZW50TG9naW5XaXRoVW52ZXJpZmllZEVtYWlsIiwicHJvdGVjdGVkRmllbGRzIiwiX1VzZXIiLCJwdWJsaWNTZXJ2ZXJVUkwiLCJwdXNoIiwicmVhZE9ubHlNYXN0ZXJLZXkiLCJyZXF1ZXN0S2V5d29yZERlbnlsaXN0Iiwia2V5IiwidmFsdWUiLCJyZXN0QVBJS2V5IiwicmV2b2tlU2Vzc2lvbk9uUGFzc3dvcmRSZXNldCIsInNjaGVkdWxlZFB1c2giLCJzY2hlbWEiLCJzZWN1cml0eSIsInNlcnZlckNsb3NlQ29tcGxldGUiLCJzZXJ2ZXJTdGFydENvbXBsZXRlIiwic2VydmVyVVJMIiwic2Vzc2lvbkxlbmd0aCIsInNpbGVudCIsInN0YXJ0TGl2ZVF1ZXJ5U2VydmVyIiwidXNlclNlbnNpdGl2ZUZpZWxkcyIsInZlcmJvc2UiLCJ2ZXJpZnlVc2VyRW1haWxzIiwid2ViaG9va0tleSIsIlNlY3VyaXR5T3B0aW9ucyIsImNoZWNrR3JvdXBzIiwiZW5hYmxlQ2hlY2siLCJlbmFibGVDaGVja0xvZyIsIlBhZ2VzT3B0aW9ucyIsImN1c3RvbVJvdXRlcyIsImN1c3RvbVVybHMiLCJlbmFibGVMb2NhbGl6YXRpb24iLCJlbmFibGVSb3V0ZXIiLCJmb3JjZVJlZGlyZWN0IiwibG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGUiLCJsb2NhbGl6YXRpb25Kc29uUGF0aCIsInBhZ2VzRW5kcG9pbnQiLCJwYWdlc1BhdGgiLCJwbGFjZWhvbGRlcnMiLCJQYWdlc1JvdXRlIiwiaGFuZGxlciIsIm1ldGhvZCIsInBhdGgiLCJQYWdlc0N1c3RvbVVybHNPcHRpb25zIiwiZW1haWxWZXJpZmljYXRpb25MaW5rRXhwaXJlZCIsImVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQiLCJlbWFpbFZlcmlmaWNhdGlvblNlbmRGYWlsIiwiZW1haWxWZXJpZmljYXRpb25TZW5kU3VjY2VzcyIsImVtYWlsVmVyaWZpY2F0aW9uU3VjY2VzcyIsInBhc3N3b3JkUmVzZXQiLCJwYXNzd29yZFJlc2V0TGlua0ludmFsaWQiLCJwYXNzd29yZFJlc2V0U3VjY2VzcyIsIkN1c3RvbVBhZ2VzT3B0aW9ucyIsImNob29zZVBhc3N3b3JkIiwiZXhwaXJlZFZlcmlmaWNhdGlvbkxpbmsiLCJpbnZhbGlkTGluayIsImludmFsaWRQYXNzd29yZFJlc2V0TGluayIsImludmFsaWRWZXJpZmljYXRpb25MaW5rIiwibGlua1NlbmRGYWlsIiwibGlua1NlbmRTdWNjZXNzIiwicGFyc2VGcmFtZVVSTCIsInZlcmlmeUVtYWlsU3VjY2VzcyIsIkxpdmVRdWVyeU9wdGlvbnMiLCJjbGFzc05hbWVzIiwicHViU3ViQWRhcHRlciIsInJlZGlzT3B0aW9ucyIsInJlZGlzVVJMIiwid3NzQWRhcHRlciIsIkxpdmVRdWVyeVNlcnZlck9wdGlvbnMiLCJjYWNoZVRpbWVvdXQiLCJrZXlQYWlycyIsIndlYnNvY2tldFRpbWVvdXQiLCJJZGVtcG90ZW5jeU9wdGlvbnMiLCJwYXRocyIsInR0bCIsIkFjY291bnRMb2Nrb3V0T3B0aW9ucyIsImR1cmF0aW9uIiwidGhyZXNob2xkIiwidW5sb2NrT25QYXNzd29yZFJlc2V0IiwiUGFzc3dvcmRQb2xpY3lPcHRpb25zIiwiZG9Ob3RBbGxvd1VzZXJuYW1lIiwibWF4UGFzc3dvcmRBZ2UiLCJtYXhQYXNzd29yZEhpc3RvcnkiLCJyZXNldFRva2VuUmV1c2VJZlZhbGlkIiwicmVzZXRUb2tlblZhbGlkaXR5RHVyYXRpb24iLCJ2YWxpZGF0aW9uRXJyb3IiLCJ2YWxpZGF0b3JDYWxsYmFjayIsInZhbGlkYXRvclBhdHRlcm4iLCJGaWxlVXBsb2FkT3B0aW9ucyIsImVuYWJsZUZvckFub255bW91c1VzZXIiLCJlbmFibGVGb3JBdXRoZW50aWNhdGVkVXNlciIsImVuYWJsZUZvclB1YmxpYyIsIkRhdGFiYXNlT3B0aW9ucyIsImVuYWJsZVNjaGVtYUhvb2tzIiwiQXV0aEFkYXB0ZXIiLCJlbmFibGVkIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxPQUFPLEdBQUdDLE9BQU8sQ0FBQyxXQUFELENBQXJCOztBQUVBQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUMsYUFBZixHQUErQjtBQUM3QkMsRUFBQUEsY0FBYyxFQUFFO0FBQ2RDLElBQUFBLEdBQUcsRUFBRSxxQ0FEUztBQUVkQyxJQUFBQSxJQUFJLEVBQUU7QUFGUSxHQURhO0FBSzdCQyxFQUFBQSxlQUFlLEVBQUU7QUFDZkYsSUFBQUEsR0FBRyxFQUFFLHNDQURVO0FBRWZDLElBQUFBLElBQUksRUFBRTtBQUZTLEdBTFk7QUFTN0JFLEVBQUFBLFdBQVcsRUFBRTtBQUNYSCxJQUFBQSxHQUFHLEVBQUUsaUNBRE07QUFFWEMsSUFBQUEsSUFBSSxFQUNGLGdHQUhTO0FBSVhHLElBQUFBLFFBQVEsRUFBRSxJQUpDO0FBS1hDLElBQUFBLE1BQU0sRUFBRVgsT0FBTyxDQUFDWSxZQUxMO0FBTVhDLElBQUFBLE9BQU8sRUFBRTtBQU5FLEdBVGdCO0FBaUI3QkMsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakJSLElBQUFBLEdBQUcsRUFBRSx5Q0FEWTtBQUVqQkMs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QU0sRUFBRVgsT0FBTyxDQUFDZSxhQUhEO0FBSWZGLElBQUFBLE9BQU8sRUFBRTtBQUpNO0FBYmdCLENBQW5DO0FBb0JBWCxNQUFNLENBQUNDLE9BQVAsQ0FBZTRLLGVBQWYsR0FBaUM7QUFDL0JDLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCMUssSUFBQUEsR0FBRyxFQUFFLDJDQURZO0FBRWpCQyxJQUFBQSxJQUFJLEVBQ0Ysa2NBSGU7QUFJakJJLElBQUFBLE1BQU0sRUFBRVgsT0FBTyxDQUFDZSxhQUpDO0FBS2pCRixJQUFBQSxPQUFPLEVBQUU7QUFMUTtBQURZLENBQWpDO0FBU0FYLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlOEssV0FBZixHQUE2QjtBQUMzQkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1AzSyxJQUFBQSxJQUFJLEVBQUUsOERBREM7QUFFUEksSUFBQUEsTUFBTSxFQUFFWCxPQUFPLENBQUNlLGFBRlQ7QUFHUEYsSUFBQUEsT0FBTyxFQUFFO0FBSEY7QUFEa0IsQ0FBN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuKioqKiBHRU5FUkFURUQgQ09ERSAqKioqXG5UaGlzIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IHJlc291cmNlcy9idWlsZENvbmZpZ0RlZmluaXRpb25zLmpzXG5EbyBub3QgZWRpdCBtYW51YWxseSwgYnV0IHVwZGF0ZSBPcHRpb25zL2luZGV4LmpzXG4qL1xudmFyIHBhcnNlcnMgPSByZXF1aXJlKCcuL3BhcnNlcnMnKTtcblxubW9kdWxlLmV4cG9ydHMuU2NoZW1hT3B0aW9ucyA9IHtcbiAgYWZ0ZXJNaWdyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0FGVEVSX01JR1JBVElPTicsXG4gICAgaGVscDogJ0V4ZWN1dGUgYSBjYWxsYmFjayBhZnRlciBydW5uaW5nIHNjaGVtYSBtaWdyYXRpb25zLicsXG4gIH0sXG4gIGJlZm9yZU1pZ3JhdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfQkVGT1JFX01JR1JBVElPTicsXG4gICAgaGVscDogJ0V4ZWN1dGUgYSBjYWxsYmFjayBiZWZvcmUgcnVubmluZyBzY2hlbWEgbWlncmF0aW9ucy4nLFxuICB9LFxuICBkZWZpbml0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfREVGSU5JVElPTlMnLFxuICAgIGhlbHA6XG4gICAgICAnUmVzdCByZXByZXNlbnRhdGlvbiBvbiBQYXJzZS5TY2hlbWEgaHR0cHM6Ly9kb2NzLnBhcnNlcGxhdGZvcm0ub3JnL3Jlc3QvZ3VpZGUvI2FkZGluZy1hLXNjaGVtYScsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiBbXSxcbiAgfSxcbiAgZGVsZXRlRXh0cmFGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0RFTEVURV9FWFRSQV9GSUVMRFMnLFxuICAgIGhlbHA6XG4gICAgICAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGRlbGV0ZSBhbnkgZmllbGRzIG5vdCBkZWZpbmVkIGluIGEgc2NoZW1hIGRlZmluaXRpb24uIFRoaXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBkdXJpbmcgZGV2ZWxvcG1lbnQuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9ja1NjaGVtYXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX0xPQ0tfU0NIRU1BUycsXG4gICAgaGVscDpcbiAgICAgICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciB3aWxsIHJlamVjdCBhbnkgYXR0ZW1wdHMgdG8gbW9kaWZ5IHRoZSBzY2hlbWEgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlY3JlYXRlTW9kaWZpZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0NIRU1BX1JFQ1JFQVRFX01PRElGSUVEX0ZJRUxEUycsXG4gICAgaGVscDpcbiAgICAgICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgcmVjcmVhdGUgYW55IGZpZWxkcyB0aGF0IGFyZSBkaWZmZXJlbnQgYmV0d2VlbiB0aGUgY3VycmVudCBkYXRhYmFzZSBzY2hlbWEgYW5kIHRoZXNjaGVtYSBkZWZpbml0aW9uLiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHN0cmljdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFTUFfU1RSSUNUJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGV4aXQgaWYgc2NoZW1hIHVwZGF0ZSBmYWlsLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFyc2VTZXJ2ZXJPcHRpb25zID0ge1xuICBhY2NvdW50TG9ja291dDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVQnLFxuICAgIGhlbHA6ICdUaGUgYWNjb3VudCBsb2Nrb3V0IHBvbGljeSBmb3IgZmFpbGVkIGxvZ2luIGF0dGVtcHRzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NMSUVOVF9DTEFTU19DUkVBVElPTicsXG4gICAgaGVscDogJ0VuYWJsZSAob3IgZGlzYWJsZSkgY2xpZW50IGNsYXNzIGNyZWF0aW9uLCBkZWZhdWx0cyB0byB0cnVlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICB9LFxuICBhbGxvd0N1c3RvbU9iamVjdElkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FMTE9XX0NVU1RPTV9PQkpFQ1RfSUQnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGN1c3RvbSBvYmplY3RJZCcsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGFsbG93SGVhZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19IRUFERVJTJyxcbiAgICBoZWxwOiAnQWRkIGhlYWRlcnMgdG8gQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBhbGxvd09yaWdpbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTExPV19PUklHSU4nLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBvcmlnaW4gdG8gQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJyxcbiAgfSxcbiAgYW5hbHl0aWNzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BTkFMWVRJQ1NfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgYW5hbHl0aWNzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FQUExJQ0FUSU9OX0lEJyxcbiAgICBoZWxwOiAnWW91ciBQYXJzZSBBcHBsaWNhdGlvbiBJRCcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0sXG4gIGFwcE5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQVBQX05BTUUnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBhcHAgbmFtZScsXG4gIH0sXG4gIGF1dGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQVVUSF9QUk9WSURFUlMnLFxuICAgIGhlbHA6XG4gICAgICAnQ29uZmlndXJhdGlvbiBmb3IgeW91ciBhdXRoZW50aWNhdGlvbiBwcm92aWRlcnMsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI29hdXRoLWFuZC0zcmQtcGFydHktYXV0aGVudGljYXRpb24nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgY2FjaGVBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NBQ0hFX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIGNhY2hlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGNhY2hlTWF4U2l6ZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9NQVhfU0laRScsXG4gICAgaGVscDogJ1NldHMgdGhlIG1heGltdW0gc2l6ZSBmb3IgdGhlIGluIG1lbW9yeSBjYWNoZSwgZGVmYXVsdHMgdG8gMTAwMDAnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ2NhY2hlTWF4U2l6ZScpLFxuICAgIGRlZmF1bHQ6IDEwMDAwLFxuICB9LFxuICBjYWNoZVRUTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DQUNIRV9UVEwnLFxuICAgIGhlbHA6ICdTZXRzIHRoZSBUVEwgZm9yIHRoZSBpbiBtZW1vcnkgY2FjaGUgKGluIG1zKSwgZGVmYXVsdHMgdG8gNTAwMCAoNSBzZWNvbmRzKScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVUVEwnKSxcbiAgICBkZWZhdWx0OiA1MDAwLFxuICB9LFxuICBjbGllbnRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0xJRU5UX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgaU9TLCBNYWNPUywgdHZPUyBjbGllbnRzJyxcbiAgfSxcbiAgY2xvdWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ0xPVUQnLFxuICAgIGhlbHA6ICdGdWxsIHBhdGggdG8geW91ciBjbG91ZCBjb2RlIG1haW4uanMnLFxuICB9LFxuICBjbHVzdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NMVVNURVInLFxuICAgIGhlbHA6ICdSdW4gd2l0aCBjbHVzdGVyLCBvcHRpb25hbGx5IHNldCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBkZWZhdWx0IHRvIG9zLmNwdXMoKS5sZW5ndGgnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJPckJvb2xlYW5QYXJzZXIsXG4gIH0sXG4gIGNvbGxlY3Rpb25QcmVmaXg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ09MTEVDVElPTl9QUkVGSVgnLFxuICAgIGhlbHA6ICdBIGNvbGxlY3Rpb24gcHJlZml4IGZvciB0aGUgY2xhc3NlcycsXG4gICAgZGVmYXVsdDogJycsXG4gIH0sXG4gIGN1c3RvbVBhZ2VzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFUycsXG4gICAgaGVscDogJ2N1c3RvbSBwYWdlcyBmb3IgcGFzc3dvcmQgdmFsaWRhdGlvbiBhbmQgcmVzZXQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGRhdGFiYXNlQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9BREFQVEVSJyxcbiAgICBoZWxwOiAnQWRhcHRlciBtb2R1bGUgZm9yIHRoZSBkYXRhYmFzZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBkYXRhYmFzZU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfREFUQUJBU0VfT1BUSU9OUycsXG4gICAgaGVscDogJ09wdGlvbnMgdG8gcGFzcyB0byB0aGUgZGF0YWJhc2UgY2xpZW50JyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBkYXRhYmFzZVVSSToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9VUkknLFxuICAgIGhlbHA6ICdUaGUgZnVsbCBVUkkgdG8geW91ciBkYXRhYmFzZS4gU3VwcG9ydGVkIGRhdGFiYXNlcyBhcmUgbW9uZ29kYiBvciBwb3N0Z3Jlcy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHQ6ICdtb25nb2RiOi8vbG9jYWxob3N0OjI3MDE3L3BhcnNlJyxcbiAgfSxcbiAgZGlyZWN0QWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RJUkVDVF9BQ0NFU1MnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRvIGB0cnVlYCBpZiBQYXJzZSByZXF1ZXN0cyB3aXRoaW4gdGhlIHNhbWUgTm9kZS5qcyBlbnZpcm9ubWVudCBhcyBQYXJzZSBTZXJ2ZXIgc2hvdWxkIGJlIHJvdXRlZCB0byBQYXJzZSBTZXJ2ZXIgZGlyZWN0bHkgaW5zdGVhZCBvZiB2aWEgdGhlIEhUVFAgaW50ZXJmYWNlLiBEZWZhdWx0IGlzIGBmYWxzZWAuPGJyPjxicj5JZiBzZXQgdG8gYGZhbHNlYCB0aGVuIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgc2FtZSBOb2RlLmpzIGVudmlyb25tZW50IGFzIFBhcnNlIFNlcnZlciBhcmUgZXhlY3V0ZWQgYXMgSFRUUCByZXF1ZXN0cyBzZW50IHRvIFBhcnNlIFNlcnZlciB2aWEgdGhlIGBzZXJ2ZXJVUkxgLiBGb3IgZXhhbXBsZSwgYSBgUGFyc2UuUXVlcnlgIGluIENsb3VkIENvZGUgaXMgY2FsbGluZyBQYXJzZSBTZXJ2ZXIgdmlhIGEgSFRUUCByZXF1ZXN0LiBUaGUgc2VydmVyIGlzIGVzc2VudGlhbGx5IG1ha2luZyBhIEhUVFAgcmVxdWVzdCB0byBpdHNlbGYsIHVubmVjZXNzYXJpbHkgdXNpbmcgbmV0d29yayByZXNvdXJjZXMgc3VjaCBhcyBuZXR3b3JrIHBvcnRzLjxicj48YnI+XFx1MjZBMFxcdUZFMEYgSW4gZW52aXJvbm1lbnRzIHdoZXJlIG11bHRpcGxlIFBhcnNlIFNlcnZlciBpbnN0YW5jZXMgcnVuIGJlaGluZCBhIGxvYWQgYmFsYW5jZXIgYW5kIFBhcnNlIHJlcXVlc3RzIHdpdGhpbiB0aGUgY3VycmVudCBOb2RlLmpzIGVudmlyb25tZW50IHNob3VsZCBiZSByb3V0ZWQgdmlhIHRoZSBsb2FkIGJhbGFuY2VyIGFuZCBkaXN0cmlidXRlZCBhcyBIVFRQIHJlcXVlc3RzIGFtb25nIGFsbCBpbnN0YW5jZXMgdmlhIHRoZSBgc2VydmVyVVJMYCwgdGhpcyBzaG91bGQgYmUgc2V0IHRvIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZG90TmV0S2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0RPVF9ORVRfS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBVbml0eSBhbmQgLk5ldCBTREsnLFxuICB9LFxuICBlbWFpbEFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciBlbWFpbCBzZW5kaW5nJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5SZXVzZUlmVmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU1BSUxfVkVSSUZZX1RPS0VOX1JFVVNFX0lGX1ZBTElEJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0byBgdHJ1ZWAgaWYgYSBlbWFpbCB2ZXJpZmljYXRpb24gdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVtYWlsVmVyaWZ5VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VNQUlMX1ZFUklGWV9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIHZhbGlkaXR5IGR1cmF0aW9uIG9mIHRoZSBlbWFpbCB2ZXJpZmljYXRpb24gdG9rZW4gaW4gc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgdG9rZW4gZXhwaXJlcy4gVGhlIHRva2VuIGlzIHVzZWQgaW4gdGhlIGxpbmsgdGhhdCBpcyBzZXQgaW4gdGhlIGVtYWlsLiBBZnRlciB0aGUgdG9rZW4gZXhwaXJlcywgdGhlIGxpbmsgYmVjb21lcyBpbnZhbGlkIGFuZCBhIG5ldyBsaW5rIGhhcyB0byBiZSBzZW50LiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGB1bmRlZmluZWRgLCB0aGVuIHRoZSB0b2tlbiBuZXZlciBleHBpcmVzLjxicj48YnI+Rm9yIGV4YW1wbGUsIHRvIGV4cGlyZSB0aGUgdG9rZW4gYWZ0ZXIgMiBob3Vycywgc2V0IGEgdmFsdWUgb2YgNzIwMCBzZWNvbmRzICg9IDYwIHNlY29uZHMgKiA2MCBtaW51dGVzICogMiBob3VycykuPGJyPjxicj5EZWZhdWx0IGlzIGB1bmRlZmluZWRgLjxicj5SZXF1aXJlcyBvcHRpb24gYHZlcmlmeVVzZXJFbWFpbHM6IHRydWVgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZW1haWxWZXJpZnlUb2tlblZhbGlkaXR5RHVyYXRpb24nKSxcbiAgfSxcbiAgZW5hYmxlQW5vbnltb3VzVXNlcnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRU5BQkxFX0FOT05fVVNFUlMnLFxuICAgIGhlbHA6ICdFbmFibGUgKG9yIGRpc2FibGUpIGFub255bW91cyB1c2VycywgZGVmYXVsdHMgdG8gdHJ1ZScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgZW5hYmxlRXhwcmVzc0Vycm9ySGFuZGxlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FTkFCTEVfRVhQUkVTU19FUlJPUl9IQU5ETEVSJyxcbiAgICBoZWxwOiAnRW5hYmxlcyB0aGUgZGVmYXVsdCBleHByZXNzIGVycm9yIGhhbmRsZXIgZm9yIGFsbCBlcnJvcnMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBlbmNyeXB0aW9uS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VOQ1JZUFRJT05fS0VZJyxcbiAgICBoZWxwOiAnS2V5IGZvciBlbmNyeXB0aW5nIHlvdXIgZmlsZXMnLFxuICB9LFxuICBlbmZvcmNlUHJpdmF0ZVVzZXJzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0VORk9SQ0VfUFJJVkFURV9VU0VSUycsXG4gICAgaGVscDogJ1NldCB0byB0cnVlIGlmIG5ldyB1c2VycyBzaG91bGQgYmUgY3JlYXRlZCB3aXRob3V0IHB1YmxpYyByZWFkIGFuZCB3cml0ZSBhY2Nlc3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZXhwaXJlSW5hY3RpdmVTZXNzaW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBJUkVfSU5BQ1RJVkVfU0VTU0lPTlMnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0cyB3aGV0aGVyIHdlIHNob3VsZCBleHBpcmUgdGhlIGluYWN0aXZlIHNlc3Npb25zLCBkZWZhdWx0cyB0byB0cnVlLiBJZiBmYWxzZSwgYWxsIG5ldyBzZXNzaW9ucyBhcmUgY3JlYXRlZCB3aXRoIG5vIGV4cGlyYXRpb24gZGF0ZS4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGZpbGVLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRV9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHlvdXIgZmlsZXMnLFxuICB9LFxuICBmaWxlc0FkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRklMRVNfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgZmlsZXMgc3ViLXN5c3RlbScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxuICBmaWxlVXBsb2FkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX09QVElPTlMnLFxuICAgIGhlbHA6ICdPcHRpb25zIGZvciBmaWxlIHVwbG9hZHMnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGdyYXBoUUxQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0dSQVBIUUxfUEFUSCcsXG4gICAgaGVscDogJ01vdW50IHBhdGggZm9yIHRoZSBHcmFwaFFMIGVuZHBvaW50LCBkZWZhdWx0cyB0byAvZ3JhcGhxbCcsXG4gICAgZGVmYXVsdDogJy9ncmFwaHFsJyxcbiAgfSxcbiAgZ3JhcGhRTFNjaGVtYToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9HUkFQSF9RTFNDSEVNQScsXG4gICAgaGVscDogJ0Z1bGwgcGF0aCB0byB5b3VyIEdyYXBoUUwgY3VzdG9tIHNjaGVtYS5ncmFwaHFsIGZpbGUnLFxuICB9LFxuICBob3N0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0hPU1QnLFxuICAgIGhlbHA6ICdUaGUgaG9zdCB0byBzZXJ2ZSBQYXJzZVNlcnZlciBvbiwgZGVmYXVsdHMgdG8gMC4wLjAuMCcsXG4gICAgZGVmYXVsdDogJzAuMC4wLjAnLFxuICB9LFxuICBpZGVtcG90ZW5jeU9wdGlvbnM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX09QVElPTlMnLFxuICAgIGhlbHA6XG4gICAgICAnT3B0aW9ucyBmb3IgcmVxdWVzdCBpZGVtcG90ZW5jeSB0byBkZWR1cGxpY2F0ZSBpZGVudGljYWwgcmVxdWVzdHMgdGhhdCBtYXkgYmUgY2F1c2VkIGJ5IG5ldHdvcmsgaXNzdWVzLiBDYXV0aW9uLCB0aGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgbWF5IG5vdCBiZSBhcHByb3ByaWF0ZSBmb3IgcHJvZHVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGphdmFzY3JpcHRLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfSkFWQVNDUklQVF9LRVknLFxuICAgIGhlbHA6ICdLZXkgZm9yIHRoZSBKYXZhc2NyaXB0IFNESycsXG4gIH0sXG4gIGpzb25Mb2dzOiB7XG4gICAgZW52OiAnSlNPTl9MT0dTJyxcbiAgICBoZWxwOiAnTG9nIGFzIHN0cnVjdHVyZWQgSlNPTiBvYmplY3RzJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgbGl2ZVF1ZXJ5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xJVkVfUVVFUlknLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IGNvbmZpZ3VyYXRpb24gb2JqZWN0XCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbGl2ZVF1ZXJ5U2VydmVyT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFX1FVRVJZX1NFUlZFUl9PUFRJT05TJyxcbiAgICBoZWxwOiAnTGl2ZSBxdWVyeSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBvcHRpb25zICh3aWxsIHN0YXJ0IHRoZSBsaXZlUXVlcnkgc2VydmVyKScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgbG9nZ2VyQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dHRVJfQURBUFRFUicsXG4gICAgaGVscDogJ0FkYXB0ZXIgbW9kdWxlIGZvciB0aGUgbG9nZ2luZyBzdWItc3lzdGVtJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0xPR19MRVZFTCcsXG4gICAgaGVscDogJ1NldHMgdGhlIGxldmVsIGZvciBsb2dzJyxcbiAgfSxcbiAgbG9nc0ZvbGRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MT0dTX0ZPTERFUicsXG4gICAgaGVscDogXCJGb2xkZXIgZm9yIHRoZSBsb2dzIChkZWZhdWx0cyB0byAnLi9sb2dzJyk7IHNldCB0byBudWxsIHRvIGRpc2FibGUgZmlsZSBiYXNlZCBsb2dnaW5nXCIsXG4gICAgZGVmYXVsdDogJy4vbG9ncycsXG4gIH0sXG4gIG1hc3RlcktleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVNURVJfS0VZJyxcbiAgICBoZWxwOiAnWW91ciBQYXJzZSBNYXN0ZXIgS2V5JyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWFzdGVyS2V5SXBzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BU1RFUl9LRVlfSVBTJyxcbiAgICBoZWxwOiAnUmVzdHJpY3QgbWFzdGVyS2V5IHRvIGJlIHVzZWQgYnkgb25seSB0aGVzZSBpcHMsIGRlZmF1bHRzIHRvIFtdIChhbGxvdyBhbGwgaXBzKScsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBtYXhMaW1pdDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NQVhfTElNSVQnLFxuICAgIGhlbHA6ICdNYXggdmFsdWUgZm9yIGxpbWl0IG9wdGlvbiBvbiBxdWVyaWVzLCBkZWZhdWx0cyB0byB1bmxpbWl0ZWQnLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heExpbWl0JyksXG4gIH0sXG4gIG1heExvZ0ZpbGVzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01BWF9MT0dfRklMRVMnLFxuICAgIGhlbHA6XG4gICAgICBcIk1heGltdW0gbnVtYmVyIG9mIGxvZ3MgdG8ga2VlcC4gSWYgbm90IHNldCwgbm8gbG9ncyB3aWxsIGJlIHJlbW92ZWQuIFRoaXMgY2FuIGJlIGEgbnVtYmVyIG9mIGZpbGVzIG9yIG51bWJlciBvZiBkYXlzLiBJZiB1c2luZyBkYXlzLCBhZGQgJ2QnIGFzIHRoZSBzdWZmaXguIChkZWZhdWx0OiBudWxsKVwiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIG1heFVwbG9hZFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTUFYX1VQTE9BRF9TSVpFJyxcbiAgICBoZWxwOiAnTWF4IGZpbGUgc2l6ZSBmb3IgdXBsb2FkcywgZGVmYXVsdHMgdG8gMjBtYicsXG4gICAgZGVmYXVsdDogJzIwbWInLFxuICB9LFxuICBtaWRkbGV3YXJlOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01JRERMRVdBUkUnLFxuICAgIGhlbHA6ICdtaWRkbGV3YXJlIGZvciBleHByZXNzIHNlcnZlciwgY2FuIGJlIHN0cmluZyBvciBmdW5jdGlvbicsXG4gIH0sXG4gIG1vdW50R3JhcGhRTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9NT1VOVF9HUkFQSFFMJyxcbiAgICBoZWxwOiAnTW91bnRzIHRoZSBHcmFwaFFMIGVuZHBvaW50JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbW91bnRQYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX01PVU5UX1BBVEgnLFxuICAgIGhlbHA6ICdNb3VudCBwYXRoIGZvciB0aGUgc2VydmVyLCBkZWZhdWx0cyB0byAvcGFyc2UnLFxuICAgIGRlZmF1bHQ6ICcvcGFyc2UnLFxuICB9LFxuICBtb3VudFBsYXlncm91bmQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTU9VTlRfUExBWUdST1VORCcsXG4gICAgaGVscDogJ01vdW50cyB0aGUgR3JhcGhRTCBQbGF5Z3JvdW5kIC0gbmV2ZXIgdXNlIHRoaXMgb3B0aW9uIGluIHByb2R1Y3Rpb24nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBvYmplY3RJZFNpemU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfT0JKRUNUX0lEX1NJWkUnLFxuICAgIGhlbHA6IFwiU2V0cyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gZ2VuZXJhdGVkIG9iamVjdCBpZCdzLCBkZWZhdWx0IDEwXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignb2JqZWN0SWRTaXplJyksXG4gICAgZGVmYXVsdDogMTAsXG4gIH0sXG4gIHBhZ2VzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoZSBvcHRpb25zIGZvciBwYWdlcyBzdWNoIGFzIHBhc3N3b3JkIHJlc2V0IGFuZCBlbWFpbCB2ZXJpZmljYXRpb24uIENhdXRpb24sIHRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgdGhhdCBtYXkgbm90IGJlIGFwcHJvcHJpYXRlIGZvciBwcm9kdWN0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgICBkZWZhdWx0OiB7fSxcbiAgfSxcbiAgcGFzc3dvcmRQb2xpY3k6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZJyxcbiAgICBoZWxwOiAnVGhlIHBhc3N3b3JkIHBvbGljeSBmb3IgZW5mb3JjaW5nIHBhc3N3b3JkIHJlbGF0ZWQgcnVsZXMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBwbGF5Z3JvdW5kUGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QTEFZR1JPVU5EX1BBVEgnLFxuICAgIGhlbHA6ICdNb3VudCBwYXRoIGZvciB0aGUgR3JhcGhRTCBQbGF5Z3JvdW5kLCBkZWZhdWx0cyB0byAvcGxheWdyb3VuZCcsXG4gICAgZGVmYXVsdDogJy9wbGF5Z3JvdW5kJyxcbiAgfSxcbiAgcG9ydDoge1xuICAgIGVudjogJ1BPUlQnLFxuICAgIGhlbHA6ICdUaGUgcG9ydCB0byBydW4gdGhlIFBhcnNlU2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHByZXNlcnZlRmlsZU5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFU0VSVkVfRklMRV9OQU1FJyxcbiAgICBoZWxwOiAnRW5hYmxlIChvciBkaXNhYmxlKSB0aGUgYWRkaXRpb24gb2YgYSB1bmlxdWUgaGFzaCB0byB0aGUgZmlsZSBuYW1lcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHByZXZlbnRMb2dpbldpdGhVbnZlcmlmaWVkRW1haWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJFVkVOVF9MT0dJTl9XSVRIX1VOVkVSSUZJRURfRU1BSUwnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRvIGB0cnVlYCB0byBwcmV2ZW50IGEgdXNlciBmcm9tIGxvZ2dpbmcgaW4gaWYgdGhlIGVtYWlsIGhhcyBub3QgeWV0IGJlZW4gdmVyaWZpZWQgYW5kIGVtYWlsIHZlcmlmaWNhdGlvbiBpcyByZXF1aXJlZC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC48YnI+UmVxdWlyZXMgb3B0aW9uIGB2ZXJpZnlVc2VyRW1haWxzOiB0cnVlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBwcm90ZWN0ZWRGaWVsZHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUFJPVEVDVEVEX0ZJRUxEUycsXG4gICAgaGVscDogJ1Byb3RlY3RlZCBmaWVsZHMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCB3aXRoIGV4dHJhIHNlY3VyaXR5IHdoZW4gZmV0Y2hpbmcgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge1xuICAgICAgX1VzZXI6IHtcbiAgICAgICAgJyonOiBbJ2VtYWlsJ10sXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHB1YmxpY1NlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX1BVQkxJQ19TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnUHVibGljIFVSTCB0byB5b3VyIHBhcnNlIHNlcnZlciB3aXRoIGh0dHA6Ly8gb3IgaHR0cHM6Ly8uJyxcbiAgfSxcbiAgcHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QVVNIJyxcbiAgICBoZWxwOlxuICAgICAgJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2gsIGFzIHN0cmluZ2lmaWVkIEpTT04uIFNlZSBodHRwOi8vZG9jcy5wYXJzZXBsYXRmb3JtLm9yZy9wYXJzZS1zZXJ2ZXIvZ3VpZGUvI3B1c2gtbm90aWZpY2F0aW9ucycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVhZE9ubHlNYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVBRF9PTkxZX01BU1RFUl9LRVknLFxuICAgIGhlbHA6ICdSZWFkLW9ubHkga2V5LCB3aGljaCBoYXMgdGhlIHNhbWUgY2FwYWJpbGl0aWVzIGFzIE1hc3RlcktleSB3aXRob3V0IHdyaXRlcycsXG4gIH0sXG4gIHJlcXVlc3RLZXl3b3JkRGVueWxpc3Q6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVRVUVTVF9LRVlXT1JEX0RFTllMSVNUJyxcbiAgICBoZWxwOlxuICAgICAgJ0FuIGFycmF5IG9mIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBwcm9oaWJpdGVkIGluIGRhdGFiYXNlIHJlYWQgYW5kIHdyaXRlIHJlcXVlc3RzIHRvIHByZXZlbnQgcG90ZW50aWFsIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcy4gSXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSBvbmx5IGEga2V5IChge1wia2V5XCI6XCIuLi5cIn1gKSwgb25seSBhIHZhbHVlIChge1widmFsdWVcIjpcIi4uLlwifWApIG9yIGEga2V5LXZhbHVlIHBhaXIgKGB7XCJrZXlcIjpcIi4uLlwiLFwidmFsdWVcIjpcIi4uLlwifWApLiBUaGUgc3BlY2lmaWNhdGlvbiBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgdHlwZXM6IGBib29sZWFuYCwgYG51bWVyaWNgIG9yIGBzdHJpbmdgLCB3aGVyZSBgc3RyaW5nYCB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgcmVnZXggbm90YXRpb24uIFJlcXVlc3QgZGF0YSBpcyBkZWVwLXNjYW5uZWQgZm9yIG1hdGNoaW5nIGRlZmluaXRpb25zIHRvIGRldGVjdCBhbHNvIGFueSBuZXN0ZWQgb2NjdXJyZW5jZXMuIERlZmF1bHRzIGFyZSBwYXR0ZXJucyB0aGF0IGFyZSBsaWtlbHkgdG8gYmUgdXNlZCBpbiBtYWxpY2lvdXMgcmVxdWVzdHMuIFNldHRpbmcgdGhpcyBvcHRpb24gd2lsbCBvdmVycmlkZSB0aGUgZGVmYXVsdCBwYXR0ZXJucy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgICBkZWZhdWx0OiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ19ic29udHlwZScsXG4gICAgICAgIHZhbHVlOiAnQ29kZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdjb25zdHJ1Y3RvcicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdfX3Byb3RvX18nLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICByZXN0QVBJS2V5OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1JFU1RfQVBJX0tFWScsXG4gICAgaGVscDogJ0tleSBmb3IgUkVTVCBjYWxscycsXG4gIH0sXG4gIHJldm9rZVNlc3Npb25PblBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUkVWT0tFX1NFU1NJT05fT05fUEFTU1dPUkRfUkVTRVQnLFxuICAgIGhlbHA6XG4gICAgICBcIldoZW4gYSB1c2VyIGNoYW5nZXMgdGhlaXIgcGFzc3dvcmQsIGVpdGhlciB0aHJvdWdoIHRoZSByZXNldCBwYXNzd29yZCBlbWFpbCBvciB3aGlsZSBsb2dnZWQgaW4sIGFsbCBzZXNzaW9ucyBhcmUgcmV2b2tlZCBpZiB0aGlzIGlzIHRydWUuIFNldCB0byBmYWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCB0byByZXZva2Ugc2Vzc2lvbnMuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbiAgc2NoZWR1bGVkUHVzaDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TQ0hFRFVMRURfUFVTSCcsXG4gICAgaGVscDogJ0NvbmZpZ3VyYXRpb24gZm9yIHB1c2ggc2NoZWR1bGluZywgZGVmYXVsdHMgdG8gZmFsc2UuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgc2NoZW1hOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NDSEVNQScsXG4gICAgaGVscDogJ0RlZmluZWQgc2NoZW1hJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICB9LFxuICBzZWN1cml0eToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWScsXG4gICAgaGVscDogJ1RoZSBzZWN1cml0eSBvcHRpb25zIHRvIGlkZW50aWZ5IGFuZCByZXBvcnQgd2VhayBzZWN1cml0eSBzZXR0aW5ncy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIHNlcnZlckNsb3NlQ29tcGxldGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VSVkVSX0NMT1NFX0NPTVBMRVRFJyxcbiAgICBoZWxwOiAnQ2FsbGJhY2sgd2hlbiBzZXJ2ZXIgaGFzIGNsb3NlZCcsXG4gIH0sXG4gIHNlcnZlclN0YXJ0Q29tcGxldGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VSVkVSX1NUQVJUX0NPTVBMRVRFJyxcbiAgICBoZWxwOiAnQ2FsbGJhY2sgd2hlbiBzZXJ2ZXIgaGFzIHN0YXJ0ZWQnLFxuICB9LFxuICBzZXJ2ZXJVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfVVJMJyxcbiAgICBoZWxwOiAnVVJMIHRvIHlvdXIgcGFyc2Ugc2VydmVyIHdpdGggaHR0cDovLyBvciBodHRwczovLy4nLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICB9LFxuICBzZXNzaW9uTGVuZ3RoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1NFU1NJT05fTEVOR1RIJyxcbiAgICBoZWxwOiAnU2Vzc2lvbiBkdXJhdGlvbiwgaW4gc2Vjb25kcywgZGVmYXVsdHMgdG8gMSB5ZWFyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdzZXNzaW9uTGVuZ3RoJyksXG4gICAgZGVmYXVsdDogMzE1MzYwMDAsXG4gIH0sXG4gIHNpbGVudDoge1xuICAgIGVudjogJ1NJTEVOVCcsXG4gICAgaGVscDogJ0Rpc2FibGVzIGNvbnNvbGUgb3V0cHV0JyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgc3RhcnRMaXZlUXVlcnlTZXJ2ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU1RBUlRfTElWRV9RVUVSWV9TRVJWRVInLFxuICAgIGhlbHA6ICdTdGFydHMgdGhlIGxpdmVRdWVyeSBzZXJ2ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICB9LFxuICB1c2VyU2Vuc2l0aXZlRmllbGRzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1VTRVJfU0VOU0lUSVZFX0ZJRUxEUycsXG4gICAgaGVscDpcbiAgICAgICdQZXJzb25hbGx5IGlkZW50aWZpYWJsZSBpbmZvcm1hdGlvbiBmaWVsZHMgaW4gdGhlIHVzZXIgdGFibGUgdGhlIHNob3VsZCBiZSByZW1vdmVkIGZvciBub24tYXV0aG9yaXplZCB1c2Vycy4gRGVwcmVjYXRlZCBAc2VlIHByb3RlY3RlZEZpZWxkcycsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICB2ZXJib3NlOiB7XG4gICAgZW52OiAnVkVSQk9TRScsXG4gICAgaGVscDogJ1NldCB0aGUgbG9nZ2luZyB0byB2ZXJib3NlJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgfSxcbiAgdmVyaWZ5VXNlckVtYWlsczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9WRVJJRllfVVNFUl9FTUFJTFMnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRvIGB0cnVlYCB0byByZXF1aXJlIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBlbWFpbCBhZGRyZXNzIHRvIGNvbXBsZXRlIHRoZSBzaWduLXVwIHByb2Nlc3MuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgd2ViaG9va0tleToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9XRUJIT09LX0tFWScsXG4gICAgaGVscDogJ0tleSBzZW50IHdpdGggb3V0Z29pbmcgd2ViaG9vayBjYWxscycsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuU2VjdXJpdHlPcHRpb25zID0ge1xuICBjaGVja0dyb3Vwczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9DSEVDS19HUk9VUFMnLFxuICAgIGhlbHA6XG4gICAgICAnVGhlIHNlY3VyaXR5IGNoZWNrIGdyb3VwcyB0byBydW4uIFRoaXMgYWxsb3dzIHRvIGFkZCBjdXN0b20gc2VjdXJpdHkgY2hlY2tzIG9yIG92ZXJyaWRlIGV4aXN0aW5nIG9uZXMuIERlZmF1bHQgYXJlIHRoZSBncm91cHMgZGVmaW5lZCBpbiBgQ2hlY2tHcm91cHMuanNgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICB9LFxuICBlbmFibGVDaGVjazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9TRUNVUklUWV9FTkFCTEVfQ0hFQ0snLFxuICAgIGhlbHA6ICdJcyB0cnVlIGlmIFBhcnNlIFNlcnZlciBzaG91bGQgY2hlY2sgZm9yIHdlYWsgc2VjdXJpdHkgc2V0dGluZ3MuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgZW5hYmxlQ2hlY2tMb2c6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfU0VDVVJJVFlfRU5BQkxFX0NIRUNLX0xPRycsXG4gICAgaGVscDpcbiAgICAgICdJcyB0cnVlIGlmIHRoZSBzZWN1cml0eSBjaGVjayByZXBvcnQgc2hvdWxkIGJlIHdyaXR0ZW4gdG8gbG9ncy4gVGhpcyBzaG91bGQgb25seSBiZSBlbmFibGVkIHRlbXBvcmFyaWx5IHRvIG5vdCBleHBvc2Ugd2VhayBzZWN1cml0eSBzZXR0aW5ncyBpbiBsb2dzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFnZXNPcHRpb25zID0ge1xuICBjdXN0b21Sb3V0ZXM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1JPVVRFUycsXG4gICAgaGVscDogJ1RoZSBjdXN0b20gcm91dGVzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmFycmF5UGFyc2VyLFxuICAgIGRlZmF1bHQ6IFtdLFxuICB9LFxuICBjdXN0b21VcmxzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxTJyxcbiAgICBoZWxwOiAnVGhlIFVSTHMgdG8gdGhlIGN1c3RvbSBwYWdlcy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gICAgZGVmYXVsdDoge30sXG4gIH0sXG4gIGVuYWJsZUxvY2FsaXphdGlvbjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19FTkFCTEVfTE9DQUxJWkFUSU9OJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBwYWdlcyBzaG91bGQgYmUgbG9jYWxpemVkOyB0aGlzIGhhcyBubyBlZmZlY3Qgb24gY3VzdG9tIHBhZ2UgcmVkaXJlY3RzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZVJvdXRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19FTkFCTEVfUk9VVEVSJyxcbiAgICBoZWxwOlxuICAgICAgJ0lzIHRydWUgaWYgdGhlIHBhZ2VzIHJvdXRlciBzaG91bGQgYmUgZW5hYmxlZDsgdGhpcyBpcyByZXF1aXJlZCBmb3IgYW55IG9mIHRoZSBwYWdlcyBvcHRpb25zIHRvIHRha2UgZWZmZWN0LiBDYXV0aW9uLCB0aGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgbWF5IG5vdCBiZSBhcHByb3ByaWF0ZSBmb3IgcHJvZHVjdGlvbi4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBmb3JjZVJlZGlyZWN0OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0ZPUkNFX1JFRElSRUNUJyxcbiAgICBoZWxwOlxuICAgICAgJ0lzIHRydWUgaWYgcmVzcG9uc2VzIHNob3VsZCBhbHdheXMgYmUgcmVkaXJlY3RzIGFuZCBuZXZlciBjb250ZW50LCBmYWxzZSBpZiB0aGUgcmVzcG9uc2UgdHlwZSBzaG91bGQgZGVwZW5kIG9uIHRoZSByZXF1ZXN0IHR5cGUgKEdFVCByZXF1ZXN0IC0+IGNvbnRlbnQgcmVzcG9uc2U7IFBPU1QgcmVxdWVzdCAtPiByZWRpcmVjdCByZXNwb25zZSkuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYm9vbGVhblBhcnNlcixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAgbG9jYWxpemF0aW9uRmFsbGJhY2tMb2NhbGU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfTE9DQUxJWkFUSU9OX0ZBTExCQUNLX0xPQ0FMRScsXG4gICAgaGVscDpcbiAgICAgICdUaGUgZmFsbGJhY2sgbG9jYWxlIGZvciBsb2NhbGl6YXRpb24gaWYgbm8gbWF0Y2hpbmcgdHJhbnNsYXRpb24gaXMgcHJvdmlkZWQgZm9yIHRoZSBnaXZlbiBsb2NhbGUuIFRoaXMgaXMgb25seSByZWxldmFudCB3aGVuIHByb3ZpZGluZyB0cmFuc2xhdGlvbiByZXNvdXJjZXMgdmlhIEpTT04gZmlsZS4nLFxuICAgIGRlZmF1bHQ6ICdlbicsXG4gIH0sXG4gIGxvY2FsaXphdGlvbkpzb25QYXRoOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0xPQ0FMSVpBVElPTl9KU09OX1BBVEgnLFxuICAgIGhlbHA6XG4gICAgICAnVGhlIHBhdGggdG8gdGhlIEpTT04gZmlsZSBmb3IgbG9jYWxpemF0aW9uOyB0aGUgdHJhbnNsYXRpb25zIHdpbGwgYmUgdXNlZCB0byBmaWxsIHRlbXBsYXRlIHBsYWNlaG9sZGVycyBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsZS4nLFxuICB9LFxuICBwYWdlc0VuZHBvaW50OiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1BBR0VTX0VORFBPSU5UJyxcbiAgICBoZWxwOiBcIlRoZSBBUEkgZW5kcG9pbnQgZm9yIHRoZSBwYWdlcy4gRGVmYXVsdCBpcyAnYXBwcycuXCIsXG4gICAgZGVmYXVsdDogJ2FwcHMnLFxuICB9LFxuICBwYWdlc1BhdGg6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUEFHRVNfUEFUSCcsXG4gICAgaGVscDpcbiAgICAgIFwiVGhlIHBhdGggdG8gdGhlIHBhZ2VzIGRpcmVjdG9yeTsgdGhpcyBhbHNvIGRlZmluZXMgd2hlcmUgdGhlIHN0YXRpYyBlbmRwb2ludCAnL2FwcHMnIHBvaW50cyB0by4gRGVmYXVsdCBpcyB0aGUgJy4vcHVibGljLycgZGlyZWN0b3J5LlwiLFxuICAgIGRlZmF1bHQ6ICcuL3B1YmxpYycsXG4gIH0sXG4gIHBsYWNlaG9sZGVyczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19QTEFDRUhPTERFUlMnLFxuICAgIGhlbHA6XG4gICAgICAnVGhlIHBsYWNlaG9sZGVyIGtleXMgYW5kIHZhbHVlcyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBwYWdlczsgdGhpcyBjYW4gYmUgYSBzaW1wbGUgb2JqZWN0IG9yIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMub2JqZWN0UGFyc2VyLFxuICAgIGRlZmF1bHQ6IHt9LFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLlBhZ2VzUm91dGUgPSB7XG4gIGhhbmRsZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfUk9VVEVfSEFORExFUicsXG4gICAgaGVscDogJ1RoZSByb3V0ZSBoYW5kbGVyIHRoYXQgaXMgYW4gYXN5bmMgZnVuY3Rpb24uJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgbWV0aG9kOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX1JPVVRFX01FVEhPRCcsXG4gICAgaGVscDogXCJUaGUgcm91dGUgbWV0aG9kLCBlLmcuICdHRVQnIG9yICdQT1NUJy5cIixcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbiAgcGF0aDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19ST1VURV9QQVRIJyxcbiAgICBoZWxwOiAnVGhlIHJvdXRlIHBhdGguJyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5QYWdlc0N1c3RvbVVybHNPcHRpb25zID0ge1xuICBlbWFpbFZlcmlmaWNhdGlvbkxpbmtFeHBpcmVkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfRU1BSUxfVkVSSUZJQ0FUSU9OX0xJTktfRVhQSVJFRCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBlbWFpbCB2ZXJpZmljYXRpb24gLT4gbGluayBleHBpcmVkLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uTGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fTElOS19JTlZBTElEJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBsaW5rIGludmFsaWQuJyxcbiAgfSxcbiAgZW1haWxWZXJpZmljYXRpb25TZW5kRmFpbDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TRU5EX0ZBSUwnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgZW1haWwgdmVyaWZpY2F0aW9uIC0+IGxpbmsgc2VuZCBmYWlsLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU2VuZFN1Y2Nlc3M6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9FTUFJTF9WRVJJRklDQVRJT05fU0VORF9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiByZXNlbmQgbGluayAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIGVtYWlsVmVyaWZpY2F0aW9uU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQUdFU19DVVNUT01fVVJMX0VNQUlMX1ZFUklGSUNBVElPTl9TVUNDRVNTJyxcbiAgICBoZWxwOiAnVGhlIFVSTCB0byB0aGUgY3VzdG9tIHBhZ2UgZm9yIGVtYWlsIHZlcmlmaWNhdGlvbiAtPiBzdWNjZXNzLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVCcsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldC4nLFxuICB9LFxuICBwYXNzd29yZFJlc2V0TGlua0ludmFsaWQ6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFHRVNfQ1VTVE9NX1VSTF9QQVNTV09SRF9SRVNFVF9MSU5LX0lOVkFMSUQnLFxuICAgIGhlbHA6ICdUaGUgVVJMIHRvIHRoZSBjdXN0b20gcGFnZSBmb3IgcGFzc3dvcmQgcmVzZXQgLT4gbGluayBpbnZhbGlkLicsXG4gIH0sXG4gIHBhc3N3b3JkUmVzZXRTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBR0VTX0NVU1RPTV9VUkxfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ1RoZSBVUkwgdG8gdGhlIGN1c3RvbSBwYWdlIGZvciBwYXNzd29yZCByZXNldCAtPiBzdWNjZXNzLicsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuQ3VzdG9tUGFnZXNPcHRpb25zID0ge1xuICBjaG9vc2VQYXNzd29yZDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfQ0hPT1NFX1BBU1NXT1JEJyxcbiAgICBoZWxwOiAnY2hvb3NlIHBhc3N3b3JkIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGV4cGlyZWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19FWFBJUkVEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnZXhwaXJlZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBpbnZhbGlkTGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRQYXNzd29yZFJlc2V0TGluazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfSU5WQUxJRF9QQVNTV09SRF9SRVNFVF9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCBwYXNzd29yZCByZXNldCBsaW5rIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGludmFsaWRWZXJpZmljYXRpb25MaW5rOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19JTlZBTElEX1ZFUklGSUNBVElPTl9MSU5LJyxcbiAgICBoZWxwOiAnaW52YWxpZCB2ZXJpZmljYXRpb24gbGluayBwYWdlIHBhdGgnLFxuICB9LFxuICBsaW5rU2VuZEZhaWw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQ1VTVE9NX1BBR0VTX0xJTktfU0VORF9GQUlMJyxcbiAgICBoZWxwOiAndmVyaWZpY2F0aW9uIGxpbmsgc2VuZCBmYWlsIHBhZ2UgcGF0aCcsXG4gIH0sXG4gIGxpbmtTZW5kU3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfTElOS19TRU5EX1NVQ0NFU1MnLFxuICAgIGhlbHA6ICd2ZXJpZmljYXRpb24gbGluayBzZW5kIHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgcGFyc2VGcmFtZVVSTDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFSU0VfRlJBTUVfVVJMJyxcbiAgICBoZWxwOiAnZm9yIG1hc2tpbmcgdXNlci1mYWNpbmcgcGFnZXMnLFxuICB9LFxuICBwYXNzd29yZFJlc2V0U3VjY2Vzczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9DVVNUT01fUEFHRVNfUEFTU1dPUkRfUkVTRVRfU1VDQ0VTUycsXG4gICAgaGVscDogJ3Bhc3N3b3JkIHJlc2V0IHN1Y2Nlc3MgcGFnZSBwYXRoJyxcbiAgfSxcbiAgdmVyaWZ5RW1haWxTdWNjZXNzOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0NVU1RPTV9QQUdFU19WRVJJRllfRU1BSUxfU1VDQ0VTUycsXG4gICAgaGVscDogJ3ZlcmlmeSBlbWFpbCBzdWNjZXNzIHBhZ2UgcGF0aCcsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuTGl2ZVF1ZXJ5T3B0aW9ucyA9IHtcbiAgY2xhc3NOYW1lczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfQ0xBU1NOQU1FUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgY2xhc3NOYW1lc1wiLFxuICAgIGFjdGlvbjogcGFyc2Vycy5hcnJheVBhcnNlcixcbiAgfSxcbiAgcHViU3ViQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUFVCX1NVQl9BREFQVEVSJyxcbiAgICBoZWxwOiAnTGl2ZVF1ZXJ5IHB1YnN1YiBhZGFwdGVyJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubW9kdWxlT3JPYmplY3RQYXJzZXIsXG4gIH0sXG4gIHJlZGlzT3B0aW9uczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfTElWRVFVRVJZX1JFRElTX1VSTCcsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNVUkxcIixcbiAgfSxcbiAgd3NzQWRhcHRlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9MSVZFUVVFUllfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkxpdmVRdWVyeVNlcnZlck9wdGlvbnMgPSB7XG4gIGFwcElkOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfQVBQX0lEJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoaXMgc3RyaW5nIHNob3VsZCBtYXRjaCB0aGUgYXBwSWQgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBhcHBJZC4nLFxuICB9LFxuICBjYWNoZVRpbWVvdXQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9DQUNIRV9USU1FT1VUJyxcbiAgICBoZWxwOlxuICAgICAgXCJOdW1iZXIgaW4gbWlsbGlzZWNvbmRzLiBXaGVuIGNsaWVudHMgcHJvdmlkZSB0aGUgc2Vzc2lvblRva2VuIHRvIHRoZSBMaXZlUXVlcnkgc2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byBmZXRjaCBpdHMgUGFyc2VVc2VyJ3Mgb2JqZWN0SWQgZnJvbSBwYXJzZSBzZXJ2ZXIgYW5kIHN0b3JlIGl0IGluIHRoZSBjYWNoZS4gVGhlIHZhbHVlIGRlZmluZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBjYWNoZS4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscywgZGVmYXVsdHMgdG8gNSAqIDEwMDAgbXMgKDUgc2Vjb25kcykuXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignY2FjaGVUaW1lb3V0JyksXG4gIH0sXG4gIGtleVBhaXJzOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfS0VZX1BBSVJTJyxcbiAgICBoZWxwOlxuICAgICAgJ0EgSlNPTiBvYmplY3QgdGhhdCBzZXJ2ZXMgYXMgYSB3aGl0ZWxpc3Qgb2Yga2V5cy4gSXQgaXMgdXNlZCBmb3IgdmFsaWRhdGluZyBjbGllbnRzIHdoZW4gdGhleSB0cnkgdG8gY29ubmVjdCB0byB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gQ2hlY2sgdGhlIGZvbGxvd2luZyBTZWN1cml0eSBzZWN0aW9uIGFuZCBvdXIgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5vYmplY3RQYXJzZXIsXG4gIH0sXG4gIGxvZ0xldmVsOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfTE9HX0xFVkVMJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoaXMgc3RyaW5nIGRlZmluZXMgdGhlIGxvZyBsZXZlbCBvZiB0aGUgTGl2ZVF1ZXJ5IHNlcnZlci4gV2Ugc3VwcG9ydCBWRVJCT1NFLCBJTkZPLCBFUlJPUiwgTk9ORSwgZGVmYXVsdHMgdG8gSU5GTy4nLFxuICB9LFxuICBtYXN0ZXJLZXk6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9NQVNURVJfS0VZJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoaXMgc3RyaW5nIHNob3VsZCBtYXRjaCB0aGUgbWFzdGVyS2V5IGluIHVzZSBieSB5b3VyIFBhcnNlIFNlcnZlci4gSWYgeW91IGRlcGxveSB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciBhbG9uZ3NpZGUgUGFyc2UgU2VydmVyLCB0aGUgTGl2ZVF1ZXJ5IHNlcnZlciB3aWxsIHRyeSB0byB1c2UgdGhlIHNhbWUgbWFzdGVyS2V5LicsXG4gIH0sXG4gIHBvcnQ6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QT1JUJyxcbiAgICBoZWxwOiAnVGhlIHBvcnQgdG8gcnVuIHRoZSBMaXZlUXVlcnkgc2VydmVyLCBkZWZhdWx0cyB0byAxMzM3LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigncG9ydCcpLFxuICAgIGRlZmF1bHQ6IDEzMzcsXG4gIH0sXG4gIHB1YlN1YkFkYXB0ZXI6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9QVUJfU1VCX0FEQVBURVInLFxuICAgIGhlbHA6ICdMaXZlUXVlcnkgcHVic3ViIGFkYXB0ZXInLFxuICAgIGFjdGlvbjogcGFyc2Vycy5tb2R1bGVPck9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNPcHRpb25zOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfUkVESVNfT1BUSU9OUycsXG4gICAgaGVscDogXCJwYXJzZS1zZXJ2ZXIncyBMaXZlUXVlcnkgcmVkaXNPcHRpb25zXCIsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm9iamVjdFBhcnNlcixcbiAgfSxcbiAgcmVkaXNVUkw6IHtcbiAgICBlbnY6ICdQQVJTRV9MSVZFX1FVRVJZX1NFUlZFUl9SRURJU19VUkwnLFxuICAgIGhlbHA6IFwicGFyc2Utc2VydmVyJ3MgTGl2ZVF1ZXJ5IHJlZGlzVVJMXCIsXG4gIH0sXG4gIHNlcnZlclVSTDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1NFUlZFUl9VUkwnLFxuICAgIGhlbHA6XG4gICAgICAnVGhpcyBzdHJpbmcgc2hvdWxkIG1hdGNoIHRoZSBzZXJ2ZXJVUkwgaW4gdXNlIGJ5IHlvdXIgUGFyc2UgU2VydmVyLiBJZiB5b3UgZGVwbG95IHRoZSBMaXZlUXVlcnkgc2VydmVyIGFsb25nc2lkZSBQYXJzZSBTZXJ2ZXIsIHRoZSBMaXZlUXVlcnkgc2VydmVyIHdpbGwgdHJ5IHRvIHVzZSB0aGUgc2FtZSBzZXJ2ZXJVUkwuJyxcbiAgfSxcbiAgd2Vic29ja2V0VGltZW91dDoge1xuICAgIGVudjogJ1BBUlNFX0xJVkVfUVVFUllfU0VSVkVSX1dFQlNPQ0tFVF9USU1FT1VUJyxcbiAgICBoZWxwOlxuICAgICAgJ051bWJlciBvZiBtaWxsaXNlY29uZHMgYmV0d2VlbiBwaW5nL3BvbmcgZnJhbWVzLiBUaGUgV2ViU29ja2V0IHNlcnZlciBzZW5kcyBwaW5nL3BvbmcgZnJhbWVzIHRvIHRoZSBjbGllbnRzIHRvIGtlZXAgdGhlIFdlYlNvY2tldCBhbGl2ZS4gVGhpcyB2YWx1ZSBkZWZpbmVzIHRoZSBpbnRlcnZhbCBvZiB0aGUgcGluZy9wb25nIGZyYW1lIGZyb20gdGhlIHNlcnZlciB0byBjbGllbnRzLCBkZWZhdWx0cyB0byAxMCAqIDEwMDAgbXMgKDEwIHMpLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignd2Vic29ja2V0VGltZW91dCcpLFxuICB9LFxuICB3c3NBZGFwdGVyOiB7XG4gICAgZW52OiAnUEFSU0VfTElWRV9RVUVSWV9TRVJWRVJfV1NTX0FEQVBURVInLFxuICAgIGhlbHA6ICdBZGFwdGVyIG1vZHVsZSBmb3IgdGhlIFdlYlNvY2tldFNlcnZlcicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm1vZHVsZU9yT2JqZWN0UGFyc2VyLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLklkZW1wb3RlbmN5T3B0aW9ucyA9IHtcbiAgcGF0aHM6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfRVhQRVJJTUVOVEFMX0lERU1QT1RFTkNZX1BBVEhTJyxcbiAgICBoZWxwOlxuICAgICAgJ0FuIGFycmF5IG9mIHBhdGhzIGZvciB3aGljaCB0aGUgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxlZC4gVGhlIG1vdW50IHBhdGggbXVzdCBub3QgYmUgaW5jbHVkZWQsIGZvciBleGFtcGxlIGluc3RlYWQgb2YgYC9wYXJzZS9mdW5jdGlvbnMvbXlGdW5jdGlvbmAgc3BlY2lmaXkgYGZ1bmN0aW9ucy9teUZ1bmN0aW9uYC4gVGhlIGVudHJpZXMgYXJlIGludGVycHJldGVkIGFzIHJlZ3VsYXIgZXhwcmVzc2lvbiwgZm9yIGV4YW1wbGUgYGZ1bmN0aW9ucy8uKmAgbWF0Y2hlcyBhbGwgZnVuY3Rpb25zLCBgam9icy8uKmAgbWF0Y2hlcyBhbGwgam9icywgYGNsYXNzZXMvLipgIG1hdGNoZXMgYWxsIGNsYXNzZXMsIGAuKmAgbWF0Y2hlcyBhbGwgcGF0aHMuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMuYXJyYXlQYXJzZXIsXG4gICAgZGVmYXVsdDogW10sXG4gIH0sXG4gIHR0bDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9FWFBFUklNRU5UQUxfSURFTVBPVEVOQ1lfVFRMJyxcbiAgICBoZWxwOlxuICAgICAgJ1RoZSBkdXJhdGlvbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIGEgcmVxdWVzdCByZWNvcmQgaXMgZGlzY2FyZGVkIGZyb20gdGhlIGRhdGFiYXNlLCBkZWZhdWx0cyB0byAzMDBzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndHRsJyksXG4gICAgZGVmYXVsdDogMzAwLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkFjY291bnRMb2Nrb3V0T3B0aW9ucyA9IHtcbiAgZHVyYXRpb246IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfQUNDT1VOVF9MT0NLT1VUX0RVUkFUSU9OJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0aGUgZHVyYXRpb24gaW4gbWludXRlcyB0aGF0IGEgbG9ja2VkLW91dCBhY2NvdW50IHJlbWFpbnMgbG9ja2VkIG91dCBiZWZvcmUgYXV0b21hdGljYWxseSBiZWNvbWluZyB1bmxvY2tlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgZ3JlYXRlciB0aGFuIGAwYCBhbmQgbGVzcyB0aGFuIGAxMDAwMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcignZHVyYXRpb24nKSxcbiAgfSxcbiAgdGhyZXNob2xkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0FDQ09VTlRfTE9DS09VVF9USFJFU0hPTEQnLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRoZSBudW1iZXIgb2YgZmFpbGVkIHNpZ24taW4gYXR0ZW1wdHMgdGhhdCB3aWxsIGNhdXNlIGEgdXNlciBhY2NvdW50IHRvIGJlIGxvY2tlZC4gSWYgdGhlIGFjY291bnQgaXMgbG9ja2VkLiBUaGUgYWNjb3VudCB3aWxsIHVubG9jayBhZnRlciB0aGUgZHVyYXRpb24gc2V0IGluIHRoZSBgZHVyYXRpb25gIG9wdGlvbiBoYXMgcGFzc2VkIGFuZCBubyBmdXJ0aGVyIGxvZ2luIGF0dGVtcHRzIGhhdmUgYmVlbiBtYWRlLjxicj48YnI+VmFsaWQgdmFsdWVzIGFyZSBncmVhdGVyIHRoYW4gYDBgIGFuZCBsZXNzIHRoYW4gYDEwMDBgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLm51bWJlclBhcnNlcigndGhyZXNob2xkJyksXG4gIH0sXG4gIHVubG9ja09uUGFzc3dvcmRSZXNldDoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9BQ0NPVU5UX0xPQ0tPVVRfVU5MT0NLX09OX1BBU1NXT1JEX1JFU0VUJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0byBgdHJ1ZWAgIGlmIHRoZSBhY2NvdW50IHNob3VsZCBiZSB1bmxvY2tlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgcGFzc3dvcmQgcmVzZXQuPGJyPjxicj5EZWZhdWx0IGlzIGBmYWxzZWAuPGJyPlJlcXVpcmVzIG9wdGlvbnMgYGR1cmF0aW9uYCBhbmQgYHRocmVzaG9sZGAgdG8gYmUgc2V0LicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuUGFzc3dvcmRQb2xpY3lPcHRpb25zID0ge1xuICBkb05vdEFsbG93VXNlcm5hbWU6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX0RPX05PVF9BTExPV19VU0VSTkFNRScsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdG8gYHRydWVgIHRvIGRpc2FsbG93IHRoZSB1c2VybmFtZSBhcyBwYXJ0IG9mIHRoZSBwYXNzd29yZC48YnI+PGJyPkRlZmF1bHQgaXMgYGZhbHNlYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxuICBtYXhQYXNzd29yZEFnZToge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfTUFYX1BBU1NXT1JEX0FHRScsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIG51bWJlciBvZiBkYXlzIGFmdGVyIHdoaWNoIGEgcGFzc3dvcmQgZXhwaXJlcy4gTG9naW4gYXR0ZW1wdHMgZmFpbCBpZiB0aGUgdXNlciBkb2VzIG5vdCByZXNldCB0aGUgcGFzc3dvcmQgYmVmb3JlIGV4cGlyYXRpb24uJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdtYXhQYXNzd29yZEFnZScpLFxuICB9LFxuICBtYXhQYXNzd29yZEhpc3Rvcnk6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX01BWF9QQVNTV09SRF9ISVNUT1JZJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHBhc3N3b3JkIHRoYXQgd2lsbCBub3QgYmUgYWxsb3dlZCB0byBiZSBzZXQgYXMgbmV3IHBhc3N3b3JkLiBJZiB0aGUgb3B0aW9uIGlzIG5vdCBzZXQgb3Igc2V0IHRvIGAwYCwgbm8gcHJldmlvdXMgcGFzc3dvcmRzIHdpbGwgYmUgY29uc2lkZXJlZC48YnI+PGJyPlZhbGlkIHZhbHVlcyBhcmUgPj0gYDBgIGFuZCA8PSBgMjBgLjxicj5EZWZhdWx0IGlzIGAwYC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5udW1iZXJQYXJzZXIoJ21heFBhc3N3b3JkSGlzdG9yeScpLFxuICB9LFxuICByZXNldFRva2VuUmV1c2VJZlZhbGlkOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9SRVVTRV9JRl9WQUxJRCcsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdG8gYHRydWVgIGlmIGEgcGFzc3dvcmQgcmVzZXQgdG9rZW4gc2hvdWxkIGJlIHJldXNlZCBpbiBjYXNlIGFub3RoZXIgdG9rZW4gaXMgcmVxdWVzdGVkIGJ1dCB0aGVyZSBpcyBhIHRva2VuIHRoYXQgaXMgc3RpbGwgdmFsaWQsIGkuZS4gaGFzIG5vdCBleHBpcmVkLiBUaGlzIGF2b2lkcyB0aGUgb2Z0ZW4gb2JzZXJ2ZWQgaXNzdWUgdGhhdCBhIHVzZXIgcmVxdWVzdHMgbXVsdGlwbGUgZW1haWxzIGFuZCBkb2VzIG5vdCBrbm93IHdoaWNoIGxpbmsgY29udGFpbnMgYSB2YWxpZCB0b2tlbiBiZWNhdXNlIGVhY2ggbmV3bHkgZ2VuZXJhdGVkIHRva2VuIHdvdWxkIGludmFsaWRhdGUgdGhlIHByZXZpb3VzIHRva2VuLjxicj48YnI+RGVmYXVsdCBpcyBgZmFsc2VgLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHJlc2V0VG9rZW5WYWxpZGl0eUR1cmF0aW9uOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX1BBU1NXT1JEX1BPTElDWV9SRVNFVF9UT0tFTl9WQUxJRElUWV9EVVJBVElPTicsXG4gICAgaGVscDpcbiAgICAgICdTZXQgdGhlIHZhbGlkaXR5IGR1cmF0aW9uIG9mIHRoZSBwYXNzd29yZCByZXNldCB0b2tlbiBpbiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSB0b2tlbiBleHBpcmVzLiBUaGUgdG9rZW4gaXMgdXNlZCBpbiB0aGUgbGluayB0aGF0IGlzIHNldCBpbiB0aGUgZW1haWwuIEFmdGVyIHRoZSB0b2tlbiBleHBpcmVzLCB0aGUgbGluayBiZWNvbWVzIGludmFsaWQgYW5kIGEgbmV3IGxpbmsgaGFzIHRvIGJlIHNlbnQuIElmIHRoZSBvcHRpb24gaXMgbm90IHNldCBvciBzZXQgdG8gYHVuZGVmaW5lZGAsIHRoZW4gdGhlIHRva2VuIG5ldmVyIGV4cGlyZXMuPGJyPjxicj5Gb3IgZXhhbXBsZSwgdG8gZXhwaXJlIHRoZSB0b2tlbiBhZnRlciAyIGhvdXJzLCBzZXQgYSB2YWx1ZSBvZiA3MjAwIHNlY29uZHMgKD0gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXMgKiAyIGhvdXJzKS48YnI+PGJyPkRlZmF1bHQgaXMgYHVuZGVmaW5lZGAuJyxcbiAgICBhY3Rpb246IHBhcnNlcnMubnVtYmVyUGFyc2VyKCdyZXNldFRva2VuVmFsaWRpdHlEdXJhdGlvbicpLFxuICB9LFxuICB2YWxpZGF0aW9uRXJyb3I6IHtcbiAgICBlbnY6ICdQQVJTRV9TRVJWRVJfUEFTU1dPUkRfUE9MSUNZX1ZBTElEQVRJT05fRVJST1InLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRoZSBlcnJvciBtZXNzYWdlIHRvIGJlIHNlbnQuPGJyPjxicj5EZWZhdWx0IGlzIGBQYXNzd29yZCBkb2VzIG5vdCBtZWV0IHRoZSBQYXNzd29yZCBQb2xpY3kgcmVxdWlyZW1lbnRzLmAnLFxuICB9LFxuICB2YWxpZGF0b3JDYWxsYmFjazoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX0NBTExCQUNLJyxcbiAgICBoZWxwOlxuICAgICAgJ1NldCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgcGFzc3dvcmQgdG8gYmUgYWNjZXB0ZWQuPGJyPjxicj5JZiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYHZhbGlkYXRvclBhdHRlcm5gLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbiAgdmFsaWRhdG9yUGF0dGVybjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9QQVNTV09SRF9QT0xJQ1lfVkFMSURBVE9SX1BBVFRFUk4nLFxuICAgIGhlbHA6XG4gICAgICAnU2V0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gdmFsaWRhdGlvbiBwYXR0ZXJuIGEgcGFzc3dvcmQgbXVzdCBtYXRjaCB0byBiZSBhY2NlcHRlZC48YnI+PGJyPklmIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBgdmFsaWRhdG9yQ2FsbGJhY2tgLCB0aGUgcGFzc3dvcmQgbXVzdCBwYXNzIGJvdGggdG8gYmUgYWNjZXB0ZWQuJyxcbiAgfSxcbn07XG5tb2R1bGUuZXhwb3J0cy5GaWxlVXBsb2FkT3B0aW9ucyA9IHtcbiAgZW5hYmxlRm9yQW5vbnltb3VzVXNlcjoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX0FOT05ZTU9VU19VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYW5vbnltb3VzIHVzZXJzLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIGVuYWJsZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiB7XG4gICAgZW52OiAnUEFSU0VfU0VSVkVSX0ZJTEVfVVBMT0FEX0VOQUJMRV9GT1JfQVVUSEVOVElDQVRFRF9VU0VSJyxcbiAgICBoZWxwOiAnSXMgdHJ1ZSBpZiBmaWxlIHVwbG9hZCBzaG91bGQgYmUgYWxsb3dlZCBmb3IgYXV0aGVudGljYXRlZCB1c2Vycy4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gIH0sXG4gIGVuYWJsZUZvclB1YmxpYzoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9GSUxFX1VQTE9BRF9FTkFCTEVfRk9SX1BVQkxJQycsXG4gICAgaGVscDogJ0lzIHRydWUgaWYgZmlsZSB1cGxvYWQgc2hvdWxkIGJlIGFsbG93ZWQgZm9yIGFueW9uZSwgcmVnYXJkbGVzcyBvZiB1c2VyIGF1dGhlbnRpY2F0aW9uLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG59O1xubW9kdWxlLmV4cG9ydHMuRGF0YWJhc2VPcHRpb25zID0ge1xuICBlbmFibGVTY2hlbWFIb29rczoge1xuICAgIGVudjogJ1BBUlNFX1NFUlZFUl9EQVRBQkFTRV9FTkFCTEVfU0NIRU1BX0hPT0tTJyxcbiAgICBoZWxwOlxuICAgICAgJ0VuYWJsZXMgZGF0YWJhc2UgcmVhbC10aW1lIGhvb2tzIHRvIHVwZGF0ZSBzaW5nbGUgc2NoZW1hIGNhY2hlLiBTZXQgdG8gYHRydWVgIGlmIHVzaW5nIG11bHRpcGxlIFBhcnNlIFNlcnZlcnMgaW5zdGFuY2VzIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBkYXRhYmFzZS4gRmFpbGluZyB0byBkbyBzbyB3aWxsIGNhdXNlIGEgc2NoZW1hIGNoYW5nZSB0byBub3QgcHJvcGFnYXRlIHRvIGFsbCBpbnN0YW5jZXMgYW5kIHJlLXN5bmNpbmcgd2lsbCBvbmx5IGhhcHBlbiB3aGVuIHRoZSBpbnN0YW5jZXMgcmVzdGFydC4gVG8gdXNlIHRoaXMgZmVhdHVyZSB3aXRoIE1vbmdvREIsIGEgcmVwbGljYSBzZXQgY2x1c3RlciB3aXRoIFtjaGFuZ2Ugc3RyZWFtXShodHRwczovL2RvY3MubW9uZ29kYi5jb20vbWFudWFsL2NoYW5nZVN0cmVhbXMvI2F2YWlsYWJpbGl0eSkgc3VwcG9ydCBpcyByZXF1aXJlZC4nLFxuICAgIGFjdGlvbjogcGFyc2Vycy5ib29sZWFuUGFyc2VyLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICB9LFxufTtcbm1vZHVsZS5leHBvcnRzLkF1dGhBZGFwdGVyID0ge1xuICBlbmFibGVkOiB7XG4gICAgaGVscDogJ0lzIGB0cnVlYCBpZiB0aGUgYXV0aCBhZGFwdGVyIGlzIGVuYWJsZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLicsXG4gICAgYWN0aW9uOiBwYXJzZXJzLmJvb2xlYW5QYXJzZXIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG4iXX0=