for-modules 1.1.3 → 1.1.5

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
@@ -1 +1,7 @@
1
- For-modules v1.1.3
1
+ # For-modules 1.1.5
2
+
3
+ + ✅ TikTok Support | But you must be a lavalink that supports TikTok. Also.
4
+
5
+ ## For-modules 1.1.6
6
+
7
+ -
@@ -8,6 +8,7 @@ var _events = require("events");
8
8
  var _Utils = require("./Utils");
9
9
  var _collection = require("@discordjs/collection");
10
10
  var _ManagerCheck = _interopRequireDefault(require("../Utils/ManagerCheck"));
11
+ var _TikTok = require("./TikTok");
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
13
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
14
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
@@ -225,7 +226,7 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
225
226
  value: (function () {
226
227
  var _search = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(query, requester) {
227
228
  var _Manager$DEFAULT_SOUR, _query$source;
228
- var node, data, _query, _source, search, res, searchData, playlistData, tracks, playlist, result, tracksToReplace, _iterator5, _step5, track, _track$title$split$ma, _track$title$split$ma2, author, title, isYouTubeURL;
229
+ var node, data, _query, _source, search, tiktokResult, res, searchData, playlistData, tracks, playlist, result, tracksToReplace, _iterator5, _step5, track, _track$title$split$ma, _track$title$split$ma2, author, title, isYouTubeURL;
229
230
  return _regeneratorRuntime().wrap(function _callee$(_context) {
230
231
  while (1) switch (_context.prev = _context.next) {
231
232
  case 0:
@@ -258,31 +259,50 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
258
259
  if (!/^https?:\/\//.test(search)) {
259
260
  search = "".concat(_source, ":").concat(search);
260
261
  }
261
- _context.prev = 12;
262
- _context.next = 15;
262
+ if (!(typeof query !== "string")) {
263
+ _context.next = 14;
264
+ break;
265
+ }
266
+ throw new TypeError("Query must be a string.");
267
+ case 14:
268
+ if (!_TikTok.TikTok.isTikTokURL(query)) {
269
+ _context.next = 19;
270
+ break;
271
+ }
272
+ _context.next = 17;
273
+ return _TikTok.TikTok.searchTikTok(query, requester);
274
+ case 17:
275
+ tiktokResult = _context.sent;
276
+ return _context.abrupt("return", {
277
+ loadType: tiktokResult.loadType,
278
+ tracks: tiktokResult.tracks
279
+ });
280
+ case 19:
281
+ _context.prev = 19;
282
+ _context.next = 22;
263
283
  return node.rest.get("/v4/loadtracks?identifier=".concat(encodeURIComponent(search)));
264
- case 15:
284
+ case 22:
265
285
  res = _context.sent;
266
286
  if (res) {
267
- _context.next = 18;
287
+ _context.next = 25;
268
288
  break;
269
289
  }
270
290
  throw new Error("Query not found.");
271
- case 18:
291
+ case 25:
272
292
  searchData = [];
273
293
  _context.t0 = res.loadType;
274
- _context.next = _context.t0 === "search" ? 22 : _context.t0 === "track" ? 24 : _context.t0 === "playlist" ? 26 : 28;
294
+ _context.next = _context.t0 === "search" ? 29 : _context.t0 === "track" ? 31 : _context.t0 === "playlist" ? 33 : 35;
275
295
  break;
276
- case 22:
296
+ case 29:
277
297
  searchData = res.data;
278
- return _context.abrupt("break", 28);
279
- case 24:
298
+ return _context.abrupt("break", 35);
299
+ case 31:
280
300
  searchData = [res.data];
281
- return _context.abrupt("break", 28);
282
- case 26:
301
+ return _context.abrupt("break", 35);
302
+ case 33:
283
303
  playlistData = res.data;
284
- return _context.abrupt("break", 28);
285
- case 28:
304
+ return _context.abrupt("break", 35);
305
+ case 35:
286
306
  tracks = searchData.map(function (track) {
287
307
  return _Utils.TrackUtils.build(track, requester);
288
308
  });
@@ -334,15 +354,15 @@ var Manager = exports.Manager = /*#__PURE__*/function (_EventEmitter) {
334
354
  }
335
355
  if (this.options.caches.enabled && this.options.caches.time > 0) this.caches.set(search, result);
336
356
  return _context.abrupt("return", result);
337
- case 37:
338
- _context.prev = 37;
339
- _context.t1 = _context["catch"](12);
357
+ case 44:
358
+ _context.prev = 44;
359
+ _context.t1 = _context["catch"](19);
340
360
  throw new Error(_context.t1);
341
- case 40:
361
+ case 47:
342
362
  case "end":
343
363
  return _context.stop();
344
364
  }
345
- }, _callee, this, [[12, 37]]);
365
+ }, _callee, this, [[19, 44]]);
346
366
  }));
347
367
  function search(_x, _x2) {
348
368
  return _search.apply(this, arguments);
@@ -577,4 +597,4 @@ _defineProperty(Manager, "DEFAULT_SOURCES", {
577
597
  bandcamp: "bcsearch",
578
598
  tiktok: "tiktok"
579
599
  });
580
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJ0IiwiciIsIk9iamVjdCIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiYSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiYmluZCIsIl9pbmhlcml0cyIsIl9zZXRQcm90b3R5cGVPZiIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiTWFuYWdlciIsImV4cG9ydHMiLCJfRXZlbnRFbWl0dGVyIiwib3B0aW9ucyIsIl90aGlzIiwiQ29sbGVjdGlvbiIsIm1hbmFnZXJDaGVjayIsIlN0cnVjdHVyZSIsImdldCIsImluaXQiLCJUcmFja1V0aWxzIiwidHJhY2tQYXJ0aWFsIiwic2V0VHJhY2tQYXJ0aWFsIiwicGx1Z2lucyIsIm5vZGVzIiwiaWRlbnRpZmllciIsImhvc3QiLCJyZXN1bWVTdGF0dXMiLCJyZXN1bWVUaW1lb3V0Iiwic2hhcmRzIiwiYXV0b1BsYXkiLCJ1c2VQcmlvcml0eSIsImNsaWVudE5hbWUiLCJkZWZhdWx0U2VhcmNoUGxhdGZvcm0iLCJ1c2VOb2RlIiwiX2l0ZXJhdG9yIiwiZW50cmllcyIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJpbmRleCIsInBsdWdpbiIsIlBsdWdpbiIsIlJhbmdlRXJyb3IiLCJjb25jYXQiLCJsb2FkIiwiZXJyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsIm5vZGVPcHRpb25zIiwibm9kZSIsInNldCIsInNldEludGVydmFsIiwiY2FjaGVzIiwiY2xlYXIiLCJ0aW1lIiwiY29ubmVjdGVkIiwic29ydCIsImIiLCJhbG9hZCIsInN0YXRzIiwiY3B1IiwibGF2YWxpbmtMb2FkIiwiY29yZXMiLCJibG9hZCIsInBsYXllcnMiLCJmaWx0ZXJlZE5vZGVzIiwicHJpb3JpdHkiLCJ0b3RhbFdlaWdodCIsInJlZHVjZSIsInRvdGFsIiwid2VpZ2h0ZWROb2RlcyIsIm1hcCIsIndlaWdodCIsInJhbmRvbU51bWJlciIsIk1hdGgiLCJyYW5kb20iLCJjdW11bGF0aXZlV2VpZ2h0IiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIl9zdGVwMyR2YWx1ZSIsImxlYXN0TG9hZE5vZGUiLCJmaXJzdCIsImxlYXN0UGxheWVyc05vZGUiLCJwcmlvcml0eU5vZGUiLCJjbGllbnRJZCIsImluaXRpYXRlZCIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJjb25uZWN0IiwiZW1pdCIsIl9zZWFyY2giLCJfY2FsbGVlIiwicXVlcnkiLCJyZXF1ZXN0ZXIiLCJfTWFuYWdlciRERUZBVUxUX1NPVVIiLCJfcXVlcnkkc291cmNlIiwiZGF0YSIsIl9xdWVyeSIsIl9zb3VyY2UiLCJzZWFyY2giLCJyZXMiLCJzZWFyY2hEYXRhIiwicGxheWxpc3REYXRhIiwidHJhY2tzIiwicGxheWxpc3QiLCJyZXN1bHQiLCJ0cmFja3NUb1JlcGxhY2UiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwidHJhY2siLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEiLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEyIiwiYXV0aG9yIiwidGl0bGUiLCJpc1lvdVR1YmVVUkwiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiX2lzWW91VHViZVVSTCIsInVyaSIsImluY2x1ZGVzIiwidXNlYWJsZU5vZGVzIiwiZW5hYmxlZCIsIkRFRkFVTFRfU09VUkNFUyIsInNvdXJjZSIsInJlc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ0MCIsImxvYWRUeXBlIiwiYnVpbGQiLCJpbmZvIiwiZHVyYXRpb24iLCJhY2MiLCJjdXIiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsInQxIiwiX3giLCJfeDIiLCJkZWNvZGVUcmFja3MiLCJfdGhpczIiLCJfcmVmIiwiX2NhbGxlZTIiLCJyZWplY3QiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJwb3N0IiwiSlNPTiIsInN0cmluZ2lmeSIsIl94MyIsIl94NCIsIl9kZWNvZGVUcmFjayIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZGVjb2RlVHJhY2siLCJfeDUiLCJoYXMiLCJndWlsZCIsImRlc3Ryb3kiLCJjcmVhdGVOb2RlIiwiZGVzdHJveU5vZGUiLCJfdXBkYXRlVm9pY2VTdGF0ZSIsIl9jYWxsZWU0IiwidXBkYXRlIiwicGxheWVyIiwiX3BsYXllciR2b2ljZVN0YXRlIiwic2Vzc2lvbklkIiwiX3BsYXllciR2b2ljZVN0YXRlJGV2IiwidG9rZW4iLCJlbmRwb2ludCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImd1aWxkX2lkIiwidm9pY2VTdGF0ZSIsImV2ZW50IiwidXBkYXRlUGxheWVyIiwiZ3VpbGRJZCIsInZvaWNlIiwidXNlcl9pZCIsImNoYW5uZWxfaWQiLCJ2b2ljZUNoYW5uZWwiLCJzZXNzaW9uX2lkIiwiYXNzaWduIiwidXBkYXRlVm9pY2VTdGF0ZSIsIl94NiIsIkV2ZW50RW1pdHRlciIsInlvdXR1YmUiLCJzcG90aWZ5Iiwiamlvc2Fhdm4iLCJzb3VuZGNsb3VkIiwiZGVlemVyIiwidGlkYWwiLCJhcHBsZW11c2ljIiwiYmFuZGNhbXAiLCJ0aWt0b2siXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3IgKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7XG5cdExvYWRUeXBlLFxuXHRQbHVnaW4sXG5cdFN0cnVjdHVyZSxcblx0VHJhY2tEYXRhLFxuXHRUcmFja0VuZEV2ZW50LFxuXHRUcmFja0V4Y2VwdGlvbkV2ZW50LFxuXHRUcmFja1N0YXJ0RXZlbnQsXG5cdFRyYWNrU3R1Y2tFdmVudCxcblx0VHJhY2tVdGlscyxcblx0Vm9pY2VQYWNrZXQsXG5cdFZvaWNlU2VydmVyLFxuXHRXZWJTb2NrZXRDbG9zZWRFdmVudCxcbn0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tIFwiQGRpc2NvcmRqcy9jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBOb2RlLCBOb2RlT3B0aW9ucyB9IGZyb20gXCIuL05vZGVcIjtcbmltcG9ydCB7IFBsYXllciwgUGxheWVyT3B0aW9ucywgVHJhY2ssIFVucmVzb2x2ZWRUcmFjayB9IGZyb20gXCIuL1BsYXllclwiO1xuaW1wb3J0IHsgVm9pY2VTdGF0ZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IG1hbmFnZXJDaGVjayBmcm9tIFwiLi4vVXRpbHMvTWFuYWdlckNoZWNrXCI7XG5pbXBvcnQgeyBDbGllbnRVc2VyLCBVc2VyIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcblxuXG4vKipcbiAqIFRoZSBtYWluIGh1YiBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBMYXZhbGluayBhbmQgdXNpbmcgTWFnbWFzdHJlYW0sXG4gKi9cbmV4cG9ydCBjbGFzcyBNYW5hZ2VyIGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcblx0cHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1NPVVJDRVM6IFJlY29yZDxTZWFyY2hQbGF0Zm9ybSwgc3RyaW5nPiA9IHtcblx0XHRcInlvdXR1YmUgbXVzaWNcIjogXCJ5dG1zZWFyY2hcIixcblx0XHR5b3V0dWJlOiBcInl0c2VhcmNoXCIsXG5cdFx0c3BvdGlmeTogXCJzcHNlYXJjaFwiLFxuXHRcdGppb3NhYXZuOiBcImpzc2VhcmNoXCIsXG5cdFx0c291bmRjbG91ZDogXCJzY3NlYXJjaFwiLFxuXHRcdGRlZXplcjogXCJkenNlYXJjaFwiLFxuXHRcdHRpZGFsOiBcInRkc2VhcmNoXCIsXG5cdFx0YXBwbGVtdXNpYzogXCJhbXNlYXJjaFwiLFxuXHRcdGJhbmRjYW1wOiBcImJjc2VhcmNoXCIsXG5cdFx0dGlrdG9rOiBcInRpa3Rva1wiLFxuXHR9O1xuXG5cdC8qKiBUaGUgbWFwIG9mIHBsYXllcnMuICovXG5cdHB1YmxpYyByZWFkb25seSBwbGF5ZXJzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBQbGF5ZXI+KCk7XG5cdC8qKiBUaGUgbWFwIG9mIG5vZGVzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgbm9kZXMgPSBuZXcgQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+KCk7XG5cdC8qKiBUaGUgb3B0aW9ucyB0aGF0IHdlcmUgc2V0LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogTWFuYWdlck9wdGlvbnM7XG5cdHByaXZhdGUgaW5pdGlhdGVkID0gZmFsc2U7XG5cdHB1YmxpYyBjYWNoZXMgPSBuZXcgQ29sbGVjdGlvbjxzdHJpbmcsIFNlYXJjaFJlc3VsdD4oKTtcblxuXHQvKiogUmV0dXJucyB0aGUgbm9kZXMgdGhhdCBoYXMgdGhlIGxlYXN0IGxvYWQuICovXG5cdHB1YmxpYyBnZXQgbGVhc3RMb2FkTm9kZSgpOiBDb2xsZWN0aW9uPHN0cmluZywgTm9kZT4ge1xuXHRcdHJldHVybiB0aGlzLm5vZGVzXG5cdFx0XHQuZmlsdGVyKChub2RlKSA9PiBub2RlLmNvbm5lY3RlZClcblx0XHRcdC5zb3J0KChhLCBiKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGFsb2FkID0gYS5zdGF0cy5jcHUgPyAoYS5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYS5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0Y29uc3QgYmxvYWQgPSBiLnN0YXRzLmNwdSA/IChiLnN0YXRzLmNwdS5sYXZhbGlua0xvYWQgLyBiLnN0YXRzLmNwdS5jb3JlcykgKiAxMDAgOiAwO1xuXHRcdFx0XHRyZXR1cm4gYWxvYWQgLSBibG9hZDtcblx0XHRcdH0pO1xuXHR9XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGVzIHRoYXQgaGFzIHRoZSBsZWFzdCBhbW91bnQgb2YgcGxheWVycy4gKi9cblx0cHJpdmF0ZSBnZXQgbGVhc3RQbGF5ZXJzTm9kZSgpOiBDb2xsZWN0aW9uPHN0cmluZywgTm9kZT4ge1xuXHRcdHJldHVybiB0aGlzLm5vZGVzLmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQpLnNvcnQoKGEsIGIpID0+IGEuc3RhdHMucGxheWVycyAtIGIuc3RhdHMucGxheWVycyk7XG5cdH1cblxuXHQvKiogUmV0dXJucyBhIG5vZGUgYmFzZWQgb24gcHJpb3JpdHkuICovXG5cdHByaXZhdGUgZ2V0IHByaW9yaXR5Tm9kZSgpOiBOb2RlIHtcblx0XHRjb25zdCBmaWx0ZXJlZE5vZGVzID0gdGhpcy5ub2Rlcy5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkICYmIG5vZGUub3B0aW9ucy5wcmlvcml0eSA+IDApO1xuXHRcdGNvbnN0IHRvdGFsV2VpZ2h0ID0gZmlsdGVyZWROb2Rlcy5yZWR1Y2UoKHRvdGFsLCBub2RlKSA9PiB0b3RhbCArIG5vZGUub3B0aW9ucy5wcmlvcml0eSwgMCk7XG5cdFx0Y29uc3Qgd2VpZ2h0ZWROb2RlcyA9IGZpbHRlcmVkTm9kZXMubWFwKChub2RlKSA9PiAoe1xuXHRcdFx0bm9kZSxcblx0XHRcdHdlaWdodDogbm9kZS5vcHRpb25zLnByaW9yaXR5IC8gdG90YWxXZWlnaHQsXG5cdFx0fSkpO1xuXHRcdGNvbnN0IHJhbmRvbU51bWJlciA9IE1hdGgucmFuZG9tKCk7XG5cblx0XHRsZXQgY3VtdWxhdGl2ZVdlaWdodCA9IDA7XG5cblx0XHRmb3IgKGNvbnN0IHsgbm9kZSwgd2VpZ2h0IH0gb2Ygd2VpZ2h0ZWROb2Rlcykge1xuXHRcdFx0Y3VtdWxhdGl2ZVdlaWdodCArPSB3ZWlnaHQ7XG5cdFx0XHRpZiAocmFuZG9tTnVtYmVyIDw9IGN1bXVsYXRpdmVXZWlnaHQpIHtcblx0XHRcdFx0cmV0dXJuIG5vZGU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlIHRvIHVzZS4gKi9cblx0cHVibGljIGdldCB1c2VhYmxlTm9kZXMoKTogTm9kZSB7XG5cdFx0cmV0dXJuIHRoaXMub3B0aW9ucy51c2VQcmlvcml0eSA/IHRoaXMucHJpb3JpdHlOb2RlIDogdGhpcy5vcHRpb25zLnVzZU5vZGUgPT09IFwibGVhc3RMb2FkXCIgPyB0aGlzLmxlYXN0TG9hZE5vZGUuZmlyc3QoKSA6IHRoaXMubGVhc3RQbGF5ZXJzTm9kZS5maXJzdCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEluaXRpYXRlcyB0aGUgTWFuYWdlciBjbGFzcy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1hbmFnZXJPcHRpb25zKSB7XG5cdFx0c3VwZXIoKTtcblxuXHRcdG1hbmFnZXJDaGVjayhvcHRpb25zKTtcblx0XHRTdHJ1Y3R1cmUuZ2V0KFwiUGxheWVyXCIpLmluaXQodGhpcyk7XG5cdFx0U3RydWN0dXJlLmdldChcIk5vZGVcIikuaW5pdCh0aGlzKTtcblx0XHRUcmFja1V0aWxzLmluaXQodGhpcyk7XG5cdFx0XG5cdFx0aWYgKG9wdGlvbnMudHJhY2tQYXJ0aWFsKSB7XG5cdFx0XHRUcmFja1V0aWxzLnNldFRyYWNrUGFydGlhbChvcHRpb25zLnRyYWNrUGFydGlhbCk7XG5cdFx0XHRkZWxldGUgb3B0aW9ucy50cmFja1BhcnRpYWw7XG5cdFx0fVxuXG5cdFx0dGhpcy5vcHRpb25zID0ge1xuXHRcdFx0cGx1Z2luczogW10sXG5cdFx0XHRub2RlczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWRlbnRpZmllcjogXCJkZWZhdWx0XCIsXG5cdFx0XHRcdFx0aG9zdDogXCJsb2NhbGhvc3RcIixcblx0XHRcdFx0XHRyZXN1bWVTdGF0dXM6IGZhbHNlLFxuXHRcdFx0XHRcdHJlc3VtZVRpbWVvdXQ6IDEwMDAsXG5cdFx0XHRcdH0sXG5cdFx0XHRdLFxuXHRcdFx0c2hhcmRzOiAxLFxuXHRcdFx0YXV0b1BsYXk6IHRydWUsXG5cdFx0XHR1c2VQcmlvcml0eTogZmFsc2UsXG5cdFx0XHRjbGllbnROYW1lOiBcIkZvciB2My4wXCIsXG5cdFx0XHRkZWZhdWx0U2VhcmNoUGxhdGZvcm06IFwieW91dHViZVwiLFxuXHRcdFx0dXNlTm9kZTogXCJsZWFzdFBsYXllcnNcIixcblx0XHRcdC4uLm9wdGlvbnMsXG5cdFx0fTtcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMucGx1Z2lucykge1xuXHRcdFx0Zm9yIChjb25zdCBbaW5kZXgsIHBsdWdpbl0gb2YgdGhpcy5vcHRpb25zLnBsdWdpbnMuZW50cmllcygpKSB7XG5cdFx0XHRcdGlmICghKHBsdWdpbiBpbnN0YW5jZW9mIFBsdWdpbikpIHRocm93IG5ldyBSYW5nZUVycm9yKGBQbHVnaW4gYXQgaW5kZXggJHtpbmRleH0gZG9lcyBub3QgZXh0ZW5kIFBsdWdpbi5gKTtcblx0XHRcdFx0cGx1Z2luLmxvYWQodGhpcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0Zm9yIChjb25zdCBub2RlT3B0aW9ucyBvZiB0aGlzLm9wdGlvbnMubm9kZXMpIHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG5vZGVPcHRpb25zKTtcblx0XHRcdFx0dGhpcy5ub2Rlcy5zZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIsIG5vZGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHR0aGlzLmNhY2hlcy5jbGVhcigpO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSk7XG5cdH1cblxuXHQvKipcblx0ICogSW5pdGlhdGVzIHRoZSBNYW5hZ2VyLlxuXHQgKiBAcGFyYW0gY2xpZW50SWRcblx0ICovXG5cdHB1YmxpYyBpbml0KGNsaWVudElkPzogc3RyaW5nKTogdGhpcyB7XG5cdFx0aWYgKHRoaXMuaW5pdGlhdGVkKSByZXR1cm4gdGhpcztcblx0XHRpZiAodHlwZW9mIGNsaWVudElkICE9PSBcInVuZGVmaW5lZFwiKSB0aGlzLm9wdGlvbnMuY2xpZW50SWQgPSBjbGllbnRJZDtcblxuXHRcdGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmNsaWVudElkICE9PSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgRXJyb3IoJ1wiY2xpZW50SWRcIiBzZXQgaXMgbm90IHR5cGUgb2YgXCJzdHJpbmdcIicpO1xuXG5cdFx0aWYgKCF0aGlzLm9wdGlvbnMuY2xpZW50SWQpIHRocm93IG5ldyBFcnJvcignXCJjbGllbnRJZFwiIGlzIG5vdCBzZXQuIFBhc3MgaXQgaW4gTWFuYWdlciNpbml0KCkgb3IgYXMgYSBvcHRpb24gaW4gdGhlIGNvbnN0cnVjdG9yLicpO1xuXG5cdFx0Zm9yIChjb25zdCBub2RlIG9mIHRoaXMubm9kZXMudmFsdWVzKCkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdG5vZGUuY29ubmVjdCgpO1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIk5vZGVFcnJvclwiLCBub2RlLCBlcnIpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRoaXMuaW5pdGlhdGVkID0gdHJ1ZTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWFyY2hlcyB0aGUgZW5hYmxlZCBzb3VyY2VzIGJhc2VkIG9mZiB0aGUgVVJMIG9yIHRoZSBgc291cmNlYCBwcm9wZXJ0eS5cblx0ICogQHBhcmFtIHF1ZXJ5XG5cdCAqIEBwYXJhbSByZXF1ZXN0ZXJcblx0ICogQHJldHVybnMgVGhlIHNlYXJjaCByZXN1bHQuXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgc2VhcmNoKHF1ZXJ5OiBzdHJpbmcgfCBTZWFyY2hRdWVyeSwgcmVxdWVzdGVyPzogVXNlciB8IENsaWVudFVzZXIpOiBQcm9taXNlPFNlYXJjaFJlc3VsdD4ge1xuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLnVzZWFibGVOb2RlcztcblxuXHRcdGlmICghbm9kZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMub3B0aW9ucy5jYWNoZXMuZW5hYmxlZCAmJiB0aGlzLm9wdGlvbnMuY2FjaGVzLnRpbWUgPiAwICYmIHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0Y29uc3QgZGF0YSA9IHRoaXMuY2FjaGVzLmdldChxdWVyeSk7XG5cdFx0XHRpZiAoZGF0YSkgcmV0dXJuIGRhdGE7XG5cdFx0fVxuXHRcdGNvbnN0IF9xdWVyeTogU2VhcmNoUXVlcnkgPSB0eXBlb2YgcXVlcnkgPT09IFwic3RyaW5nXCIgPyB7IHF1ZXJ5IH0gOiBxdWVyeTtcblx0XHRjb25zdCBfc291cmNlID0gTWFuYWdlci5ERUZBVUxUX1NPVVJDRVNbX3F1ZXJ5LnNvdXJjZSA/PyB0aGlzLm9wdGlvbnMuZGVmYXVsdFNlYXJjaFBsYXRmb3JtXSA/PyBfcXVlcnkuc291cmNlO1xuXHRcdGxldCBzZWFyY2ggPSBfcXVlcnkucXVlcnk7XG5cblx0XHRpZiAoIS9eaHR0cHM/OlxcL1xcLy8udGVzdChzZWFyY2gpKSB7XG5cdFx0XHRzZWFyY2ggPSBgJHtfc291cmNlfToke3NlYXJjaH1gO1xuXHRcdH1cblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXMgPSAoYXdhaXQgbm9kZS5yZXN0LmdldChgL3Y0L2xvYWR0cmFja3M/aWRlbnRpZmllcj0ke2VuY29kZVVSSUNvbXBvbmVudChzZWFyY2gpfWApKSBhcyBMYXZhbGlua1Jlc3BvbnNlO1xuXHRcdFx0aWYgKCFyZXMpIHRocm93IG5ldyBFcnJvcihcIlF1ZXJ5IG5vdCBmb3VuZC5cIik7XG5cblx0XHRcdGxldCBzZWFyY2hEYXRhID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyBUcmFja0RhdGFbXV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0ID0gbnVsbDtcblxuXHRcdFx0aWYgKHJlcy5sb2FkVHlwZSA9PT0gXCJwbGF5bGlzdFwiKSB7XG5cdFx0XHRcdHBsYXlsaXN0ID0ge1xuXHRcdFx0XHRcdG5hbWU6IHBsYXlsaXN0RGF0YSEuaW5mby5uYW1lLFxuXHRcdFx0XHRcdHRyYWNrczogcGxheWxpc3REYXRhIS50cmFja3MubWFwKCh0cmFjaykgPT4gVHJhY2tVdGlscy5idWlsZCh0cmFjaywgcmVxdWVzdGVyKSksXG5cdFx0XHRcdFx0ZHVyYXRpb246IHBsYXlsaXN0RGF0YSEudHJhY2tzLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIChjdXIuaW5mby5sZW5ndGggfHwgMCksIDApLFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCByZXN1bHQ6IFNlYXJjaFJlc3VsdCA9IHtcblx0XHRcdFx0bG9hZFR5cGU6IHJlcy5sb2FkVHlwZSxcblx0XHRcdFx0dHJhY2tzLFxuXHRcdFx0XHRwbGF5bGlzdCxcblx0XHRcdH07XG5cblx0XHRcdGlmICh0aGlzLm9wdGlvbnMucmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscykge1xuXHRcdFx0XHRsZXQgdHJhY2tzVG9SZXBsYWNlOiBUcmFja1tdID0gW107XG5cdFx0XHRcdGlmIChyZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdHRyYWNrc1RvUmVwbGFjZSA9IHJlc3VsdC5wbGF5bGlzdC50cmFja3M7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dHJhY2tzVG9SZXBsYWNlID0gcmVzdWx0LnRyYWNrcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAoY29uc3QgdHJhY2sgb2YgdHJhY2tzVG9SZXBsYWNlKSB7XG5cdFx0XHRcdFx0aWYgKGlzWW91VHViZVVSTCh0cmFjay51cmkpKSB7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSB0cmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRyYWNrLnRpdGxlLnJlcGxhY2UoXCJUb3BpYyAtXCIsIFwiXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodHJhY2sudGl0bGUuaW5jbHVkZXMoXCItXCIpKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBbYXV0aG9yLCB0aXRsZV0gPSB0cmFjay50aXRsZS5zcGxpdChcIi1cIikubWFwKChzdHI6IHN0cmluZykgPT4gc3RyLnRyaW0oKSk7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRpdGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMub3B0aW9ucy5jYWNoZXMuZW5hYmxlZCAmJiB0aGlzLm9wdGlvbnMuY2FjaGVzLnRpbWUgPiAwKSB0aGlzLmNhY2hlcy5zZXQoc2VhcmNoLCByZXN1bHQpO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihlcnIpO1xuXHRcdH1cblxuXHRcdGZ1bmN0aW9uIGlzWW91VHViZVVSTCh1cmk6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdFx0cmV0dXJuIHVyaS5pbmNsdWRlcyhcInlvdXR1YmUuY29tXCIpIHx8IHVyaS5pbmNsdWRlcyhcInlvdXR1LmJlXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFja3MgYW5kIHJldHVybnMgYSBUcmFja0RhdGEgYXJyYXkuXG5cdCAqIEBwYXJhbSB0cmFja3Ncblx0ICovXG5cdHB1YmxpYyBkZWNvZGVUcmFja3ModHJhY2tzOiBzdHJpbmdbXSk6IFByb21pc2U8VHJhY2tEYXRhW10+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRjb25zdCBub2RlID0gdGhpcy5ub2Rlcy5maXJzdCgpO1xuXHRcdFx0aWYgKCFub2RlKSB7XG5cdFx0XHRcdHJldHVybiByZWplY3QobmV3IEVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKSk7XG5cdFx0XHR9XG5cdFxuXHRcdFx0YXdhaXQgbm9kZS5yZXN0LnBvc3QoXCIvdjQvZGVjb2RldHJhY2tzXCIsIEpTT04uc3RyaW5naWZ5KHRyYWNrcykpXG5cdFx0XHRcdC50aGVuKChyZXMpID0+IHtcblx0XHRcdFx0XHRpZiAoIXJlcykgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBkYXRhIHJldHVybmVkIGZyb20gcXVlcnkuXCIpKTtcblx0XHRcdFx0XHRyZXNvbHZlKHJlcyBhcyBUcmFja0RhdGFbXSk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaCgoZXJyKSA9PiByZWplY3QoZXJyKSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVjb2RlcyB0aGUgYmFzZTY0IGVuY29kZWQgdHJhY2sgYW5kIHJldHVybnMgYSBUcmFja0RhdGEuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKi9cblx0cHVibGljIGFzeW5jIGRlY29kZVRyYWNrKHRyYWNrOiBzdHJpbmcpOiBQcm9taXNlPFRyYWNrRGF0YT4ge1xuXHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuZGVjb2RlVHJhY2tzKFt0cmFja10pO1xuXHRcdHJldHVybiByZXNbMF07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIHBsYXllciBvciByZXR1cm5zIG9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBjcmVhdGUob3B0aW9uczogUGxheWVyT3B0aW9ucyk6IFBsYXllciB7XG5cdFx0aWYgKHRoaXMucGxheWVycy5oYXMob3B0aW9ucy5ndWlsZCkpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYXllcnMuZ2V0KG9wdGlvbnMuZ3VpbGQpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpKShvcHRpb25zKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZXN0cm95cyBhIG5vZGUgaWYgaXQgZXhpc3RzLlxuXHQgKiBAcGFyYW0gaWRlbnRpZmllclxuXHQgKi9cblx0cHVibGljIGRlc3Ryb3lOb2RlKGlkZW50aWZpZXI6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmdldChpZGVudGlmaWVyKTtcblx0XHRpZiAoIW5vZGUpIHJldHVybjtcblx0XHRub2RlLmRlc3Ryb3koKTtcblx0XHR0aGlzLm5vZGVzLmRlbGV0ZShpZGVudGlmaWVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZW5kcyB2b2ljZSBkYXRhIHRvIHRoZSBMYXZhbGluayBzZXJ2ZXIuXG5cdCAqIEBwYXJhbSBkYXRhXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgdXBkYXRlVm9pY2VTdGF0ZShkYXRhOiBWb2ljZVBhY2tldCB8IFZvaWNlU2VydmVyIHwgVm9pY2VTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmIChcInRcIiBpbiBkYXRhICYmICFbXCJWT0lDRV9TVEFURV9VUERBVEVcIiwgXCJWT0lDRV9TRVJWRVJfVVBEQVRFXCJdLmluY2x1ZGVzKGRhdGEudCkpIHJldHVybjtcblxuXHRcdGNvbnN0IHVwZGF0ZSA9IFwiZFwiIGluIGRhdGEgPyBkYXRhLmQgOiBkYXRhO1xuXG5cdFx0aWYgKCF1cGRhdGUgfHwgKCEoXCJ0b2tlblwiIGluIHVwZGF0ZSkgJiYgIShcInNlc3Npb25faWRcIiBpbiB1cGRhdGUpKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcGxheWVyID0gdGhpcy5wbGF5ZXJzLmdldCh1cGRhdGUuZ3VpbGRfaWQpO1xuXG5cdFx0aWYgKCFwbGF5ZXIpIHJldHVybjtcblx0XHRpZiAoXCJ0b2tlblwiIGluIHVwZGF0ZSkge1xuXHRcdFx0cGxheWVyLnZvaWNlU3RhdGUuZXZlbnQgPSB1cGRhdGU7XG5cblx0XHRcdGNvbnN0IHtcblx0XHRcdFx0c2Vzc2lvbklkLFxuXHRcdFx0XHRldmVudDogeyB0b2tlbiwgZW5kcG9pbnQgfSxcblx0XHRcdH0gPSBwbGF5ZXIudm9pY2VTdGF0ZTtcblxuXHRcdFx0YXdhaXQgcGxheWVyLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0XHRndWlsZElkOiBwbGF5ZXIuZ3VpbGQsXG5cdFx0XHRcdGRhdGE6IHsgdm9pY2U6IHsgdG9rZW4sIGVuZHBvaW50LCBzZXNzaW9uSWQgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiIHwgXCJ0aWt0b2tcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hRdWVyeSB7XG5cdC8qKiBUaGUgc291cmNlIHRvIHNlYXJjaCBmcm9tLiAqL1xuXHRzb3VyY2U/OiBTZWFyY2hQbGF0Zm9ybSB8IHN0cmluZztcblx0LyoqIFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLiAqL1xuXHRxdWVyeTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhdmFsaW5rUmVzcG9uc2Uge1xuXHRsb2FkVHlwZTogTG9hZFR5cGU7XG5cdGRhdGE6IFRyYWNrRGF0YVtdIHwgUGxheWxpc3RSYXdEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdCB7XG5cdC8qKiBUaGUgbG9hZCB0eXBlIG9mIHRoZSByZXN1bHQuICovXG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0LyoqIFRoZSBhcnJheSBvZiB0cmFja3MgZnJvbSB0aGUgcmVzdWx0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG5cdC8qKiBUaGUgcGxheWxpc3QgaW5mbyBpZiB0aGUgbG9hZCB0eXBlIGlzICdwbGF5bGlzdCcuICovXG5cdHBsYXlsaXN0PzogUGxheWxpc3REYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0UmF3RGF0YSB7XG5cdGluZm86IHtcblx0XHQvKiogVGhlIHBsYXlsaXN0IG5hbWUuICovXG5cdFx0bmFtZTogc3RyaW5nO1xuXHR9O1xuXHQvKiogQWRkaXRpb24gaW5mbyBwcm92aWRlZCBieSBwbHVnaW5zLiAqL1xuXHRwbHVnaW5JbmZvOiBvYmplY3Q7XG5cdC8qKiBUaGUgdHJhY2tzIG9mIHRoZSBwbGF5bGlzdCAqL1xuXHR0cmFja3M6IFRyYWNrRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0RGF0YSB7XG5cdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0bmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIGxlbmd0aCBvZiB0aGUgcGxheWxpc3QuICovXG5cdGR1cmF0aW9uOiBudW1iZXI7XG5cdC8qKiBUaGUgc29uZ3Mgb2YgdGhlIHBsYXlsaXN0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlckV2ZW50cyB7XG5cdE5vZGVDcmVhdGU6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlRGVzdHJveTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVDb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZVJlY29ubmVjdDogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEaXNjb25uZWN0OiAobm9kZTogTm9kZSwgcmVhc29uOiB7IGNvZGU/OiBudW1iZXI7IHJlYXNvbj86IHN0cmluZyB9KSA9PiB2b2lkO1xuXHROb2RlRXJyb3I6IChub2RlOiBOb2RlLCBlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cdE5vZGVSYXc6IChwYXlsb2FkOiB1bmtub3duKSA9PiB2b2lkO1xuXHRQbGF5ZXJDcmVhdGU6IChwbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyRGVzdHJveTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJTdGF0ZVVwZGF0ZTogKG9sZFBsYXllcjogUGxheWVyLCBuZXdQbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyTW92ZTogKHBsYXllcjogUGxheWVyLCBpbml0Q2hhbm5lbDogc3RyaW5nLCBuZXdDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFBsYXllckRpc2Nvbm5lY3Q6IChwbGF5ZXI6IFBsYXllciwgb2xkQ2hhbm5lbDogc3RyaW5nKSA9PiB2b2lkO1xuXHRRdWV1ZUVuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2sgfCBVbnJlc29sdmVkVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFNvY2tldENsb3NlZDogKHBsYXllcjogUGxheWVyLCBwYXlsb2FkOiBXZWJTb2NrZXRDbG9zZWRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tTdGFydDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3RhcnRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tFbmQ6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja0VuZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0dWNrOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdHVja0V2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0Vycm9yOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFeGNlcHRpb25FdmVudCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQWlELFNBQUFJLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLG9CQUFBLGtCQW5CakQscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFSLENBQUEsU0FBQVMsQ0FBQSxFQUFBVCxDQUFBLE9BQUFVLENBQUEsR0FBQUMsTUFBQSxDQUFBSixTQUFBLEVBQUFLLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxjQUFBLEVBQUFWLENBQUEsR0FBQVEsTUFBQSxDQUFBRyxjQUFBLGNBQUFMLENBQUEsRUFBQVQsQ0FBQSxFQUFBVSxDQUFBLElBQUFELENBQUEsQ0FBQVQsQ0FBQSxJQUFBVSxDQUFBLENBQUFLLEtBQUEsS0FBQUMsQ0FB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
600
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9VdGlscyIsIl9jb2xsZWN0aW9uIiwiX01hbmFnZXJDaGVjayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGlrVG9rIiwiZSIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwidCIsInIiLCJPYmplY3QiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsImEiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImNhbGwiLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJBcnJheSIsImlzQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0U3ByZWFkIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiUmVmZXJlbmNlRXJyb3IiLCJCb29sZWFuIiwidmFsdWVPZiIsImJpbmQiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIk1hbmFnZXIiLCJleHBvcnRzIiwiX0V2ZW50RW1pdHRlciIsIm9wdGlvbnMiLCJfdGhpcyIsIkNvbGxlY3Rpb24iLCJtYW5hZ2VyQ2hlY2siLCJTdHJ1Y3R1cmUiLCJnZXQiLCJpbml0IiwiVHJhY2tVdGlscyIsInRyYWNrUGFydGlhbCIsInNldFRyYWNrUGFydGlhbCIsInBsdWdpbnMiLCJub2RlcyIsImlkZW50aWZpZXIiLCJob3N0IiwicmVzdW1lU3RhdHVzIiwicmVzdW1lVGltZW91dCIsInNoYXJkcyIsImF1dG9QbGF5IiwidXNlUHJpb3JpdHkiLCJjbGllbnROYW1lIiwiZGVmYXVsdFNlYXJjaFBsYXRmb3JtIiwidXNlTm9kZSIsIl9pdGVyYXRvciIsImVudHJpZXMiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiaW5kZXgiLCJwbHVnaW4iLCJQbHVnaW4iLCJSYW5nZUVycm9yIiwiY29uY2F0IiwibG9hZCIsImVyciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJub2RlT3B0aW9ucyIsIm5vZGUiLCJzZXQiLCJzZXRJbnRlcnZhbCIsImNhY2hlcyIsImNsZWFyIiwidGltZSIsImNvbm5lY3RlZCIsInNvcnQiLCJiIiwiYWxvYWQiLCJzdGF0cyIsImNwdSIsImxhdmFsaW5rTG9hZCIsImNvcmVzIiwiYmxvYWQiLCJwbGF5ZXJzIiwiZmlsdGVyZWROb2RlcyIsInByaW9yaXR5IiwidG90YWxXZWlnaHQiLCJyZWR1Y2UiLCJ0b3RhbCIsIndlaWdodGVkTm9kZXMiLCJtYXAiLCJ3ZWlnaHQiLCJyYW5kb21OdW1iZXIiLCJNYXRoIiwicmFuZG9tIiwiY3VtdWxhdGl2ZVdlaWdodCIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfc3RlcDMkdmFsdWUiLCJsZWFzdExvYWROb2RlIiwiZmlyc3QiLCJsZWFzdFBsYXllcnNOb2RlIiwicHJpb3JpdHlOb2RlIiwiY2xpZW50SWQiLCJpbml0aWF0ZWQiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiY29ubmVjdCIsImVtaXQiLCJfc2VhcmNoIiwiX2NhbGxlZSIsInF1ZXJ5IiwicmVxdWVzdGVyIiwiX01hbmFnZXIkREVGQVVMVF9TT1VSIiwiX3F1ZXJ5JHNvdXJjZSIsImRhdGEiLCJfcXVlcnkiLCJfc291cmNlIiwic2VhcmNoIiwidGlrdG9rUmVzdWx0IiwicmVzIiwic2VhcmNoRGF0YSIsInBsYXlsaXN0RGF0YSIsInRyYWNrcyIsInBsYXlsaXN0IiwicmVzdWx0IiwidHJhY2tzVG9SZXBsYWNlIiwiX2l0ZXJhdG9yNSIsIl9zdGVwNSIsInRyYWNrIiwiX3RyYWNrJHRpdGxlJHNwbGl0JG1hIiwiX3RyYWNrJHRpdGxlJHNwbGl0JG1hMiIsImF1dGhvciIsInRpdGxlIiwiaXNZb3VUdWJlVVJMIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsIl9pc1lvdVR1YmVVUkwiLCJ1cmkiLCJpbmNsdWRlcyIsInVzZWFibGVOb2RlcyIsImVuYWJsZWQiLCJERUZBVUxUX1NPVVJDRVMiLCJzb3VyY2UiLCJUaWtUb2siLCJpc1Rpa1Rva1VSTCIsInNlYXJjaFRpa1RvayIsImxvYWRUeXBlIiwicmVzdCIsImVuY29kZVVSSUNvbXBvbmVudCIsInQwIiwiYnVpbGQiLCJpbmZvIiwiZHVyYXRpb24iLCJhY2MiLCJjdXIiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsInQxIiwiX3giLCJfeDIiLCJkZWNvZGVUcmFja3MiLCJfdGhpczIiLCJfcmVmIiwiX2NhbGxlZTIiLCJyZWplY3QiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJwb3N0IiwiSlNPTiIsInN0cmluZ2lmeSIsIl94MyIsIl94NCIsIl9kZWNvZGVUcmFjayIsIl9jYWxsZWUzIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiZGVjb2RlVHJhY2siLCJfeDUiLCJoYXMiLCJndWlsZCIsImRlc3Ryb3kiLCJjcmVhdGVOb2RlIiwiZGVzdHJveU5vZGUiLCJfdXBkYXRlVm9pY2VTdGF0ZSIsIl9jYWxsZWU0IiwidXBkYXRlIiwicGxheWVyIiwiX3BsYXllciR2b2ljZVN0YXRlIiwic2Vzc2lvbklkIiwiX3BsYXllciR2b2ljZVN0YXRlJGV2IiwidG9rZW4iLCJlbmRwb2ludCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImd1aWxkX2lkIiwidm9pY2VTdGF0ZSIsImV2ZW50IiwidXBkYXRlUGxheWVyIiwiZ3VpbGRJZCIsInZvaWNlIiwidXNlcl9pZCIsImNoYW5uZWxfaWQiLCJ2b2ljZUNoYW5uZWwiLCJzZXNzaW9uX2lkIiwiYXNzaWduIiwidXBkYXRlVm9pY2VTdGF0ZSIsIl94NiIsIkV2ZW50RW1pdHRlciIsInlvdXR1YmUiLCJzcG90aWZ5Iiwiamlvc2Fhdm4iLCJzb3VuZGNsb3VkIiwiZGVlemVyIiwidGlkYWwiLCJhcHBsZW11c2ljIiwiYmFuZGNhbXAiLCJ0aWt0b2siXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9NYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWFzeW5jLXByb21pc2UtZXhlY3V0b3IgKi9cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gXCJldmVudHNcIjtcbmltcG9ydCB7XG5cdExvYWRUeXBlLFxuXHRQbHVnaW4sXG5cdFN0cnVjdHVyZSxcblx0VHJhY2tEYXRhLFxuXHRUcmFja0VuZEV2ZW50LFxuXHRUcmFja0V4Y2VwdGlvbkV2ZW50LFxuXHRUcmFja1N0YXJ0RXZlbnQsXG5cdFRyYWNrU3R1Y2tFdmVudCxcblx0VHJhY2tVdGlscyxcblx0Vm9pY2VQYWNrZXQsXG5cdFZvaWNlU2VydmVyLFxuXHRXZWJTb2NrZXRDbG9zZWRFdmVudCxcbn0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tIFwiQGRpc2NvcmRqcy9jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyBOb2RlLCBOb2RlT3B0aW9ucyB9IGZyb20gXCIuL05vZGVcIjtcbmltcG9ydCB7IFBsYXllciwgUGxheWVyT3B0aW9ucywgVHJhY2ssIFVucmVzb2x2ZWRUcmFjayB9IGZyb20gXCIuL1BsYXllclwiO1xuaW1wb3J0IHsgVm9pY2VTdGF0ZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IG1hbmFnZXJDaGVjayBmcm9tIFwiLi4vVXRpbHMvTWFuYWdlckNoZWNrXCI7XG5pbXBvcnQgeyBDbGllbnRVc2VyLCBVc2VyIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcbmltcG9ydCB7IFRpa1RvayB9IGZyb20gXCIuL1Rpa1Rva1wiO1xuXG5cblxuLyoqXG4gKiBUaGUgbWFpbiBodWIgZm9yIGludGVyYWN0aW5nIHdpdGggTGF2YWxpbmsgYW5kIHVzaW5nIE1hZ21hc3RyZWFtLFxuICovXG5leHBvcnQgY2xhc3MgTWFuYWdlciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9TT1VSQ0VTOiBSZWNvcmQ8U2VhcmNoUGxhdGZvcm0sIHN0cmluZz4gPSB7XG5cdFx0XCJ5b3V0dWJlIG11c2ljXCI6IFwieXRtc2VhcmNoXCIsXG5cdFx0eW91dHViZTogXCJ5dHNlYXJjaFwiLFxuXHRcdHNwb3RpZnk6IFwic3BzZWFyY2hcIixcblx0XHRqaW9zYWF2bjogXCJqc3NlYXJjaFwiLFxuXHRcdHNvdW5kY2xvdWQ6IFwic2NzZWFyY2hcIixcblx0XHRkZWV6ZXI6IFwiZHpzZWFyY2hcIixcblx0XHR0aWRhbDogXCJ0ZHNlYXJjaFwiLFxuXHRcdGFwcGxlbXVzaWM6IFwiYW1zZWFyY2hcIixcblx0XHRiYW5kY2FtcDogXCJiY3NlYXJjaFwiLFxuXHRcdHRpa3RvazogXCJ0aWt0b2tcIixcblx0fTtcblxuXHQvKiogVGhlIG1hcCBvZiBwbGF5ZXJzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcGxheWVycyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgUGxheWVyPigpO1xuXHQvKiogVGhlIG1hcCBvZiBub2Rlcy4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5vZGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBOb2RlPigpO1xuXHQvKiogVGhlIG9wdGlvbnMgdGhhdCB3ZXJlIHNldC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IE1hbmFnZXJPcHRpb25zO1xuXHRwcml2YXRlIGluaXRpYXRlZCA9IGZhbHNlO1xuXHRwdWJsaWMgY2FjaGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBTZWFyY2hSZXN1bHQ+KCk7XG5cblx0LyoqIFJldHVybnMgdGhlIG5vZGVzIHRoYXQgaGFzIHRoZSBsZWFzdCBsb2FkLiAqL1xuXHRwdWJsaWMgZ2V0IGxlYXN0TG9hZE5vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlc1xuXHRcdFx0LmZpbHRlcigobm9kZSkgPT4gbm9kZS5jb25uZWN0ZWQpXG5cdFx0XHQuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRjb25zdCBhbG9hZCA9IGEuc3RhdHMuY3B1ID8gKGEuc3RhdHMuY3B1LmxhdmFsaW5rTG9hZCAvIGEuc3RhdHMuY3B1LmNvcmVzKSAqIDEwMCA6IDA7XG5cdFx0XHRcdGNvbnN0IGJsb2FkID0gYi5zdGF0cy5jcHUgPyAoYi5zdGF0cy5jcHUubGF2YWxpbmtMb2FkIC8gYi5zdGF0cy5jcHUuY29yZXMpICogMTAwIDogMDtcblx0XHRcdFx0cmV0dXJuIGFsb2FkIC0gYmxvYWQ7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8qKiBSZXR1cm5zIHRoZSBub2RlcyB0aGF0IGhhcyB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMuICovXG5cdHByaXZhdGUgZ2V0IGxlYXN0UGxheWVyc05vZGUoKTogQ29sbGVjdGlvbjxzdHJpbmcsIE5vZGU+IHtcblx0XHRyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIoKG5vZGUpID0+IG5vZGUuY29ubmVjdGVkKS5zb3J0KChhLCBiKSA9PiBhLnN0YXRzLnBsYXllcnMgLSBiLnN0YXRzLnBsYXllcnMpO1xuXHR9XG5cblx0XG5cblx0LyoqIFJldHVybnMgYSBub2RlIGJhc2VkIG9uIHByaW9yaXR5LiAqL1xuXHRwcml2YXRlIGdldCBwcmlvcml0eU5vZGUoKTogTm9kZSB7XG5cdFx0Y29uc3QgZmlsdGVyZWROb2RlcyA9IHRoaXMubm9kZXMuZmlsdGVyKChub2RlKSA9PiBub2RlLmNvbm5lY3RlZCAmJiBub2RlLm9wdGlvbnMucHJpb3JpdHkgPiAwKTtcblx0XHRjb25zdCB0b3RhbFdlaWdodCA9IGZpbHRlcmVkTm9kZXMucmVkdWNlKCh0b3RhbCwgbm9kZSkgPT4gdG90YWwgKyBub2RlLm9wdGlvbnMucHJpb3JpdHksIDApO1xuXHRcdGNvbnN0IHdlaWdodGVkTm9kZXMgPSBmaWx0ZXJlZE5vZGVzLm1hcCgobm9kZSkgPT4gKHtcblx0XHRcdG5vZGUsXG5cdFx0XHR3ZWlnaHQ6IG5vZGUub3B0aW9ucy5wcmlvcml0eSAvIHRvdGFsV2VpZ2h0LFxuXHRcdH0pKTtcblx0XHRjb25zdCByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xuXG5cdFx0bGV0IGN1bXVsYXRpdmVXZWlnaHQgPSAwO1xuXG5cdFx0Zm9yIChjb25zdCB7IG5vZGUsIHdlaWdodCB9IG9mIHdlaWdodGVkTm9kZXMpIHtcblx0XHRcdGN1bXVsYXRpdmVXZWlnaHQgKz0gd2VpZ2h0O1xuXHRcdFx0aWYgKHJhbmRvbU51bWJlciA8PSBjdW11bGF0aXZlV2VpZ2h0KSB7XG5cdFx0XHRcdHJldHVybiBub2RlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMudXNlTm9kZSA9PT0gXCJsZWFzdExvYWRcIiA/IHRoaXMubGVhc3RMb2FkTm9kZS5maXJzdCgpIDogdGhpcy5sZWFzdFBsYXllcnNOb2RlLmZpcnN0KCk7XG5cdH1cblxuXHQvKiogUmV0dXJucyB0aGUgbm9kZSB0byB1c2UuICovXG5cdHB1YmxpYyBnZXQgdXNlYWJsZU5vZGVzKCk6IE5vZGUge1xuXHRcdHJldHVybiB0aGlzLm9wdGlvbnMudXNlUHJpb3JpdHkgPyB0aGlzLnByaW9yaXR5Tm9kZSA6IHRoaXMub3B0aW9ucy51c2VOb2RlID09PSBcImxlYXN0TG9hZFwiID8gdGhpcy5sZWFzdExvYWROb2RlLmZpcnN0KCkgOiB0aGlzLmxlYXN0UGxheWVyc05vZGUuZmlyc3QoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIgY2xhc3MuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihvcHRpb25zOiBNYW5hZ2VyT3B0aW9ucykge1xuXHRcdHN1cGVyKCk7XG5cblx0XHRtYW5hZ2VyQ2hlY2sob3B0aW9ucyk7XG5cdFx0U3RydWN0dXJlLmdldChcIlBsYXllclwiKS5pbml0KHRoaXMpO1xuXHRcdFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpLmluaXQodGhpcyk7XG5cdFx0VHJhY2tVdGlscy5pbml0KHRoaXMpO1xuXHRcdFxuXHRcdGlmIChvcHRpb25zLnRyYWNrUGFydGlhbCkge1xuXHRcdFx0VHJhY2tVdGlscy5zZXRUcmFja1BhcnRpYWwob3B0aW9ucy50cmFja1BhcnRpYWwpO1xuXHRcdFx0ZGVsZXRlIG9wdGlvbnMudHJhY2tQYXJ0aWFsO1xuXHRcdH1cblxuXHRcdHRoaXMub3B0aW9ucyA9IHtcblx0XHRcdHBsdWdpbnM6IFtdLFxuXHRcdFx0bm9kZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkZW50aWZpZXI6IFwiZGVmYXVsdFwiLFxuXHRcdFx0XHRcdGhvc3Q6IFwibG9jYWxob3N0XCIsXG5cdFx0XHRcdFx0cmVzdW1lU3RhdHVzOiBmYWxzZSxcblx0XHRcdFx0XHRyZXN1bWVUaW1lb3V0OiAxMDAwLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSxcblx0XHRcdHNoYXJkczogMSxcblx0XHRcdGF1dG9QbGF5OiB0cnVlLFxuXHRcdFx0dXNlUHJpb3JpdHk6IGZhbHNlLFxuXHRcdFx0Y2xpZW50TmFtZTogXCJGb3IgdjMuMFwiLFxuXHRcdFx0ZGVmYXVsdFNlYXJjaFBsYXRmb3JtOiBcInlvdXR1YmVcIixcblx0XHRcdHVzZU5vZGU6IFwibGVhc3RQbGF5ZXJzXCIsXG5cdFx0XHQuLi5vcHRpb25zLFxuXHRcdH07XG5cblx0XHRcblxuXHRcdGlmICh0aGlzLm9wdGlvbnMucGx1Z2lucykge1xuXHRcdFx0Zm9yIChjb25zdCBbaW5kZXgsIHBsdWdpbl0gb2YgdGhpcy5vcHRpb25zLnBsdWdpbnMuZW50cmllcygpKSB7XG5cdFx0XHRcdGlmICghKHBsdWdpbiBpbnN0YW5jZW9mIFBsdWdpbikpIHRocm93IG5ldyBSYW5nZUVycm9yKGBQbHVnaW4gYXQgaW5kZXggJHtpbmRleH0gZG9lcyBub3QgZXh0ZW5kIFBsdWdpbi5gKTtcblx0XHRcdFx0cGx1Z2luLmxvYWQodGhpcyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMub3B0aW9ucy5ub2Rlcykge1xuXHRcdFx0Zm9yIChjb25zdCBub2RlT3B0aW9ucyBvZiB0aGlzLm9wdGlvbnMubm9kZXMpIHtcblx0XHRcdFx0Y29uc3Qgbm9kZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIk5vZGVcIikpKG5vZGVPcHRpb25zKTtcblx0XHRcdFx0dGhpcy5ub2Rlcy5zZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIsIG5vZGUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHR0aGlzLmNhY2hlcy5jbGVhcigpO1xuXHRcdH0sIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSk7XG5cdH1cblxuXG5cdC8qKlxuXHQgKiBJbml0aWF0ZXMgdGhlIE1hbmFnZXIuXG5cdCAqIEBwYXJhbSBjbGllbnRJZFxuXHQgKi9cblx0cHVibGljIGluaXQoY2xpZW50SWQ/OiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodGhpcy5pbml0aWF0ZWQpIHJldHVybiB0aGlzO1xuXHRcdGlmICh0eXBlb2YgY2xpZW50SWQgIT09IFwidW5kZWZpbmVkXCIpIHRoaXMub3B0aW9ucy5jbGllbnRJZCA9IGNsaWVudElkO1xuXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuY2xpZW50SWQgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBFcnJvcignXCJjbGllbnRJZFwiIHNldCBpcyBub3QgdHlwZSBvZiBcInN0cmluZ1wiJyk7XG5cblx0XHRpZiAoIXRoaXMub3B0aW9ucy5jbGllbnRJZCkgdGhyb3cgbmV3IEVycm9yKCdcImNsaWVudElkXCIgaXMgbm90IHNldC4gUGFzcyBpdCBpbiBNYW5hZ2VyI2luaXQoKSBvciBhcyBhIG9wdGlvbiBpbiB0aGUgY29uc3RydWN0b3IuJyk7XG5cblx0XHRmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5ub2Rlcy52YWx1ZXMoKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bm9kZS5jb25uZWN0KCk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0dGhpcy5lbWl0KFwiTm9kZUVycm9yXCIsIG5vZGUsIGVycik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpcy5pbml0aWF0ZWQgPSB0cnVlO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlYXJjaGVzIHRoZSBlbmFibGVkIHNvdXJjZXMgYmFzZWQgb2ZmIHRoZSBVUkwgb3IgdGhlIGBzb3VyY2VgIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKiBAcmV0dXJucyBUaGUgc2VhcmNoIHJlc3VsdC5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBzZWFyY2gocXVlcnk6IHN0cmluZyB8IFNlYXJjaFF1ZXJ5LCByZXF1ZXN0ZXI/OiBVc2VyIHwgQ2xpZW50VXNlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0PiB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMudXNlYWJsZU5vZGVzO1xuXG5cdFx0aWYgKCFub2RlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5vcHRpb25zLmNhY2hlcy5lbmFibGVkICYmIHRoaXMub3B0aW9ucy5jYWNoZXMudGltZSA+IDAgJiYgdHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRjb25zdCBkYXRhID0gdGhpcy5jYWNoZXMuZ2V0KHF1ZXJ5KTtcblx0XHRcdGlmIChkYXRhKSByZXR1cm4gZGF0YTtcblx0XHR9XG5cdFx0Y29uc3QgX3F1ZXJ5OiBTZWFyY2hRdWVyeSA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IHsgcXVlcnkgfSA6IHF1ZXJ5O1xuXHRcdGNvbnN0IF9zb3VyY2UgPSBNYW5hZ2VyLkRFRkFVTFRfU09VUkNFU1tfcXVlcnkuc291cmNlID8/IHRoaXMub3B0aW9ucy5kZWZhdWx0U2VhcmNoUGxhdGZvcm1dID8/IF9xdWVyeS5zb3VyY2U7XG5cdFx0bGV0IHNlYXJjaCA9IF9xdWVyeS5xdWVyeTtcblxuXHRcdGlmICghL15odHRwcz86XFwvXFwvLy50ZXN0KHNlYXJjaCkpIHtcblx0XHRcdHNlYXJjaCA9IGAke19zb3VyY2V9OiR7c2VhcmNofWA7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBxdWVyeSAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlF1ZXJ5IG11c3QgYmUgYSBzdHJpbmcuXCIpO1xuXG5cdFx0aWYgKFRpa1Rvay5pc1Rpa1Rva1VSTChxdWVyeSkpIHtcblx0XHRcdGNvbnN0IHRpa3Rva1Jlc3VsdCA9IGF3YWl0IFRpa1Rvay5zZWFyY2hUaWtUb2socXVlcnksIHJlcXVlc3Rlcik7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRsb2FkVHlwZTogdGlrdG9rUmVzdWx0LmxvYWRUeXBlIGFzIExvYWRUeXBlLFxuXHRcdFx0XHR0cmFja3M6IHRpa3Rva1Jlc3VsdC50cmFja3MsXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXMgPSAoYXdhaXQgbm9kZS5yZXN0LmdldChgL3Y0L2xvYWR0cmFja3M/aWRlbnRpZmllcj0ke2VuY29kZVVSSUNvbXBvbmVudChzZWFyY2gpfWApKSBhcyBMYXZhbGlua1Jlc3BvbnNlO1xuXHRcdFx0aWYgKCFyZXMpIHRocm93IG5ldyBFcnJvcihcIlF1ZXJ5IG5vdCBmb3VuZC5cIik7XG5cblx0XHRcdGxldCBzZWFyY2hEYXRhID0gW107XG5cdFx0XHRsZXQgcGxheWxpc3REYXRhOiBQbGF5bGlzdFJhd0RhdGEgfCB1bmRlZmluZWQ7XG5cblx0XHRcdHN3aXRjaCAocmVzLmxvYWRUeXBlKSB7XG5cdFx0XHRcdGNhc2UgXCJzZWFyY2hcIjpcblx0XHRcdFx0XHRzZWFyY2hEYXRhID0gcmVzLmRhdGEgYXMgVHJhY2tEYXRhW107XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInRyYWNrXCI6XG5cdFx0XHRcdFx0c2VhcmNoRGF0YSA9IFtyZXMuZGF0YSBhcyBUcmFja0RhdGFbXV07XG5cdFx0XHRcdFx0YnJlYWs7XG5cblx0XHRcdFx0Y2FzZSBcInBsYXlsaXN0XCI6XG5cdFx0XHRcdFx0cGxheWxpc3REYXRhID0gcmVzLmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB0cmFja3MgPSBzZWFyY2hEYXRhLm1hcCgodHJhY2spID0+IFRyYWNrVXRpbHMuYnVpbGQodHJhY2ssIHJlcXVlc3RlcikpO1xuXHRcdFx0bGV0IHBsYXlsaXN0ID0gbnVsbDtcblxuXHRcdFx0aWYgKHJlcy5sb2FkVHlwZSA9PT0gXCJwbGF5bGlzdFwiKSB7XG5cdFx0XHRcdHBsYXlsaXN0ID0ge1xuXHRcdFx0XHRcdG5hbWU6IHBsYXlsaXN0RGF0YSEuaW5mby5uYW1lLFxuXHRcdFx0XHRcdHRyYWNrczogcGxheWxpc3REYXRhIS50cmFja3MubWFwKCh0cmFjaykgPT4gVHJhY2tVdGlscy5idWlsZCh0cmFjaywgcmVxdWVzdGVyKSksXG5cdFx0XHRcdFx0ZHVyYXRpb246IHBsYXlsaXN0RGF0YSEudHJhY2tzLnJlZHVjZSgoYWNjLCBjdXIpID0+IGFjYyArIChjdXIuaW5mby5sZW5ndGggfHwgMCksIDApLFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCByZXN1bHQ6IFNlYXJjaFJlc3VsdCA9IHtcblx0XHRcdFx0bG9hZFR5cGU6IHJlcy5sb2FkVHlwZSxcblx0XHRcdFx0dHJhY2tzLFxuXHRcdFx0XHRwbGF5bGlzdCxcblx0XHRcdH07XG5cblx0XHRcdGlmICh0aGlzLm9wdGlvbnMucmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscykge1xuXHRcdFx0XHRsZXQgdHJhY2tzVG9SZXBsYWNlOiBUcmFja1tdID0gW107XG5cdFx0XHRcdGlmIChyZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdHRyYWNrc1RvUmVwbGFjZSA9IHJlc3VsdC5wbGF5bGlzdC50cmFja3M7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dHJhY2tzVG9SZXBsYWNlID0gcmVzdWx0LnRyYWNrcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAoY29uc3QgdHJhY2sgb2YgdHJhY2tzVG9SZXBsYWNlKSB7XG5cdFx0XHRcdFx0aWYgKGlzWW91VHViZVVSTCh0cmFjay51cmkpKSB7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSB0cmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRyYWNrLnRpdGxlLnJlcGxhY2UoXCJUb3BpYyAtXCIsIFwiXCIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAodHJhY2sudGl0bGUuaW5jbHVkZXMoXCItXCIpKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBbYXV0aG9yLCB0aXRsZV0gPSB0cmFjay50aXRsZS5zcGxpdChcIi1cIikubWFwKChzdHI6IHN0cmluZykgPT4gc3RyLnRyaW0oKSk7XG5cdFx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRpdGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMub3B0aW9ucy5jYWNoZXMuZW5hYmxlZCAmJiB0aGlzLm9wdGlvbnMuY2FjaGVzLnRpbWUgPiAwKSB0aGlzLmNhY2hlcy5zZXQoc2VhcmNoLCByZXN1bHQpO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihlcnIpO1xuXHRcdH1cblxuXHRcdGZ1bmN0aW9uIGlzWW91VHViZVVSTCh1cmk6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdFx0cmV0dXJuIHVyaS5pbmNsdWRlcyhcInlvdXR1YmUuY29tXCIpIHx8IHVyaS5pbmNsdWRlcyhcInlvdXR1LmJlXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBEZWNvZGVzIHRoZSBiYXNlNjQgZW5jb2RlZCB0cmFja3MgYW5kIHJldHVybnMgYSBUcmFja0RhdGEgYXJyYXkuXG5cdCAqIEBwYXJhbSB0cmFja3Ncblx0ICovXG5cdHB1YmxpYyBkZWNvZGVUcmFja3ModHJhY2tzOiBzdHJpbmdbXSk6IFByb21pc2U8VHJhY2tEYXRhW10+IHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRjb25zdCBub2RlID0gdGhpcy5ub2Rlcy5maXJzdCgpO1xuXHRcdFx0aWYgKCFub2RlKSB7XG5cdFx0XHRcdHJldHVybiByZWplY3QobmV3IEVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKSk7XG5cdFx0XHR9XG5cdFxuXHRcdFx0YXdhaXQgbm9kZS5yZXN0LnBvc3QoXCIvdjQvZGVjb2RldHJhY2tzXCIsIEpTT04uc3RyaW5naWZ5KHRyYWNrcykpXG5cdFx0XHRcdC50aGVuKChyZXMpID0+IHtcblx0XHRcdFx0XHRpZiAoIXJlcykgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoXCJObyBkYXRhIHJldHVybmVkIGZyb20gcXVlcnkuXCIpKTtcblx0XHRcdFx0XHRyZXNvbHZlKHJlcyBhcyBUcmFja0RhdGFbXSk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaCgoZXJyKSA9PiByZWplY3QoZXJyKSk7XG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVjb2RlcyB0aGUgYmFzZTY0IGVuY29kZWQgdHJhY2sgYW5kIHJldHVybnMgYSBUcmFja0RhdGEuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKi9cblx0cHVibGljIGFzeW5jIGRlY29kZVRyYWNrKHRyYWNrOiBzdHJpbmcpOiBQcm9taXNlPFRyYWNrRGF0YT4ge1xuXHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuZGVjb2RlVHJhY2tzKFt0cmFja10pO1xuXHRcdHJldHVybiByZXNbMF07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIHBsYXllciBvciByZXR1cm5zIG9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBjcmVhdGUob3B0aW9uczogUGxheWVyT3B0aW9ucyk6IFBsYXllciB7XG5cdFx0aWYgKHRoaXMucGxheWVycy5oYXMob3B0aW9ucy5ndWlsZCkpIHtcblx0XHRcdHJldHVybiB0aGlzLnBsYXllcnMuZ2V0KG9wdGlvbnMuZ3VpbGQpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikpKG9wdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBwbGF5ZXIgb3IgdW5kZWZpbmVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LlxuXHQgKiBAcGFyYW0gZ3VpbGRcblx0ICovXG5cdHB1YmxpYyBnZXQoZ3VpbGQ6IHN0cmluZyk6IFBsYXllciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMucGxheWVycy5nZXQoZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlc3Ryb3lzIGEgcGxheWVyIGlmIGl0IGV4aXN0cy5cblx0ICogQHBhcmFtIGd1aWxkXG5cdCAqL1xuXHRwdWJsaWMgZGVzdHJveShndWlsZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5wbGF5ZXJzLmRlbGV0ZShndWlsZCk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5vZGUgb3IgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlTm9kZShvcHRpb25zOiBOb2RlT3B0aW9ucyk6IE5vZGUge1xuXHRcdGlmICh0aGlzLm5vZGVzLmhhcyhvcHRpb25zLmlkZW50aWZpZXIgfHwgb3B0aW9ucy5ob3N0KSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubm9kZXMuZ2V0KG9wdGlvbnMuaWRlbnRpZmllciB8fCBvcHRpb25zLmhvc3QpO1xuXHRcdH1cblxuXHRcdHJldHVybiBuZXcgKFN0cnVjdHVyZS5nZXQoXCJOb2RlXCIpKShvcHRpb25zKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZXN0cm95cyBhIG5vZGUgaWYgaXQgZXhpc3RzLlxuXHQgKiBAcGFyYW0gaWRlbnRpZmllclxuXHQgKi9cblx0cHVibGljIGRlc3Ryb3lOb2RlKGlkZW50aWZpZXI6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLm5vZGVzLmdldChpZGVudGlmaWVyKTtcblx0XHRpZiAoIW5vZGUpIHJldHVybjtcblx0XHRub2RlLmRlc3Ryb3koKTtcblx0XHR0aGlzLm5vZGVzLmRlbGV0ZShpZGVudGlmaWVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZW5kcyB2b2ljZSBkYXRhIHRvIHRoZSBMYXZhbGluayBzZXJ2ZXIuXG5cdCAqIEBwYXJhbSBkYXRhXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgdXBkYXRlVm9pY2VTdGF0ZShkYXRhOiBWb2ljZVBhY2tldCB8IFZvaWNlU2VydmVyIHwgVm9pY2VTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmIChcInRcIiBpbiBkYXRhICYmICFbXCJWT0lDRV9TVEFURV9VUERBVEVcIiwgXCJWT0lDRV9TRVJWRVJfVVBEQVRFXCJdLmluY2x1ZGVzKGRhdGEudCkpIHJldHVybjtcblxuXHRcdGNvbnN0IHVwZGF0ZSA9IFwiZFwiIGluIGRhdGEgPyBkYXRhLmQgOiBkYXRhO1xuXG5cdFx0aWYgKCF1cGRhdGUgfHwgKCEoXCJ0b2tlblwiIGluIHVwZGF0ZSkgJiYgIShcInNlc3Npb25faWRcIiBpbiB1cGRhdGUpKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcGxheWVyID0gdGhpcy5wbGF5ZXJzLmdldCh1cGRhdGUuZ3VpbGRfaWQpO1xuXG5cdFx0aWYgKCFwbGF5ZXIpIHJldHVybjtcblx0XHRpZiAoXCJ0b2tlblwiIGluIHVwZGF0ZSkge1xuXHRcdFx0cGxheWVyLnZvaWNlU3RhdGUuZXZlbnQgPSB1cGRhdGU7XG5cblx0XHRcdGNvbnN0IHtcblx0XHRcdFx0c2Vzc2lvbklkLFxuXHRcdFx0XHRldmVudDogeyB0b2tlbiwgZW5kcG9pbnQgfSxcblx0XHRcdH0gPSBwbGF5ZXIudm9pY2VTdGF0ZTtcblxuXHRcdFx0YXdhaXQgcGxheWVyLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0XHRndWlsZElkOiBwbGF5ZXIuZ3VpbGQsXG5cdFx0XHRcdGRhdGE6IHsgdm9pY2U6IHsgdG9rZW4sIGVuZHBvaW50LCBzZXNzaW9uSWQgfSB9LFxuXHRcdFx0fSk7XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlLnVzZXJfaWQgIT09IHRoaXMub3B0aW9ucy5jbGllbnRJZCkgcmV0dXJuO1xuXHRcdGlmICh1cGRhdGUuY2hhbm5lbF9pZCkge1xuXHRcdFx0aWYgKHBsYXllci52b2ljZUNoYW5uZWwgIT09IHVwZGF0ZS5jaGFubmVsX2lkKSB7XG5cdFx0XHRcdHRoaXMuZW1pdChcIlBsYXllck1vdmVcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsLCB1cGRhdGUuY2hhbm5lbF9pZCk7XG5cdFx0XHR9XG5cblx0XHRcdHBsYXllci52b2ljZVN0YXRlLnNlc3Npb25JZCA9IHVwZGF0ZS5zZXNzaW9uX2lkO1xuXHRcdFx0cGxheWVyLnZvaWNlQ2hhbm5lbCA9IHVwZGF0ZS5jaGFubmVsX2lkO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuZW1pdChcIlBsYXllckRpc2Nvbm5lY3RcIiwgcGxheWVyLCBwbGF5ZXIudm9pY2VDaGFubmVsKTtcblx0XHRwbGF5ZXIudm9pY2VDaGFubmVsID0gbnVsbDtcblx0XHRwbGF5ZXIudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30pO1xuXHRcdHBsYXllci5kZXN0cm95KCk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZCB7XG5cdC8qKiBUaGUgT1AgY29kZSAqL1xuXHRvcDogbnVtYmVyO1xuXHRkOiB7XG5cdFx0Z3VpbGRfaWQ6IHN0cmluZztcblx0XHRjaGFubmVsX2lkOiBzdHJpbmcgfCBudWxsO1xuXHRcdHNlbGZfbXV0ZTogYm9vbGVhbjtcblx0XHRzZWxmX2RlYWY6IGJvb2xlYW47XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlck9wdGlvbnMge1xuXHQvKiogVXNlIHByaW9yaXR5IG1vZGUgb3ZlciBsZWFzdCBhbW91bnQgb2YgcGxheWVyIG9yIGxvYWQ/ICovXG5cdHVzZVByaW9yaXR5PzogYm9vbGVhbjtcblx0LyoqIFVzZSB0aGUgbGVhc3QgYW1vdW50IG9mIHBsYXllcnMgb3IgbGVhc3QgbG9hZD8gKi9cblx0dXNlTm9kZT86IFwibGVhc3RMb2FkXCIgfCBcImxlYXN0UGxheWVyc1wiO1xuXHQvKiogVGhlIGFycmF5IG9mIG5vZGVzIHRvIGNvbm5lY3QgdG8uICovXG5cdG5vZGVzPzogTm9kZU9wdGlvbnNbXTtcblx0LyoqIFRoZSBjbGllbnQgSUQgdG8gdXNlLiAqL1xuXHRjbGllbnRJZD86IHN0cmluZztcblx0LyoqIFZhbHVlIHRvIHVzZSBmb3IgdGhlIGBDbGllbnQtTmFtZWAgaGVhZGVyLiAqL1xuXHRjbGllbnROYW1lPzogc3RyaW5nO1xuXHQvKiogVGhlIHNoYXJkIGNvdW50LiAqL1xuXHRzaGFyZHM/OiBudW1iZXI7XG5cdC8qKiBBIGFycmF5IG9mIHBsdWdpbnMgdG8gdXNlLiAqL1xuXHRwbHVnaW5zPzogUGx1Z2luW107XG5cdC8qKiBXaGV0aGVyIHBsYXllcnMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgcGxheSB0aGUgbmV4dCBzb25nLiAqL1xuXHRhdXRvUGxheT86IGJvb2xlYW47XG5cdC8qKiBBbiBhcnJheSBvZiB0cmFjayBwcm9wZXJ0aWVzIHRvIGtlZXAuIGB0cmFja2Agd2lsbCBhbHdheXMgYmUgcHJlc2VudC4gKi9cblx0dHJhY2tQYXJ0aWFsPzogc3RyaW5nW107XG5cdC8qKiBUaGUgZGVmYXVsdCBzZWFyY2ggcGxhdGZvcm0gdG8gdXNlLCBjYW4gYmUgXCJ5b3V0dWJlXCIsIFwieW91dHViZSBtdXNpY1wiLCBcInNvdW5kY2xvdWRcIiBvciBkZWV6ZXIuICovXG5cdGRlZmF1bHRTZWFyY2hQbGF0Zm9ybT86IFNlYXJjaFBsYXRmb3JtO1xuXHQvKiogV2hldGhlciB0aGUgWW91VHViZSB2aWRlbyB0aXRsZXMgc2hvdWxkIGJlIHJlcGxhY2VkIGlmIHRoZSBBdXRob3IgZG9lcyBub3QgZXhhY3RseSBtYXRjaC4gKi9cblx0cmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdGNhY2hlczoge1xuXHRcdC8qKiBXaGV0aGVyIHRvIGNhY2hlIHRoZSBzZWFyY2ggcmVzdWx0cy4gKi9cblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdC8qKiBUaGUgdGltZSB0byBjYWNoZSB0aGUgc2VhcmNoIHJlc3VsdHMuICovXG5cdFx0dGltZTogbnVtYmVyO1xuXHR9XG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBzZW5kIGRhdGEgdG8gdGhlIHdlYnNvY2tldC5cblx0ICogQHBhcmFtIGlkXG5cdCAqIEBwYXJhbSBwYXlsb2FkXG5cdCAqL1xuXHRzZW5kKGlkOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hQbGF0Zm9ybSA9IFwiZGVlemVyXCIgfCBcInNvdW5kY2xvdWRcIiB8IFwieW91dHViZSBtdXNpY1wiIHwgXCJ5b3V0dWJlXCIgfCBcInNwb3RpZnlcIiB8IFwiamlvc2Fhdm5cIiB8IFwidGlkYWxcIiB8IFwiYXBwbGVtdXNpY1wiIHwgXCJiYW5kY2FtcFwiIHwgXCJ0aWt0b2tcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hRdWVyeSB7XG5cdC8qKiBUaGUgc291cmNlIHRvIHNlYXJjaCBmcm9tLiAqL1xuXHRzb3VyY2U/OiBTZWFyY2hQbGF0Zm9ybSB8IHN0cmluZztcblx0LyoqIFRoZSBxdWVyeSB0byBzZWFyY2ggZm9yLiAqL1xuXHRxdWVyeTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhdmFsaW5rUmVzcG9uc2Uge1xuXHRsb2FkVHlwZTogTG9hZFR5cGU7XG5cdGRhdGE6IFRyYWNrRGF0YVtdIHwgUGxheWxpc3RSYXdEYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdCB7XG5cdC8qKiBUaGUgbG9hZCB0eXBlIG9mIHRoZSByZXN1bHQuICovXG5cdGxvYWRUeXBlOiBMb2FkVHlwZTtcblx0LyoqIFRoZSBhcnJheSBvZiB0cmFja3MgZnJvbSB0aGUgcmVzdWx0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG5cdC8qKiBUaGUgcGxheWxpc3QgaW5mbyBpZiB0aGUgbG9hZCB0eXBlIGlzICdwbGF5bGlzdCcuICovXG5cdHBsYXlsaXN0PzogUGxheWxpc3REYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0UmF3RGF0YSB7XG5cdGluZm86IHtcblx0XHQvKiogVGhlIHBsYXlsaXN0IG5hbWUuICovXG5cdFx0bmFtZTogc3RyaW5nO1xuXHR9O1xuXHQvKiogQWRkaXRpb24gaW5mbyBwcm92aWRlZCBieSBwbHVnaW5zLiAqL1xuXHRwbHVnaW5JbmZvOiBvYmplY3Q7XG5cdC8qKiBUaGUgdHJhY2tzIG9mIHRoZSBwbGF5bGlzdCAqL1xuXHR0cmFja3M6IFRyYWNrRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXlsaXN0RGF0YSB7XG5cdC8qKiBUaGUgcGxheWxpc3QgbmFtZS4gKi9cblx0bmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIGxlbmd0aCBvZiB0aGUgcGxheWxpc3QuICovXG5cdGR1cmF0aW9uOiBudW1iZXI7XG5cdC8qKiBUaGUgc29uZ3Mgb2YgdGhlIHBsYXlsaXN0LiAqL1xuXHR0cmFja3M6IFRyYWNrW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlckV2ZW50cyB7XG5cdE5vZGVDcmVhdGU6IChub2RlOiBOb2RlKSA9PiB2b2lkO1xuXHROb2RlRGVzdHJveTogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVDb25uZWN0OiAobm9kZTogTm9kZSkgPT4gdm9pZDtcblx0Tm9kZVJlY29ubmVjdDogKG5vZGU6IE5vZGUpID0+IHZvaWQ7XG5cdE5vZGVEaXNjb25uZWN0OiAobm9kZTogTm9kZSwgcmVhc29uOiB7IGNvZGU/OiBudW1iZXI7IHJlYXNvbj86IHN0cmluZyB9KSA9PiB2b2lkO1xuXHROb2RlRXJyb3I6IChub2RlOiBOb2RlLCBlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG5cdE5vZGVSYXc6IChwYXlsb2FkOiB1bmtub3duKSA9PiB2b2lkO1xuXHRQbGF5ZXJDcmVhdGU6IChwbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyRGVzdHJveTogKHBsYXllcjogUGxheWVyKSA9PiB2b2lkO1xuXHRQbGF5ZXJTdGF0ZVVwZGF0ZTogKG9sZFBsYXllcjogUGxheWVyLCBuZXdQbGF5ZXI6IFBsYXllcikgPT4gdm9pZDtcblx0UGxheWVyTW92ZTogKHBsYXllcjogUGxheWVyLCBpbml0Q2hhbm5lbDogc3RyaW5nLCBuZXdDaGFubmVsOiBzdHJpbmcpID0+IHZvaWQ7XG5cdFBsYXllckRpc2Nvbm5lY3Q6IChwbGF5ZXI6IFBsYXllciwgb2xkQ2hhbm5lbDogc3RyaW5nKSA9PiB2b2lkO1xuXHRRdWV1ZUVuZDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2sgfCBVbnJlc29sdmVkVHJhY2ssIHBheWxvYWQ6IFRyYWNrRW5kRXZlbnQpID0+IHZvaWQ7XG5cdFNvY2tldENsb3NlZDogKHBsYXllcjogUGxheWVyLCBwYXlsb2FkOiBXZWJTb2NrZXRDbG9zZWRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tTdGFydDogKHBsYXllcjogUGxheWVyLCB0cmFjazogVHJhY2ssIHBheWxvYWQ6IFRyYWNrU3RhcnRFdmVudCkgPT4gdm9pZDtcblx0VHJhY2tFbmQ6IChwbGF5ZXI6IFBsYXllciwgdHJhY2s6IFRyYWNrLCBwYXlsb2FkOiBUcmFja0VuZEV2ZW50KSA9PiB2b2lkO1xuXHRUcmFja1N0dWNrOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjaywgcGF5bG9hZDogVHJhY2tTdHVja0V2ZW50KSA9PiB2b2lkO1xuXHRUcmFja0Vycm9yOiAocGxheWVyOiBQbGF5ZXIsIHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGF5bG9hZDogVHJhY2tFeGNlcHRpb25FdmVudCkgPT4gdm9pZDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBY0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQWtDLFNBQUFJLHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLG9CQUFBLGtCQXJCbEMscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFSLENBQUEsU0FBQVMsQ0FBQSxFQUFBVCxDQUFBLE9BQUFVLENBQUEsR0FBQUMsTUFBQSxDQUFBSixTQUFBLEVBQUFLLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxjQUFBLEVBQUFWLENBQUEsR0FBQVEsTUFBQSxDQUFBRyxjQUFBLGNBQUFMLENBQUEsRUFBQVQsQ0FBQSxFQUFBVSxDQUFBLElBQUFELENBQUEsQ0FBQVQsQ0FBQSxJQUFBVSxDQUFBLENBQUFLLEtBQUEsS0FBQUMsQ0FBQSx3QkFBQVosTUFBQSxHQUFBQSxNQUFBLE9BQUFhLENBQUEsR0FBQUQsQ0FBQSxDQUFBWCxRQUFBLGtCQUFBYSxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsYUFBQSx1QkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLE9BQUFiLENBQUEsRUFBQVQsQ0FBQSxFQUFBVSxDQUFBLFdBQUFDLE1BQUEsQ0FBQUcsY0FBQSxDQUFBTCxDQUFBLEVBQUFULENBQUEsSUFBQWUsS0FBQSxFQUFBTCxDQUFBLEVBQUFhLFVBQUEsTUFBQUMsWUFBQSxNQUFBQyxRQUFBLFNBQUFoQixDQUFBLENBQUFULENBQUEsV0FBQXNCLE1BQUEsbUJBQUFiLENBQUEsSUFBQWEsTUFBQSxZQUFBQSxPQUFBYixDQUFBLEVBQUFULENBQUEsRUFBQVUsQ0FBQSxXQUFBRCxDQUFBLENBQUFULENBQUEsSUFBQVUsQ0FBQSxnQkFBQWdCLEtBQUFqQixDQUFBLEVBQUFULENBQUEsRUFBQVUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFJLENBQUEsR0FBQWhCLENBQUEsSUFBQUEsQ0FBQSxDQUFBTyxTQUFBLFlBQUFvQixTQUFBLEdBQUEzQixDQUFBLEdBQUEyQixTQUFBLEVBQUFWLENBQUEsR0FBQU4sTUFBQSxDQUFBaUIsTUFBQSxDQUFBWixDQUFBLENBQUFULFNBQUEsR0FBQVcsQ0FBQSxPQUFBVyxPQUFBLENBQUFqQixDQUFBLGdCQUFBVCxDQUFBLENBQUFjLENBQUEsZUFBQUYsS0FBQSxFQUFBZSxnQkFBQSxDQUFBckIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLENBQUEsTUFBQUQsQ0FBQSxhQUFBYyxTQUFBdEIsQ0FBQSxFQUFBVCxDQUFBLEVBQUFVLENBQUEsbUJBQUFzQixJQUFBLFlBQUFDLEdBQUEsRUFBQXhCLENBQUEsQ0FBQXlCLElBQUEsQ0FBQWxDLENBQUEsRUFBQVUsQ0FBQSxjQUFBRCxDQUFBLGFBQUF1QixJQUFBLFdBQUFDLEdBQUEsRUFBQXhCLENBQUEsUUFBQVQsQ0FBQSxDQUFBMEIsSUFBQSxHQUFBQSxJQUFBLE1BQUFTLENBQUEscUJBQUFDLENBQUEscUJBQUFDLENBQUEsZ0JBQUFDLENBQUEsZ0JBQUFDLENBQUEsZ0JBQUFaLFVBQUEsY0FBQWEsa0JBQUEsY0FBQUMsMkJBQUEsU0FBQUMsQ0FBQSxPQUFBcEIsTUFBQSxDQUFBb0IsQ0FBQSxFQUFBekIsQ0FBQSxxQ0FBQTBCLENBQUEsR0FBQWhDLE1BQUEsQ0FBQWlDLGNBQUEsRUFBQUMsQ0FBQSxHQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUEsQ0FBQSxDQUFBRyxNQUFBLFFBQUFELENBQUEsSUFBQUEsQ0FBQSxLQUFBbkMsQ0FBQSxJQUFBRSxDQUFBLENBQUFzQixJQUFBLENBQUFXLENBQUEsRUFBQTVCLENBQUEsTUFBQXlCLENBQUEsR0FBQUcsQ0FBQSxPQUFBRSxDQUFBLEdBQUFOLDBCQUFBLENBQUFsQyxTQUFBLEdBQUFvQixTQUFBLENBQUFwQixTQUFBLEdBQUFJLE1BQUEsQ0FBQWlCLE1BQUEsQ0FBQWMsQ0FBQSxZQUFBTSxzQkFBQXZDLENBQUEsZ0NBQUF3QyxPQUFBLFdBQUFqRCxDQUFBLElBQUFzQixNQUFBLENBQUFiLENBQUEsRUFBQVQsQ0FBQSxZQUFBUyxDQUFBLGdCQUFBeUMsT0FBQSxDQUFBbEQsQ0FBQSxFQUFBUyxDQUFBLHNCQUFBMEMsY0FBQTFDLENBQUEsRUFBQVQsQ0FBQSxhQUFBb0QsT0FBQTFDLENBQUEsRUFBQVAsQ0FBQSxFQUFBYSxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBYSxRQUFBLENBQUF0QixDQUFBLENBQUFDLENBQUEsR0FBQUQsQ0FBQSxFQUFBTixDQUFBLG1CQUFBZSxDQUFBLENBQUFjLElBQUEsUUFBQVosQ0FBQSxHQUFBRixDQUFBLENBQUFlLEdBQUEsRUFBQUUsQ0FBQSxHQUFBZixDQUFBLENBQUFMLEtBQUEsU0FBQW9CLENBQUEsZ0JBQUFqQyxPQUFBLENBQUFpQyxDQUFBLEtBQUF2QixDQUFBLENBQUFzQixJQUFBLENBQUFDLENBQUEsZUFBQW5DLENBQUEsQ0FBQXFELE9BQUEsQ0FBQWxCLENBQUEsQ0FBQW1CLE9BQUEsRUFBQUMsSUFBQSxXQUFBOUMsQ0FBQSxJQUFBMkMsTUFBQSxTQUFBM0MsQ0FBQSxFQUFBTyxDQUFBLEVBQUFDLENBQUEsZ0JBQUFSLENBQUEsSUFBQTJDLE1BQUEsVUFBQTNDLENBQUEsRUFBQU8sQ0FBQSxFQUFBQyxDQUFBLFFBQUFqQixDQUFBLENBQUFxRCxPQUFBLENBQUFsQixDQUFBLEVBQUFvQixJQUFBLFdBQUE5QyxDQUFBLElBQUFXLENBQUEsQ0FBQUwsS0FBQSxHQUFBTixDQUFBLEVBQUFPLENBQUEsQ0FBQUksQ0FBQSxnQkFBQVgsQ0FBQSxXQUFBMkMsTUFBQSxVQUFBM0MsQ0FBQSxFQUFBTyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxDQUFBQyxDQUFBLENBQUFlLEdBQUEsU0FBQXZCLENBQUEsRUFBQVAsQ0FBQSxvQkFBQVksS0FBQSxXQUFBQSxNQUFBTixDQUFBLEVBQUFHLENBQUEsYUFBQTRDLDJCQUFBLGVBQUF4RCxDQUFBLFdBQUFBLENBQUEsRUFBQVUsQ0FBQSxJQUFBMEMsTUFBQSxDQUFBM0MsQ0FBQSxFQUFBRyxDQUFBLEVBQUFaLENBQUEsRUFBQVUsQ0FBQSxnQkFBQUEsQ0FBQSxHQUFBQSxDQUFBLEdBQUFBLENBQUEsQ0FBQTZDLElBQUEsQ0FBQUMsMEJBQUEsRUFBQUEsMEJBQUEsSUFBQUEsMEJBQUEscUJBQUExQixpQkFBQTlCLENBQUEsRUFBQVUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFULENBQUEsR0FBQWdDLENBQUEsbUJBQUFuQixDQUFBLEVBQUFDLENBQUEsUUFBQWQsQ0FBQSxLQUFBa0MsQ0FBQSxRQUFBb0IsS0FBQSxzQ0FBQXRELENBQUEsS0FBQW1DLENBQUEsb0JBQUF0QixDQUFBLFFBQUFDLENBQUEsV0FBQUYsS0FBQSxFQUFBTixDQUFBLEVBQUFpRCxJQUFBLGVBQUE5QyxDQUFBLENBQUErQyxNQUFBLEdBQUEzQyxDQUFBLEVBQUFKLENBQUEsQ0FBQXFCLEdBQUEsR0FBQWhCLENBQUEsVUFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFnRCxRQUFBLE1BQUExQyxDQUFBLFFBQUFFLENBQUEsR0FBQXlDLG1CQUFBLENBQUEzQyxDQUFBLEVBQUFOLENBQUEsT0FBQVEsQ0FBQSxRQUFBQSxDQUFBLEtBQUFtQixDQUFBLG1CQUFBbkIsQ0FBQSxxQkFBQVIsQ0FBQSxDQUFBK0MsTUFBQSxFQUFBL0MsQ0FBQSxDQUFBa0QsSUFBQSxHQUFBbEQsQ0FBQSxDQUFBbUQsS0FBQSxHQUFBbkQsQ0FBQSxDQUFBcUIsR0FBQSxzQkFBQXJCLENBQUEsQ0FBQStDLE1BQUEsUUFBQXhELENBQUEsS0FBQWdDLENBQUEsUUFBQWhDLENBQUEsR0FBQW1DLENBQUEsRUFBQTFCLENBQUEsQ0FBQXFCLEdBQUEsRUFBQXJCLENBQUEsQ0FBQW9ELGlCQUFBLENBQUFwRCxDQUFBLENBQUFxQixHQUFBLHVCQUFBckIsQ0FBQSxDQUFBK0MsTUFBQSxJQUFBL0MsQ0FBQSxDQUFBcUQsTUFBQSxXQUFBckQsQ0FBQSxDQUFBcUIsR0FBQSxHQUFBOUIsQ0FBQSxHQUFBa0MsQ0FBQSxNQUFBSyxDQUFBLEdBQUFYLFFBQUEsQ0FBQS9CLENBQUEsRUFBQVUsQ0FBQSxFQUFBRSxDQUFBLG9CQUFBOEIsQ0FBQSxDQUFBVixJQUFBLFFBQUE3QixDQUFBLEdBQUFTLENBQUEsQ0FBQThDLElBQUEsR0FBQXBCLENBQUEsR0FBQUYsQ0FBQSxFQUFBTSxDQUFBLENBQUFULEdBQUEsS0FBQU0sQ0FBQSxxQkFBQXhCLEtBQUEsRUFBQTJCLENBQUEsQ0FBQVQsR0FBQSxFQUFBeUIsSUFBQSxFQUFBOUMsQ0FBQSxDQUFBOEMsSUFBQSxrQkFBQWhCLENBQUEsQ0FBQVYsSUFBQSxLQUFBN0IsQ0FBQSxHQUFBbUMsQ0FBQSxFQUFBMUIsQ0FBQSxDQUFBK0MsTUFBQSxZQUFBL0MsQ0FBQSxDQUFBcUIsR0FBQSxHQUFBUyxDQUFBLENBQUFULEdBQUEsbUJBQUE0QixvQkFBQTdELENBQUEsRUFBQVUsQ0FBQSxRQUFBRSxDQUFBLEdBQUFGLENBQUEsQ0FBQWlELE1BQUEsRUFBQXhELENBQUEsR0FBQUgsQ0FBQSxDQUFBSyxRQUFBLENBQUFPLENBQUEsT0FBQVQsQ0FBQSxLQUFBTSxDQUFBLFNBQUFDLENBQUEsQ0FBQWtELFFBQUEscUJBQUFoRCxDQUFBLElBQUFaLENBQUEsQ0FBQUssUUFBQSxlQUFBSyxDQUFBLENBQUFpRCxNQUFBLGFBQUFqRCxDQUFBLENBQUF1QixHQUFBLEdBQUF4QixDQUFBLEVBQUFvRCxtQkFBQSxDQUFBN0QsQ0FBQSxFQUFBVSxDQUFBLGVBQUFBLENBQUEsQ0FBQWlELE1BQUEsa0JBQUEvQyxDQUFBLEtBQUFGLENBQUEsQ0FBQWlELE1BQUEsWUFBQWpELENBQUEsQ0FBQXVCLEdBQUEsT0FBQWlDLFNBQUEsdUNBQUF0RCxDQUFBLGlCQUFBMkIsQ0FBQSxNQUFBdkIsQ0FBQSxHQUFBZSxRQUFBLENBQUE1QixDQUFBLEVBQUFILENBQUEsQ0FBQUssUUFBQSxFQUFBSyxDQUFBLENBQUF1QixHQUFBLG1CQUFBakIsQ0FBQSxDQUFBZ0IsSUFBQSxTQUFBdEIsQ0FBQSxDQUFBaUQsTUFBQSxZQUFBakQsQ0FBQSxDQUFBdUIsR0FBQSxHQUFBakIsQ0FBQSxDQUFBaUIsR0FBQSxFQUFBdkIsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxNQUFBdEIsQ0FBQSxHQUFBRCxDQUFBLENBQUFpQixHQUFBLFNBQUFoQixDQUFBLEdBQUFBLENBQUEsQ0FBQXlDLElBQUEsSUFBQWhELENBQUEsQ0FBQVYsQ0FBQSxDQUFBbUUsVUFBQSxJQUFBbEQsQ0FBQSxDQUFBRixLQUFBLEVBQUFMLENBQUEsQ0FBQTBELElBQUEsR0FBQXBFLENBQUEsQ0FBQXFFLE9BQUEsZUFBQTNELENBQUEsQ0FBQWlELE1BQUEsS0FBQWpELENBQUEsQ0FBQWlELE1BQUEsV0FBQWpELENBQUEsQ0FBQXVCLEdBQUEsR0FBQXhCLENBQUEsR0FBQUMsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxJQUFBdEIsQ0FBQSxJQUFBUCxDQUFBLENBQUFpRCxNQUFBLFlBQUFqRCxDQUFBLENBQUF1QixHQUFBLE9BQUFpQyxTQUFBLHNDQUFBeEQsQ0FBQSxDQUFBa0QsUUFBQSxTQUFBckIsQ0FBQSxjQUFBK0IsYUFBQTdELENBQUEsUUFBQVQsQ0FBQSxLQUFBdUUsTUFBQSxFQUFBOUQsQ0FBQSxZQUFBQSxDQUFBLEtBQUFULENBQUEsQ0FBQXdFLFFBQUEsR0FBQS9ELENBQUEsV0FBQUEsQ0FBQSxLQUFBVCxDQUFBLENBQUF5RSxVQUFBLEdBQUFoRSxDQUFBLEtBQUFULENBQUEsQ0FBQTBFLFFBQUEsR0FBQWpFLENBQUEsV0FBQWtFLFVBQUEsQ0FBQUMsSUFBQSxDQUFBNUUsQ0FBQSxjQUFBNkUsY0FBQXBFLENBQUEsUUFBQVQsQ0FBQSxHQUFBUyxDQUFBLENBQUFxRSxVQUFBLFFBQUE5RSxDQUFBLENBQUFnQyxJQUFBLG9CQUFBaEMsQ0FBQSxDQUFBaUMsR0FBQSxFQUFBeEIsQ0FBQSxDQUFBcUUsVUFBQSxHQUFBOUUsQ0FBQSxhQUFBNkIsUUFBQXBCLENBQUEsU0FBQWtFLFVBQUEsTUFBQUosTUFBQSxhQUFBOUQsQ0FBQSxDQUFBd0MsT0FBQSxDQUFBcUIsWUFBQSxjQUFBUyxLQUFBLGlCQUFBakMsT0FBQTlDLENBQUEsUUFBQUEsQ0FBQSxXQUFBQSxDQUFBLFFBQUFVLENBQUEsR0FBQVYsQ0FBQSxDQUFBaUIsQ0FBQSxPQUFBUCxDQUFBLFNBQUFBLENBQUEsQ0FBQXdCLElBQUEsQ0FBQWxDLENBQUEsNEJBQUFBLENBQUEsQ0FBQW9FLElBQUEsU0FBQXBFLENBQUEsT0FBQWdGLEtBQUEsQ0FBQWhGLENBQUEsQ0FBQWlGLE1BQUEsU0FBQTlFLENBQUEsT0FBQWEsQ0FBQSxZQUFBb0QsS0FBQSxhQUFBakUsQ0FBQSxHQUFBSCxDQUFBLENBQUFpRixNQUFBLE9BQUFyRSxDQUFBLENBQUFzQixJQUFBLENBQUFsQyxDQUFBLEVBQUFHLENBQUEsVUFBQWlFLElBQUEsQ0FBQXJELEtBQUEsR0FBQWYsQ0FBQSxDQUFBRyxDQUFBLEdBQUFpRSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxTQUFBQSxJQUFBLENBQUFyRCxLQUFBLEdBQUFOLENBQUEsRUFBQTJELElBQUEsQ0FBQVYsSUFBQSxPQUFBVSxJQUFBLFlBQUFwRCxDQUFBLENBQUFvRCxJQUFBLEdBQUFwRCxDQUFBLGdCQUFBa0QsU0FBQSxDQUFBaEUsT0FBQSxDQUFBRixDQUFBLGtDQUFBd0MsaUJBQUEsQ0FBQWpDLFNBQUEsR0FBQWtDLDBCQUFBLEVBQUF0QyxDQUFBLENBQUE0QyxDQUFBLG1CQUFBaEMsS0FBQSxFQUFBMEIsMEJBQUEsRUFBQWpCLFlBQUEsU0FBQXJCLENBQUEsQ0FBQXNDLDBCQUFBLG1CQUFBMUIsS0FBQSxFQUFBeUIsaUJBQUEsRUFBQWhCLFlBQUEsU0FBQWdCLGlCQUFBLENBQUEwQyxXQUFBLEdBQUE1RCxNQUFBLENBQUFtQiwwQkFBQSxFQUFBckIsQ0FBQSx3QkFBQXBCLENBQUEsQ0FBQW1GLG1CQUFBLGFBQUExRSxDQUFBLFFBQUFULENBQUEsd0JBQUFTLENBQUEsSUFBQUEsQ0FBQSxDQUFBSCxXQUFBLFdBQUFOLENBQUEsS0FBQUEsQ0FBQSxLQUFBd0MsaUJBQUEsNkJBQUF4QyxDQUFBLENBQUFrRixXQUFBLElBQUFsRixDQUFBLENBQUFvRixJQUFBLE9BQUFwRixDQUFBLENBQUFxRixJQUFBLGFBQUE1RSxDQUFBLFdBQUFFLE1BQUEsQ0FBQTJFLGNBQUEsR0FBQTNFLE1BQUEsQ0FBQTJFLGNBQUEsQ0FBQTdFLENBQUEsRUFBQWdDLDBCQUFBLEtBQUFoQyxDQUFBLENBQUE4RSxTQUFBLEdBQUE5QywwQkFBQSxFQUFBbkIsTUFBQSxDQUFBYixDQUFBLEVBQUFXLENBQUEseUJBQUFYLENBQUEsQ0FBQUYsU0FBQSxHQUFBSSxNQUFBLENBQUFpQixNQUFBLENBQUFtQixDQUFBLEdBQUF0QyxDQUFBLEtBQUFULENBQUEsQ0FBQXdGLEtBQUEsYUFBQS9FLENBQUEsYUFBQTZDLE9BQUEsRUFBQTdDLENBQUEsT0FBQXVDLHFCQUFBLENBQUFHLGFBQUEsQ0FBQTVDLFNBQUEsR0FBQWUsTUFBQSxDQUFBNkIsYUFBQSxDQUFBNUMsU0FBQSxFQUFBVyxDQUFBLGlDQUFBbEIsQ0FBQSxDQUFBbUQsYUFBQSxHQUFBQSxhQUFBLEVBQUFuRCxDQUFBLENBQUF5RixLQUFBLGFBQUFoRixDQUFBLEVBQUFDLENBQUEsRUFBQUUsQ0FBQSxFQUFBVCxDQUFBLEVBQUFhLENBQUEsZUFBQUEsQ0FBQSxLQUFBQSxDQUFBLEdBQUEwRSxPQUFBLE9BQUF6RSxDQUFBLE9BQUFrQyxhQUFBLENBQUF6QixJQUFBLENBQUFqQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsQ0FBQSxFQUFBVCxDQUFBLEdBQUFhLENBQUEsVUFBQWhCLENBQUEsQ0FBQW1GLG1CQUFBLENBQUF6RSxDQUFBLElBQUFPLENBQUEsR0FBQUEsQ0FBQSxDQUFBbUQsSUFBQSxHQUFBYixJQUFBLFdBQUE5QyxDQUFBLFdBQUFBLENBQUEsQ0FBQWlELElBQUEsR0FBQWpELENBQUEsQ0FBQU0sS0FBQSxHQUFBRSxDQUFBLENBQUFtRCxJQUFBLFdBQUFwQixxQkFBQSxDQUFBRCxDQUFBLEdBQUF6QixNQUFBLENBQUF5QixDQUFBLEVBQUEzQixDQUFBLGdCQUFBRSxNQUFBLENBQUF5QixDQUFBLEVBQUE5QixDQUFBLGlDQUFBSyxNQUFBLENBQUF5QixDQUFBLDZEQUFBL0MsQ0FBQSxDQUFBMkYsSUFBQSxhQUFBbEYsQ0FBQSxRQUFBVCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUYsQ0FBQSxHQUFBQyxDQUFBLGdCQUFBRSxDQUFBLElBQUFaLENBQUEsRUFBQVUsQ0FBQSxDQUFBa0UsSUFBQSxDQUFBaEUsQ0FBQSxVQUFBRixDQUFBLENBQUFrRixPQUFBLGFBQUF4QixLQUFBLFdBQUExRCxDQUFBLENBQUF1RSxNQUFBLFNBQUF4RSxDQUFBLEdBQUFDLENBQUEsQ0FBQW1GLEdBQUEsUUFBQXBGLENBQUEsSUFBQVQsQ0FBQSxTQUFBb0UsSUFBQSxDQUFBckQsS0FBQSxHQUFBTixDQUFBLEVBQUEyRCxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxXQUFBQSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxRQUFBcEUsQ0FBQSxDQUFBOEMsTUFBQSxHQUFBQSxNQUFBLEVBQUFqQixPQUFBLENBQUF0QixTQUFBLEtBQUFELFdBQUEsRUFBQXVCLE9BQUEsRUFBQWtELEtBQUEsV0FBQUEsTUFBQS9FLENBQUEsYUFBQThGLElBQUEsV0FBQTFCLElBQUEsV0FBQU4sSUFBQSxRQUFBQyxLQUFBLEdBQUF0RCxDQUFBLE9BQUFpRCxJQUFBLFlBQUFFLFFBQUEsY0FBQUQsTUFBQSxnQkFBQTFCLEdBQUEsR0FBQXhCLENBQUEsT0FBQWtFLFVBQUEsQ0FBQTFCLE9BQUEsQ0FBQTRCLGFBQUEsSUFBQTdFLENBQUEsV0FBQVUsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBcUYsTUFBQSxPQUFBbkYsQ0FBQSxDQUFBc0IsSUFBQSxPQUFBeEIsQ0FBQSxNQUFBc0UsS0FBQSxFQUFBdEUsQ0FBQSxDQUFBc0YsS0FBQSxjQUFBdEYsQ0FBQSxJQUFBRCxDQUFBLE1BQUF3RixJQUFBLFdBQUFBLEtBQUEsU0FBQXZDLElBQUEsV0FBQWpELENBQUEsUUFBQWtFLFVBQUEsSUFBQUcsVUFBQSxrQkFBQXJFLENBQUEsQ0FBQXVCLElBQUEsUUFBQXZCLENBQUEsQ0FBQXdCLEdBQUEsY0FBQWlFLElBQUEsS0FBQWxDLGlCQUFBLFdBQUFBLGtCQUFBaEUsQ0FBQSxhQUFBMEQsSUFBQSxRQUFBMUQsQ0FBQSxNQUFBVSxDQUFBLGtCQUFBeUYsT0FBQXZGLENBQUEsRUFBQVQsQ0FBQSxXQUFBYyxDQUFBLENBQUFlLElBQUEsWUFBQWYsQ0FBQSxDQUFBZ0IsR0FBQSxHQUFBakMsQ0FBQSxFQUFBVSxDQUFBLENBQUEwRCxJQUFBLEdBQUF4RCxDQUFBLEVBQUFULENBQUEsS0FBQU8sQ0FBQSxDQUFBaUQsTUFBQSxXQUFBakQsQ0FBQSxDQUFBdUIsR0FBQSxHQUFBeEIsQ0FBQSxLQUFBTixDQUFBLGFBQUFBLENBQUEsUUFBQXdFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBOUUsQ0FBQSxTQUFBQSxDQUFBLFFBQUFhLENBQUEsUUFBQTJELFVBQUEsQ0FBQXhFLENBQUEsR0FBQWMsQ0FBQSxHQUFBRCxDQUFBLENBQUE4RCxVQUFBLGlCQUFBOUQsQ0FBQSxDQUFBdUQsTUFBQSxTQUFBNEIsTUFBQSxhQUFBbkYsQ0FBQSxDQUFBdUQsTUFBQSxTQUFBdUIsSUFBQSxRQUFBNUUsQ0FBQSxHQUFBTixDQUFBLENBQUFzQixJQUFBLENBQUFsQixDQUFBLGVBQUFJLENBQUEsR0FBQVIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBbEIsQ0FBQSxxQkFBQUUsQ0FBQSxJQUFBRSxDQUFBLGFBQUEwRSxJQUFBLEdBQUE5RSxDQUFBLENBQUF3RCxRQUFBLFNBQUEyQixNQUFBLENBQUFuRixDQUFBLENBQUF3RCxRQUFBLGdCQUFBc0IsSUFBQSxHQUFBOUUsQ0FBQSxDQUFBeUQsVUFBQSxTQUFBMEIsTUFBQSxDQUFBbkYsQ0FBQSxDQUFBeUQsVUFBQSxjQUFBdkQsQ0FBQSxhQUFBNEUsSUFBQSxHQUFBOUUsQ0FBQSxDQUFBd0QsUUFBQSxTQUFBMkIsTUFBQSxDQUFBbkYsQ0FBQSxDQUFBd0QsUUFBQSxxQkFBQXBELENBQUEsUUFBQXFDLEtBQUEscURBQUFxQyxJQUFBLEdBQUE5RSxDQUFBLENBQUF5RCxVQUFBLFNBQUEwQixNQUFBLENBQUFuRixDQUFBLENBQUF5RCxVQUFBLFlBQUFSLE1BQUEsV0FBQUEsT0FBQXhELENBQUEsRUFBQVQsQ0FBQSxhQUFBVSxDQUFBLFFBQUFpRSxVQUFBLENBQUFNLE1BQUEsTUFBQXZFLENBQUEsU0FBQUEsQ0FBQSxRQUFBUCxDQUFBLFFBQUF3RSxVQUFBLENBQUFqRSxDQUFBLE9BQUFQLENBQUEsQ0FBQW9FLE1BQUEsU0FBQXVCLElBQUEsSUFBQWxGLENBQUEsQ0FBQXNCLElBQUEsQ0FBQS9CLENBQUEsd0JBQUEyRixJQUFBLEdBQUEzRixDQUFBLENBQUFzRSxVQUFBLFFBQUF6RCxDQUFBLEdBQUFiLENBQUEsYUFBQWEsQ0FBQSxpQkFBQVAsQ0FBQSxtQkFBQUEsQ0FBQSxLQUFBTyxDQUFBLENBQUF1RCxNQUFBLElBQUF2RSxDQUFBLElBQUFBLENBQUEsSUFBQWdCLENBQUEsQ0FBQXlELFVBQUEsS0FBQXpELENBQUEsY0FBQUMsQ0FBQSxHQUFBRCxDQUFBLEdBQUFBLENBQUEsQ0FBQThELFVBQUEsY0FBQTdELENBQUEsQ0FBQWUsSUFBQSxHQUFBdkIsQ0FBQSxFQUFBUSxDQUFBLENBQUFnQixHQUFBLEdBQUFqQyxDQUFBLEVBQUFnQixDQUFBLFNBQUEyQyxNQUFBLGdCQUFBUyxJQUFBLEdBQUFwRCxDQUFBLENBQUF5RCxVQUFBLEVBQUFsQyxDQUFBLFNBQUE2RCxRQUFBLENBQUFuRixDQUFBLE1BQUFtRixRQUFBLFdBQUFBLFNBQUEzRixDQUFBLEVBQUFULENBQUEsb0JBQUFTLENBQUEsQ0FBQXVCLElBQUEsUUFBQXZCLENBQUEsQ0FBQXdCLEdBQUEscUJBQUF4QixDQUFBLENBQUF1QixJQUFBLG1CQUFBdkIsQ0FBQSxDQUFBdUIsSUFBQSxRQUFBb0MsSUFBQSxHQUFBM0QsQ0FBQSxDQUFBd0IsR0FBQSxnQkFBQXhCLENBQUEsQ0FBQXVCLElBQUEsU0FBQWtFLElBQUEsUUFBQWpFLEdBQUEsR0FBQXhCLENBQUEsQ0FBQXdCLEdBQUEsT0FBQTBCLE1BQUEsa0JBQUFTLElBQUEseUJBQUEzRCxDQUFBLENBQUF1QixJQUFBLElBQUFoQyxDQUFBLFVBQUFvRSxJQUFBLEdBQUFwRSxDQUFBLEdBQUF1QyxDQUFBLEtBQUE4RCxNQUFBLFdBQUFBLE9BQUE1RixDQUFBLGFBQUFULENBQUEsUUFBQTJFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBakYsQ0FBQSxTQUFBQSxDQUFBLFFBQUFVLENBQUEsUUFBQWlFLFVBQUEsQ0FBQTNFLENBQUEsT0FBQVUsQ0FBQSxDQUFBK0QsVUFBQSxLQUFBaEUsQ0FBQSxjQUFBMkYsUUFBQSxDQUFBMUYsQ0FBQSxDQUFBb0UsVUFBQSxFQUFBcEUsQ0FBQSxDQUFBZ0UsUUFBQSxHQUFBRyxhQUFBLENBQUFuRSxDQUFBLEdBQUE2QixDQUFBLHlCQUFBK0QsT0FBQTdGLENBQUEsYUFBQVQsQ0FBQSxRQUFBMkUsVUFBQSxDQUFBTSxNQUFBLE1BQUFqRixDQUFBLFNBQUFBLENBQUEsUUFBQVUsQ0FBQSxRQUFBaUUsVUFBQSxDQUFBM0UsQ0FBQSxPQUFBVSxDQUFBLENBQUE2RCxNQUFBLEtBQUE5RCxDQUFBLFFBQUFHLENBQUEsR0FBQUYsQ0FBQSxDQUFBb0UsVUFBQSxrQkFBQWxFLENBQUEsQ0FBQW9CLElBQUEsUUFBQTdCLENBQUEsR0FBQVMsQ0FBQSxDQUFBcUIsR0FBQSxFQUFBNEMsYUFBQSxDQUFBbkUsQ0FBQSxZQUFBUCxDQUFBLFlBQUFzRCxLQUFBLDhCQUFBOEMsYUFBQSxXQUFBQSxjQUFBdkcsQ0FBQSxFQUFBVSxDQUFBLEVBQUFFLENBQUEsZ0JBQUFnRCxRQUFBLEtBQUF2RCxRQUFBLEVBQUF5QyxNQUFBLENBQUE5QyxDQUFBLEdBQUFtRSxVQUFBLEVBQUF6RCxDQUFBLEVBQUEyRCxPQUFBLEVBQUF6RCxDQUFBLG9CQUFBK0MsTUFBQSxVQUFBMUIsR0FBQSxHQUFBeEIsQ0FBQSxHQUFBOEIsQ0FBQSxPQUFBdkMsQ0FBQTtBQUFBLFNBQUF3RyxtQkFBQTVGLENBQUEsRUFBQUgsQ0FBQSxFQUFBVCxDQUFBLEVBQUFVLENBQUEsRUFBQVAsQ0FBQSxFQUFBYyxDQUFBLEVBQUFDLENBQUEsY0FBQUYsQ0FBQSxHQUFBSixDQUFBLENBQUFLLENBQUEsRUFBQUMsQ0FBQSxHQUFBRSxDQUFBLEdBQUFKLENBQUEsQ0FBQUQsS0FBQSxXQUFBSCxDQUFBLGdCQUFBWixDQUFBLENBQUFZLENBQUEsS0FBQUksQ0FBQSxDQUFBMEMsSUFBQSxHQUFBakQsQ0FBQSxDQUFBVyxDQUFBLElBQUFzRSxPQUFBLENBQUFyQyxPQUFBLENBQUFqQyxDQUFBLEVBQUFtQyxJQUFBLENBQUE3QyxDQUFBLEVBQUFQLENBQUE7QUFBQSxTQUFBc0csa0JBQUE3RixDQUFBLDZCQUFBSCxDQUFBLFNBQUFULENBQUEsR0FBQTBHLFNBQUEsYUFBQWhCLE9BQUEsV0FBQWhGLENBQUEsRUFBQVAsQ0FBQSxRQUFBYyxDQUFBLEdBQUFMLENBQUEsQ0FBQStGLEtBQUEsQ0FBQWxHLENBQUEsRUFBQVQsQ0FBQSxZQUFBNEcsTUFBQWhHLENBQUEsSUFBQTRGLGtCQUFBLENBQUF2RixDQUFBLEVBQUFQLENBQUEsRUFBQVAsQ0FBQSxFQUFBeUcsS0FBQSxFQUFBQyxNQUFBLFVBQUFqRyxDQUFBLGNBQUFpRyxPQUFBakcsQ0FBQSxJQUFBNEYsa0JBQUEsQ0FBQXZGLENBQUEsRUFBQVAsQ0FBQSxFQUFBUCxDQUFBLEVBQUF5RyxLQUFBLEVBQUFDLE1BQUEsV0FBQWpHLENBQUEsS0FBQWdHLEtBQUE7QUFBQSxTQUFBRSxlQUFBcEcsQ0FBQSxFQUFBVixDQUFBLFdBQUErRyxlQUFBLENBQUFyRyxDQUFBLEtBQUFzRyxxQkFBQSxDQUFBdEcsQ0FBQSxFQUFBVixDQUFBLEtBQUFpSCwyQkFBQSxDQUFBdkcsQ0FBQSxFQUFBVixDQUFBLEtBQUFrSCxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFoRCxTQUFBO0FBQUEsU0FBQThDLHNCQUFBdEcsQ0FBQSxFQUFBMEIsQ0FBQSxRQUFBM0IsQ0FBQSxXQUFBQyxDQUFBLGdDQUFBTixNQUFBLElBQUFNLENBQUEsQ0FBQU4sTUFBQSxDQUFBQyxRQUFBLEtBQUFLLENBQUEsNEJBQUFELENBQUEsUUFBQVQsQ0FBQSxFQUFBWSxDQUFBLEVBQUFJLENBQUEsRUFBQUksQ0FBQSxFQUFBSCxDQUFBLE9BQUFvQixDQUFBLE9BQUFsQyxDQUFBLGlCQUFBYSxDQUFBLElBQUFQLENBQUEsR0FBQUEsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBeEIsQ0FBQSxHQUFBMEQsSUFBQSxRQUFBaEMsQ0FBQSxRQUFBekIsTUFBQSxDQUFBRixDQUFBLE1BQUFBLENBQUEsVUFBQTRCLENBQUEsdUJBQUFBLENBQUEsSUFBQXJDLENBQUEsR0FBQWdCLENBQUEsQ0FBQWtCLElBQUEsQ0FBQXpCLENBQUEsR0FBQWlELElBQUEsTUFBQXpDLENBQUEsQ0FBQTJELElBQUEsQ0FBQTVFLENBQUEsQ0FBQWUsS0FBQSxHQUFBRSxDQUFBLENBQUFnRSxNQUFBLEtBQUE3QyxDQUFBLEdBQUFDLENBQUEsaUJBQUEzQixDQUFBLElBQUFQLENBQUEsT0FBQVMsQ0FBQSxHQUFBRixDQUFBLHlCQUFBMkIsQ0FBQSxZQUFBNUIsQ0FBQSxlQUFBVyxDQUFBLEdBQUFYLENBQUEsY0FBQUUsTUFBQSxDQUFBUyxDQUFBLE1BQUFBLENBQUEsMkJBQUFqQixDQUFBLFFBQUFTLENBQUEsYUFBQUssQ0FBQTtBQUFBLFNBQUE4RixnQkFBQXJHLENBQUEsUUFBQXlHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBMUcsQ0FBQSxVQUFBQSxDQUFBO0FBQUEsU0FBQTJHLDJCQUFBM0csQ0FBQSxFQUFBVixDQUFBLFFBQUFTLENBQUEseUJBQUFMLE1BQUEsSUFBQU0sQ0FBQSxDQUFBTixNQUFBLENBQUFDLFFBQUEsS0FBQUssQ0FBQSxxQkFBQUQsQ0FBQSxRQUFBMEcsS0FBQSxDQUFBQyxPQUFBLENBQUExRyxDQUFBLE1BQUFELENBQUEsR0FBQXdHLDJCQUFBLENBQUF2RyxDQUFBLE1BQUFWLENBQUEsSUFBQVUsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBdUUsTUFBQSxJQUFBeEUsQ0FBQSxLQUFBQyxDQUFBLEdBQUFELENBQUEsT0FBQTZHLEVBQUEsTUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFqRixDQUFBLEVBQUFpRixDQUFBLEVBQUEzRyxDQUFBLFdBQUFBLEVBQUEsV0FBQTBHLEVBQUEsSUFBQTVHLENBQUEsQ0FBQXVFLE1BQUEsS0FBQXZCLElBQUEsV0FBQUEsSUFBQSxNQUFBM0MsS0FBQSxFQUFBTCxDQUFBLENBQUE0RyxFQUFBLFVBQUF0SCxDQUFBLFdBQUFBLEVBQUFVLENBQUEsVUFBQUEsQ0FBQSxLQUFBMkIsQ0FBQSxFQUFBa0YsQ0FBQSxnQkFBQXJELFNBQUEsaUpBQUEvRCxDQUFBLEVBQUFjLENBQUEsT0FBQUcsQ0FBQSxnQkFBQWtCLENBQUEsV0FBQUEsRUFBQSxJQUFBN0IsQ0FBQSxHQUFBQSxDQUFBLENBQUF5QixJQUFBLENBQUF4QixDQUFBLE1BQUFFLENBQUEsV0FBQUEsRUFBQSxRQUFBRixDQUFBLEdBQUFELENBQUEsQ0FBQTJELElBQUEsV0FBQW5ELENBQUEsR0FBQVAsQ0FBQSxDQUFBZ0QsSUFBQSxFQUFBaEQsQ0FBQSxLQUFBVixDQUFBLFdBQUFBLEVBQUFVLENBQUEsSUFBQVUsQ0FBQSxPQUFBakIsQ0FBQSxHQUFBTyxDQUFBLEtBQUEyQixDQUFBLFdBQUFBLEVBQUEsVUFBQXBCLENBQUEsWUFBQVIsQ0FBQSxjQUFBQSxDQUFBLDhCQUFBVyxDQUFBLFFBQUFqQixDQUFBO0FBQUEsU0FBQThHLDRCQUFBdkcsQ0FBQSxFQUFBTyxDQUFBLFFBQUFQLENBQUEsMkJBQUFBLENBQUEsU0FBQThHLGlCQUFBLENBQUE5RyxDQUFBLEVBQUFPLENBQUEsT0FBQVIsQ0FBQSxNQUFBZ0gsUUFBQSxDQUFBdkYsSUFBQSxDQUFBeEIsQ0FBQSxFQUFBc0YsS0FBQSw2QkFBQXZGLENBQUEsSUFBQUMsQ0FBQSxDQUFBSixXQUFBLEtBQUFHLENBQUEsR0FBQUMsQ0FBQSxDQUFBSixXQUFBLENBQUE4RSxJQUFBLGFBQUEzRSxDQUFBLGNBQUFBLENBQUEsR0FBQTBHLEtBQUEsQ0FBQU8sSUFBQSxDQUFBaEgsQ0FBQSxvQkFBQUQsQ0FBQSwrQ0FBQWtILElBQUEsQ0FBQWxILENBQUEsSUFBQStHLGlCQUFBLENBQUE5RyxDQUFBLEVBQUFPLENBQUE7QUFBQSxTQUFBdUcsa0JBQUE5RyxDQUFBLEVBQUFPLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUFQLENBQUEsQ0FBQXVFLE1BQUEsTUFBQWhFLENBQUEsR0FBQVAsQ0FBQSxDQUFBdUUsTUFBQSxZQUFBakYsQ0FBQSxNQUFBWSxDQUFBLEdBQUF1RyxLQUFBLENBQUFsRyxDQUFBLEdBQUFqQixDQUFBLEdBQUFpQixDQUFBLEVBQUFqQixDQUFBLElBQUFZLENBQUEsQ0FBQVosQ0FBQSxJQUFBVSxDQUFBLENBQUFWLENBQUEsVUFBQVksQ0FBQTtBQUFBLFNBQUFnSCxRQUFBNUgsQ0FBQSxFQUFBVSxDQUFBLFFBQUFELENBQUEsR0FBQUUsTUFBQSxDQUFBZ0YsSUFBQSxDQUFBM0YsQ0FBQSxPQUFBVyxNQUFBLENBQUFrSCxxQkFBQSxRQUFBMUgsQ0FBQSxHQUFBUSxNQUFBLENBQUFrSCxxQkFBQSxDQUFBN0gsQ0FBQSxHQUFBVSxDQUFBLEtBQUFQLENBQUEsR0FBQUEsQ0FBQSxDQUFBMkgsTUFBQSxXQUFBcEgsQ0FBQSxXQUFBQyxNQUFBLENBQUFvSCx3QkFBQSxDQUFBL0gsQ0FBQSxFQUFBVSxDQUFBLEVBQUFhLFVBQUEsT0FBQWQsQ0FBQSxDQUFBbUUsSUFBQSxDQUFBK0IsS0FBQSxDQUFBbEcsQ0FBQSxFQUFBTixDQUFBLFlBQUFNLENBQUE7QUFBQSxTQUFBdUgsY0FBQWhJLENBQUEsYUFBQVUsQ0FBQSxNQUFBQSxDQUFBLEdBQUFnRyxTQUFBLENBQUF6QixNQUFBLEVBQUF2RSxDQUFBLFVBQUFELENBQUEsV0FBQWlHLFNBQUEsQ0FBQWhHLENBQUEsSUFBQWdHLFNBQUEsQ0FBQWhHLENBQUEsUUFBQUEsQ0FBQSxPQUFBa0gsT0FBQSxDQUFBakgsTUFBQSxDQUFBRixDQUFBLE9BQUF3QyxPQUFBLFdBQUF2QyxDQUFBLElBQUF1SCxlQUFBLENBQUFqSSxDQUFBLEVBQUFVLENBQUEsRUFBQUQsQ0FBQSxDQUFBQyxDQUFBLFNBQUFDLE1BQUEsQ0FBQXVILHlCQUFBLEdBQUF2SCxNQUFBLENBQUF3SCxnQkFBQSxDQUFBbkksQ0FBQSxFQUFBVyxNQUFBLENBQUF1SCx5QkFBQSxDQUFBekgsQ0FBQSxLQUFBbUgsT0FBQSxDQUFBakgsTUFBQSxDQUFBRixDQUFBLEdBQUF3QyxPQUFBLFdBQUF2QyxDQUFBLElBQUFDLE1BQUEsQ0FBQUcsY0FBQSxDQUFBZCxDQUFBLEVBQUFVLENBQUEsRUFBQUMsTUFBQSxDQUFBb0gsd0JBQUEsQ0FBQXRILENBQUEsRUFBQUMsQ0FBQSxpQkFBQVYsQ0FBQTtBQUFBLFNBQUFvSSxnQkFBQW5ILENBQUEsRUFBQUwsQ0FBQSxVQUFBSyxDQUFBLFlBQUFMLENBQUEsYUFBQXNELFNBQUE7QUFBQSxTQUFBbUUsa0JBQUFySSxDQUFBLEVBQUFVLENBQUEsYUFBQUQsQ0FBQSxNQUFBQSxDQUFBLEdBQUFDLENBQUEsQ0FBQXVFLE1BQUEsRUFBQXhFLENBQUEsVUFBQU4sQ0FBQSxHQUFBTyxDQUFBLENBQUFELENBQUEsR0FBQU4sQ0FBQSxDQUFBb0IsVUFBQSxHQUFBcEIsQ0FBQSxDQUFBb0IsVUFBQSxRQUFBcEIsQ0FBQSxDQUFBcUIsWUFBQSxrQkFBQXJCLENBQUEsS0FBQUEsQ0FBQSxDQUFBc0IsUUFBQSxRQUFBZCxNQUFBLENBQUFHLGNBQUEsQ0FBQWQsQ0FBQSxFQUFBc0ksY0FBQSxDQUFBbkksQ0FBQSxDQUFBb0ksR0FBQSxHQUFBcEksQ0FBQTtBQUFBLFNBQUFxSSxhQUFBeEksQ0FBQSxFQUFBVSxDQUFBLEVBQUFELENBQUEsV0FBQUMsQ0FBQSxJQUFBMkgsaUJBQUEsQ0FBQXJJLENBQUEsQ0FBQU8sU0FBQSxFQUFBRyxDQUFBLEdBQUFELENBQUEsSUFBQTRILGlCQUFBLENBQUFySSxDQUFBLEVBQUFTLENBQUEsR0FBQUUsTUFBQSxDQUFBRyxjQUFBLENBQUFkLENBQUEsaUJBQUF5QixRQUFBLFNBQUF6QixDQUFBO0FBQUEsU0FBQXlJLFdBQUFoSSxDQUFBLEVBQUFOLENBQUEsRUFBQUgsQ0FBQSxXQUFBRyxDQUFBLEdBQUF1SSxlQUFBLENBQUF2SSxDQUFBLEdBQUF3SSwwQkFBQSxDQUFBbEksQ0FBQSxFQUFBbUkseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUEzSSxDQUFBLEVBQUFILENBQUEsUUFBQTBJLGVBQUEsQ0FBQWpJLENBQUEsRUFBQUgsV0FBQSxJQUFBSCxDQUFBLENBQUF3RyxLQUFBLENBQUFsRyxDQUFBLEVBQUFULENBQUE7QUFBQSxTQUFBMkksMkJBQUFsSSxDQUFBLEVBQUFULENBQUEsUUFBQUEsQ0FBQSxpQkFBQUUsT0FBQSxDQUFBRixDQUFBLDBCQUFBQSxDQUFBLFVBQUFBLENBQUEsaUJBQUFBLENBQUEsWUFBQWtFLFNBQUEscUVBQUE2RSxzQkFBQSxDQUFBdEksQ0FBQTtBQUFBLFNBQUFzSSx1QkFBQS9JLENBQUEsbUJBQUFBLENBQUEsWUFBQWdKLGNBQUEsc0VBQUFoSixDQUFBO0FBQUEsU0FBQTRJLDBCQUFBLGNBQUFuSSxDQUFBLElBQUF3SSxPQUFBLENBQUExSSxTQUFBLENBQUEySSxPQUFBLENBQUFoSCxJQUFBLENBQUEyRyxPQUFBLENBQUFDLFNBQUEsQ0FBQUcsT0FBQSxpQ0FBQXhJLENBQUEsYUFBQW1JLHlCQUFBLFlBQUFBLDBCQUFBLGFBQUFuSSxDQUFBO0FBQUEsU0FBQWlJLGdCQUFBakksQ0FBQSxXQUFBaUksZUFBQSxHQUFBL0gsTUFBQSxDQUFBMkUsY0FBQSxHQUFBM0UsTUFBQSxDQUFBaUMsY0FBQSxDQUFBdUcsSUFBQSxlQUFBMUksQ0FBQSxXQUFBQSxDQUFBLENBQUE4RSxTQUFBLElBQUE1RSxNQUFBLENBQUFpQyxjQUFBLENBQUFuQyxDQUFBLE1BQUFpSSxlQUFBLENBQUFqSSxDQUFBO0FBQUEsU0FBQTJJLFVBQUEzSSxDQUFBLEVBQUFULENBQUEsNkJBQUFBLENBQUEsYUFBQUEsQ0FBQSxZQUFBa0UsU0FBQSx3REFBQXpELENBQUEsQ0FBQUYsU0FBQSxHQUFBSSxNQUFBLENBQUFpQixNQUFBLENBQUE1QixDQUFBLElBQUFBLENBQUEsQ0FBQU8sU0FBQSxJQUFBRCxXQUFBLElBQUFTLEtBQUEsRUFBQU4sQ0FBQSxFQUFBZ0IsUUFBQSxNQUFBRCxZQUFBLFdBQUFiLE1BQUEsQ0FBQUcsY0FBQSxDQUFBTCxDQUFBLGlCQUFBZ0IsUUFBQSxTQUFBekIsQ0FBQSxJQUFBcUosZUFBQSxDQUFBNUksQ0FBQSxFQUFBVCxDQUFBO0FBQUEsU0FBQXFKLGdCQUFBNUksQ0FBQSxFQUFBVCxDQUFBLFdBQUFxSixlQUFBLEdBQUExSSxNQUFBLENBQUEyRSxjQUFBLEdBQUEzRSxNQUFBLENBQUEyRSxjQUFBLENBQUE2RCxJQUFBLGVBQUExSSxDQUFBLEVBQUFULENBQUEsV0FBQVMsQ0FBQSxDQUFBOEUsU0FBQSxHQUFBdkYsQ0FBQSxFQUFBUyxDQUFBLEtBQUE0SSxlQUFBLENBQUE1SSxDQUFBLEVBQUFULENBQUE7QUFBQSxTQUFBaUksZ0JBQUFqSSxDQUFBLEVBQUFVLENBQUEsRUFBQUQsQ0FBQSxZQUFBQyxDQUFBLEdBQUE0SCxjQUFBLENBQUE1SCxDQUFBLE1BQUFWLENBQUEsR0FBQVcsTUFBQSxDQUFBRyxjQUFBLENBQUFkLENBQUEsRUFBQVUsQ0FBQSxJQUFBSyxLQUFBLEVBQUFOLENBQUEsRUFBQWMsVUFBQSxNQUFBQyxZQUFBLE1BQUFDLFFBQUEsVUFBQXpCLENBQUEsQ0FBQVUsQ0FBQSxJQUFBRCxDQUFBLEVBQUFULENBQUE7QUFBQSxTQUFBc0ksZUFBQTdILENBQUEsUUFBQU8sQ0FBQSxHQUFBc0ksWUFBQSxDQUFBN0ksQ0FBQSxnQ0FBQVAsT0FBQSxDQUFBYyxDQUFBLElBQUFBLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFzSSxhQUFBN0ksQ0FBQSxFQUFBQyxDQUFBLG9CQUFBUixPQUFBLENBQUFPLENBQUEsTUFBQUEsQ0FBQSxTQUFBQSxDQUFBLE1BQUFULENBQUEsR0FBQVMsQ0FBQSxDQUFBTCxNQUFBLENBQUFtSixXQUFBLGtCQUFBdkosQ0FBQSxRQUFBZ0IsQ0FBQSxHQUFBaEIsQ0FBQSxDQUFBa0MsSUFBQSxDQUFBekIsQ0FBQSxFQUFBQyxDQUFBLGdDQUFBUixPQUFBLENBQUFjLENBQUEsVUFBQUEsQ0FBQSxZQUFBa0QsU0FBQSx5RUFBQXhELENBQUEsR0FBQThJLE1BQUEsR0FBQUMsTUFBQSxFQUFBaEosQ0FBQSxLQURBO0FBMEJBO0FBQ0E7QUFDQTtBQUZBLElBR2FpSixPQUFPLEdBQUFDLE9BQUEsQ0FBQUQsT0FBQSwwQkFBQUUsYUFBQTtFQW9FbkI7QUFDRDtBQUNBO0FBQ0E7RUFDQyxTQUFBRixRQUFZRyxPQUF1QixFQUFFO0lBQUEsSUFBQUMsS0FBQTtJQUFBMUIsZUFBQSxPQUFBc0IsT0FBQTtJQUNwQ0ksS0FBQSxHQUFBckIsVUFBQSxPQUFBaUIsT0FBQTtJQTNERDtJQUFBekIsZUFBQSxDQUFBNkIsS0FBQSxhQUMwQixJQUFJQyxzQkFBVSxDQUFpQixDQUFDO0lBQzFEO0lBQUE5QixlQUFBLENBQUE2QixLQUFBLFdBQ3dCLElBQUlDLHNCQUFVLENBQWUsQ0FBQztJQUFBOUIsZUFBQSxDQUFBNkIsS0FBQSxlQUdsQyxLQUFLO0lBQUE3QixlQUFBLENBQUE2QixLQUFBLFlBQ1QsSUFBSUMsc0JBQVUsQ0FBdUIsQ0FBQztJQXNEckQsSUFBQUMsd0JBQVksRUFBQ0gsT0FBTyxDQUFDO0lBQ3JCSSxnQkFBUyxDQUFDQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUNDLElBQUksQ0FBQUwsS0FBSyxDQUFDO0lBQ2xDRyxnQkFBUyxDQUFDQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUNDLElBQUksQ0FBQUwsS0FBSyxDQUFDO0lBQ2hDTSxpQkFBVSxDQUFDRCxJQUFJLENBQUFMLEtBQUssQ0FBQztJQUVyQixJQUFJRCxPQUFPLENBQUNRLFlBQVksRUFBRTtNQUN6QkQsaUJBQVUsQ0FBQ0UsZUFBZSxDQUFDVCxPQUFPLENBQUNRLFlBQVksQ0FBQztNQUNoRCxPQUFPUixPQUFPLENBQUNRLFlBQVk7SUFDNUI7SUFFQVAsS0FBQSxDQUFLRCxPQUFPLEdBQUE3QixhQUFBO01BQ1h1QyxPQUFPLEVBQUUsRUFBRTtNQUNYQyxLQUFLLEVBQUUsQ0FDTjtRQUNDQyxVQUFVLEVBQUUsU0FBUztRQUNyQkMsSUFBSSxFQUFFLFdBQVc7UUFDakJDLFlBQVksRUFBRSxLQUFLO1FBQ25CQyxhQUFhLEVBQUU7TUFDaEIsQ0FBQyxDQUNEO01BQ0RDLE1BQU0sRUFBRSxDQUFDO01BQ1RDLFFBQVEsRUFBRSxJQUFJO01BQ2RDLFdBQVcsRUFBRSxLQUFLO01BQ2xCQyxVQUFVLEVBQUUsVUFBVTtNQUN0QkMscUJBQXFCLEVBQUUsU0FBUztNQUNoQ0MsT0FBTyxFQUFFO0lBQWMsR0FDcEJyQixPQUFPLENBQ1Y7SUFJRCxJQUFJQyxLQUFBLENBQUtELE9BQU8sQ0FBQ1UsT0FBTyxFQUFFO01BQUEsSUFBQVksU0FBQSxHQUFBOUQsMEJBQUEsQ0FDS3lDLEtBQUEsQ0FBS0QsT0FBTyxDQUFDVSxPQUFPLENBQUNhLE9BQU8sQ0FBQyxDQUFDO1FBQUFDLEtBQUE7TUFBQTtRQUE1RCxLQUFBRixTQUFBLENBQUE3SSxDQUFBLE1BQUErSSxLQUFBLEdBQUFGLFNBQUEsQ0FBQXZLLENBQUEsSUFBQThDLElBQUEsR0FBOEQ7VUFBQSxJQUFBNEgsV0FBQSxHQUFBeEUsY0FBQSxDQUFBdUUsS0FBQSxDQUFBdEssS0FBQTtZQUFsRHdLLEtBQUssR0FBQUQsV0FBQTtZQUFFRSxNQUFNLEdBQUFGLFdBQUE7VUFDeEIsSUFBSSxFQUFFRSxNQUFNLFlBQVlDLGFBQU0sQ0FBQyxFQUFFLE1BQU0sSUFBSUMsVUFBVSxvQkFBQUMsTUFBQSxDQUFvQkosS0FBSyw2QkFBMEIsQ0FBQztVQUN6R0MsTUFBTSxDQUFDSSxJQUFJLENBQUE5QixLQUFLLENBQUM7UUFDbEI7TUFBQyxTQUFBK0IsR0FBQTtRQUFBVixTQUFBLENBQUFuTCxDQUFBLENBQUE2TCxHQUFBO01BQUE7UUFBQVYsU0FBQSxDQUFBOUksQ0FBQTtNQUFBO0lBQ0Y7SUFFQSxJQUFJeUgsS0FBQSxDQUFLRCxPQUFPLENBQUNXLEtBQUssRUFBRTtNQUFBLElBQUFzQixVQUFBLEdBQUF6RSwwQkFBQSxDQUNHeUMsS0FBQSxDQUFLRCxPQUFPLENBQUNXLEtBQUs7UUFBQXVCLE1BQUE7TUFBQTtRQUE1QyxLQUFBRCxVQUFBLENBQUF4SixDQUFBLE1BQUF5SixNQUFBLEdBQUFELFVBQUEsQ0FBQWxMLENBQUEsSUFBQThDLElBQUEsR0FBOEM7VUFBQSxJQUFuQ3NJLFdBQVcsR0FBQUQsTUFBQSxDQUFBaEwsS0FBQTtVQUNyQixJQUFNa0wsSUFBSSxHQUFHLEtBQUtoQyxnQkFBUyxDQUFDQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU4QixXQUFXLENBQUM7VUFDckRsQyxLQUFBLENBQUtVLEtBQUssQ0FBQzBCLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDcEMsT0FBTyxDQUFDWSxVQUFVLEVBQUV3QixJQUFJLENBQUM7UUFDOUM7TUFBQyxTQUFBSixHQUFBO1FBQUFDLFVBQUEsQ0FBQTlMLENBQUEsQ0FBQTZMLEdBQUE7TUFBQTtRQUFBQyxVQUFBLENBQUF6SixDQUFBO01BQUE7SUFDRjtJQUNBOEosV0FBVyxDQUFDLFlBQU07TUFDakJyQyxLQUFBLENBQUtzQyxNQUFNLENBQUNDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLENBQUMsRUFBRXZDLEtBQUEsQ0FBS0QsT0FBTyxDQUFDdUMsTUFBTSxDQUFDRSxJQUFJLENBQUM7SUFBQyxPQUFBeEMsS0FBQTtFQUM5Qjs7RUFHQTtBQUNEO0FBQ0E7QUFDQTtFQUhDVixTQUFBLENBQUFNLE9BQUEsRUFBQUUsYUFBQTtFQUFBLE9BQUFwQixZQUFBLENBQUFrQixPQUFBO0lBQUFuQixHQUFBO0lBQUEyQixHQUFBLEVBdEdBO0lBQ0EsU0FBQUEsSUFBQSxFQUFxRDtNQUNwRCxPQUFPLElBQUksQ0FBQ00sS0FBSyxDQUNmMUMsTUFBTSxDQUFDLFVBQUNtRSxJQUFJO1FBQUEsT0FBS0EsSUFBSSxDQUFDTSxTQUFTO01BQUEsRUFBQyxDQUNoQ0MsSUFBSSxDQUFDLFVBQUN2TCxDQUFDLEVBQUV3TCxDQUFDLEVBQUs7UUFDZixJQUFNQyxLQUFLLEdBQUd6TCxDQUFDLENBQUMwTCxLQUFLLENBQUNDLEdBQUcsR0FBSTNMLENBQUMsQ0FBQzBMLEtBQUssQ0FBQ0MsR0FBRyxDQUFDQyxZQUFZLEdBQUc1TCxDQUFDLENBQUMwTCxLQUFLLENBQUNDLEdBQUcsQ0FBQ0UsS0FBSyxHQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BGLElBQU1DLEtBQUssR0FBR04sQ0FBQyxDQUFDRSxLQUFLLENBQUNDLEdBQUcsR0FBSUgsQ0FBQyxDQUFDRSxLQUFLLENBQUNDLEdBQUcsQ0FBQ0MsWUFBWSxHQUFHSixDQUFDLENBQUNFLEtBQUssQ0FBQ0MsR0FBRyxDQUFDRSxLQUFLLEdBQUksR0FBRyxHQUFHLENBQUM7UUFDcEYsT0FBT0osS0FBSyxHQUFHSyxLQUFLO01BQ3JCLENBQUMsQ0FBQztJQUNKOztJQUVBO0VBQUE7SUFBQXhFLEdBQUE7SUFBQTJCLEdBQUEsRUFDQSxTQUFBQSxJQUFBLEVBQXlEO01BQ3hELE9BQU8sSUFBSSxDQUFDTSxLQUFLLENBQUMxQyxNQUFNLENBQUMsVUFBQ21FLElBQUk7UUFBQSxPQUFLQSxJQUFJLENBQUNNLFNBQVM7TUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDdkwsQ0FBQyxFQUFFd0wsQ0FBQztRQUFBLE9BQUt4TCxDQUFDLENBQUMwTCxLQUFLLENBQUNLLE9BQU8sR0FBR1AsQ0FBQyxDQUFDRSxLQUFLLENBQUNLLE9BQU87TUFBQSxFQUFDO0lBQ3JHOztJQUlBO0VBQUE7SUFBQXpFLEdBQUE7SUFBQTJCLEdBQUEsRUFDQSxTQUFBQSxJQUFBLEVBQWlDO01BQ2hDLElBQU0rQyxhQUFhLEdBQUcsSUFBSSxDQUFDekMsS0FBSyxDQUFDMUMsTUFBTSxDQUFDLFVBQUNtRSxJQUFJO1FBQUEsT0FBS0EsSUFBSSxDQUFDTSxTQUFTLElBQUlOLElBQUksQ0FBQ3BDLE9BQU8sQ0FBQ3FELFFBQVEsR0FBRyxDQUFDO01BQUEsRUFBQztNQUM5RixJQUFNQyxXQUFXLEdBQUdGLGFBQWEsQ0FBQ0csTUFBTSxDQUFDLFVBQUNDLEtBQUssRUFBRXBCLElBQUk7UUFBQSxPQUFLb0IsS0FBSyxHQUFHcEIsSUFBSSxDQUFDcEMsT0FBTyxDQUFDcUQsUUFBUTtNQUFBLEdBQUUsQ0FBQyxDQUFDO01BQzNGLElBQU1JLGFBQWEsR0FBR0wsYUFBYSxDQUFDTSxHQUFHLENBQUMsVUFBQ3RCLElBQUk7UUFBQSxPQUFNO1VBQ2xEQSxJQUFJLEVBQUpBLElBQUk7VUFDSnVCLE1BQU0sRUFBRXZCLElBQUksQ0FBQ3BDLE9BQU8sQ0FBQ3FELFFBQVEsR0FBR0M7UUFDakMsQ0FBQztNQUFBLENBQUMsQ0FBQztNQUNILElBQU1NLFlBQVksR0FBR0MsSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQztNQUVsQyxJQUFJQyxnQkFBZ0IsR0FBRyxDQUFDO01BQUMsSUFBQUMsVUFBQSxHQUFBeEcsMEJBQUEsQ0FFTWlHLGFBQWE7UUFBQVEsTUFBQTtNQUFBO1FBQTVDLEtBQUFELFVBQUEsQ0FBQXZMLENBQUEsTUFBQXdMLE1BQUEsR0FBQUQsVUFBQSxDQUFBak4sQ0FBQSxJQUFBOEMsSUFBQSxHQUE4QztVQUFBLElBQUFxSyxZQUFBLEdBQUFELE1BQUEsQ0FBQS9NLEtBQUE7WUFBakNrTCxJQUFJLEdBQUE4QixZQUFBLENBQUo5QixJQUFJO1lBQUV1QixNQUFNLEdBQUFPLFlBQUEsQ0FBTlAsTUFBTTtVQUN4QkksZ0JBQWdCLElBQUlKLE1BQU07VUFDMUIsSUFBSUMsWUFBWSxJQUFJRyxnQkFBZ0IsRUFBRTtZQUNyQyxPQUFPM0IsSUFBSTtVQUNaO1FBQ0Q7TUFBQyxTQUFBSixHQUFBO1FBQUFnQyxVQUFBLENBQUE3TixDQUFBLENBQUE2TCxHQUFBO01BQUE7UUFBQWdDLFVBQUEsQ0FBQXhMLENBQUE7TUFBQTtNQUVELE9BQU8sSUFBSSxDQUFDd0gsT0FBTyxDQUFDcUIsT0FBTyxLQUFLLFdBQVcsR0FBRyxJQUFJLENBQUM4QyxhQUFhLENBQUNDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0QsS0FBSyxDQUFDLENBQUM7SUFDekc7O0lBRUE7RUFBQTtJQUFBMUYsR0FBQTtJQUFBMkIsR0FBQSxFQUNBLFNBQUFBLElBQUEsRUFBZ0M7TUFDL0IsT0FBTyxJQUFJLENBQUNMLE9BQU8sQ0FBQ2tCLFdBQVcsR0FBRyxJQUFJLENBQUNvRCxZQUFZLEdBQUcsSUFBSSxDQUFDdEUsT0FBTyxDQUFDcUIsT0FBTyxLQUFLLFdBQVcsR0FBRyxJQUFJLENBQUM4QyxhQUFhLENBQUNDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0QsS0FBSyxDQUFDLENBQUM7SUFDeEo7RUFBQztJQUFBMUYsR0FBQTtJQUFBeEgsS0FBQSxFQStERCxTQUFPb0osSUFBSUEsQ0FBQ2lFLFFBQWlCLEVBQVE7TUFDcEMsSUFBSSxJQUFJLENBQUNDLFNBQVMsRUFBRSxPQUFPLElBQUk7TUFDL0IsSUFBSSxPQUFPRCxRQUFRLEtBQUssV0FBVyxFQUFFLElBQUksQ0FBQ3ZFLE9BQU8sQ0FBQ3VFLFFBQVEsR0FBR0EsUUFBUTtNQUVyRSxJQUFJLE9BQU8sSUFBSSxDQUFDdkUsT0FBTyxDQUFDdUUsUUFBUSxLQUFLLFFBQVEsRUFBRSxNQUFNLElBQUkzSyxLQUFLLENBQUMsd0NBQXdDLENBQUM7TUFFeEcsSUFBSSxDQUFDLElBQUksQ0FBQ29HLE9BQU8sQ0FBQ3VFLFFBQVEsRUFBRSxNQUFNLElBQUkzSyxLQUFLLENBQUMscUZBQXFGLENBQUM7TUFBQyxJQUFBNkssVUFBQSxHQUFBakgsMEJBQUEsQ0FFaEgsSUFBSSxDQUFDbUQsS0FBSyxDQUFDMUgsTUFBTSxDQUFDLENBQUM7UUFBQXlMLE1BQUE7TUFBQTtRQUF0QyxLQUFBRCxVQUFBLENBQUFoTSxDQUFBLE1BQUFpTSxNQUFBLEdBQUFELFVBQUEsQ0FBQTFOLENBQUEsSUFBQThDLElBQUEsR0FBd0M7VUFBQSxJQUE3QnVJLElBQUksR0FBQXNDLE1BQUEsQ0FBQXhOLEtBQUE7VUFDZCxJQUFJO1lBQ0hrTCxJQUFJLENBQUN1QyxPQUFPLENBQUMsQ0FBQztVQUNmLENBQUMsQ0FBQyxPQUFPM0MsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDNEMsSUFBSSxDQUFDLFdBQVcsRUFBRXhDLElBQUksRUFBRUosR0FBRyxDQUFDO1VBQ2xDO1FBQ0Q7TUFBQyxTQUFBQSxHQUFBO1FBQUF5QyxVQUFBLENBQUF0TyxDQUFBLENBQUE2TCxHQUFBO01BQUE7UUFBQXlDLFVBQUEsQ0FBQWpNLENBQUE7TUFBQTtNQUVELElBQUksQ0FBQ2dNLFNBQVMsR0FBRyxJQUFJO01BQ3JCLE9BQU8sSUFBSTtJQUNaOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxDO0lBQUE5RixHQUFBO0lBQUF4SCxLQUFBO01BQUEsSUFBQTJOLE9BQUEsR0FBQWpJLGlCQUFBLGNBQUFqRyxtQkFBQSxHQUFBNkUsSUFBQSxDQU1BLFNBQUFzSixRQUFvQkMsS0FBMkIsRUFBRUMsU0FBNkI7UUFBQSxJQUFBQyxxQkFBQSxFQUFBQyxhQUFBO1FBQUEsSUFBQTlDLElBQUEsRUFBQStDLElBQUEsRUFBQUMsTUFBQSxFQUFBQyxPQUFBLEVBQUFDLE1BQUEsRUFBQUMsWUFBQSxFQUFBQyxHQUFBLEVBQUFDLFVBQUEsRUFBQUMsWUFBQSxFQUFBQyxNQUFBLEVBQUFDLFFBQUEsRUFBQUMsTUFBQSxFQUFBQyxlQUFBLEVBQUFDLFVBQUEsRUFBQUMsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLE1BQUEsRUFBQUMsS0FBQSxFQTRGcEVDLFlBQVk7UUFBQSxPQUFBM1AsbUJBQUEsR0FBQWtCLElBQUEsVUFBQTBPLFNBQUFDLFFBQUE7VUFBQSxrQkFBQUEsUUFBQSxDQUFBdkssSUFBQSxHQUFBdUssUUFBQSxDQUFBak0sSUFBQTtZQUFBO2NBQVorTCxZQUFZLFlBQUFHLGNBQUNDLEdBQVcsRUFBVztnQkFDM0MsT0FBT0EsR0FBRyxDQUFDQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUlELEdBQUcsQ0FBQ0MsUUFBUSxDQUFDLFVBQVUsQ0FBQztjQUMvRCxDQUFDO2NBN0ZLdkUsSUFBSSxHQUFHLElBQUksQ0FBQ3dFLFlBQVk7Y0FBQSxJQUV6QnhFLElBQUk7Z0JBQUFvRSxRQUFBLENBQUFqTSxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxNQUNGLElBQUlYLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztZQUFBO2NBQUEsTUFFbkMsSUFBSSxDQUFDb0csT0FBTyxDQUFDdUMsTUFBTSxDQUFDc0UsT0FBTyxJQUFJLElBQUksQ0FBQzdHLE9BQU8sQ0FBQ3VDLE1BQU0sQ0FBQ0UsSUFBSSxHQUFHLENBQUMsSUFBSSxPQUFPc0MsS0FBSyxLQUFLLFFBQVE7Z0JBQUF5QixRQUFBLENBQUFqTSxJQUFBO2dCQUFBO2NBQUE7Y0FDckY0SyxJQUFJLEdBQUcsSUFBSSxDQUFDNUMsTUFBTSxDQUFDbEMsR0FBRyxDQUFDMEUsS0FBSyxDQUFDO2NBQUEsS0FDL0JJLElBQUk7Z0JBQUFxQixRQUFBLENBQUFqTSxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxPQUFBaU0sUUFBQSxDQUFBcE0sTUFBQSxXQUFTK0ssSUFBSTtZQUFBO2NBRWhCQyxNQUFtQixHQUFHLE9BQU9MLEtBQUssS0FBSyxRQUFRLEdBQUc7Z0JBQUVBLEtBQUssRUFBTEE7Y0FBTSxDQUFDLEdBQUdBLEtBQUs7Y0FDbkVNLE9BQU8sSUFBQUoscUJBQUEsR0FBR3BGLE9BQU8sQ0FBQ2lILGVBQWUsRUFBQTVCLGFBQUEsR0FBQ0UsTUFBTSxDQUFDMkIsTUFBTSxjQUFBN0IsYUFBQSxjQUFBQSxhQUFBLEdBQUksSUFBSSxDQUFDbEYsT0FBTyxDQUFDb0IscUJBQXFCLENBQUMsY0FBQTZELHFCQUFBLGNBQUFBLHFCQUFBLEdBQUlHLE1BQU0sQ0FBQzJCLE1BQU07Y0FDekd6QixNQUFNLEdBQUdGLE1BQU0sQ0FBQ0wsS0FBSztjQUV6QixJQUFJLENBQUMsY0FBYyxDQUFDakgsSUFBSSxDQUFDd0gsTUFBTSxDQUFDLEVBQUU7Z0JBQ2pDQSxNQUFNLE1BQUF4RCxNQUFBLENBQU11RCxPQUFPLE9BQUF2RCxNQUFBLENBQUl3RCxNQUFNLENBQUU7Y0FDaEM7Y0FBQyxNQUVHLE9BQU9QLEtBQUssS0FBSyxRQUFRO2dCQUFBeUIsUUFBQSxDQUFBak0sSUFBQTtnQkFBQTtjQUFBO2NBQUEsTUFBUSxJQUFJRixTQUFTLENBQUMseUJBQXlCLENBQUM7WUFBQTtjQUFBLEtBRXpFMk0sY0FBTSxDQUFDQyxXQUFXLENBQUNsQyxLQUFLLENBQUM7Z0JBQUF5QixRQUFBLENBQUFqTSxJQUFBO2dCQUFBO2NBQUE7Y0FBQWlNLFFBQUEsQ0FBQWpNLElBQUE7Y0FBQSxPQUNEeU0sY0FBTSxDQUFDRSxZQUFZLENBQUNuQyxLQUFLLEVBQUVDLFNBQVMsQ0FBQztZQUFBO2NBQTFETyxZQUFZLEdBQUFpQixRQUFBLENBQUF2TSxJQUFBO2NBQUEsT0FBQXVNLFFBQUEsQ0FBQXBNLE1BQUEsV0FDWDtnQkFDTitNLFFBQVEsRUFBRTVCLFlBQVksQ0FBQzRCLFFBQW9CO2dCQUMzQ3hCLE1BQU0sRUFBRUosWUFBWSxDQUFDSTtjQUN0QixDQUFDO1lBQUE7Y0FBQWEsUUFBQSxDQUFBdkssSUFBQTtjQUFBdUssUUFBQSxDQUFBak0sSUFBQTtjQUFBLE9BSWtCNkgsSUFBSSxDQUFDZ0YsSUFBSSxDQUFDL0csR0FBRyw4QkFBQXlCLE1BQUEsQ0FBOEJ1RixrQkFBa0IsQ0FBQy9CLE1BQU0sQ0FBQyxDQUFFLENBQUM7WUFBQTtjQUFyRkUsR0FBRyxHQUFBZ0IsUUFBQSxDQUFBdk0sSUFBQTtjQUFBLElBQ0p1TCxHQUFHO2dCQUFBZ0IsUUFBQSxDQUFBak0sSUFBQTtnQkFBQTtjQUFBO2NBQUEsTUFBUSxJQUFJWCxLQUFLLENBQUMsa0JBQWtCLENBQUM7WUFBQTtjQUV6QzZMLFVBQVUsR0FBRyxFQUFFO2NBQUFlLFFBQUEsQ0FBQWMsRUFBQSxHQUdYOUIsR0FBRyxDQUFDMkIsUUFBUTtjQUFBWCxRQUFBLENBQUFqTSxJQUFBLEdBQUFpTSxRQUFBLENBQUFjLEVBQUEsS0FDZCxRQUFRLFFBQUFkLFFBQUEsQ0FBQWMsRUFBQSxLQUlSLE9BQU8sUUFBQWQsUUFBQSxDQUFBYyxFQUFBLEtBSVAsVUFBVTtjQUFBO1lBQUE7Y0FQZDdCLFVBQVUsR0FBR0QsR0FBRyxDQUFDTCxJQUFtQjtjQUFDLE9BQUFxQixRQUFBLENBQUFwTSxNQUFBO1lBQUE7Y0FJckNxTCxVQUFVLEdBQUcsQ0FBQ0QsR0FBRyxDQUFDTCxJQUFJLENBQWdCO2NBQUMsT0FBQXFCLFFBQUEsQ0FBQXBNLE1BQUE7WUFBQTtjQUl2Q3NMLFlBQVksR0FBR0YsR0FBRyxDQUFDTCxJQUF1QjtjQUFDLE9BQUFxQixRQUFBLENBQUFwTSxNQUFBO1lBQUE7Y0FJdkN1TCxNQUFNLEdBQUdGLFVBQVUsQ0FBQy9CLEdBQUcsQ0FBQyxVQUFDdUMsS0FBSztnQkFBQSxPQUFLMUYsaUJBQVUsQ0FBQ2dILEtBQUssQ0FBQ3RCLEtBQUssRUFBRWpCLFNBQVMsQ0FBQztjQUFBLEVBQUM7Y0FDeEVZLFFBQVEsR0FBRyxJQUFJO2NBRW5CLElBQUlKLEdBQUcsQ0FBQzJCLFFBQVEsS0FBSyxVQUFVLEVBQUU7Z0JBQ2hDdkIsUUFBUSxHQUFHO2tCQUNWckssSUFBSSxFQUFFbUssWUFBWSxDQUFFOEIsSUFBSSxDQUFDak0sSUFBSTtrQkFDN0JvSyxNQUFNLEVBQUVELFlBQVksQ0FBRUMsTUFBTSxDQUFDakMsR0FBRyxDQUFDLFVBQUN1QyxLQUFLO29CQUFBLE9BQUsxRixpQkFBVSxDQUFDZ0gsS0FBSyxDQUFDdEIsS0FBSyxFQUFFakIsU0FBUyxDQUFDO2tCQUFBLEVBQUM7a0JBQy9FeUMsUUFBUSxFQUFFL0IsWUFBWSxDQUFFQyxNQUFNLENBQUNwQyxNQUFNLENBQUMsVUFBQ21FLEdBQUcsRUFBRUMsR0FBRztvQkFBQSxPQUFLRCxHQUFHLElBQUlDLEdBQUcsQ0FBQ0gsSUFBSSxDQUFDcE0sTUFBTSxJQUFJLENBQUMsQ0FBQztrQkFBQSxHQUFFLENBQUM7Z0JBQ3BGLENBQUM7Y0FDRjtjQUVNeUssTUFBb0IsR0FBRztnQkFDNUJzQixRQUFRLEVBQUUzQixHQUFHLENBQUMyQixRQUFRO2dCQUN0QnhCLE1BQU0sRUFBTkEsTUFBTTtnQkFDTkMsUUFBUSxFQUFSQTtjQUNELENBQUM7Y0FFRCxJQUFJLElBQUksQ0FBQzVGLE9BQU8sQ0FBQzRILHlCQUF5QixFQUFFO2dCQUN2QzlCLGVBQXdCLEdBQUcsRUFBRTtnQkFDakMsSUFBSUQsTUFBTSxDQUFDc0IsUUFBUSxLQUFLLFVBQVUsRUFBRTtrQkFDbkNyQixlQUFlLEdBQUdELE1BQU0sQ0FBQ0QsUUFBUSxDQUFDRCxNQUFNO2dCQUN6QyxDQUFDLE1BQU07a0JBQ05HLGVBQWUsR0FBR0QsTUFBTSxDQUFDRixNQUFNO2dCQUNoQztnQkFBQ0ksVUFBQSxHQUFBdkksMEJBQUEsQ0FFbUJzSSxlQUFlO2dCQUFBO2tCQUFuQyxLQUFBQyxVQUFBLENBQUF0TixDQUFBLE1BQUF1TixNQUFBLEdBQUFELFVBQUEsQ0FBQWhQLENBQUEsSUFBQThDLElBQUEsR0FBcUM7b0JBQTFCb00sS0FBSyxHQUFBRCxNQUFBLENBQUE5TyxLQUFBO29CQUNmLElBQUlvUCxZQUFZLENBQUNMLEtBQUssQ0FBQ1MsR0FBRyxDQUFDLEVBQUU7c0JBQzVCVCxLQUFLLENBQUNHLE1BQU0sR0FBR0gsS0FBSyxDQUFDRyxNQUFNLENBQUN5QixPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztzQkFDbEQ1QixLQUFLLENBQUNJLEtBQUssR0FBR0osS0FBSyxDQUFDSSxLQUFLLENBQUN3QixPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztvQkFDakQ7b0JBQ0EsSUFBSTVCLEtBQUssQ0FBQ0ksS0FBSyxDQUFDTSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7c0JBQUFULHFCQUFBLEdBQ05ELEtBQUssQ0FBQ0ksS0FBSyxDQUFDeUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDcEUsR0FBRyxDQUFDLFVBQUNxRSxHQUFXO3dCQUFBLE9BQUtBLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7c0JBQUEsRUFBQyxFQUFBN0Isc0JBQUEsR0FBQWxKLGNBQUEsQ0FBQWlKLHFCQUFBLE1BQXhFRSxNQUFNLEdBQUFELHNCQUFBLEtBQUVFLEtBQUssR0FBQUYsc0JBQUE7c0JBQ3BCRixLQUFLLENBQUNHLE1BQU0sR0FBR0EsTUFBTTtzQkFDckJILEtBQUssQ0FBQ0ksS0FBSyxHQUFHQSxLQUFLO29CQUNwQjtrQkFDRDtnQkFBQyxTQUFBckUsR0FBQTtrQkFBQStELFVBQUEsQ0FBQTVQLENBQUEsQ0FBQTZMLEdBQUE7Z0JBQUE7a0JBQUErRCxVQUFBLENBQUF2TixDQUFBO2dCQUFBO2NBQ0Y7Y0FDQSxJQUFJLElBQUksQ0FBQ3dILE9BQU8sQ0FBQ3VDLE1BQU0sQ0FBQ3NFLE9BQU8sSUFBSSxJQUFJLENBQUM3RyxPQUFPLENBQUN1QyxNQUFNLENBQUNFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDRixNQUFNLENBQUNGLEdBQUcsQ0FBQ2lELE1BQU0sRUFBRU8sTUFBTSxDQUFDO2NBQUMsT0FBQVcsUUFBQSxDQUFBcE0sTUFBQSxXQUMxRnlMLE1BQU07WUFBQTtjQUFBVyxRQUFBLENBQUF2SyxJQUFBO2NBQUF1SyxRQUFBLENBQUF5QixFQUFBLEdBQUF6QixRQUFBO2NBQUEsTUFFUCxJQUFJNU0sS0FBSyxDQUFBNE0sUUFBQSxDQUFBeUIsRUFBSSxDQUFDO1lBQUE7WUFBQTtjQUFBLE9BQUF6QixRQUFBLENBQUFwSyxJQUFBO1VBQUE7UUFBQSxHQUFBMEksT0FBQTtNQUFBLENBTXJCO01BQUEsU0EvRllRLE1BQU1BLENBQUE0QyxFQUFBLEVBQUFDLEdBQUE7UUFBQSxPQUFBdEQsT0FBQSxDQUFBL0gsS0FBQSxPQUFBRCxTQUFBO01BQUE7TUFBQSxPQUFOeUksTUFBTTtJQUFBO0lBaUduQjtBQUNEO0FBQ0E7QUFDQTtJQUhDO0VBQUE7SUFBQTVHLEdBQUE7SUFBQXhILEtBQUEsRUFJQSxTQUFPa1IsWUFBWUEsQ0FBQ3pDLE1BQWdCLEVBQXdCO01BQUEsSUFBQTBDLE1BQUE7TUFDM0QsT0FBTyxJQUFJeE0sT0FBTztRQUFBLElBQUF5TSxJQUFBLEdBQUExTCxpQkFBQSxjQUFBakcsbUJBQUEsR0FBQTZFLElBQUEsQ0FBQyxTQUFBK00sU0FBTS9PLE9BQU8sRUFBRWdQLE1BQU07VUFBQSxJQUFBcEcsSUFBQTtVQUFBLE9BQUF6TCxtQkFBQSxHQUFBa0IsSUFBQSxVQUFBNFEsVUFBQUMsU0FBQTtZQUFBLGtCQUFBQSxTQUFBLENBQUF6TSxJQUFBLEdBQUF5TSxTQUFBLENBQUFuTyxJQUFBO2NBQUE7Z0JBQ2pDNkgsSUFBSSxHQUFHaUcsTUFBSSxDQUFDMUgsS0FBSyxDQUFDeUQsS0FBSyxDQUFDLENBQUM7Z0JBQUEsSUFDMUJoQyxJQUFJO2tCQUFBc0csU0FBQSxDQUFBbk8sSUFBQTtrQkFBQTtnQkFBQTtnQkFBQSxPQUFBbU8sU0FBQSxDQUFBdE8sTUFBQSxXQUNEb08sTUFBTSxDQUFDLElBQUk1TyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztjQUFBO2dCQUFBOE8sU0FBQSxDQUFBbk8sSUFBQTtnQkFBQSxPQUcxQzZILElBQUksQ0FBQ2dGLElBQUksQ0FBQ3VCLElBQUksQ0FBQyxrQkFBa0IsRUFBRUMsSUFBSSxDQUFDQyxTQUFTLENBQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUM5RGpNLElBQUksQ0FBQyxVQUFDOEwsR0FBRyxFQUFLO2tCQUNkLElBQUksQ0FBQ0EsR0FBRyxFQUFFLE9BQU9nRCxNQUFNLENBQUMsSUFBSTVPLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO2tCQUNsRUosT0FBTyxDQUFDZ00sR0FBa0IsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLFNBQ0ksQ0FBQyxVQUFDeEQsR0FBRztrQkFBQSxPQUFLd0csTUFBTSxDQUFDeEcsR0FBRyxDQUFDO2dCQUFBLEVBQUM7Y0FBQTtjQUFBO2dCQUFBLE9BQUEwRyxTQUFBLENBQUF0TSxJQUFBO1lBQUE7VUFBQSxHQUFBbU0sUUFBQTtRQUFBLENBQzdCO1FBQUEsaUJBQUFPLEdBQUEsRUFBQUMsR0FBQTtVQUFBLE9BQUFULElBQUEsQ0FBQXhMLEtBQUEsT0FBQUQsU0FBQTtRQUFBO01BQUEsSUFBQztJQUNIOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0VBSEM7SUFBQTZCLEdBQUE7SUFBQXhILEtBQUE7TUFBQSxJQUFBOFIsWUFBQSxHQUFBcE0saUJBQUEsY0FBQWpHLG1CQUFBLEdBQUE2RSxJQUFBLENBSUEsU0FBQXlOLFNBQXlCaEQsS0FBYTtRQUFBLElBQUFULEdBQUE7UUFBQSxPQUFBN08sbUJBQUEsR0FBQWtCLElBQUEsVUFBQXFSLFVBQUFDLFNBQUE7VUFBQSxrQkFBQUEsU0FBQSxDQUFBbE4sSUFBQSxHQUFBa04sU0FBQSxDQUFBNU8sSUFBQTtZQUFBO2NBQUE0TyxTQUFBLENBQUE1TyxJQUFBO2NBQUEsT0FDbkIsSUFBSSxDQUFDNk4sWUFBWSxDQUFDLENBQUNuQyxLQUFLLENBQUMsQ0FBQztZQUFBO2NBQXRDVCxHQUFHLEdBQUEyRCxTQUFBLENBQUFsUCxJQUFBO2NBQUEsT0FBQWtQLFNBQUEsQ0FBQS9PLE1BQUEsV0FDRm9MLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFBQTtZQUFBO2NBQUEsT0FBQTJELFNBQUEsQ0FBQS9NLElBQUE7VUFBQTtRQUFBLEdBQUE2TSxRQUFBO01BQUEsQ0FDYjtNQUFBLFNBSFlHLFdBQVdBLENBQUFDLEdBQUE7UUFBQSxPQUFBTCxZQUFBLENBQUFsTSxLQUFBLE9BQUFELFNBQUE7TUFBQTtNQUFBLE9BQVh1TSxXQUFXO0lBQUE7SUFLeEI7QUFDRDtBQUNBO0FBQ0E7SUFIQztFQUFBO0lBQUExSyxHQUFBO0lBQUF4SCxLQUFBLEVBSUEsU0FBT2EsTUFBTUEsQ0FBQ2lJLE9BQXNCLEVBQVU7TUFDN0MsSUFBSSxJQUFJLENBQUNtRCxPQUFPLENBQUNtRyxHQUFHLENBQUN0SixPQUFPLENBQUN1SixLQUFLLENBQUMsRUFBRTtRQUNwQyxPQUFPLElBQUksQ0FBQ3BHLE9BQU8sQ0FBQzlDLEdBQUcsQ0FBQ0wsT0FBTyxDQUFDdUosS0FBSyxDQUFDO01BQ3ZDO01BRUEsT0FBTyxLQUFLbkosZ0JBQVMsQ0FBQ0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFTCxPQUFPLENBQUM7SUFDOUM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7RUFIQztJQUFBdEIsR0FBQTtJQUFBeEgsS0FBQSxFQUlBLFNBQU9tSixHQUFHQSxDQUFDa0osS0FBYSxFQUFzQjtNQUM3QyxPQUFPLElBQUksQ0FBQ3BHLE9BQU8sQ0FBQzlDLEdBQUcsQ0FBQ2tKLEtBQUssQ0FBQztJQUMvQjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtFQUhDO0lBQUE3SyxHQUFBO0lBQUF4SCxLQUFBLEVBSUEsU0FBT3NTLE9BQU9BLENBQUNELEtBQWEsRUFBUTtNQUNuQyxJQUFJLENBQUNwRyxPQUFPLFVBQU8sQ0FBQ29HLEtBQUssQ0FBQztJQUMzQjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtFQUhDO0lBQUE3SyxHQUFBO0lBQUF4SCxLQUFBLEVBSUEsU0FBT3VTLFVBQVVBLENBQUN6SixPQUFvQixFQUFRO01BQzdDLElBQUksSUFBSSxDQUFDVyxLQUFLLENBQUMySSxHQUFHLENBQUN0SixPQUFPLENBQUNZLFVBQVUsSUFBSVosT0FBTyxDQUFDYSxJQUFJLENBQUMsRUFBRTtRQUN2RCxPQUFPLElBQUksQ0FBQ0YsS0FBSyxDQUFDTixHQUFHLENBQUNMLE9BQU8sQ0FBQ1ksVUFBVSxJQUFJWixPQUFPLENBQUNhLElBQUksQ0FBQztNQUMxRDtNQUVBLE9BQU8sS0FBS1QsZ0JBQVMsQ0FBQ0MsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFTCxPQUFPLENBQUM7SUFDNUM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7RUFIQztJQUFBdEIsR0FBQTtJQUFBeEgsS0FBQSxFQUlBLFNBQU93UyxXQUFXQSxDQUFDOUksVUFBa0IsRUFBUTtNQUM1QyxJQUFNd0IsSUFBSSxHQUFHLElBQUksQ0FBQ3pCLEtBQUssQ0FBQ04sR0FBRyxDQUFDTyxVQUFVLENBQUM7TUFDdkMsSUFBSSxDQUFDd0IsSUFBSSxFQUFFO01BQ1hBLElBQUksQ0FBQ29ILE9BQU8sQ0FBQyxDQUFDO01BQ2QsSUFBSSxDQUFDN0ksS0FBSyxVQUFPLENBQUNDLFVBQVUsQ0FBQztJQUM5Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtFQUhDO0lBQUFsQyxHQUFBO0lBQUF4SCxLQUFBO01BQUEsSUFBQXlTLGlCQUFBLEdBQUEvTSxpQkFBQSxjQUFBakcsbUJBQUEsR0FBQTZFLElBQUEsQ0FJQSxTQUFBb08sU0FBOEJ6RSxJQUE0QztRQUFBLElBQUEwRSxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsa0JBQUEsRUFBQUMsU0FBQSxFQUFBQyxxQkFBQSxFQUFBQyxLQUFBLEVBQUFDLFFBQUE7UUFBQSxPQUFBeFQsbUJBQUEsR0FBQWtCLElBQUEsVUFBQXVTLFVBQUFDLFNBQUE7VUFBQSxrQkFBQUEsU0FBQSxDQUFBcE8sSUFBQSxHQUFBb08sU0FBQSxDQUFBOVAsSUFBQTtZQUFBO2NBQUEsTUFDckUsR0FBRyxJQUFJNEssSUFBSSxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDd0IsUUFBUSxDQUFDeEIsSUFBSSxDQUFDdk8sQ0FBQyxDQUFDO2dCQUFBeVQsU0FBQSxDQUFBOVAsSUFBQTtnQkFBQTtjQUFBO2NBQUEsT0FBQThQLFNBQUEsQ0FBQWpRLE1BQUE7WUFBQTtjQUU1RXlQLE1BQU0sR0FBRyxHQUFHLElBQUkxRSxJQUFJLEdBQUdBLElBQUksQ0FBQ3JNLENBQUMsR0FBR3FNLElBQUk7Y0FBQSxNQUV0QyxDQUFDMEUsTUFBTSxJQUFLLEVBQUUsT0FBTyxJQUFJQSxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksSUFBSUEsTUFBTSxDQUFFO2dCQUFBUSxTQUFBLENBQUE5UCxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxPQUFBOFAsU0FBQSxDQUFBalEsTUFBQTtZQUFBO2NBRTVEMFAsTUFBTSxHQUFHLElBQUksQ0FBQzNHLE9BQU8sQ0FBQzlDLEdBQUcsQ0FBQ3dKLE1BQU0sQ0FBQ1MsUUFBUSxDQUFDO2NBQUEsSUFFM0NSLE1BQU07Z0JBQUFPLFNBQUEsQ0FBQTlQLElBQUE7Z0JBQUE7Y0FBQTtjQUFBLE9BQUE4UCxTQUFBLENBQUFqUSxNQUFBO1lBQUE7Y0FBQSxNQUNQLE9BQU8sSUFBSXlQLE1BQU07Z0JBQUFRLFNBQUEsQ0FBQTlQLElBQUE7Z0JBQUE7Y0FBQTtjQUNwQnVQLE1BQU0sQ0FBQ1MsVUFBVSxDQUFDQyxLQUFLLEdBQUdYLE1BQU07Y0FBQ0Usa0JBQUEsR0FLN0JELE1BQU0sQ0FBQ1MsVUFBVSxFQUZwQlAsU0FBUyxHQUFBRCxrQkFBQSxDQUFUQyxTQUFTLEVBQUFDLHFCQUFBLEdBQUFGLGtCQUFBLENBQ1RTLEtBQUssRUFBSU4sS0FBSyxHQUFBRCxxQkFBQSxDQUFMQyxLQUFLLEVBQUVDLFFBQVEsR0FBQUYscUJBQUEsQ0FBUkUsUUFBUTtjQUFBRSxTQUFBLENBQUE5UCxJQUFBO2NBQUEsT0FHbkJ1UCxNQUFNLENBQUMxSCxJQUFJLENBQUNnRixJQUFJLENBQUNxRCxZQUFZLENBQUM7Z0JBQ25DQyxPQUFPLEVBQUVaLE1BQU0sQ0FBQ1AsS0FBSztnQkFDckJwRSxJQUFJLEVBQUU7a0JBQUV3RixLQUFLLEVBQUU7b0JBQUVULEtBQUssRUFBTEEsS0FBSztvQkFBRUMsUUFBUSxFQUFSQSxRQUFRO29CQUFFSCxTQUFTLEVBQVRBO2tCQUFVO2dCQUFFO2NBQy9DLENBQUMsQ0FBQztZQUFBO2NBQUEsT0FBQUssU0FBQSxDQUFBalEsTUFBQTtZQUFBO2NBQUEsTUFLQ3lQLE1BQU0sQ0FBQ2UsT0FBTyxLQUFLLElBQUksQ0FBQzVLLE9BQU8sQ0FBQ3VFLFFBQVE7Z0JBQUE4RixTQUFBLENBQUE5UCxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxPQUFBOFAsU0FBQSxDQUFBalEsTUFBQTtZQUFBO2NBQUEsS0FDeEN5UCxNQUFNLENBQUNnQixVQUFVO2dCQUFBUixTQUFBLENBQUE5UCxJQUFBO2dCQUFBO2NBQUE7Y0FDcEIsSUFBSXVQLE1BQU0sQ0FBQ2dCLFlBQVksS0FBS2pCLE1BQU0sQ0FBQ2dCLFVBQVUsRUFBRTtnQkFDOUMsSUFBSSxDQUFDakcsSUFBSSxDQUFDLFlBQVksRUFBRWtGLE1BQU0sRUFBRUEsTUFBTSxDQUFDZ0IsWUFBWSxFQUFFakIsTUFBTSxDQUFDZ0IsVUFBVSxDQUFDO2NBQ3hFO2NBRUFmLE1BQU0sQ0FBQ1MsVUFBVSxDQUFDUCxTQUFTLEdBQUdILE1BQU0sQ0FBQ2tCLFVBQVU7Y0FDL0NqQixNQUFNLENBQUNnQixZQUFZLEdBQUdqQixNQUFNLENBQUNnQixVQUFVO2NBQUMsT0FBQVIsU0FBQSxDQUFBalEsTUFBQTtZQUFBO2NBSXpDLElBQUksQ0FBQ3dLLElBQUksQ0FBQyxrQkFBa0IsRUFBRWtGLE1BQU0sRUFBRUEsTUFBTSxDQUFDZ0IsWUFBWSxDQUFDO2NBQzFEaEIsTUFBTSxDQUFDZ0IsWUFBWSxHQUFHLElBQUk7Y0FDMUJoQixNQUFNLENBQUNTLFVBQVUsR0FBR3pULE1BQU0sQ0FBQ2tVLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztjQUNyQ2xCLE1BQU0sQ0FBQ04sT0FBTyxDQUFDLENBQUM7Y0FBQyxPQUFBYSxTQUFBLENBQUFqUSxNQUFBO1lBQUE7WUFBQTtjQUFBLE9BQUFpUSxTQUFBLENBQUFqTyxJQUFBO1VBQUE7UUFBQSxHQUFBd04sUUFBQTtNQUFBLENBRWpCO01BQUEsU0ExQ1lxQixnQkFBZ0JBLENBQUFDLEdBQUE7UUFBQSxPQUFBdkIsaUJBQUEsQ0FBQTdNLEtBQUEsT0FBQUQsU0FBQTtNQUFBO01BQUEsT0FBaEJvTyxnQkFBZ0I7SUFBQTtFQUFBO0FBQUEsRUFoVkRFLG9CQUFZO0FBQUEvTSxlQUFBLENBQTVCeUIsT0FBTyxxQkFDc0Q7RUFDeEUsZUFBZSxFQUFFLFdBQVc7RUFDNUJ1TCxPQUFPLEVBQUUsVUFBVTtFQUNuQkMsT0FBTyxFQUFFLFVBQVU7RUFDbkJDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxVQUFVLEVBQUUsVUFBVTtFQUN0QkMsTUFBTSxFQUFFLFVBQVU7RUFDbEJDLEtBQUssRUFBRSxVQUFVO0VBQ2pCQyxVQUFVLEVBQUUsVUFBVTtFQUN0QkMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLE1BQU0sRUFBRTtBQUNULENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=