@tricoteuses/assemblee 1.9.13 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +0 -5
  2. package/lib/api.js +1 -1
  3. package/lib/api.mjs +1 -1
  4. package/lib/bugs/acteur-00010/plugin.test.js +5 -5
  5. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  6. package/lib/bugs/acteur-00010.js +17 -18
  7. package/lib/bugs/acteur-00010.mjs +1 -1
  8. package/lib/bugs/agenda-00002/plugin.test.js +6 -6
  9. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  10. package/lib/bugs/agenda-00002.js +31 -32
  11. package/lib/bugs/agenda-00002.mjs +3 -3
  12. package/lib/bugs/agenda-00008/plugin.test.js +5 -5
  13. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  14. package/lib/bugs/agenda-00008.js +17 -18
  15. package/lib/bugs/agenda-00008.mjs +1 -1
  16. package/lib/bugs/agenda-00011/plugin.test.js +10 -10
  17. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  18. package/lib/bugs/agenda-00011.js +28 -29
  19. package/lib/bugs/agenda-00011.mjs +3 -3
  20. package/lib/bugs.js +27 -29
  21. package/lib/bugs.mjs +3 -3
  22. package/lib/cleaners/actes_legislatifs.js +5 -5
  23. package/lib/cleaners/actes_legislatifs.mjs +1 -1
  24. package/lib/cleaners/acteurs.js +5 -5
  25. package/lib/cleaners/acteurs.mjs +1 -1
  26. package/lib/cleaners/amendements.js +5 -5
  27. package/lib/cleaners/amendements.mjs +1 -1
  28. package/lib/cleaners/debats.js +1 -1
  29. package/lib/cleaners/debats.mjs +1 -1
  30. package/lib/cleaners/documents.js +5 -5
  31. package/lib/cleaners/documents.mjs +1 -1
  32. package/lib/cleaners/dossiers_legislatifs.js +5 -5
  33. package/lib/cleaners/dossiers_legislatifs.mjs +1 -1
  34. package/lib/cleaners/index.d.ts +0 -1
  35. package/lib/cleaners/index.js +1 -8
  36. package/lib/cleaners/index.mjs +1 -2
  37. package/lib/cleaners/organes.js +2 -2
  38. package/lib/cleaners/organes.mjs +1 -1
  39. package/lib/cleaners/questions.js +1 -1
  40. package/lib/cleaners/questions.mjs +1 -1
  41. package/lib/cleaners/reunions.js +5 -5
  42. package/lib/cleaners/reunions.mjs +1 -1
  43. package/lib/cleaners/scrutins.js +8 -8
  44. package/lib/cleaners/scrutins.mjs +1 -1
  45. package/lib/cleaners/xml.js +8 -8
  46. package/lib/cleaners/xml.mjs +1 -1
  47. package/lib/datasets.d.ts +1 -13
  48. package/lib/datasets.js +10 -29
  49. package/lib/datasets.mjs +2 -21
  50. package/lib/dates.js +3 -4
  51. package/lib/dates.mjs +1 -1
  52. package/lib/dossiers_legislatifs.js +8 -8
  53. package/lib/dossiers_legislatifs.mjs +1 -1
  54. package/lib/file_systems.js +15 -14
  55. package/lib/file_systems.mjs +3 -3
  56. package/lib/git.js +5 -5
  57. package/lib/git.mjs +1 -1
  58. package/lib/index.d.ts +1 -0
  59. package/lib/index.js +8 -1
  60. package/lib/index.mjs +2 -1
  61. package/lib/inserters.js +4 -4
  62. package/lib/inserters.mjs +1 -1
  63. package/lib/loaders.d.ts +0 -5
  64. package/lib/loaders.js +255 -299
  65. package/lib/loaders.mjs +1 -13
  66. package/lib/logger.js +1 -1
  67. package/lib/logger.mjs +1 -1
  68. package/lib/organes.js +1 -1
  69. package/lib/organes.mjs +1 -1
  70. package/lib/parsers/documents.js +11 -11
  71. package/lib/parsers/documents.mjs +1 -1
  72. package/lib/parsers/index.d.ts +1 -0
  73. package/lib/parsers/index.js +8 -1
  74. package/lib/parsers/index.mjs +2 -1
  75. package/lib/parsers/recherche_amendements.js +17 -15
  76. package/lib/parsers/recherche_amendements.mjs +1 -1
  77. package/lib/parsers/textes_lois.d.ts +22 -15
  78. package/lib/parsers/textes_lois.js +264 -752
  79. package/lib/parsers/textes_lois.mjs +249 -597
  80. package/lib/raw_types/acteurs_et_organes.js +9 -9
  81. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  82. package/lib/raw_types/agendas.d.ts +1 -0
  83. package/lib/raw_types/agendas.js +11 -10
  84. package/lib/raw_types/agendas.mjs +3 -2
  85. package/lib/raw_types/amendements.js +9 -9
  86. package/lib/raw_types/amendements.mjs +1 -1
  87. package/lib/raw_types/debats.js +9 -9
  88. package/lib/raw_types/debats.mjs +1 -1
  89. package/lib/raw_types/dossiers_legislatifs.js +9 -9
  90. package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
  91. package/lib/raw_types/questions.js +9 -9
  92. package/lib/raw_types/questions.mjs +1 -1
  93. package/lib/raw_types/scrutins.js +9 -9
  94. package/lib/raw_types/scrutins.mjs +1 -1
  95. package/lib/scripts/bugs_helper.js +25 -26
  96. package/lib/scripts/bugs_helper.mjs +3 -3
  97. package/lib/scripts/clean_reorganized_data.js +256 -245
  98. package/lib/scripts/clean_reorganized_data.mjs +18 -29
  99. package/lib/scripts/diff_amendements.js +9 -8
  100. package/lib/scripts/diff_amendements.mjs +1 -1
  101. package/lib/scripts/document_dossiers_legislatifs.js +24 -27
  102. package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
  103. package/lib/scripts/get_today_reunions.js +3 -2
  104. package/lib/scripts/get_today_reunions.mjs +1 -1
  105. package/lib/scripts/merge_scrutins.js +9 -8
  106. package/lib/scripts/merge_scrutins.mjs +1 -1
  107. package/lib/scripts/parse_textes_lois.js +6 -5
  108. package/lib/scripts/parse_textes_lois.mjs +1 -1
  109. package/lib/scripts/process_open_dataset.d.ts +0 -2
  110. package/lib/scripts/process_open_dataset.js +19 -19
  111. package/lib/scripts/process_open_dataset.mjs +3 -5
  112. package/lib/scripts/raw_types_from_amendements.d.ts +0 -1
  113. package/lib/scripts/raw_types_from_amendements.js +122 -198
  114. package/lib/scripts/raw_types_from_amendements.mjs +105 -60
  115. package/lib/scripts/reorganize_data.js +14 -15
  116. package/lib/scripts/reorganize_data.mjs +3 -3
  117. package/lib/scripts/retrieve_deputes_photos.js +40 -31
  118. package/lib/scripts/retrieve_deputes_photos.mjs +10 -2
  119. package/lib/scripts/retrieve_documents.d.ts +1 -1
  120. package/lib/scripts/retrieve_documents.js +230 -138
  121. package/lib/scripts/retrieve_documents.mjs +87 -38
  122. package/lib/scripts/retrieve_open_data.js +27 -30
  123. package/lib/scripts/retrieve_open_data.mjs +5 -8
  124. package/lib/scripts/retrieve_pending_amendments.js +14 -14
  125. package/lib/scripts/retrieve_pending_amendments.mjs +1 -1
  126. package/lib/scripts/retrieve_senateurs_photos.js +10 -10
  127. package/lib/scripts/retrieve_senateurs_photos.mjs +1 -1
  128. package/lib/scripts/retrieve_textes_lois.js +17 -15
  129. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  130. package/lib/scripts/shared/cli_helpers.d.ts +11 -0
  131. package/lib/scripts/shared/cli_helpers.js +13 -2
  132. package/lib/scripts/shared/cli_helpers.mjs +12 -1
  133. package/lib/scripts/test_iter_load.js +5 -19
  134. package/lib/scripts/test_iter_load.mjs +2 -9
  135. package/lib/scripts/test_load.js +2 -2
  136. package/lib/scripts/test_load.mjs +1 -1
  137. package/lib/scripts/test_load_big_files.js +2 -2
  138. package/lib/scripts/test_load_big_files.mjs +1 -1
  139. package/lib/scripts/validate_json.js +17 -18
  140. package/lib/scripts/validate_json.mjs +3 -3
  141. package/lib/shared_types/codes_actes.js +1 -1
  142. package/lib/shared_types/codes_actes.mjs +1 -1
  143. package/lib/strings.js +1 -1
  144. package/lib/strings.mjs +1 -1
  145. package/lib/types/acteurs_et_organes.js +9 -9
  146. package/lib/types/acteurs_et_organes.mjs +1 -1
  147. package/lib/types/agendas.d.ts +1 -0
  148. package/lib/types/agendas.js +11 -10
  149. package/lib/types/agendas.mjs +3 -2
  150. package/lib/types/amendements.js +9 -9
  151. package/lib/types/amendements.mjs +1 -1
  152. package/lib/types/debats.js +9 -9
  153. package/lib/types/debats.mjs +1 -1
  154. package/lib/types/dossiers_legislatifs.d.ts +13 -0
  155. package/lib/types/dossiers_legislatifs.js +47 -9
  156. package/lib/types/dossiers_legislatifs.mjs +39 -1
  157. package/lib/types/legislatures.js +1 -1
  158. package/lib/types/legislatures.mjs +1 -1
  159. package/lib/types/questions.js +9 -9
  160. package/lib/types/questions.mjs +1 -1
  161. package/lib/types/scrutins.js +9 -9
  162. package/lib/types/scrutins.mjs +1 -1
  163. package/lib/urls.js +2 -2
  164. package/lib/urls.mjs +1 -1
  165. package/package.json +14 -20
  166. package/lib/cleaners/textes_loi.d.ts +0 -1
  167. package/lib/cleaners/textes_loi.js +0 -12
  168. package/lib/cleaners/textes_loi.mjs +0 -5
  169. package/lib/examples/PIONANR5L15B0020/input.d.ts +0 -2
  170. package/lib/examples/PIONANR5L15B0020/input.js +0 -10
  171. package/lib/examples/PIONANR5L15B0020/input.mjs +0 -193
  172. package/lib/examples/PIONANR5L15B0020/input.ts +0 -193
  173. package/lib/examples/PIONANR5L15B0020/loi.json +0 -26
  174. package/lib/examples/PIONANR5L15B0020/loi_populated.json +0 -29
  175. package/lib/examples/PIONANR5L15B0020/meta.json +0 -28
  176. package/lib/examples/PIONANR5L15B0020/motifs.json +0 -5
  177. package/lib/examples/PIONANR5L15B0020/motifs_populated.json +0 -6
  178. package/lib/examples/PIONANR5L15B0020/sommaire.json +0 -3
  179. package/lib/examples/PRJLANR5L16B0914/input.d.ts +0 -2
  180. package/lib/examples/PRJLANR5L16B0914/input.js +0 -10
  181. package/lib/examples/PRJLANR5L16B0914/input.mjs +0 -322
  182. package/lib/examples/PRJLANR5L16B0914/input.ts +0 -322
  183. package/lib/examples/PRJLANR5L16B0914/loi.json +0 -14
  184. package/lib/examples/PRJLANR5L16B0914/loi_populated.json +0 -20
  185. package/lib/examples/PRJLANR5L16B0914/meta.json +0 -35
  186. package/lib/examples/PRJLANR5L16B0914/motifs.json +0 -4
  187. package/lib/examples/PRJLANR5L16B0914/motifs_populated.json +0 -5
  188. package/lib/examples/PRJLANR5L16B0914/sommaire.json +0 -3
  189. package/lib/examples/PRJLANR5L16B2014/README.md +0 -2
  190. package/lib/examples/PRJLANR5L16B2014/input.d.ts +0 -2
  191. package/lib/examples/PRJLANR5L16B2014/input.js +0 -10
  192. package/lib/examples/PRJLANR5L16B2014/input.mjs +0 -577
  193. package/lib/examples/PRJLANR5L16B2014/input.ts +0 -577
  194. package/lib/examples/PRJLANR5L16B2014/loi.json +0 -369
  195. package/lib/examples/PRJLANR5L16B2014/meta.json +0 -31
  196. package/lib/examples/PRJLANR5L16B2014/motifs.json +0 -5
  197. package/lib/examples/PRJLANR5L16B2014/sommaire.json +0 -51
  198. package/lib/examples/PRJLANR5L16B2424/alineas.json +0 -44
  199. package/lib/examples/PRJLANR5L16B2424/input.d.ts +0 -2
  200. package/lib/examples/PRJLANR5L16B2424/input.js +0 -10
  201. package/lib/examples/PRJLANR5L16B2424/input.mjs +0 -322
  202. package/lib/examples/PRJLANR5L16B2424/input.ts +0 -322
  203. package/lib/examples/PRJLANR5L16B2424/loi.json +0 -74
  204. package/lib/examples/PRJLANR5L16B2424/loi_populated.json +0 -87
  205. package/lib/examples/PRJLANR5L16B2424/meta.json +0 -31
  206. package/lib/examples/PRJLANR5L16B2424/motifs.json +0 -4
  207. package/lib/examples/PRJLANR5L16B2424/motifs_populated.json +0 -5
  208. package/lib/examples/PRJLANR5L16B2424/sommaire.json +0 -3
  209. package/lib/examples/PRJLANR5L16B2462/input.d.ts +0 -2
  210. package/lib/examples/PRJLANR5L16B2462/input.js +0 -10
  211. package/lib/examples/PRJLANR5L16B2462/input.mjs +0 -1308
  212. package/lib/examples/PRJLANR5L16B2462/input.ts +0 -1308
  213. package/lib/examples/PRJLANR5L16B2462/loi.json +0 -74
  214. package/lib/examples/PRJLANR5L16B2462/loi_populated.json +0 -310
  215. package/lib/examples/PRJLANR5L16B2462/meta.json +0 -29
  216. package/lib/examples/PRJLANR5L16B2462/motifs.json +0 -6
  217. package/lib/examples/PRJLANR5L16B2462/motifs_populated.json +0 -6
  218. package/lib/examples/PRJLANR5L16B2462/sommaire.json +0 -50
  219. package/lib/examples/README.md +0 -3
  220. package/lib/raw_types/textes_loi.d.ts +0 -93
  221. package/lib/raw_types/textes_loi.js +0 -429
  222. package/lib/raw_types/textes_loi.mjs +0 -378
  223. package/lib/schemas/texte_loi/Alinea.json +0 -36
  224. package/lib/schemas/texte_loi/ExposeMotifs.json +0 -24
  225. package/lib/schemas/texte_loi/MetaDonnees.json +0 -126
  226. package/lib/schemas/texte_loi/ProjetLoi.json +0 -64
  227. package/lib/schemas/texte_loi/Sommaire.json +0 -48
  228. package/lib/schemas/texte_loi/TexteLoi.json +0 -225
  229. package/lib/schemas/texte_loi/TexteLoiPartiel.json +0 -237
  230. package/lib/scripts/process_textes_loi_dataset.d.ts +0 -7
  231. package/lib/scripts/process_textes_loi_dataset.js +0 -373
  232. package/lib/scripts/process_textes_loi_dataset.mjs +0 -239
  233. package/lib/types/textes_loi.d.ts +0 -94
  234. package/lib/types/textes_loi.js +0 -429
  235. package/lib/types/textes_loi.mjs +0 -378
@@ -43,16 +43,16 @@ require("core-js/modules/es.string.match.js");
43
43
  require("core-js/modules/web.dom-collections.iterator.js");
44
44
  var _strings = require("./strings");
45
45
  var _acteurs_et_organes = require("./types/acteurs_et_organes");
46
- 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 new 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 new 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 new 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; }
46
+ 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; }
47
47
  var _marked = /*#__PURE__*/_regeneratorRuntime().mark(walkActes),
48
48
  _marked2 = /*#__PURE__*/_regeneratorRuntime().mark(walkDocumentAndDivisions);
49
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
49
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
50
50
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
51
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
52
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
53
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
54
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
55
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
51
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
52
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
53
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
54
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
55
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
56
56
  var FinalStatus = exports.FinalStatus = /*#__PURE__*/function (FinalStatus) {
57
57
  FinalStatus["Failure"] = "FAILURE";
58
58
  FinalStatus["Success"] = "SUCCESS";
@@ -343,4 +343,4 @@ function walkDocumentAndDivisions(documentOrDivision) {
343
343
  }
344
344
  }, _marked2, null, [[3, 12, 15, 18]]);
345
345
  }
346
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3RyaW5ncyIsInJlcXVpcmUiLCJfYWN0ZXVyc19ldF9vcmdhbmVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsIlN5bWJvbCIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9tYXJrZWQiLCJ3YWxrQWN0ZXMiLCJfbWFya2VkMiIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsInN0ZXAiLCJfZTIiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiRmluYWxTdGF0dXMiLCJleHBvcnRzIiwiU3RhdHVzT25seSIsImNvbW1pc3Npb25Gb25kVWlkRnJvbURvc3NpZXIiLCJkb3NzaWVyIiwiYWN0ZXNMZWdpc2xhdGlmcyIsInVuZGVmaW5lZCIsIl9pdGVyYXRvciIsIl9zdGVwIiwiYWN0ZSIsImNvZGVBY3RlIiwibWF0Y2giLCJvcmdhbmVSZWYiLCJzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSIsImxpYmVsbGUiLCJTdWNjZXNzIiwiRmFpbHVyZSIsIkluUHJvZ3Jlc3MiLCJDb2RlVHlwZU9yZ2FuZSIsIkNvbnN0aXR1Iiwic3RhdGVGcm9tQWN0ZVBhdGgiLCJhY3RlUGF0aCIsImxlYWZBY3RlIiwieHNpVHlwZSIsInN0YXR1dEFkb3B0aW9uIiwiY3VycmVudFN0YXR1cyIsImxhYmVsIiwidW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJzdGF0dXRDb25jbHVzaW9uIiwiZmluYWxTdGF0dXMiLCJwcm9jZWR1cmVQYXJsZW1lbnRhaXJlIiwiY29kZSIsImluY2x1ZGVzIiwiZGVjaXNpb24iLCJ0eXBlRGVjbGFyYXRpb24iLCJ0eXBlTW90aW9uQ2Vuc3VyZSIsIm9yZ2FuZSIsImNvZGVUeXBlIiwidHlwZU1vdGlvbiIsImNhc1NhaXNpbmUiLCJzdGF0ZUZyb21BY3RlcyIsImFjdGVzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInN0YXR1cyIsImNvbmNhdCIsInN0YXRlRnJvbURvc3NpZXIiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwid2Fsa0FjdGVzJCIsIl9jb250ZXh0IiwidDEiLCJkb2N1bWVudE9yRGl2aXNpb24iLCJfZG9jdW1lbnRPckRpdmlzaW9uJGQiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiZGl2aXNpb24iLCJ3YWxrRG9jdW1lbnRBbmREaXZpc2lvbnMkIiwiX2NvbnRleHQyIiwiZGl2aXNpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5pbXBvcnQgeyBDb2RlVHlwZU9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgdHlwZSB7XG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRGaWxlSW5mb3Mge1xuICBmaWxlbmFtZT86IHN0cmluZ1xuICBzaGEyNTY/OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRGaWxlc0luZGV4ID0ge1xuICBodG1sPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBwZGY/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG4gIFwicmF3LWh0bWxcIj86IERvY3VtZW50RmlsZUluZm9zW11cbn1cblxuZXhwb3J0IGVudW0gRmluYWxTdGF0dXMge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgY3VycmVudFN0YXR1czogU3RhdHVzXG4gIGZpbmFsU3RhdHVzPzogRmluYWxTdGF0dXNcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSBDb2RlVHlwZU9yZ2FuZSB8IFN0YXR1c09ubHlcblxuZXhwb3J0IGVudW0gU3RhdHVzT25seSB7XG4gIEZhaWx1cmUgPSBcIkZBSUxVUkVcIixcbiAgSW5Qcm9ncmVzcyA9IFwiSU5fUFJPR1JFU1NcIixcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llcihcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2Ygd2Fsa0FjdGVzKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGFjdGUuY29kZUFjdGUgYXMgdW5rbm93biBhcyBzdHJpbmcpLm1hdGNoKC9eQU4uKi1DT00tRk9ORC1TQUlTSUUkLykgIT09XG4gICAgICAgICAgbnVsbCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGFjdGUub3JnYW5lUmVmICE9PSBcIlBPMjExNDk0XCIgLy8gQ29tbWlzc2lvbiBkZXMgZmluYW5jZXMgZHUgU8OJTkFUICg9PiBlcnJldXIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFjdGUub3JnYW5lUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGU6IHN0cmluZyk6IFN0YXR1cyB7XG4gIHN3aXRjaCAobGliZWxsZSkge1xuICAgIGNhc2UgXCJBY2NvcmRcIjpcbiAgICBjYXNlIFwiYWRvcHTDqVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpLCBkYW5zIGxlcyBjb25kaXRpb25zIHByw6l2dWVzIMOgIGwnYXJ0aWNsZSA0NSwgYWxpbsOpYSAzLFwiICtcbiAgICAgIFwiIGRlIGxhIENvbnN0aXR1dGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcIkNvbmZvcm1lXCI6XG4gICAgY2FzZSBcImNvbnNpZMOpcsOpZSBjb21tZSBkw6lmaW5pdGl2ZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTUxLTcgZHUgUsOoZ2xlbWVudFwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS05IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiTW90aW9uIGFkb3B0w6koZSlcIjpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LlN1Y2Nlc3NcbiAgICBjYXNlIFwiRMOpc2FjY29yZFwiOlxuICAgIGNhc2UgXCJNb3Rpb24gcmVqZXTDqShlKVwiOlxuICAgIGNhc2UgXCJyZWpldMOpXCI6XG4gICAgY2FzZSBcInJlamV0w6llXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5GYWlsdXJlXG4gICAgY2FzZSBcImFkb3B0w6kgYXZlYyBtb2RpZmljYXRpb25zXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJEZSBkcm9pdCAoYXJ0aWNsZSA2MSBhbGluw6lhIDEgZGUgbGEgQ29uc3RpdHV0aW9uKVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqWVcIjpcbiAgICBjYXNlIFwiTW90aW9uIGRlIGNlbnN1cmUgNDktMlwiOlxuICAgIGNhc2UgXCJQYXJ0aWVsbGVtZW50IGNvbmZvcm1lXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5JblByb2dyZXNzXG4gICAgY2FzZSBcIlNvaXhhbnRlIGTDqXB1dMOpcyBhdSBtb2luc1wiOlxuICAgIGNhc2UgXCJTb2l4YW50ZSBzw6luYXRldXJzIGF1IG1vaW5zXCI6XG4gICAgICByZXR1cm4gQ29kZVR5cGVPcmdhbmUuQ29uc3RpdHVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21BY3RlUGF0aChcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGFjdGVQYXRoOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgbGVhZkFjdGUgPSBhY3RlUGF0aFthY3RlUGF0aC5sZW5ndGggLSAxXVxuICBsZXQgbGliZWxsZSA9IG51bGxcbiAgc3dpdGNoIChsZWFmQWN0ZS54c2lUeXBlKSB7XG4gICAgY2FzZSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0QWRvcHRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkNvbmNsdXNpb25FdGFwZUNDX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbl9UeXBlXCI6IHtcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICBsZXQgY3VycmVudFN0YXR1cyA9IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpXG4gICAgICBsZXQgZmluYWxTdGF0dXMgPSB1bmRlZmluZWRcbiAgICAgIHN3aXRjaCAoZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzJcIjpcbiAgICAgICAgICAvLyBQcm9wb3NpdGlvbiBkZSBsb2kgb3JkaW5haXJlXG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgW1wicmVqZXTDqVwiLCBcInJlamV0w6llXCJdLmluY2x1ZGVzKGxpYmVsbGUpICYmXG4gICAgICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV84XCI6IC8vIFLDqXNvbHV0aW9uXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yMlwiOlxuICAgICAgICAgIC8vIFLDqXNvbHV0aW9uIEFydGljbGUgMzQtMVxuICAgICAgICAgIGlmIChjdXJyZW50U3RhdHVzID09PSBTdGF0dXNPbmx5LlN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuU3VjY2Vzc1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5GYWlsdXJlKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBmaW5hbFN0YXR1czpcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBmb3Igb3RoZXIgY2FzZXMgPT4gVG8gaW1wcm92ZS5cbiAgICAgICAgICAvLyBFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcbiAgICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUuY29kZSA9PT1cbiAgICAgICAgICAgIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMTNcIiAmJiBsaWJlbGxlID09PSBcIk1vdGlvbiByZWpldMOpKGUpXCJcbiAgICAgICAgICAgID8gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgICAgOiBGaW5hbFN0YXR1cy5TdWNjZXNzLCAvLyBUT0RPOiBOb3Qgc3VyZSBvZiB0aGlzIGB0cnVlYCB2YWx1ZVxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5kZWNpc2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVEZWNsYXJhdGlvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RNb3Rpb25DZW5zdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uQ2Vuc3VyZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RSYXBwb3J0X1R5cGVcIjpcbiAgICAgIGlmIChcbiAgICAgICAgW1xuICAgICAgICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgICAgICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgICAgIF0uaW5jbHVkZXMoZG9zc2llci54c2lUeXBlISlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IGFjdGVQYXRoWzBdLm9yZ2FuZSEuY29kZVR5cGUsXG4gICAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLlN1Y2Nlc3MsXG4gICAgICAgICAgbGFiZWw6IFwicmFwcG9ydCBkw6lwb3PDqVwiLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNhc2UgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVNb3Rpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIlByb211bGdhdGlvbl9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LlN1Y2Nlc3MsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICBsYWJlbDogXCJwcm9tdWxndcOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IFN0YXR1c09ubHkuRmFpbHVyZSxcbiAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLkZhaWx1cmUsXG4gICAgICAgIGxhYmVsOiBcInJldGlyw6lcIixcbiAgICAgIH1cbiAgICBjYXNlIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5jYXNTYWlzaW5lIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBUaGlzIGFjdGUgZ2l2ZXMgbm8gc3RhdHVzLlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZXMoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbiAgYWN0ZXM/OiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgaWYgKGFjdGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgWy4uLmFjdGVzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGFjdGUuYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgICA/IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFsuLi5hY3RlUGF0aCwgYWN0ZV0sIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgICAgOiBzdGF0ZUZyb21BY3RlUGF0aChkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdKVxuICAgICAgaWYgKHN0YXR1cyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gc3RhdHVzXG4gICAgICB9XG4gICAgICAvLyBObyBzdGF0dXMgZm91bmQsIGNvbnRpbnVlIHdpdGggcHJldmlvdXMgYWN0ZS5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbURvc3NpZXIoZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUpOiBTdGF0ZSB7XG4gIGNvbnN0IHN0YXR1cyA9IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFtdLCBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpXG4gIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdHVzXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3MsXG4gICAgbGFiZWw6IFwiZW4gY291cnNcIixcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtBY3RlcyhcbiAgYWN0ZXM6IEFjdGVMZWdpc2xhdGlmW10sXG4pOiBHZW5lcmF0b3I8QWN0ZUxlZ2lzbGF0aWYsIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgeWllbGQgYWN0ZVxuICAgIGlmIChhY3RlLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgeWllbGQqIHdhbGtBY3RlcyhhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zKFxuICBkb2N1bWVudE9yRGl2aXNpb246IERvY3VtZW50IHwgRGl2aXNpb24sXG4pOiBHZW5lcmF0b3I8RG9jdW1lbnQgfCBEaXZpc2lvbiwgdm9pZCwgdW5rbm93bj4ge1xuICB5aWVsZCBkb2N1bWVudE9yRGl2aXNpb25cbiAgZm9yIChjb25zdCBkaXZpc2lvbiBvZiBkb2N1bWVudE9yRGl2aXNpb24uZGl2aXNpb25zID8/IFtdKSB7XG4gICAgeWllbGQqIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhkaXZpc2lvbilcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsbUJBQUEsR0FBQUQsT0FBQTtBQUEyRCxTQUFBRSxvQkFBQSxrQkFBM0QscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFDLENBQUEsU0FBQUMsQ0FBQSxFQUFBRCxDQUFBLE9BQUFFLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxTQUFBLEVBQUFDLENBQUEsR0FBQUgsQ0FBQSxDQUFBSSxjQUFBLEVBQUFDLENBQUEsR0FBQUosTUFBQSxDQUFBSyxjQUFBLGNBQUFQLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLElBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLENBQUFPLEtBQUEsS0FBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssYUFBQSx1QkFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFPLFdBQUEsOEJBQUFDLE9BQUFqQixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFBQyxNQUFBLENBQUFLLGNBQUEsQ0FBQVAsQ0FBQSxFQUFBRCxDQUFBLElBQUFTLEtBQUEsRUFBQVAsQ0FBQSxFQUFBaUIsVUFBQSxNQUFBQyxZQUFBLE1BQUFDLFFBQUEsU0FBQXBCLENBQUEsQ0FBQUQsQ0FBQSxXQUFBa0IsTUFBQSxtQkFBQWpCLENBQUEsSUFBQWlCLE1BQUEsWUFBQUEsT0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLGdCQUFBb0IsS0FBQXJCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLEVBQUFHLENBQUEsUUFBQUssQ0FBQSxHQUFBVixDQUFBLElBQUFBLENBQUEsQ0FBQUksU0FBQSxZQUFBbUIsU0FBQSxHQUFBdkIsQ0FBQSxHQUFBdUIsU0FBQSxFQUFBWCxDQUFBLEdBQUFULE1BQUEsQ0FBQXFCLE1BQUEsQ0FBQWQsQ0FBQSxDQUFBTixTQUFBLEdBQUFVLENBQUEsT0FBQVcsT0FBQSxDQUFBcEIsQ0FBQSxnQkFBQUUsQ0FBQSxDQUFBSyxDQUFBLGVBQUFILEtBQUEsRUFBQWlCLGdCQUFBLENBQUF6QixDQUFBLEVBQUFDLENBQUEsRUFBQVksQ0FBQSxNQUFBRixDQUFBLGFBQUFlLFNBQUExQixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxtQkFBQTBCLElBQUEsWUFBQUMsR0FBQSxFQUFBNUIsQ0FBQSxDQUFBNkIsSUFBQSxDQUFBOUIsQ0FBQSxFQUFBRSxDQUFBLGNBQUFELENBQUEsYUFBQTJCLElBQUEsV0FBQUMsR0FBQSxFQUFBNUIsQ0FBQSxRQUFBRCxDQUFBLENBQUFzQixJQUFBLEdBQUFBLElBQUEsTUFBQVMsQ0FBQSxxQkFBQUMsQ0FBQSxxQkFBQUMsQ0FBQSxnQkFBQUMsQ0FBQSxnQkFBQUMsQ0FBQSxnQkFBQVosVUFBQSxjQUFBYSxrQkFBQSxjQUFBQywyQkFBQSxTQUFBQyxDQUFBLE9BQUFwQixNQUFBLENBQUFvQixDQUFBLEVBQUExQixDQUFBLHFDQUFBMkIsQ0FBQSxHQUFBcEMsTUFBQSxDQUFBcUMsY0FBQSxFQUFBQyxDQUFBLEdBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBQSxDQUFBLENBQUFHLE1BQUEsUUFBQUQsQ0FBQSxJQUFBQSxDQUFBLEtBQUF2QyxDQUFBLElBQUFHLENBQUEsQ0FBQXlCLElBQUEsQ0FBQVcsQ0FBQSxFQUFBN0IsQ0FBQSxNQUFBMEIsQ0FBQSxHQUFBRyxDQUFBLE9BQUFFLENBQUEsR0FBQU4sMEJBQUEsQ0FBQWpDLFNBQUEsR0FBQW1CLFNBQUEsQ0FBQW5CLFNBQUEsR0FBQUQsTUFBQSxDQUFBcUIsTUFBQSxDQUFBYyxDQUFBLFlBQUFNLHNCQUFBM0MsQ0FBQSxnQ0FBQTRDLE9BQUEsV0FBQTdDLENBQUEsSUFBQWtCLE1BQUEsQ0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxZQUFBQyxDQUFBLGdCQUFBNkMsT0FBQSxDQUFBOUMsQ0FBQSxFQUFBQyxDQUFBLHNCQUFBOEMsY0FBQTlDLENBQUEsRUFBQUQsQ0FBQSxhQUFBZ0QsT0FBQTlDLENBQUEsRUFBQUssQ0FBQSxFQUFBRyxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxHQUFBYSxRQUFBLENBQUExQixDQUFBLENBQUFDLENBQUEsR0FBQUQsQ0FBQSxFQUFBTSxDQUFBLG1CQUFBTyxDQUFBLENBQUFjLElBQUEsUUFBQVosQ0FBQSxHQUFBRixDQUFBLENBQUFlLEdBQUEsRUFBQUUsQ0FBQSxHQUFBZixDQUFBLENBQUFQLEtBQUEsU0FBQXNCLENBQUEsZ0JBQUFrQixPQUFBLENBQUFsQixDQUFBLEtBQUExQixDQUFBLENBQUF5QixJQUFBLENBQUFDLENBQUEsZUFBQS9CLENBQUEsQ0FBQWtELE9BQUEsQ0FBQW5CLENBQUEsQ0FBQW9CLE9BQUEsRUFBQUMsSUFBQSxXQUFBbkQsQ0FBQSxJQUFBK0MsTUFBQSxTQUFBL0MsQ0FBQSxFQUFBUyxDQUFBLEVBQUFFLENBQUEsZ0JBQUFYLENBQUEsSUFBQStDLE1BQUEsVUFBQS9DLENBQUEsRUFBQVMsQ0FBQSxFQUFBRSxDQUFBLFFBQUFaLENBQUEsQ0FBQWtELE9BQUEsQ0FBQW5CLENBQUEsRUFBQXFCLElBQUEsV0FBQW5ELENBQUEsSUFBQWUsQ0FBQSxDQUFBUCxLQUFBLEdBQUFSLENBQUEsRUFBQVMsQ0FBQSxDQUFBTSxDQUFBLGdCQUFBZixDQUFBLFdBQUErQyxNQUFBLFVBQUEvQyxDQUFBLEVBQUFTLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLENBQUFFLENBQUEsQ0FBQWUsR0FBQSxTQUFBM0IsQ0FBQSxFQUFBSyxDQUFBLG9CQUFBRSxLQUFBLFdBQUFBLE1BQUFSLENBQUEsRUFBQUksQ0FBQSxhQUFBZ0QsMkJBQUEsZUFBQXJELENBQUEsV0FBQUEsQ0FBQSxFQUFBRSxDQUFBLElBQUE4QyxNQUFBLENBQUEvQyxDQUFBLEVBQUFJLENBQUEsRUFBQUwsQ0FBQSxFQUFBRSxDQUFBLGdCQUFBQSxDQUFBLEdBQUFBLENBQUEsR0FBQUEsQ0FBQSxDQUFBa0QsSUFBQSxDQUFBQywwQkFBQSxFQUFBQSwwQkFBQSxJQUFBQSwwQkFBQSxxQkFBQTNCLGlCQUFBMUIsQ0FBQSxFQUFBRSxDQUFBLEVBQUFHLENBQUEsUUFBQUUsQ0FBQSxHQUFBd0IsQ0FBQSxtQkFBQXJCLENBQUEsRUFBQUUsQ0FBQSxRQUFBTCxDQUFBLEtBQUEwQixDQUFBLFlBQUFxQixLQUFBLHNDQUFBL0MsQ0FBQSxLQUFBMkIsQ0FBQSxvQkFBQXhCLENBQUEsUUFBQUUsQ0FBQSxXQUFBSCxLQUFBLEVBQUFSLENBQUEsRUFBQXNELElBQUEsZUFBQWxELENBQUEsQ0FBQW1ELE1BQUEsR0FBQTlDLENBQUEsRUFBQUwsQ0FBQSxDQUFBd0IsR0FBQSxHQUFBakIsQ0FBQSxVQUFBRSxDQUFBLEdBQUFULENBQUEsQ0FBQW9ELFFBQUEsTUFBQTNDLENBQUEsUUFBQUUsQ0FBQSxHQUFBMEMsbUJBQUEsQ0FBQTVDLENBQUEsRUFBQVQsQ0FBQSxPQUFBVyxDQUFBLFFBQUFBLENBQUEsS0FBQW1CLENBQUEsbUJBQUFuQixDQUFBLHFCQUFBWCxDQUFBLENBQUFtRCxNQUFBLEVBQUFuRCxDQUFBLENBQUFzRCxJQUFBLEdBQUF0RCxDQUFBLENBQUF1RCxLQUFBLEdBQUF2RCxDQUFBLENBQUF3QixHQUFBLHNCQUFBeEIsQ0FBQSxDQUFBbUQsTUFBQSxRQUFBakQsQ0FBQSxLQUFBd0IsQ0FBQSxRQUFBeEIsQ0FBQSxHQUFBMkIsQ0FBQSxFQUFBN0IsQ0FBQSxDQUFBd0IsR0FBQSxFQUFBeEIsQ0FBQSxDQUFBd0QsaUJBQUEsQ0FBQXhELENBQUEsQ0FBQXdCLEdBQUEsdUJBQUF4QixDQUFBLENBQUFtRCxNQUFBLElBQUFuRCxDQUFBLENBQUF5RCxNQUFBLFdBQUF6RCxDQUFBLENBQUF3QixHQUFBLEdBQUF0QixDQUFBLEdBQUEwQixDQUFBLE1BQUFLLENBQUEsR0FBQVgsUUFBQSxDQUFBM0IsQ0FBQSxFQUFBRSxDQUFBLEVBQUFHLENBQUEsb0JBQUFpQyxDQUFBLENBQUFWLElBQUEsUUFBQXJCLENBQUEsR0FBQUYsQ0FBQSxDQUFBa0QsSUFBQSxHQUFBckIsQ0FBQSxHQUFBRixDQUFBLEVBQUFNLENBQUEsQ0FBQVQsR0FBQSxLQUFBTSxDQUFBLHFCQUFBMUIsS0FBQSxFQUFBNkIsQ0FBQSxDQUFBVCxHQUFBLEVBQUEwQixJQUFBLEVBQUFsRCxDQUFBLENBQUFrRCxJQUFBLGtCQUFBakIsQ0FBQSxDQUFBVixJQUFBLEtBQUFyQixDQUFBLEdBQUEyQixDQUFBLEVBQUE3QixDQUFBLENBQUFtRCxNQUFBLFlBQUFuRCxDQUFBLENBQUF3QixHQUFBLEdBQUFTLENBQUEsQ0FBQVQsR0FBQSxtQkFBQTZCLG9CQUFBMUQsQ0FBQSxFQUFBRSxDQUFBLFFBQUFHLENBQUEsR0FBQUgsQ0FBQSxDQUFBc0QsTUFBQSxFQUFBakQsQ0FBQSxHQUFBUCxDQUFBLENBQUFhLFFBQUEsQ0FBQVIsQ0FBQSxPQUFBRSxDQUFBLEtBQUFOLENBQUEsU0FBQUMsQ0FBQSxDQUFBdUQsUUFBQSxxQkFBQXBELENBQUEsSUFBQUwsQ0FBQSxDQUFBYSxRQUFBLGVBQUFYLENBQUEsQ0FBQXNELE1BQUEsYUFBQXRELENBQUEsQ0FBQTJCLEdBQUEsR0FBQTVCLENBQUEsRUFBQXlELG1CQUFBLENBQUExRCxDQUFBLEVBQUFFLENBQUEsZUFBQUEsQ0FBQSxDQUFBc0QsTUFBQSxrQkFBQW5ELENBQUEsS0FBQUgsQ0FBQSxDQUFBc0QsTUFBQSxZQUFBdEQsQ0FBQSxDQUFBMkIsR0FBQSxPQUFBa0MsU0FBQSx1Q0FBQTFELENBQUEsaUJBQUE4QixDQUFBLE1BQUF6QixDQUFBLEdBQUFpQixRQUFBLENBQUFwQixDQUFBLEVBQUFQLENBQUEsQ0FBQWEsUUFBQSxFQUFBWCxDQUFBLENBQUEyQixHQUFBLG1CQUFBbkIsQ0FBQSxDQUFBa0IsSUFBQSxTQUFBMUIsQ0FBQSxDQUFBc0QsTUFBQSxZQUFBdEQsQ0FBQSxDQUFBMkIsR0FBQSxHQUFBbkIsQ0FBQSxDQUFBbUIsR0FBQSxFQUFBM0IsQ0FBQSxDQUFBdUQsUUFBQSxTQUFBdEIsQ0FBQSxNQUFBdkIsQ0FBQSxHQUFBRixDQUFBLENBQUFtQixHQUFBLFNBQUFqQixDQUFBLEdBQUFBLENBQUEsQ0FBQTJDLElBQUEsSUFBQXJELENBQUEsQ0FBQUYsQ0FBQSxDQUFBZ0UsVUFBQSxJQUFBcEQsQ0FBQSxDQUFBSCxLQUFBLEVBQUFQLENBQUEsQ0FBQStELElBQUEsR0FBQWpFLENBQUEsQ0FBQWtFLE9BQUEsZUFBQWhFLENBQUEsQ0FBQXNELE1BQUEsS0FBQXRELENBQUEsQ0FBQXNELE1BQUEsV0FBQXRELENBQUEsQ0FBQTJCLEdBQUEsR0FBQTVCLENBQUEsR0FBQUMsQ0FBQSxDQUFBdUQsUUFBQSxTQUFBdEIsQ0FBQSxJQUFBdkIsQ0FBQSxJQUFBVixDQUFBLENBQUFzRCxNQUFBLFlBQUF0RCxDQUFBLENBQUEyQixHQUFBLE9BQUFrQyxTQUFBLHNDQUFBN0QsQ0FBQSxDQUFBdUQsUUFBQSxTQUFBdEIsQ0FBQSxjQUFBZ0MsYUFBQWxFLENBQUEsUUFBQUQsQ0FBQSxLQUFBb0UsTUFBQSxFQUFBbkUsQ0FBQSxZQUFBQSxDQUFBLEtBQUFELENBQUEsQ0FBQXFFLFFBQUEsR0FBQXBFLENBQUEsV0FBQUEsQ0FBQSxLQUFBRCxDQUFBLENBQUFzRSxVQUFBLEdBQUFyRSxDQUFBLEtBQUFELENBQUEsQ0FBQXVFLFFBQUEsR0FBQXRFLENBQUEsV0FBQXVFLFVBQUEsQ0FBQUMsSUFBQSxDQUFBekUsQ0FBQSxjQUFBMEUsY0FBQXpFLENBQUEsUUFBQUQsQ0FBQSxHQUFBQyxDQUFBLENBQUEwRSxVQUFBLFFBQUEzRSxDQUFBLENBQUE0QixJQUFBLG9CQUFBNUIsQ0FBQSxDQUFBNkIsR0FBQSxFQUFBNUIsQ0FBQSxDQUFBMEUsVUFBQSxHQUFBM0UsQ0FBQSxhQUFBeUIsUUFBQXhCLENBQUEsU0FBQXVFLFVBQUEsTUFBQUosTUFBQSxhQUFBbkUsQ0FBQSxDQUFBNEMsT0FBQSxDQUFBc0IsWUFBQSxjQUFBUyxLQUFBLGlCQUFBbEMsT0FBQTFDLENBQUEsUUFBQUEsQ0FBQSxXQUFBQSxDQUFBLFFBQUFFLENBQUEsR0FBQUYsQ0FBQSxDQUFBWSxDQUFBLE9BQUFWLENBQUEsU0FBQUEsQ0FBQSxDQUFBNEIsSUFBQSxDQUFBOUIsQ0FBQSw0QkFBQUEsQ0FBQSxDQUFBaUUsSUFBQSxTQUFBakUsQ0FBQSxPQUFBNkUsS0FBQSxDQUFBN0UsQ0FBQSxDQUFBOEUsTUFBQSxTQUFBdkUsQ0FBQSxPQUFBRyxDQUFBLFlBQUF1RCxLQUFBLGFBQUExRCxDQUFBLEdBQUFQLENBQUEsQ0FBQThFLE1BQUEsT0FBQXpFLENBQUEsQ0FBQXlCLElBQUEsQ0FBQTlCLENBQUEsRUFBQU8sQ0FBQSxVQUFBMEQsSUFBQSxDQUFBeEQsS0FBQSxHQUFBVCxDQUFBLENBQUFPLENBQUEsR0FBQTBELElBQUEsQ0FBQVYsSUFBQSxPQUFBVSxJQUFBLFNBQUFBLElBQUEsQ0FBQXhELEtBQUEsR0FBQVIsQ0FBQSxFQUFBZ0UsSUFBQSxDQUFBVixJQUFBLE9BQUFVLElBQUEsWUFBQXZELENBQUEsQ0FBQXVELElBQUEsR0FBQXZELENBQUEsZ0JBQUFxRCxTQUFBLENBQUFkLE9BQUEsQ0FBQWpELENBQUEsa0NBQUFvQyxpQkFBQSxDQUFBaEMsU0FBQSxHQUFBaUMsMEJBQUEsRUFBQTlCLENBQUEsQ0FBQW9DLENBQUEsbUJBQUFsQyxLQUFBLEVBQUE0QiwwQkFBQSxFQUFBakIsWUFBQSxTQUFBYixDQUFBLENBQUE4QiwwQkFBQSxtQkFBQTVCLEtBQUEsRUFBQTJCLGlCQUFBLEVBQUFoQixZQUFBLFNBQUFnQixpQkFBQSxDQUFBMkMsV0FBQSxHQUFBN0QsTUFBQSxDQUFBbUIsMEJBQUEsRUFBQXJCLENBQUEsd0JBQUFoQixDQUFBLENBQUFnRixtQkFBQSxhQUFBL0UsQ0FBQSxRQUFBRCxDQUFBLHdCQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQWdGLFdBQUEsV0FBQWpGLENBQUEsS0FBQUEsQ0FBQSxLQUFBb0MsaUJBQUEsNkJBQUFwQyxDQUFBLENBQUErRSxXQUFBLElBQUEvRSxDQUFBLENBQUFrRixJQUFBLE9BQUFsRixDQUFBLENBQUFtRixJQUFBLGFBQUFsRixDQUFBLFdBQUFFLE1BQUEsQ0FBQWlGLGNBQUEsR0FBQWpGLE1BQUEsQ0FBQWlGLGNBQUEsQ0FBQW5GLENBQUEsRUFBQW9DLDBCQUFBLEtBQUFwQyxDQUFBLENBQUFvRixTQUFBLEdBQUFoRCwwQkFBQSxFQUFBbkIsTUFBQSxDQUFBakIsQ0FBQSxFQUFBZSxDQUFBLHlCQUFBZixDQUFBLENBQUFHLFNBQUEsR0FBQUQsTUFBQSxDQUFBcUIsTUFBQSxDQUFBbUIsQ0FBQSxHQUFBMUMsQ0FBQSxLQUFBRCxDQUFBLENBQUFzRixLQUFBLGFBQUFyRixDQUFBLGFBQUFrRCxPQUFBLEVBQUFsRCxDQUFBLE9BQUEyQyxxQkFBQSxDQUFBRyxhQUFBLENBQUEzQyxTQUFBLEdBQUFjLE1BQUEsQ0FBQTZCLGFBQUEsQ0FBQTNDLFNBQUEsRUFBQVUsQ0FBQSxpQ0FBQWQsQ0FBQSxDQUFBK0MsYUFBQSxHQUFBQSxhQUFBLEVBQUEvQyxDQUFBLENBQUF1RixLQUFBLGFBQUF0RixDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBRSxDQUFBLEVBQUFHLENBQUEsZUFBQUEsQ0FBQSxLQUFBQSxDQUFBLEdBQUE4RSxPQUFBLE9BQUE1RSxDQUFBLE9BQUFtQyxhQUFBLENBQUF6QixJQUFBLENBQUFyQixDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBRSxDQUFBLEdBQUFHLENBQUEsVUFBQVYsQ0FBQSxDQUFBZ0YsbUJBQUEsQ0FBQTlFLENBQUEsSUFBQVUsQ0FBQSxHQUFBQSxDQUFBLENBQUFxRCxJQUFBLEdBQUFiLElBQUEsV0FBQW5ELENBQUEsV0FBQUEsQ0FBQSxDQUFBc0QsSUFBQSxHQUFBdEQsQ0FBQSxDQUFBUSxLQUFBLEdBQUFHLENBQUEsQ0FBQXFELElBQUEsV0FBQXJCLHFCQUFBLENBQUFELENBQUEsR0FBQXpCLE1BQUEsQ0FBQXlCLENBQUEsRUFBQTNCLENBQUEsZ0JBQUFFLE1BQUEsQ0FBQXlCLENBQUEsRUFBQS9CLENBQUEsaUNBQUFNLE1BQUEsQ0FBQXlCLENBQUEsNkRBQUEzQyxDQUFBLENBQUF5RixJQUFBLGFBQUF4RixDQUFBLFFBQUFELENBQUEsR0FBQUcsTUFBQSxDQUFBRixDQUFBLEdBQUFDLENBQUEsZ0JBQUFHLENBQUEsSUFBQUwsQ0FBQSxFQUFBRSxDQUFBLENBQUF1RSxJQUFBLENBQUFwRSxDQUFBLFVBQUFILENBQUEsQ0FBQXdGLE9BQUEsYUFBQXpCLEtBQUEsV0FBQS9ELENBQUEsQ0FBQTRFLE1BQUEsU0FBQTdFLENBQUEsR0FBQUMsQ0FBQSxDQUFBeUYsR0FBQSxRQUFBMUYsQ0FBQSxJQUFBRCxDQUFBLFNBQUFpRSxJQUFBLENBQUF4RCxLQUFBLEdBQUFSLENBQUEsRUFBQWdFLElBQUEsQ0FBQVYsSUFBQSxPQUFBVSxJQUFBLFdBQUFBLElBQUEsQ0FBQVYsSUFBQSxPQUFBVSxJQUFBLFFBQUFqRSxDQUFBLENBQUEwQyxNQUFBLEdBQUFBLE1BQUEsRUFBQWpCLE9BQUEsQ0FBQXJCLFNBQUEsS0FBQTZFLFdBQUEsRUFBQXhELE9BQUEsRUFBQW1ELEtBQUEsV0FBQUEsTUFBQTVFLENBQUEsYUFBQTRGLElBQUEsV0FBQTNCLElBQUEsV0FBQU4sSUFBQSxRQUFBQyxLQUFBLEdBQUEzRCxDQUFBLE9BQUFzRCxJQUFBLFlBQUFFLFFBQUEsY0FBQUQsTUFBQSxnQkFBQTNCLEdBQUEsR0FBQTVCLENBQUEsT0FBQXVFLFVBQUEsQ0FBQTNCLE9BQUEsQ0FBQTZCLGFBQUEsSUFBQTFFLENBQUEsV0FBQUUsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBMkYsTUFBQSxPQUFBeEYsQ0FBQSxDQUFBeUIsSUFBQSxPQUFBNUIsQ0FBQSxNQUFBMkUsS0FBQSxFQUFBM0UsQ0FBQSxDQUFBNEYsS0FBQSxjQUFBNUYsQ0FBQSxJQUFBRCxDQUFBLE1BQUE4RixJQUFBLFdBQUFBLEtBQUEsU0FBQXhDLElBQUEsV0FBQXRELENBQUEsUUFBQXVFLFVBQUEsSUFBQUcsVUFBQSxrQkFBQTFFLENBQUEsQ0FBQTJCLElBQUEsUUFBQTNCLENBQUEsQ0FBQTRCLEdBQUEsY0FBQW1FLElBQUEsS0FBQW5DLGlCQUFBLFdBQUFBLGtCQUFBN0QsQ0FBQSxhQUFBdUQsSUFBQSxRQUFBdkQsQ0FBQSxNQUFBRSxDQUFBLGtCQUFBK0YsT0FBQTVGLENBQUEsRUFBQUUsQ0FBQSxXQUFBSyxDQUFBLENBQUFnQixJQUFBLFlBQUFoQixDQUFBLENBQUFpQixHQUFBLEdBQUE3QixDQUFBLEVBQUFFLENBQUEsQ0FBQStELElBQUEsR0FBQTVELENBQUEsRUFBQUUsQ0FBQSxLQUFBTCxDQUFBLENBQUFzRCxNQUFBLFdBQUF0RCxDQUFBLENBQUEyQixHQUFBLEdBQUE1QixDQUFBLEtBQUFNLENBQUEsYUFBQUEsQ0FBQSxRQUFBaUUsVUFBQSxDQUFBTSxNQUFBLE1BQUF2RSxDQUFBLFNBQUFBLENBQUEsUUFBQUcsQ0FBQSxRQUFBOEQsVUFBQSxDQUFBakUsQ0FBQSxHQUFBSyxDQUFBLEdBQUFGLENBQUEsQ0FBQWlFLFVBQUEsaUJBQUFqRSxDQUFBLENBQUEwRCxNQUFBLFNBQUE2QixNQUFBLGFBQUF2RixDQUFBLENBQUEwRCxNQUFBLFNBQUF3QixJQUFBLFFBQUE5RSxDQUFBLEdBQUFULENBQUEsQ0FBQXlCLElBQUEsQ0FBQXBCLENBQUEsZUFBQU0sQ0FBQSxHQUFBWCxDQUFBLENBQUF5QixJQUFBLENBQUFwQixDQUFBLHFCQUFBSSxDQUFBLElBQUFFLENBQUEsYUFBQTRFLElBQUEsR0FBQWxGLENBQUEsQ0FBQTJELFFBQUEsU0FBQTRCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTJELFFBQUEsZ0JBQUF1QixJQUFBLEdBQUFsRixDQUFBLENBQUE0RCxVQUFBLFNBQUEyQixNQUFBLENBQUF2RixDQUFBLENBQUE0RCxVQUFBLGNBQUF4RCxDQUFBLGFBQUE4RSxJQUFBLEdBQUFsRixDQUFBLENBQUEyRCxRQUFBLFNBQUE0QixNQUFBLENBQUF2RixDQUFBLENBQUEyRCxRQUFBLHFCQUFBckQsQ0FBQSxZQUFBc0MsS0FBQSxxREFBQXNDLElBQUEsR0FBQWxGLENBQUEsQ0FBQTRELFVBQUEsU0FBQTJCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTRELFVBQUEsWUFBQVIsTUFBQSxXQUFBQSxPQUFBN0QsQ0FBQSxFQUFBRCxDQUFBLGFBQUFFLENBQUEsUUFBQXNFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBNUUsQ0FBQSxTQUFBQSxDQUFBLFFBQUFLLENBQUEsUUFBQWlFLFVBQUEsQ0FBQXRFLENBQUEsT0FBQUssQ0FBQSxDQUFBNkQsTUFBQSxTQUFBd0IsSUFBQSxJQUFBdkYsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBdkIsQ0FBQSx3QkFBQXFGLElBQUEsR0FBQXJGLENBQUEsQ0FBQStELFVBQUEsUUFBQTVELENBQUEsR0FBQUgsQ0FBQSxhQUFBRyxDQUFBLGlCQUFBVCxDQUFBLG1CQUFBQSxDQUFBLEtBQUFTLENBQUEsQ0FBQTBELE1BQUEsSUFBQXBFLENBQUEsSUFBQUEsQ0FBQSxJQUFBVSxDQUFBLENBQUE0RCxVQUFBLEtBQUE1RCxDQUFBLGNBQUFFLENBQUEsR0FBQUYsQ0FBQSxHQUFBQSxDQUFBLENBQUFpRSxVQUFBLGNBQUEvRCxDQUFBLENBQUFnQixJQUFBLEdBQUEzQixDQUFBLEVBQUFXLENBQUEsQ0FBQWlCLEdBQUEsR0FBQTdCLENBQUEsRUFBQVUsQ0FBQSxTQUFBOEMsTUFBQSxnQkFBQVMsSUFBQSxHQUFBdkQsQ0FBQSxDQUFBNEQsVUFBQSxFQUFBbkMsQ0FBQSxTQUFBK0QsUUFBQSxDQUFBdEYsQ0FBQSxNQUFBc0YsUUFBQSxXQUFBQSxTQUFBakcsQ0FBQSxFQUFBRCxDQUFBLG9CQUFBQyxDQUFBLENBQUEyQixJQUFBLFFBQUEzQixDQUFBLENBQUE0QixHQUFBLHFCQUFBNUIsQ0FBQSxDQUFBMkIsSUFBQSxtQkFBQTNCLENBQUEsQ0FBQTJCLElBQUEsUUFBQXFDLElBQUEsR0FBQWhFLENBQUEsQ0FBQTRCLEdBQUEsZ0JBQUE1QixDQUFBLENBQUEyQixJQUFBLFNBQUFvRSxJQUFBLFFBQUFuRSxHQUFBLEdBQUE1QixDQUFBLENBQUE0QixHQUFBLE9BQUEyQixNQUFBLGtCQUFBUyxJQUFBLHlCQUFBaEUsQ0FBQSxDQUFBMkIsSUFBQSxJQUFBNUIsQ0FBQSxVQUFBaUUsSUFBQSxHQUFBakUsQ0FBQSxHQUFBbUMsQ0FBQSxLQUFBZ0UsTUFBQSxXQUFBQSxPQUFBbEcsQ0FBQSxhQUFBRCxDQUFBLFFBQUF3RSxVQUFBLENBQUFNLE1BQUEsTUFBQTlFLENBQUEsU0FBQUEsQ0FBQSxRQUFBRSxDQUFBLFFBQUFzRSxVQUFBLENBQUF4RSxDQUFBLE9BQUFFLENBQUEsQ0FBQW9FLFVBQUEsS0FBQXJFLENBQUEsY0FBQWlHLFFBQUEsQ0FBQWhHLENBQUEsQ0FBQXlFLFVBQUEsRUFBQXpFLENBQUEsQ0FBQXFFLFFBQUEsR0FBQUcsYUFBQSxDQUFBeEUsQ0FBQSxHQUFBaUMsQ0FBQSx5QkFBQWlFLE9BQUFuRyxDQUFBLGFBQUFELENBQUEsUUFBQXdFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBOUUsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQXNFLFVBQUEsQ0FBQXhFLENBQUEsT0FBQUUsQ0FBQSxDQUFBa0UsTUFBQSxLQUFBbkUsQ0FBQSxRQUFBSSxDQUFBLEdBQUFILENBQUEsQ0FBQXlFLFVBQUEsa0JBQUF0RSxDQUFBLENBQUF1QixJQUFBLFFBQUFyQixDQUFBLEdBQUFGLENBQUEsQ0FBQXdCLEdBQUEsRUFBQTZDLGFBQUEsQ0FBQXhFLENBQUEsWUFBQUssQ0FBQSxnQkFBQStDLEtBQUEsOEJBQUErQyxhQUFBLFdBQUFBLGNBQUFyRyxDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxnQkFBQW9ELFFBQUEsS0FBQTVDLFFBQUEsRUFBQTZCLE1BQUEsQ0FBQTFDLENBQUEsR0FBQWdFLFVBQUEsRUFBQTlELENBQUEsRUFBQWdFLE9BQUEsRUFBQTdELENBQUEsb0JBQUFtRCxNQUFBLFVBQUEzQixHQUFBLEdBQUE1QixDQUFBLEdBQUFrQyxDQUFBLE9BQUFuQyxDQUFBO0FBQUEsSUFBQXNHLE9BQUEsZ0JBQUF2RyxtQkFBQSxHQUFBb0YsSUFBQSxDQTRQaUJvQixTQUFTO0VBQUFDLFFBQUEsZ0JBQUF6RyxtQkFBQSxHQUFBb0YsSUFBQSxDQVdUc0Isd0JBQXdCO0FBQUEsU0FBQUMsbUJBQUFDLEdBQUEsV0FBQUMsa0JBQUEsQ0FBQUQsR0FBQSxLQUFBRSxnQkFBQSxDQUFBRixHQUFBLEtBQUFHLDJCQUFBLENBQUFILEdBQUEsS0FBQUksa0JBQUE7QUFBQSxTQUFBQSxtQkFBQSxjQUFBaEQsU0FBQTtBQUFBLFNBQUE4QyxpQkFBQUcsSUFBQSxlQUFBckcsTUFBQSxvQkFBQXFHLElBQUEsQ0FBQXJHLE1BQUEsQ0FBQUUsUUFBQSxhQUFBbUcsSUFBQSwrQkFBQUMsS0FBQSxDQUFBQyxJQUFBLENBQUFGLElBQUE7QUFBQSxTQUFBSixtQkFBQUQsR0FBQSxRQUFBTSxLQUFBLENBQUFFLE9BQUEsQ0FBQVIsR0FBQSxVQUFBUyxpQkFBQSxDQUFBVCxHQUFBO0FBQUEsU0FBQVUsMkJBQUE5RyxDQUFBLEVBQUErRyxjQUFBLFFBQUFDLEVBQUEsVUFBQTVHLE1BQUEsb0JBQUFKLENBQUEsQ0FBQUksTUFBQSxDQUFBRSxRQUFBLEtBQUFOLENBQUEscUJBQUFnSCxFQUFBLFFBQUFOLEtBQUEsQ0FBQUUsT0FBQSxDQUFBNUcsQ0FBQSxNQUFBZ0gsRUFBQSxHQUFBVCwyQkFBQSxDQUFBdkcsQ0FBQSxNQUFBK0csY0FBQSxJQUFBL0csQ0FBQSxXQUFBQSxDQUFBLENBQUF1RSxNQUFBLHFCQUFBeUMsRUFBQSxFQUFBaEgsQ0FBQSxHQUFBZ0gsRUFBQSxNQUFBN0csQ0FBQSxVQUFBOEcsQ0FBQSxZQUFBQSxFQUFBLGVBQUF0RixDQUFBLEVBQUFzRixDQUFBLEVBQUFuSCxDQUFBLFdBQUFBLEVBQUEsUUFBQUssQ0FBQSxJQUFBSCxDQUFBLENBQUF1RSxNQUFBLFdBQUF2QixJQUFBLG1CQUFBQSxJQUFBLFNBQUE5QyxLQUFBLEVBQUFGLENBQUEsQ0FBQUcsQ0FBQSxVQUFBVixDQUFBLFdBQUFBLEVBQUF5SCxFQUFBLFVBQUFBLEVBQUEsS0FBQXhGLENBQUEsRUFBQXVGLENBQUEsZ0JBQUF6RCxTQUFBLGlKQUFBMkQsZ0JBQUEsU0FBQUMsTUFBQSxVQUFBQyxHQUFBLFdBQUExRixDQUFBLFdBQUFBLEVBQUEsSUFBQXFGLEVBQUEsR0FBQUEsRUFBQSxDQUFBekYsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBRixDQUFBLFdBQUFBLEVBQUEsUUFBQXdILElBQUEsR0FBQU4sRUFBQSxDQUFBdEQsSUFBQSxJQUFBeUQsZ0JBQUEsR0FBQUcsSUFBQSxDQUFBdEUsSUFBQSxTQUFBc0UsSUFBQSxLQUFBN0gsQ0FBQSxXQUFBQSxFQUFBOEgsR0FBQSxJQUFBSCxNQUFBLFNBQUFDLEdBQUEsR0FBQUUsR0FBQSxLQUFBN0YsQ0FBQSxXQUFBQSxFQUFBLGVBQUF5RixnQkFBQSxJQUFBSCxFQUFBLG9CQUFBQSxFQUFBLDhCQUFBSSxNQUFBLFFBQUFDLEdBQUE7QUFBQSxTQUFBZCw0QkFBQXZHLENBQUEsRUFBQXdILE1BQUEsU0FBQXhILENBQUEscUJBQUFBLENBQUEsc0JBQUE2RyxpQkFBQSxDQUFBN0csQ0FBQSxFQUFBd0gsTUFBQSxPQUFBMUgsQ0FBQSxHQUFBRixNQUFBLENBQUFDLFNBQUEsQ0FBQTRILFFBQUEsQ0FBQWxHLElBQUEsQ0FBQXZCLENBQUEsRUFBQXVGLEtBQUEsYUFBQXpGLENBQUEsaUJBQUFFLENBQUEsQ0FBQTBFLFdBQUEsRUFBQTVFLENBQUEsR0FBQUUsQ0FBQSxDQUFBMEUsV0FBQSxDQUFBQyxJQUFBLE1BQUE3RSxDQUFBLGNBQUFBLENBQUEsbUJBQUE0RyxLQUFBLENBQUFDLElBQUEsQ0FBQTNHLENBQUEsT0FBQUYsQ0FBQSwrREFBQTRILElBQUEsQ0FBQTVILENBQUEsVUFBQStHLGlCQUFBLENBQUE3RyxDQUFBLEVBQUF3SCxNQUFBO0FBQUEsU0FBQVgsa0JBQUFULEdBQUEsRUFBQXVCLEdBQUEsUUFBQUEsR0FBQSxZQUFBQSxHQUFBLEdBQUF2QixHQUFBLENBQUE3QixNQUFBLEVBQUFvRCxHQUFBLEdBQUF2QixHQUFBLENBQUE3QixNQUFBLFdBQUFwRSxDQUFBLE1BQUF5SCxJQUFBLE9BQUFsQixLQUFBLENBQUFpQixHQUFBLEdBQUF4SCxDQUFBLEdBQUF3SCxHQUFBLEVBQUF4SCxDQUFBLElBQUF5SCxJQUFBLENBQUF6SCxDQUFBLElBQUFpRyxHQUFBLENBQUFqRyxDQUFBLFVBQUF5SCxJQUFBO0FBQUEsSUFsUDdCQyxXQUFXLEdBQUFDLE9BQUEsQ0FBQUQsV0FBQSwwQkFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQVhBLFdBQVc7RUFBQSxPQUFYQSxXQUFXO0FBQUE7QUFBQSxJQWFYRSxVQUFVLEdBQUFELE9BQUEsQ0FBQUMsVUFBQSwwQkFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFBLE9BQVZBLFVBQVU7QUFBQTtBQU1mLFNBQVNDLDRCQUE0QkEsQ0FDMUNDLE9BQTZCLEVBQ1Q7RUFDcEIsSUFBSUEsT0FBTyxDQUFDQyxnQkFBZ0IsS0FBS0MsU0FBUyxFQUFFO0lBQUEsSUFBQUMsU0FBQSxHQUFBdEIsMEJBQUEsQ0FDdkJkLFNBQVMsQ0FBQ2lDLE9BQU8sQ0FBQ0MsZ0JBQWdCLENBQUM7TUFBQUcsS0FBQTtJQUFBO01BQXRELEtBQUFELFNBQUEsQ0FBQXpHLENBQUEsTUFBQTBHLEtBQUEsR0FBQUQsU0FBQSxDQUFBdEksQ0FBQSxJQUFBa0QsSUFBQSxHQUF3RDtRQUFBLElBQTdDc0YsSUFBSSxHQUFBRCxLQUFBLENBQUFuSSxLQUFBO1FBQ2IsSUFDR29JLElBQUksQ0FBQ0MsUUFBUSxDQUF1QkMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLEtBQ2xFLElBQUksSUFDTkYsSUFBSSxDQUFDRyxTQUFTLEtBQUtOLFNBQVMsSUFDNUJHLElBQUksQ0FBQ0csU0FBUyxLQUFLLFVBQVUsQ0FBQztRQUFBLEVBQzlCO1VBQ0EsT0FBT0gsSUFBSSxDQUFDRyxTQUFTO1FBQ3ZCO01BQ0Y7SUFBQyxTQUFBcEIsR0FBQTtNQUFBZSxTQUFBLENBQUEzSSxDQUFBLENBQUE0SCxHQUFBO0lBQUE7TUFBQWUsU0FBQSxDQUFBMUcsQ0FBQTtJQUFBO0VBQ0g7RUFDQSxPQUFPeUcsU0FBUztBQUNsQjtBQUVPLFNBQVNPLHVCQUF1QkEsQ0FBQ0MsT0FBZSxFQUFVO0VBQy9ELFFBQVFBLE9BQU87SUFDYixLQUFLLFFBQVE7SUFDYixLQUFLLFFBQVE7SUFDYixLQUFLLCtEQUErRCxHQUNsRSxxQkFBcUI7SUFDdkIsS0FBSyxTQUFTO0lBQ2QsS0FBSywwQkFBMEI7SUFDL0IsS0FBSywyQkFBMkI7SUFDaEMsS0FBSyxVQUFVO0lBQ2YsS0FBSyw0RUFBNEU7SUFDakYsS0FBSyw0RUFBNEU7SUFDakYsS0FBSyxrQkFBa0I7TUFDckIsT0FBT1osVUFBVSxDQUFDYSxPQUFPO0lBQzNCLEtBQUssV0FBVztJQUNoQixLQUFLLGtCQUFrQjtJQUN2QixLQUFLLFFBQVE7SUFDYixLQUFLLFNBQVM7TUFDWixPQUFPYixVQUFVLENBQUNjLE9BQU87SUFDM0IsS0FBSywyQkFBMkI7SUFDaEMsS0FBSyw0QkFBNEI7SUFDakMsS0FBSyxtREFBbUQ7SUFDeEQsS0FBSyxTQUFTO0lBQ2QsS0FBSyxVQUFVO0lBQ2YsS0FBSyx3QkFBd0I7SUFDN0IsS0FBSyx3QkFBd0I7TUFDM0IsT0FBT2QsVUFBVSxDQUFDZSxVQUFVO0lBQzlCLEtBQUssMkJBQTJCO0lBQ2hDLEtBQUssNkJBQTZCO01BQ2hDLE9BQU9DLGtDQUFjLENBQUNDLFFBQVE7SUFDaEM7TUFDRSxPQUFPakIsVUFBVSxDQUFDZSxVQUFVO0VBQ2hDO0FBQ0Y7QUFFTyxTQUFTRyxpQkFBaUJBLENBQy9CaEIsT0FBNkIsRUFDN0JpQixRQUEwQixFQUNaO0VBQ2QsSUFBTUMsUUFBUSxHQUFHRCxRQUFRLENBQUNBLFFBQVEsQ0FBQzNFLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDOUMsSUFBSW9FLE9BQU8sR0FBRyxJQUFJO0VBQ2xCLFFBQVFRLFFBQVEsQ0FBQ0MsT0FBTztJQUN0QixLQUFLLHNCQUFzQjtNQUN6QlQsT0FBTyxHQUFHUSxRQUFRLENBQUNFLGNBQWMsQ0FBRVYsT0FBTztNQUMxQyxPQUFPO1FBQ0xXLGFBQWEsRUFBRVosdUJBQXVCLENBQUNDLE9BQU8sQ0FBQztRQUMvQ1ksS0FBSyxFQUFFLElBQUFDLGdDQUF1QixFQUFDYixPQUFPO01BQ3hDLENBQUM7SUFDSCxLQUFLLHdCQUF3QjtNQUMzQkEsT0FBTyxHQUFHUSxRQUFRLENBQUNNLGdCQUFnQixDQUFFZCxPQUFPO01BQzVDLE9BQU87UUFDTFcsYUFBYSxFQUFFWix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDO1FBQy9DWSxLQUFLLEVBQUUsSUFBQUMsZ0NBQXVCLEVBQUNiLE9BQU87TUFDeEMsQ0FBQztJQUNILEtBQUssZUFBZTtNQUFFO1FBQ3BCQSxPQUFPLEdBQUdRLFFBQVEsQ0FBQ00sZ0JBQWdCLENBQUVkLE9BQU87UUFDNUMsSUFBSVcsYUFBYSxHQUFHWix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDO1FBQ3BELElBQUllLFdBQVcsR0FBR3ZCLFNBQVM7UUFDM0IsUUFBUUYsT0FBTyxDQUFDMEIsc0JBQXNCLENBQUNDLElBQUk7VUFDekMsS0FBSywyQkFBMkI7WUFDOUI7WUFDQTtZQUNBLElBQ0UsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUNDLFFBQVEsQ0FBQ2xCLE9BQU8sQ0FBQyxJQUN2Q1YsT0FBTyxDQUFDQyxnQkFBZ0IsS0FBS0MsU0FBUyxJQUN0Q0YsT0FBTyxDQUFDQyxnQkFBZ0IsQ0FBQzNELE1BQU0sS0FBSyxDQUFDLEVBQ3JDO2NBQ0FtRixXQUFXLEdBQUc3QixXQUFXLENBQUNnQixPQUFPO1lBQ25DO1lBQ0E7VUFDRixLQUFLLDJCQUEyQixDQUFDLENBQUM7VUFDbEMsS0FBSyw0QkFBNEI7WUFDL0I7WUFDQSxJQUFJUyxhQUFhLEtBQUt2QixVQUFVLENBQUNhLE9BQU8sRUFBRTtjQUN4Q2MsV0FBVyxHQUFHN0IsV0FBVyxDQUFDZSxPQUFPO1lBQ25DLENBQUMsTUFBTSxJQUFJVSxhQUFhLEtBQUt2QixVQUFVLENBQUNjLE9BQU8sRUFBRTtjQUMvQ2EsV0FBVyxHQUFHN0IsV0FBVyxDQUFDZ0IsT0FBTztZQUNuQztZQUNBO1VBQ0Y7WUFDRTtRQUNKO1FBQ0EsT0FBTztVQUNMUyxhQUFhLEVBQWJBLGFBQWE7VUFDYkksV0FBVyxFQUFYQSxXQUFXO1VBQ1hILEtBQUssRUFBRSxJQUFBQyxnQ0FBdUIsRUFBQ2IsT0FBTztRQUN4QyxDQUFDO01BQ0g7SUFDQSxLQUFLLDRCQUE0QjtNQUMvQkEsT0FBTyxHQUFHUSxRQUFRLENBQUNXLFFBQVEsQ0FBRW5CLE9BQU87TUFDcEMsT0FBTztRQUNMVyxhQUFhLEVBQUVaLHVCQUF1QixDQUFDQyxPQUFPLENBQUM7UUFDL0NlLFdBQVc7UUFDVDtRQUNBO1FBQ0F6QixPQUFPLENBQUMwQixzQkFBc0IsQ0FBQ0MsSUFBSSxLQUNqQyw0QkFBNEIsSUFBSWpCLE9BQU8sS0FBSyxrQkFBa0IsR0FDNURkLFdBQVcsQ0FBQ2dCLE9BQU8sR0FDbkJoQixXQUFXLENBQUNlLE9BQU87UUFBRTtRQUMzQlcsS0FBSyxFQUFFLElBQUFDLGdDQUF1QixFQUFDYixPQUFPO01BQ3hDLENBQUM7SUFDSCxLQUFLLGlDQUFpQztNQUNwQ0EsT0FBTyxHQUFHUSxRQUFRLENBQUNXLFFBQVEsQ0FBRW5CLE9BQU87TUFDcEMsT0FBTztRQUNMVyxhQUFhLEVBQUVaLHVCQUF1QixDQUFDQyxPQUFPLENBQUM7UUFDL0NZLEtBQUssRUFBRSxJQUFBQyxnQ0FBdUIsRUFBQ2IsT0FBTztNQUN4QyxDQUFDO0lBQ0gsS0FBSyw4QkFBOEI7TUFDakNBLE9BQU8sR0FBR1EsUUFBUSxDQUFDWSxlQUFlLENBQUVwQixPQUFPO01BQzNDLE9BQU87UUFDTFcsYUFBYSxFQUFFWix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDO1FBQy9DWSxLQUFLLEVBQUUsSUFBQUMsZ0NBQXVCLEVBQUNiLE9BQU87TUFDeEMsQ0FBQztJQUNILEtBQUsseUJBQXlCO01BQzVCQSxPQUFPLEdBQUdRLFFBQVEsQ0FBQ2EsaUJBQWlCLENBQUVyQixPQUFPO01BQzdDLE9BQU87UUFDTFcsYUFBYSxFQUFFWix1QkFBdUIsQ0FBQ0MsT0FBTyxDQUFDO1FBQy9DWSxLQUFLLEVBQUUsSUFBQUMsZ0NBQXVCLEVBQUNiLE9BQU87TUFDeEMsQ0FBQztJQUNILEtBQUssbUJBQW1CO01BQ3RCLElBQ0UsQ0FDRSwrQkFBK0IsRUFDL0IsNkJBQTZCLEVBQzdCLGdDQUFnQyxDQUNqQyxDQUFDa0IsUUFBUSxDQUFDNUIsT0FBTyxDQUFDbUIsT0FBUSxDQUFDLEVBQzVCO1FBQ0EsT0FBTztVQUNMRSxhQUFhLEVBQUVKLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ2UsTUFBTSxDQUFFQyxRQUFRO1VBQzNDUixXQUFXLEVBQUU3QixXQUFXLENBQUNlLE9BQU87VUFDaENXLEtBQUssRUFBRTtRQUNULENBQUM7TUFDSDtNQUNBLE9BQU8sSUFBSTtJQUNiLEtBQUssc0JBQXNCO01BQ3pCWixPQUFPLEdBQUdRLFFBQVEsQ0FBQ2dCLFVBQVUsQ0FBRXhCLE9BQU87TUFDdEMsT0FBTztRQUNMVyxhQUFhLEVBQUVaLHVCQUF1QixDQUFDQyxPQUFPLENBQUM7UUFDL0NZLEtBQUssRUFBRSxJQUFBQyxnQ0FBdUIsRUFBQ2IsT0FBTztNQUN4QyxDQUFDO0lBQ0gsS0FBSyxtQkFBbUI7TUFDdEIsT0FBTztRQUNMVyxhQUFhLEVBQUV2QixVQUFVLENBQUNhLE9BQU87UUFDakNjLFdBQVcsRUFBRTdCLFdBQVcsQ0FBQ2UsT0FBTztRQUNoQ1csS0FBSyxFQUFFO01BQ1QsQ0FBQztJQUNILEtBQUssd0JBQXdCO01BQzNCLE9BQU87UUFDTEQsYUFBYSxFQUFFdkIsVUFBVSxDQUFDYyxPQUFPO1FBQ2pDYSxXQUFXLEVBQUU3QixXQUFXLENBQUNnQixPQUFPO1FBQ2hDVSxLQUFLLEVBQUU7TUFDVCxDQUFDO0lBQ0gsS0FBSyw0QkFBNEI7TUFDL0JaLE9BQU8sR0FBR1EsUUFBUSxDQUFDaUIsVUFBVSxDQUFFekIsT0FBTztNQUN0QyxPQUFPO1FBQ0xXLGFBQWEsRUFBRVosdUJBQXVCLENBQUNDLE9BQU8sQ0FBQztRQUMvQ1ksS0FBSyxFQUFFLElBQUFDLGdDQUF1QixFQUFDYixPQUFPO01BQ3hDLENBQUM7SUFDSDtNQUNFO01BQ0EsT0FBTyxJQUFJO0VBQ2Y7QUFDRjtBQUVPLFNBQVMwQixjQUFjQSxDQUM1QnBDLE9BQTZCLEVBQzdCaUIsUUFBMEIsRUFDMUJvQixLQUF3QixFQUNWO0VBQ2QsSUFBSUEsS0FBSyxLQUFLbkMsU0FBUyxFQUFFO0lBQUEsSUFBQW9DLFVBQUEsR0FBQXpELDBCQUFBLENBQ0pYLGtCQUFBLENBQUltRSxLQUFLLEVBQUVuRixPQUFPLENBQUMsQ0FBQztNQUFBcUYsTUFBQTtJQUFBO01BQXZDLEtBQUFELFVBQUEsQ0FBQTVJLENBQUEsTUFBQTZJLE1BQUEsR0FBQUQsVUFBQSxDQUFBekssQ0FBQSxJQUFBa0QsSUFBQSxHQUF5QztRQUFBLElBQTlCc0YsSUFBSSxHQUFBa0MsTUFBQSxDQUFBdEssS0FBQTtRQUNiLElBQU11SyxNQUFNLEdBQUduQyxJQUFJLENBQUNKLGdCQUFnQixHQUNoQ21DLGNBQWMsQ0FBQ3BDLE9BQU8sS0FBQXlDLE1BQUEsQ0FBQXZFLGtCQUFBLENBQU0rQyxRQUFRLElBQUVaLElBQUksSUFBR0EsSUFBSSxDQUFDSixnQkFBZ0IsQ0FBQyxHQUNuRWUsaUJBQWlCLENBQUNoQixPQUFPLEtBQUF5QyxNQUFBLENBQUF2RSxrQkFBQSxDQUFNK0MsUUFBUSxJQUFFWixJQUFJLEVBQUMsQ0FBQztRQUNuRCxJQUFJbUMsTUFBTSxLQUFLLElBQUksRUFBRTtVQUNuQixPQUFPQSxNQUFNO1FBQ2Y7UUFDQTtNQUNGO0lBQUMsU0FBQXBELEdBQUE7TUFBQWtELFVBQUEsQ0FBQTlLLENBQUEsQ0FBQTRILEdBQUE7SUFBQTtNQUFBa0QsVUFBQSxDQUFBN0ksQ0FBQTtJQUFBO0VBQ0g7RUFDQSxPQUFPLElBQUk7QUFDYjtBQUVPLFNBQVNpSixnQkFBZ0JBLENBQUMxQyxPQUE2QixFQUFTO0VBQ3JFLElBQU13QyxNQUFNLEdBQUdKLGNBQWMsQ0FBQ3BDLE9BQU8sRUFBRSxFQUFFLEVBQUVBLE9BQU8sQ0FBQ0MsZ0JBQWdCLENBQUM7RUFDcEUsSUFBSXVDLE1BQU0sS0FBSyxJQUFJLEVBQUU7SUFDbkIsT0FBT0EsTUFBTTtFQUNmO0VBQ0EsT0FBTztJQUNMbkIsYUFBYSxFQUFFdkIsVUFBVSxDQUFDZSxVQUFVO0lBQ3BDUyxLQUFLLEVBQUU7RUFDVCxDQUFDO0FBQ0g7QUFFTyxTQUFVdkQsU0FBU0EsQ0FDeEJzRSxLQUF1QjtFQUFBLElBQUFNLFVBQUEsRUFBQUMsTUFBQSxFQUFBdkMsSUFBQTtFQUFBLE9BQUE5SSxtQkFBQSxHQUFBdUIsSUFBQSxVQUFBK0osV0FBQUMsUUFBQTtJQUFBLGtCQUFBQSxRQUFBLENBQUExRixJQUFBLEdBQUEwRixRQUFBLENBQUFySCxJQUFBO01BQUE7UUFBQWtILFVBQUEsR0FBQTlELDBCQUFBLENBRUp3RCxLQUFLO1FBQUFTLFFBQUEsQ0FBQTFGLElBQUE7UUFBQXVGLFVBQUEsQ0FBQWpKLENBQUE7TUFBQTtRQUFBLEtBQUFrSixNQUFBLEdBQUFELFVBQUEsQ0FBQTlLLENBQUEsSUFBQWtELElBQUE7VUFBQStILFFBQUEsQ0FBQXJILElBQUE7VUFBQTtRQUFBO1FBQWI0RSxJQUFJLEdBQUF1QyxNQUFBLENBQUEzSyxLQUFBO1FBQUE2SyxRQUFBLENBQUFySCxJQUFBO1FBQ2IsT0FBTTRFLElBQUk7TUFBQTtRQUFBLE1BQ05BLElBQUksQ0FBQ0osZ0JBQWdCLEtBQUtDLFNBQVM7VUFBQTRDLFFBQUEsQ0FBQXJILElBQUE7VUFBQTtRQUFBO1FBQ3JDLE9BQUFxSCxRQUFBLENBQUFqRixhQUFBLENBQU9FLFNBQVMsQ0FBQ3NDLElBQUksQ0FBQ0osZ0JBQWdCLENBQUM7TUFBQTtRQUFBNkMsUUFBQSxDQUFBckgsSUFBQTtRQUFBO01BQUE7UUFBQXFILFFBQUEsQ0FBQXJILElBQUE7UUFBQTtNQUFBO1FBQUFxSCxRQUFBLENBQUExRixJQUFBO1FBQUEwRixRQUFBLENBQUFDLEVBQUEsR0FBQUQsUUFBQTtRQUFBSCxVQUFBLENBQUFuTCxDQUFBLENBQUFzTCxRQUFBLENBQUFDLEVBQUE7TUFBQTtRQUFBRCxRQUFBLENBQUExRixJQUFBO1FBQUF1RixVQUFBLENBQUFsSixDQUFBO1FBQUEsT0FBQXFKLFFBQUEsQ0FBQW5GLE1BQUE7TUFBQTtNQUFBO1FBQUEsT0FBQW1GLFFBQUEsQ0FBQXZGLElBQUE7SUFBQTtFQUFBLEdBQUFPLE9BQUE7QUFBQTtBQUt0QyxTQUFVRyx3QkFBd0JBLENBQ3ZDK0Usa0JBQXVDO0VBQUEsSUFBQUMscUJBQUE7RUFBQSxJQUFBQyxVQUFBLEVBQUFDLE1BQUEsRUFBQUMsUUFBQTtFQUFBLE9BQUE3TCxtQkFBQSxHQUFBdUIsSUFBQSxVQUFBdUssMEJBQUFDLFNBQUE7SUFBQSxrQkFBQUEsU0FBQSxDQUFBbEcsSUFBQSxHQUFBa0csU0FBQSxDQUFBN0gsSUFBQTtNQUFBO1FBQUE2SCxTQUFBLENBQUE3SCxJQUFBO1FBRXZDLE9BQU11SCxrQkFBa0I7TUFBQTtRQUFBRSxVQUFBLEdBQUFyRSwwQkFBQSxFQUFBb0UscUJBQUEsR0FDREQsa0JBQWtCLENBQUNPLFNBQVMsY0FBQU4scUJBQUEsY0FBQUEscUJBQUEsR0FBSSxFQUFFO1FBQUFLLFNBQUEsQ0FBQWxHLElBQUE7UUFBQThGLFVBQUEsQ0FBQXhKLENBQUE7TUFBQTtRQUFBLEtBQUF5SixNQUFBLEdBQUFELFVBQUEsQ0FBQXJMLENBQUEsSUFBQWtELElBQUE7VUFBQXVJLFNBQUEsQ0FBQTdILElBQUE7VUFBQTtRQUFBO1FBQTlDMkgsUUFBUSxHQUFBRCxNQUFBLENBQUFsTCxLQUFBO1FBQ2pCLE9BQUFxTCxTQUFBLENBQUF6RixhQUFBLENBQU9JLHdCQUF3QixDQUFDbUYsUUFBUSxDQUFDO01BQUE7UUFBQUUsU0FBQSxDQUFBN0gsSUFBQTtRQUFBO01BQUE7UUFBQTZILFNBQUEsQ0FBQTdILElBQUE7UUFBQTtNQUFBO1FBQUE2SCxTQUFBLENBQUFsRyxJQUFBO1FBQUFrRyxTQUFBLENBQUFQLEVBQUEsR0FBQU8sU0FBQTtRQUFBSixVQUFBLENBQUExTCxDQUFBLENBQUE4TCxTQUFBLENBQUFQLEVBQUE7TUFBQTtRQUFBTyxTQUFBLENBQUFsRyxJQUFBO1FBQUE4RixVQUFBLENBQUF6SixDQUFBO1FBQUEsT0FBQTZKLFNBQUEsQ0FBQTNGLE1BQUE7TUFBQTtNQUFBO1FBQUEsT0FBQTJGLFNBQUEsQ0FBQS9GLElBQUE7SUFBQTtFQUFBLEdBQUFTLFFBQUE7QUFBQSJ9
346
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3RyaW5ncyIsInJlcXVpcmUiLCJfYWN0ZXVyc19ldF9vcmdhbmVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsIlN5bWJvbCIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9tYXJrZWQiLCJ3YWxrQWN0ZXMiLCJfbWFya2VkMiIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsInRvU3RyaW5nIiwidGVzdCIsIkZpbmFsU3RhdHVzIiwiZXhwb3J0cyIsIlN0YXR1c09ubHkiLCJjb21taXNzaW9uRm9uZFVpZEZyb21Eb3NzaWVyIiwiZG9zc2llciIsImFjdGVzTGVnaXNsYXRpZnMiLCJ1bmRlZmluZWQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImFjdGUiLCJjb2RlQWN0ZSIsIm1hdGNoIiwib3JnYW5lUmVmIiwiZXJyIiwic3RhdHVzRnJvbUNvZGllckxpYmVsbGUiLCJsaWJlbGxlIiwiU3VjY2VzcyIsIkZhaWx1cmUiLCJJblByb2dyZXNzIiwiQ29kZVR5cGVPcmdhbmUiLCJDb25zdGl0dSIsInN0YXRlRnJvbUFjdGVQYXRoIiwiYWN0ZVBhdGgiLCJsZWFmQWN0ZSIsInhzaVR5cGUiLCJzdGF0dXRBZG9wdGlvbiIsImN1cnJlbnRTdGF0dXMiLCJsYWJlbCIsInVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwic3RhdHV0Q29uY2x1c2lvbiIsImZpbmFsU3RhdHVzIiwicHJvY2VkdXJlUGFybGVtZW50YWlyZSIsImNvZGUiLCJpbmNsdWRlcyIsImRlY2lzaW9uIiwidHlwZURlY2xhcmF0aW9uIiwidHlwZU1vdGlvbkNlbnN1cmUiLCJvcmdhbmUiLCJjb2RlVHlwZSIsInR5cGVNb3Rpb24iLCJjYXNTYWlzaW5lIiwic3RhdGVGcm9tQWN0ZXMiLCJhY3RlcyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJzdGF0dXMiLCJjb25jYXQiLCJzdGF0ZUZyb21Eb3NzaWVyIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIndhbGtBY3RlcyQiLCJfY29udGV4dCIsInQxIiwiZG9jdW1lbnRPckRpdmlzaW9uIiwiX2RvY3VtZW50T3JEaXZpc2lvbiRkIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImRpdmlzaW9uIiwid2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zJCIsIl9jb250ZXh0MiIsImRpdmlzaW9ucyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kb3NzaWVyc19sZWdpc2xhdGlmcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1bmNhcGl0YWxpemVGaXJzdExldHRlciB9IGZyb20gXCIuL3N0cmluZ3NcIlxuaW1wb3J0IHsgQ29kZVR5cGVPcmdhbmUgfSBmcm9tIFwiLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHR5cGUge1xuICBEb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgQWN0ZUxlZ2lzbGF0aWYsXG4gIERpdmlzaW9uLFxuICBEb2N1bWVudCxcbn0gZnJvbSBcIi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50RmlsZUluZm9zIHtcbiAgZmlsZW5hbWU/OiBzdHJpbmdcbiAgc2hhMjU2Pzogc3RyaW5nXG4gIHVybDogc3RyaW5nXG4gIHN0YXR1czogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50RmlsZXNJbmRleCA9IHtcbiAgaHRtbD86IERvY3VtZW50RmlsZUluZm9zW11cbiAgcGRmPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBcInJhdy1odG1sXCI/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG59XG5cbmV4cG9ydCBlbnVtIEZpbmFsU3RhdHVzIHtcbiAgRmFpbHVyZSA9IFwiRkFJTFVSRVwiLFxuICBTdWNjZXNzID0gXCJTVUNDRVNTXCIsXG59XG5cbmludGVyZmFjZSBTdGF0ZSB7XG4gIGN1cnJlbnRTdGF0dXM6IFN0YXR1c1xuICBmaW5hbFN0YXR1cz86IEZpbmFsU3RhdHVzXG4gIGxhYmVsOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU3RhdHVzID0gQ29kZVR5cGVPcmdhbmUgfCBTdGF0dXNPbmx5XG5cbmV4cG9ydCBlbnVtIFN0YXR1c09ubHkge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIEluUHJvZ3Jlc3MgPSBcIklOX1BST0dSRVNTXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbW1pc3Npb25Gb25kVWlkRnJvbURvc3NpZXIoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBhY3RlIG9mIHdhbGtBY3Rlcyhkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChhY3RlLmNvZGVBY3RlIGFzIHVua25vd24gYXMgc3RyaW5nKS5tYXRjaCgvXkFOLiotQ09NLUZPTkQtU0FJU0lFJC8pICE9PVxuICAgICAgICAgIG51bGwgJiZcbiAgICAgICAgYWN0ZS5vcmdhbmVSZWYgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gXCJQTzIxMTQ5NFwiIC8vIENvbW1pc3Npb24gZGVzIGZpbmFuY2VzIGR1IFPDiU5BVCAoPT4gZXJyZXVyKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBhY3RlLm9yZ2FuZVJlZlxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlOiBzdHJpbmcpOiBTdGF0dXMge1xuICBzd2l0Y2ggKGxpYmVsbGUpIHtcbiAgICBjYXNlIFwiQWNjb3JkXCI6XG4gICAgY2FzZSBcImFkb3B0w6lcIjpcbiAgICBjYXNlIFwiYWRvcHTDqSwgZGFucyBsZXMgY29uZGl0aW9ucyBwcsOpdnVlcyDDoCBsJ2FydGljbGUgNDUsIGFsaW7DqWEgMyxcIiArXG4gICAgICBcIiBkZSBsYSBDb25zdGl0dXRpb25cIjpcbiAgICBjYXNlIFwiYWRvcHTDqWVcIjpcbiAgICBjYXNlIFwiYWRvcHTDqSBzYW5zIG1vZGlmaWNhdGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZSBzYW5zIG1vZGlmaWNhdGlvblwiOlxuICAgIGNhc2UgXCJDb25mb3JtZVwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS03IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiY29uc2lkw6lyw6llIGNvbW1lIGTDqWZpbml0aXZlIGVuIGFwcGxpY2F0aW9uIGRlIGwnYXJ0aWNsZSAxNTEtOSBkdSBSw6hnbGVtZW50XCI6XG4gICAgY2FzZSBcIk1vdGlvbiBhZG9wdMOpKGUpXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5TdWNjZXNzXG4gICAgY2FzZSBcIkTDqXNhY2NvcmRcIjpcbiAgICBjYXNlIFwiTW90aW9uIHJlamV0w6koZSlcIjpcbiAgICBjYXNlIFwicmVqZXTDqVwiOlxuICAgIGNhc2UgXCJyZWpldMOpZVwiOlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuRmFpbHVyZVxuICAgIGNhc2UgXCJhZG9wdMOpIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJhZG9wdMOpZSBhdmVjIG1vZGlmaWNhdGlvbnNcIjpcbiAgICBjYXNlIFwiRGUgZHJvaXQgKGFydGljbGUgNjEgYWxpbsOpYSAxIGRlIGxhIENvbnN0aXR1dGlvbilcIjpcbiAgICBjYXNlIFwibW9kaWZpw6lcIjpcbiAgICBjYXNlIFwibW9kaWZpw6llXCI6XG4gICAgY2FzZSBcIk1vdGlvbiBkZSBjZW5zdXJlIDQ5LTJcIjpcbiAgICBjYXNlIFwiUGFydGllbGxlbWVudCBjb25mb3JtZVwiOlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICAgIGNhc2UgXCJTb2l4YW50ZSBkw6lwdXTDqXMgYXUgbW9pbnNcIjpcbiAgICBjYXNlIFwiU29peGFudGUgc8OpbmF0ZXVycyBhdSBtb2luc1wiOlxuICAgICAgcmV0dXJuIENvZGVUeXBlT3JnYW5lLkNvbnN0aXR1XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3NcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZVBhdGgoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbik6IFN0YXRlIHwgbnVsbCB7XG4gIGNvbnN0IGxlYWZBY3RlID0gYWN0ZVBhdGhbYWN0ZVBhdGgubGVuZ3RoIC0gMV1cbiAgbGV0IGxpYmVsbGUgPSBudWxsXG4gIHN3aXRjaCAobGVhZkFjdGUueHNpVHlwZSkge1xuICAgIGNhc2UgXCJBZG9wdGlvbl9FdXJvcGVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnN0YXR1dEFkb3B0aW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJDb25jbHVzaW9uRXRhcGVDQ19UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0Q29uY2x1c2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjaXNpb25fVHlwZVwiOiB7XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0Q29uY2x1c2lvbiEubGliZWxsZVxuICAgICAgbGV0IGN1cnJlbnRTdGF0dXMgPSBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKVxuICAgICAgbGV0IGZpbmFsU3RhdHVzID0gdW5kZWZpbmVkXG4gICAgICBzd2l0Y2ggKGRvc3NpZXIucHJvY2VkdXJlUGFybGVtZW50YWlyZS5jb2RlKSB7XG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yXCI6XG4gICAgICAgICAgLy8gUHJvcG9zaXRpb24gZGUgbG9pIG9yZGluYWlyZVxuICAgICAgICAgIC8vIE5vdCBzdXJlIGZvciBvdGhlciBjYXNlcyA9PiBUbyBpbXByb3ZlLlxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIFtcInJlamV0w6lcIiwgXCJyZWpldMOpZVwiXS5pbmNsdWRlcyhsaWJlbGxlKSAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcy5sZW5ndGggPT09IDFcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfOFwiOiAvLyBSw6lzb2x1dGlvblxuICAgICAgICBjYXNlIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMjJcIjpcbiAgICAgICAgICAvLyBSw6lzb2x1dGlvbiBBcnRpY2xlIDM0LTFcbiAgICAgICAgICBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5TdWNjZXNzKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLlN1Y2Nlc3NcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRTdGF0dXMgPT09IFN0YXR1c09ubHkuRmFpbHVyZSkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXMsXG4gICAgICAgIGZpbmFsU3RhdHVzLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbk1vdGlvbkNlbnN1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLmRlY2lzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgZmluYWxTdGF0dXM6XG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgLy8gRW5nYWdlbWVudCBkZSBsYSByZXNwb25zYWJpbGl0w6kgZ291dmVybmVtZW50YWxlXG4gICAgICAgICAgZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUgPT09XG4gICAgICAgICAgICBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzEzXCIgJiYgbGliZWxsZSA9PT0gXCJNb3Rpb24gcmVqZXTDqShlKVwiXG4gICAgICAgICAgICA/IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICAgIDogRmluYWxTdGF0dXMuU3VjY2VzcywgLy8gVE9ETzogTm90IHN1cmUgb2YgdGhpcyBgdHJ1ZWAgdmFsdWVcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvblJlY2V2YWJpbGl0ZUJ1cmVhdV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2xhcmF0aW9uR291dmVybmVtZW50X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlRGVjbGFyYXRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlcG90TW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUudHlwZU1vdGlvbkNlbnN1cmUhLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlcG90UmFwcG9ydF9UeXBlXCI6XG4gICAgICBpZiAoXG4gICAgICAgIFtcbiAgICAgICAgICBcIkRvc3NpZXJDb21taXNzaW9uRW5xdWV0ZV9UeXBlXCIsXG4gICAgICAgICAgXCJEb3NzaWVyTWlzc2lvbkNvbnRyb2xlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uSW5mb3JtYXRpb25fVHlwZVwiLFxuICAgICAgICBdLmluY2x1ZGVzKGRvc3NpZXIueHNpVHlwZSEpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBjdXJyZW50U3RhdHVzOiBhY3RlUGF0aFswXS5vcmdhbmUhLmNvZGVUeXBlLFxuICAgICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICAgIGxhYmVsOiBcInJhcHBvcnQgZMOpcG9zw6lcIixcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICBjYXNlIFwiTW90aW9uUHJvY2VkdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJQcm9tdWxnYXRpb25fVHlwZVwiOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogU3RhdHVzT25seS5TdWNjZXNzLFxuICAgICAgICBmaW5hbFN0YXR1czogRmluYWxTdGF0dXMuU3VjY2VzcyxcbiAgICAgICAgbGFiZWw6IFwicHJvbXVsZ3XDqVwiLFxuICAgICAgfVxuICAgIGNhc2UgXCJSZXRyYWl0SW5pdGlhdGl2ZV9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkZhaWx1cmUsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5GYWlsdXJlLFxuICAgICAgICBsYWJlbDogXCJyZXRpcsOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlNhaXNpbmVDb25zZWlsQ29uc3RpdF9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuY2FzU2Fpc2luZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gVGhpcyBhY3RlIGdpdmVzIG5vIHN0YXR1cy5cbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbUFjdGVzKFxuICBkb3NzaWVyOiBEb3NzaWVyUGFybGVtZW50YWlyZSxcbiAgYWN0ZVBhdGg6IEFjdGVMZWdpc2xhdGlmW10sXG4gIGFjdGVzPzogQWN0ZUxlZ2lzbGF0aWZbXSxcbik6IFN0YXRlIHwgbnVsbCB7XG4gIGlmIChhY3RlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCBhY3RlIG9mIFsuLi5hY3Rlc10ucmV2ZXJzZSgpKSB7XG4gICAgICBjb25zdCBzdGF0dXMgPSBhY3RlLmFjdGVzTGVnaXNsYXRpZnNcbiAgICAgICAgPyBzdGF0ZUZyb21BY3Rlcyhkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdLCBhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgICAgIDogc3RhdGVGcm9tQWN0ZVBhdGgoZG9zc2llciwgWy4uLmFjdGVQYXRoLCBhY3RlXSlcbiAgICAgIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHN0YXR1c1xuICAgICAgfVxuICAgICAgLy8gTm8gc3RhdHVzIGZvdW5kLCBjb250aW51ZSB3aXRoIHByZXZpb3VzIGFjdGUuXG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21Eb3NzaWVyKGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlKTogU3RhdGUge1xuICBjb25zdCBzdGF0dXMgPSBzdGF0ZUZyb21BY3Rlcyhkb3NzaWVyLCBbXSwgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzKVxuICBpZiAoc3RhdHVzICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIHN0YXR1c1xuICB9XG4gIHJldHVybiB7XG4gICAgY3VycmVudFN0YXR1czogU3RhdHVzT25seS5JblByb2dyZXNzLFxuICAgIGxhYmVsOiBcImVuIGNvdXJzXCIsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiB3YWxrQWN0ZXMoXG4gIGFjdGVzOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogR2VuZXJhdG9yPEFjdGVMZWdpc2xhdGlmLCB2b2lkLCB1bmtub3duPiB7XG4gIGZvciAoY29uc3QgYWN0ZSBvZiBhY3Rlcykge1xuICAgIHlpZWxkIGFjdGVcbiAgICBpZiAoYWN0ZS5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHlpZWxkKiB3YWxrQWN0ZXMoYWN0ZS5hY3Rlc0xlZ2lzbGF0aWZzKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhcbiAgZG9jdW1lbnRPckRpdmlzaW9uOiBEb2N1bWVudCB8IERpdmlzaW9uLFxuKTogR2VuZXJhdG9yPERvY3VtZW50IHwgRGl2aXNpb24sIHZvaWQsIHVua25vd24+IHtcbiAgeWllbGQgZG9jdW1lbnRPckRpdmlzaW9uXG4gIGZvciAoY29uc3QgZGl2aXNpb24gb2YgZG9jdW1lbnRPckRpdmlzaW9uLmRpdmlzaW9ucyA/PyBbXSkge1xuICAgIHlpZWxkKiB3YWxrRG9jdW1lbnRBbmREaXZpc2lvbnMoZGl2aXNp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
@@ -205,4 +205,4 @@ export function* walkDocumentAndDivisions(documentOrDivision) {
205
205
  yield* walkDocumentAndDivisions(division);
206
206
  }
207
207
  }
208
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1bmNhcGl0YWxpemVGaXJzdExldHRlciIsIkNvZGVUeXBlT3JnYW5lIiwiRmluYWxTdGF0dXMiLCJTdGF0dXNPbmx5IiwiY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llciIsImRvc3NpZXIiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwidW5kZWZpbmVkIiwiYWN0ZSIsIndhbGtBY3RlcyIsImNvZGVBY3RlIiwibWF0Y2giLCJvcmdhbmVSZWYiLCJzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSIsImxpYmVsbGUiLCJTdWNjZXNzIiwiRmFpbHVyZSIsIkluUHJvZ3Jlc3MiLCJDb25zdGl0dSIsInN0YXRlRnJvbUFjdGVQYXRoIiwiYWN0ZVBhdGgiLCJsZWFmQWN0ZSIsImxlbmd0aCIsInhzaVR5cGUiLCJzdGF0dXRBZG9wdGlvbiIsImN1cnJlbnRTdGF0dXMiLCJsYWJlbCIsInN0YXR1dENvbmNsdXNpb24iLCJmaW5hbFN0YXR1cyIsInByb2NlZHVyZVBhcmxlbWVudGFpcmUiLCJjb2RlIiwiaW5jbHVkZXMiLCJkZWNpc2lvbiIsInR5cGVEZWNsYXJhdGlvbiIsInR5cGVNb3Rpb25DZW5zdXJlIiwib3JnYW5lIiwiY29kZVR5cGUiLCJ0eXBlTW90aW9uIiwiY2FzU2Fpc2luZSIsInN0YXRlRnJvbUFjdGVzIiwiYWN0ZXMiLCJyZXZlcnNlIiwic3RhdHVzIiwic3RhdGVGcm9tRG9zc2llciIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsImRvY3VtZW50T3JEaXZpc2lvbiIsImRpdmlzaW9uIiwiZGl2aXNpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5pbXBvcnQgeyBDb2RlVHlwZU9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgdHlwZSB7XG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRGaWxlSW5mb3Mge1xuICBmaWxlbmFtZT86IHN0cmluZ1xuICBzaGEyNTY/OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRGaWxlc0luZGV4ID0ge1xuICBodG1sPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBwZGY/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG4gIFwicmF3LWh0bWxcIj86IERvY3VtZW50RmlsZUluZm9zW11cbn1cblxuZXhwb3J0IGVudW0gRmluYWxTdGF0dXMge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgY3VycmVudFN0YXR1czogU3RhdHVzXG4gIGZpbmFsU3RhdHVzPzogRmluYWxTdGF0dXNcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSBDb2RlVHlwZU9yZ2FuZSB8IFN0YXR1c09ubHlcblxuZXhwb3J0IGVudW0gU3RhdHVzT25seSB7XG4gIEZhaWx1cmUgPSBcIkZBSUxVUkVcIixcbiAgSW5Qcm9ncmVzcyA9IFwiSU5fUFJPR1JFU1NcIixcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llcihcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2Ygd2Fsa0FjdGVzKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGFjdGUuY29kZUFjdGUgYXMgdW5rbm93biBhcyBzdHJpbmcpLm1hdGNoKC9eQU4uKi1DT00tRk9ORC1TQUlTSUUkLykgIT09XG4gICAgICAgICAgbnVsbCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGFjdGUub3JnYW5lUmVmICE9PSBcIlBPMjExNDk0XCIgLy8gQ29tbWlzc2lvbiBkZXMgZmluYW5jZXMgZHUgU8OJTkFUICg9PiBlcnJldXIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFjdGUub3JnYW5lUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGU6IHN0cmluZyk6IFN0YXR1cyB7XG4gIHN3aXRjaCAobGliZWxsZSkge1xuICAgIGNhc2UgXCJBY2NvcmRcIjpcbiAgICBjYXNlIFwiYWRvcHTDqVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpLCBkYW5zIGxlcyBjb25kaXRpb25zIHByw6l2dWVzIMOgIGwnYXJ0aWNsZSA0NSwgYWxpbsOpYSAzLFwiICtcbiAgICAgIFwiIGRlIGxhIENvbnN0aXR1dGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcIkNvbmZvcm1lXCI6XG4gICAgY2FzZSBcImNvbnNpZMOpcsOpZSBjb21tZSBkw6lmaW5pdGl2ZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTUxLTcgZHUgUsOoZ2xlbWVudFwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS05IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiTW90aW9uIGFkb3B0w6koZSlcIjpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LlN1Y2Nlc3NcbiAgICBjYXNlIFwiRMOpc2FjY29yZFwiOlxuICAgIGNhc2UgXCJNb3Rpb24gcmVqZXTDqShlKVwiOlxuICAgIGNhc2UgXCJyZWpldMOpXCI6XG4gICAgY2FzZSBcInJlamV0w6llXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5GYWlsdXJlXG4gICAgY2FzZSBcImFkb3B0w6kgYXZlYyBtb2RpZmljYXRpb25zXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJEZSBkcm9pdCAoYXJ0aWNsZSA2MSBhbGluw6lhIDEgZGUgbGEgQ29uc3RpdHV0aW9uKVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqWVcIjpcbiAgICBjYXNlIFwiTW90aW9uIGRlIGNlbnN1cmUgNDktMlwiOlxuICAgIGNhc2UgXCJQYXJ0aWVsbGVtZW50IGNvbmZvcm1lXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5JblByb2dyZXNzXG4gICAgY2FzZSBcIlNvaXhhbnRlIGTDqXB1dMOpcyBhdSBtb2luc1wiOlxuICAgIGNhc2UgXCJTb2l4YW50ZSBzw6luYXRldXJzIGF1IG1vaW5zXCI6XG4gICAgICByZXR1cm4gQ29kZVR5cGVPcmdhbmUuQ29uc3RpdHVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21BY3RlUGF0aChcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGFjdGVQYXRoOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgbGVhZkFjdGUgPSBhY3RlUGF0aFthY3RlUGF0aC5sZW5ndGggLSAxXVxuICBsZXQgbGliZWxsZSA9IG51bGxcbiAgc3dpdGNoIChsZWFmQWN0ZS54c2lUeXBlKSB7XG4gICAgY2FzZSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0QWRvcHRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkNvbmNsdXNpb25FdGFwZUNDX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbl9UeXBlXCI6IHtcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICBsZXQgY3VycmVudFN0YXR1cyA9IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpXG4gICAgICBsZXQgZmluYWxTdGF0dXMgPSB1bmRlZmluZWRcbiAgICAgIHN3aXRjaCAoZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzJcIjpcbiAgICAgICAgICAvLyBQcm9wb3NpdGlvbiBkZSBsb2kgb3JkaW5haXJlXG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgW1wicmVqZXTDqVwiLCBcInJlamV0w6llXCJdLmluY2x1ZGVzKGxpYmVsbGUpICYmXG4gICAgICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV84XCI6IC8vIFLDqXNvbHV0aW9uXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yMlwiOlxuICAgICAgICAgIC8vIFLDqXNvbHV0aW9uIEFydGljbGUgMzQtMVxuICAgICAgICAgIGlmIChjdXJyZW50U3RhdHVzID09PSBTdGF0dXNPbmx5LlN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuU3VjY2Vzc1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5GYWlsdXJlKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBmaW5hbFN0YXR1czpcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBmb3Igb3RoZXIgY2FzZXMgPT4gVG8gaW1wcm92ZS5cbiAgICAgICAgICAvLyBFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcbiAgICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUuY29kZSA9PT1cbiAgICAgICAgICAgIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMTNcIiAmJiBsaWJlbGxlID09PSBcIk1vdGlvbiByZWpldMOpKGUpXCJcbiAgICAgICAgICAgID8gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgICAgOiBGaW5hbFN0YXR1cy5TdWNjZXNzLCAvLyBUT0RPOiBOb3Qgc3VyZSBvZiB0aGlzIGB0cnVlYCB2YWx1ZVxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5kZWNpc2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVEZWNsYXJhdGlvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RNb3Rpb25DZW5zdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uQ2Vuc3VyZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RSYXBwb3J0X1R5cGVcIjpcbiAgICAgIGlmIChcbiAgICAgICAgW1xuICAgICAgICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgICAgICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgICAgIF0uaW5jbHVkZXMoZG9zc2llci54c2lUeXBlISlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IGFjdGVQYXRoWzBdLm9yZ2FuZSEuY29kZVR5cGUsXG4gICAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLlN1Y2Nlc3MsXG4gICAgICAgICAgbGFiZWw6IFwicmFwcG9ydCBkw6lwb3PDqVwiLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNhc2UgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVNb3Rpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIlByb211bGdhdGlvbl9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LlN1Y2Nlc3MsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICBsYWJlbDogXCJwcm9tdWxndcOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IFN0YXR1c09ubHkuRmFpbHVyZSxcbiAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLkZhaWx1cmUsXG4gICAgICAgIGxhYmVsOiBcInJldGlyw6lcIixcbiAgICAgIH1cbiAgICBjYXNlIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5jYXNTYWlzaW5lIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBUaGlzIGFjdGUgZ2l2ZXMgbm8gc3RhdHVzLlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZXMoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbiAgYWN0ZXM/OiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgaWYgKGFjdGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgWy4uLmFjdGVzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGFjdGUuYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgICA/IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFsuLi5hY3RlUGF0aCwgYWN0ZV0sIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgICAgOiBzdGF0ZUZyb21BY3RlUGF0aChkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdKVxuICAgICAgaWYgKHN0YXR1cyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gc3RhdHVzXG4gICAgICB9XG4gICAgICAvLyBObyBzdGF0dXMgZm91bmQsIGNvbnRpbnVlIHdpdGggcHJldmlvdXMgYWN0ZS5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbURvc3NpZXIoZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUpOiBTdGF0ZSB7XG4gIGNvbnN0IHN0YXR1cyA9IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFtdLCBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpXG4gIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdHVzXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3MsXG4gICAgbGFiZWw6IFwiZW4gY291cnNcIixcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtBY3RlcyhcbiAgYWN0ZXM6IEFjdGVMZWdpc2xhdGlmW10sXG4pOiBHZW5lcmF0b3I8QWN0ZUxlZ2lzbGF0aWYsIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgeWllbGQgYWN0ZVxuICAgIGlmIChhY3RlLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgeWllbGQqIHdhbGtBY3RlcyhhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zKFxuICBkb2N1bWVudE9yRGl2aXNpb246IERvY3VtZW50IHwgRGl2aXNpb24sXG4pOiBHZW5lcmF0b3I8RG9jdW1lbnQgfCBEaXZpc2lvbiwgdm9pZCwgdW5rbm93bj4ge1xuICB5aWVsZCBkb2N1bWVudE9yRGl2aXNpb25cbiAgZm9yIChjb25zdCBkaXZpc2lvbiBvZiBkb2N1bWVudE9yRGl2aXNpb24uZGl2aXNpb25zID8/IFtdKSB7XG4gICAgeWllbGQqIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhkaXZpc2lvbilcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiU0FBU0EsdUJBQXVCO0FBQUEsU0FDdkJDLGNBQWM7QUFxQnZCLFdBQVlDLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBYXZCLFdBQVlDLFVBQVUsMEJBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBQSxPQUFWQSxVQUFVO0FBQUE7QUFNdEIsT0FBTyxTQUFTQyw0QkFBNEJBLENBQzFDQyxPQUE2QixFQUNUO0VBQ3BCLElBQUlBLE9BQU8sQ0FBQ0MsZ0JBQWdCLEtBQUtDLFNBQVMsRUFBRTtJQUMxQyxLQUFLLE1BQU1DLElBQUksSUFBSUMsU0FBUyxDQUFDSixPQUFPLENBQUNDLGdCQUFnQixDQUFDLEVBQUU7TUFDdEQsSUFDR0UsSUFBSSxDQUFDRSxRQUFRLENBQXVCQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FDbEUsSUFBSSxJQUNOSCxJQUFJLENBQUNJLFNBQVMsS0FBS0wsU0FBUyxJQUM1QkMsSUFBSSxDQUFDSSxTQUFTLEtBQUssVUFBVSxDQUFDO01BQUEsRUFDOUI7UUFDQSxPQUFPSixJQUFJLENBQUNJLFNBQVM7TUFDdkI7SUFDRjtFQUNGO0VBQ0EsT0FBT0wsU0FBUztBQUNsQjtBQUVBLE9BQU8sU0FBU00sdUJBQXVCQSxDQUFDQyxPQUFlLEVBQVU7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
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1bmNhcGl0YWxpemVGaXJzdExldHRlciIsIkNvZGVUeXBlT3JnYW5lIiwiRmluYWxTdGF0dXMiLCJTdGF0dXNPbmx5IiwiY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llciIsImRvc3NpZXIiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwidW5kZWZpbmVkIiwiYWN0ZSIsIndhbGtBY3RlcyIsImNvZGVBY3RlIiwibWF0Y2giLCJvcmdhbmVSZWYiLCJzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSIsImxpYmVsbGUiLCJTdWNjZXNzIiwiRmFpbHVyZSIsIkluUHJvZ3Jlc3MiLCJDb25zdGl0dSIsInN0YXRlRnJvbUFjdGVQYXRoIiwiYWN0ZVBhdGgiLCJsZWFmQWN0ZSIsImxlbmd0aCIsInhzaVR5cGUiLCJzdGF0dXRBZG9wdGlvbiIsImN1cnJlbnRTdGF0dXMiLCJsYWJlbCIsInN0YXR1dENvbmNsdXNpb24iLCJmaW5hbFN0YXR1cyIsInByb2NlZHVyZVBhcmxlbWVudGFpcmUiLCJjb2RlIiwiaW5jbHVkZXMiLCJkZWNpc2lvbiIsInR5cGVEZWNsYXJhdGlvbiIsInR5cGVNb3Rpb25DZW5zdXJlIiwib3JnYW5lIiwiY29kZVR5cGUiLCJ0eXBlTW90aW9uIiwiY2FzU2Fpc2luZSIsInN0YXRlRnJvbUFjdGVzIiwiYWN0ZXMiLCJyZXZlcnNlIiwic3RhdHVzIiwic3RhdGVGcm9tRG9zc2llciIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsImRvY3VtZW50T3JEaXZpc2lvbiIsImRpdmlzaW9uIiwiZGl2aXNpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5pbXBvcnQgeyBDb2RlVHlwZU9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgdHlwZSB7XG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRGaWxlSW5mb3Mge1xuICBmaWxlbmFtZT86IHN0cmluZ1xuICBzaGEyNTY/OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRGaWxlc0luZGV4ID0ge1xuICBodG1sPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBwZGY/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG4gIFwicmF3LWh0bWxcIj86IERvY3VtZW50RmlsZUluZm9zW11cbn1cblxuZXhwb3J0IGVudW0gRmluYWxTdGF0dXMge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgY3VycmVudFN0YXR1czogU3RhdHVzXG4gIGZpbmFsU3RhdHVzPzogRmluYWxTdGF0dXNcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSBDb2RlVHlwZU9yZ2FuZSB8IFN0YXR1c09ubHlcblxuZXhwb3J0IGVudW0gU3RhdHVzT25seSB7XG4gIEZhaWx1cmUgPSBcIkZBSUxVUkVcIixcbiAgSW5Qcm9ncmVzcyA9IFwiSU5fUFJPR1JFU1NcIixcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llcihcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2Ygd2Fsa0FjdGVzKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGFjdGUuY29kZUFjdGUgYXMgdW5rbm93biBhcyBzdHJpbmcpLm1hdGNoKC9eQU4uKi1DT00tRk9ORC1TQUlTSUUkLykgIT09XG4gICAgICAgICAgbnVsbCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGFjdGUub3JnYW5lUmVmICE9PSBcIlBPMjExNDk0XCIgLy8gQ29tbWlzc2lvbiBkZXMgZmluYW5jZXMgZHUgU8OJTkFUICg9PiBlcnJldXIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFjdGUub3JnYW5lUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGU6IHN0cmluZyk6IFN0YXR1cyB7XG4gIHN3aXRjaCAobGliZWxsZSkge1xuICAgIGNhc2UgXCJBY2NvcmRcIjpcbiAgICBjYXNlIFwiYWRvcHTDqVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpLCBkYW5zIGxlcyBjb25kaXRpb25zIHByw6l2dWVzIMOgIGwnYXJ0aWNsZSA0NSwgYWxpbsOpYSAzLFwiICtcbiAgICAgIFwiIGRlIGxhIENvbnN0aXR1dGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcIkNvbmZvcm1lXCI6XG4gICAgY2FzZSBcImNvbnNpZMOpcsOpZSBjb21tZSBkw6lmaW5pdGl2ZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTUxLTcgZHUgUsOoZ2xlbWVudFwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS05IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiTW90aW9uIGFkb3B0w6koZSlcIjpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LlN1Y2Nlc3NcbiAgICBjYXNlIFwiRMOpc2FjY29yZFwiOlxuICAgIGNhc2UgXCJNb3Rpb24gcmVqZXTDqShlKVwiOlxuICAgIGNhc2UgXCJyZWpldMOpXCI6XG4gICAgY2FzZSBcInJlamV0w6llXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5GYWlsdXJlXG4gICAgY2FzZSBcImFkb3B0w6kgYXZlYyBtb2RpZmljYXRpb25zXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJEZSBkcm9pdCAoYXJ0aWNsZSA2MSBhbGluw6lhIDEgZGUgbGEgQ29uc3RpdHV0aW9uKVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqWVcIjpcbiAgICBjYXNlIFwiTW90aW9uIGRlIGNlbnN1cmUgNDktMlwiOlxuICAgIGNhc2UgXCJQYXJ0aWVsbGVtZW50IGNvbmZvcm1lXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5JblByb2dyZXNzXG4gICAgY2FzZSBcIlNvaXhhbnRlIGTDqXB1dMOpcyBhdSBtb2luc1wiOlxuICAgIGNhc2UgXCJTb2l4YW50ZSBzw6luYXRldXJzIGF1IG1vaW5zXCI6XG4gICAgICByZXR1cm4gQ29kZVR5cGVPcmdhbmUuQ29uc3RpdHVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21BY3RlUGF0aChcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGFjdGVQYXRoOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgbGVhZkFjdGUgPSBhY3RlUGF0aFthY3RlUGF0aC5sZW5ndGggLSAxXVxuICBsZXQgbGliZWxsZSA9IG51bGxcbiAgc3dpdGNoIChsZWFmQWN0ZS54c2lUeXBlKSB7XG4gICAgY2FzZSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0QWRvcHRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkNvbmNsdXNpb25FdGFwZUNDX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbl9UeXBlXCI6IHtcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICBsZXQgY3VycmVudFN0YXR1cyA9IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpXG4gICAgICBsZXQgZmluYWxTdGF0dXMgPSB1bmRlZmluZWRcbiAgICAgIHN3aXRjaCAoZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzJcIjpcbiAgICAgICAgICAvLyBQcm9wb3NpdGlvbiBkZSBsb2kgb3JkaW5haXJlXG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgW1wicmVqZXTDqVwiLCBcInJlamV0w6llXCJdLmluY2x1ZGVzKGxpYmVsbGUpICYmXG4gICAgICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV84XCI6IC8vIFLDqXNvbHV0aW9uXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yMlwiOlxuICAgICAgICAgIC8vIFLDqXNvbHV0aW9uIEFydGljbGUgMzQtMVxuICAgICAgICAgIGlmIChjdXJyZW50U3RhdHVzID09PSBTdGF0dXNPbmx5LlN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuU3VjY2Vzc1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5GYWlsdXJlKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBmaW5hbFN0YXR1czpcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBmb3Igb3RoZXIgY2FzZXMgPT4gVG8gaW1wcm92ZS5cbiAgICAgICAgICAvLyBFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcbiAgICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUuY29kZSA9PT1cbiAgICAgICAgICAgIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMTNcIiAmJiBsaWJlbGxlID09PSBcIk1vdGlvbiByZWpldMOpKGUpXCJcbiAgICAgICAgICAgID8gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgICAgOiBGaW5hbFN0YXR1cy5TdWNjZXNzLCAvLyBUT0RPOiBOb3Qgc3VyZSBvZiB0aGlzIGB0cnVlYCB2YWx1ZVxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5kZWNpc2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVEZWNsYXJhdGlvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RNb3Rpb25DZW5zdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uQ2Vuc3VyZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RSYXBwb3J0X1R5cGVcIjpcbiAgICAgIGlmIChcbiAgICAgICAgW1xuICAgICAgICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgICAgICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgICAgIF0uaW5jbHVkZXMoZG9zc2llci54c2lUeXBlISlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IGFjdGVQYXRoWzBdLm9yZ2FuZSEuY29kZVR5cGUsXG4gICAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLlN1Y2Nlc3MsXG4gICAgICAgICAgbGFiZWw6IFwicmFwcG9ydCBkw6lwb3PDqVwiLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNhc2UgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVNb3Rpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIlByb211bGdhdGlvbl9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LlN1Y2Nlc3MsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICBsYWJlbDogXCJwcm9tdWxndcOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IFN0YXR1c09ubHkuRmFpbHVyZSxcbiAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLkZhaWx1cmUsXG4gICAgICAgIGxhYmVsOiBcInJldGlyw6lcIixcbiAgICAgIH1cbiAgICBjYXNlIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5jYXNTYWlzaW5lIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBUaGlzIGFjdGUgZ2l2ZXMgbm8gc3RhdHVzLlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZXMoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbiAgYWN0ZXM/OiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgaWYgKGFjdGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgWy4uLmFjdGVzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGFjdGUuYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgICA/IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFsuLi5hY3RlUGF0aCwgYWN0ZV0sIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgICAgOiBzdGF0ZUZyb21BY3RlUGF0aChkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdKVxuICAgICAgaWYgKHN0YXR1cyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gc3RhdHVzXG4gICAgICB9XG4gICAgICAvLyBObyBzdGF0dXMgZm91bmQsIGNvbnRpbnVlIHdpdGggcHJldmlvdXMgYWN0ZS5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbURvc3NpZXIoZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUpOiBTdGF0ZSB7XG4gIGNvbnN0IHN0YXR1cyA9IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFtdLCBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpXG4gIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdHVzXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3MsXG4gICAgbGFiZWw6IFwiZW4gY291cnNcIixcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtBY3RlcyhcbiAgYWN0ZXM6IEFjdGVMZWdpc2xhdGlmW10sXG4pOiBHZW5lcmF0b3I8QWN0ZUxlZ2lzbGF0aWYsIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgeWllbGQgYWN0ZVxuICAgIGlmIChhY3RlLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgeWllbGQqIHdhbGtBY3RlcyhhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zKFxuICBkb2N1bWVudE9yRGl2aXNpb246IERvY3VtZW50IHwgRGl2aXNpb24sXG4pOiBHZW5lcmF0b3I8RG9jdW1lbnQgfCBEaXZpc2lvbiwgdm9pZCwgdW5rbm93bj4ge1xuICB5aWVsZCBkb2N1bWVudE9yRGl2aXNpb25cbiAgZm9yIChjb25zdCBkaXZpc2lvbiBvZiBkb2N1bWVudE9yRGl2aXNpb24uZGl2aXNpb25zID8/IFtdKSB7XG4gICAgeWllbGQqIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhkaXZpc2lvbilcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiU0FBU0EsdUJBQXVCO0FBQUEsU0FDdkJDLGNBQWM7QUFxQnZCLFdBQVlDLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBYXZCLFdBQVlDLFVBQVUsMEJBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBQSxPQUFWQSxVQUFVO0FBQUE7QUFNdEIsT0FBTyxTQUFTQyw0QkFBNEJBLENBQzFDQyxPQUE2QixFQUNUO0VBQ3BCLElBQUlBLE9BQU8sQ0FBQ0MsZ0JBQWdCLEtBQUtDLFNBQVMsRUFBRTtJQUMxQyxLQUFLLE1BQU1DLElBQUksSUFBSUMsU0FBUyxDQUFDSixPQUFPLENBQUNDLGdCQUFnQixDQUFDLEVBQUU7TUFDdEQsSUFDR0UsSUFBSSxDQUFDRSxRQUFRLENBQXVCQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FDbEUsSUFBSSxJQUNOSCxJQUFJLENBQUNJLFNBQVMsS0FBS0wsU0FBUyxJQUM1QkMsSUFBSSxDQUFDSSxTQUFTLEtBQUssVUFBVSxDQUFDO01BQUEsRUFDOUI7UUFDQSxPQUFPSixJQUFJLENBQUNJLFNBQVM7TUFDdkI7SUFDRjtFQUNGO0VBQ0EsT0FBT0wsU0FBUztBQUNsQjtBQUVBLE9BQU8sU0FBU00sdUJBQXVCQSxDQUFDQyxPQUFlLEVBQVU7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