@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
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
3
5
  require("core-js/modules/es.symbol.iterator.js");
4
6
  require("core-js/modules/es.array.iterator.js");
5
7
  require("core-js/modules/es.object.define-property.js");
@@ -9,14 +11,13 @@ Object.defineProperty(exports, "__esModule", {
9
11
  value: true
10
12
  });
11
13
  exports.TypeMajorite = exports.PositionMajoritaire = exports.ModePublicationDesVotes = exports.LieuVote = exports.LibelleTypeVote = exports.Libelle = exports.Convert = exports.CodeTypeVote = exports.Code = exports.CausePositionVote = void 0;
12
- require("core-js/modules/es.symbol.js");
13
- require("core-js/modules/es.symbol.description.js");
14
14
  require("core-js/modules/es.symbol.to-primitive.js");
15
15
  require("core-js/modules/es.array.concat.js");
16
16
  require("core-js/modules/es.array.for-each.js");
17
17
  require("core-js/modules/es.array.index-of.js");
18
18
  require("core-js/modules/es.array.is-array.js");
19
19
  require("core-js/modules/es.array.map.js");
20
+ require("core-js/modules/es.date.to-json.js");
20
21
  require("core-js/modules/es.date.to-primitive.js");
21
22
  require("core-js/modules/es.date.to-string.js");
22
23
  require("core-js/modules/es.number.constructor.js");
@@ -25,10 +26,10 @@ require("core-js/modules/es.object.keys.js");
25
26
  require("core-js/modules/es.object.to-string.js");
26
27
  require("core-js/modules/web.dom-collections.for-each.js");
27
28
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
28
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
30
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
29
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
30
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
31
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
32
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
32
33
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
33
34
  // To parse this data:
34
35
  //
@@ -105,7 +106,7 @@ var Convert = exports.Convert = /*#__PURE__*/function () {
105
106
  function Convert() {
106
107
  _classCallCheck(this, Convert);
107
108
  }
108
- _createClass(Convert, null, [{
109
+ return _createClass(Convert, null, [{
109
110
  key: "toScrutins",
110
111
  value: function toScrutins(json) {
111
112
  return cast(JSON.parse(json), r("Scrutins"));
@@ -126,7 +127,6 @@ var Convert = exports.Convert = /*#__PURE__*/function () {
126
127
  return JSON.stringify(uncast(value, r("ScrutinWrapper")), null, 2);
127
128
  }
128
129
  }]);
129
- return Convert;
130
130
  }();
131
131
  function invalidValue(typ, val) {
132
132
  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
@@ -648,4 +648,4 @@ var typeMap = {
648
648
  "PositionMajoritaire": ["abstention", "contre", "pour"],
649
649
  "LieuVote": ["Congrès", "Hémicycle", "Salons"]
650
650
  };
651
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxWb3RhbnRzQ2xhc3MgfCBudWxsPiB8IG51bGw7XG4gICAgcG91cj86ICAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZT86ICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3Vycz86ICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHlzZm9uY3Rpb25uZW1lbnQge1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zOiAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IFZvdGFudHNDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIG1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudExBc3NlbWJsw6llTmF0aW9uYWxlID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50c0NvbXBvc2FudExBc3NlbWJsw6llID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuQ29uZ3LDqHMgPSBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuZU1vdGlvbkRlQ2Vuc3VyZSA9IFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZW50aWxhdGlvblZvdGVzIHtcbiAgICBvcmdhbmU6IE9yZ2FuZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmUge1xuICAgIG9yZ2FuZVJlZjogc3RyaW5nO1xuICAgIGdyb3VwZXM6ICAgR3JvdXBlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGVzIHtcbiAgICBncm91cGU6IEdyb3VwZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gICAgb3JnYW5lUmVmOiAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vbWJyZU1lbWJyZXNHcm91cGU6IHN0cmluZztcbiAgICB2b3RlOiAgICAgICAgICAgICAgICBWb3RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGUge1xuICAgIHBvc2l0aW9uTWFqb3JpdGFpcmU6IFBvc2l0aW9uTWFqb3JpdGFpcmU7XG4gICAgZGVjb21wdGVWb2l4OiAgICAgICAgRGVjb21wdGVWb2l4O1xuICAgIGRlY29tcHRlTm9taW5hdGlmOiAgIERlY29tcHRlTm9taW5hdGlmO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHRlTm9taW5hdGlmIHtcbiAgICBub25Wb3RhbnQ/OiAgIG51bGxcbiAgICBub25Wb3RhbnRzPzogIFZvdGFudHNDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG4gICAgcG91cj86ICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlPzogICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbj86IFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM/OiBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBWb3RhbnRbXSB8IFZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogc3RyaW5nO1xuICAgIG51bVBsYWNlPzogICAgICBzdHJpbmcgfCBudWxsO1xuICAgIGNhdXNlUG9zaXRpb25Wb3RlPzogQ2F1c2VQb3NpdGlvblZvdGU7XG59XG5cbmV4cG9ydCBlbnVtIENhdXNlUG9zaXRpb25Wb3RlIHtcbiAgICBNZyA9IFwiTUdcIixcbiAgICBQYW4gPSBcIlBBTlwiLFxuICAgIFBzZSA9IFwiUFNFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVWb2l4IHtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb24/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnQ/OiAgICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG5vblZvdGFudHM/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9ucz86ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvbk1ham9yaXRhaXJlIHtcbiAgICBBYnN0ZW50aW9uID0gXCJhYnN0ZW50aW9uXCIsXG4gICAgQ29udHJlID0gXCJjb250cmVcIixcbiAgICBQb3VyID0gXCJwb3VyXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpZXVWb3RlIHtcbiAgICBDb25ncsOocyA9IFwiQ29uZ3LDqHNcIixcbiAgICBIw6ltaWN5Y2xlID0gXCJIw6ltaWN5Y2xlXCIsXG4gICAgU2Fsb25zID0gXCJTYWxvbnNcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5zKGpzb246IHN0cmluZyk6IFNjcnV0aW5zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5zVG9Kc29uKHZhbHVlOiBTY3J1dGlucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGluV3JhcHBlcihqc29uOiBzdHJpbmcpOiBTY3J1dGluV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzY3J1dGluV3JhcHBlclRvSnNvbih2YWx1ZTogU2NydXRpbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlNjcnV0aW5zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpbnNcIiwganM6IFwic2NydXRpbnNcIiwgdHlwOiByKFwiU2NydXRpbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiBhKHIoXCJTY3J1dGluXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpblwiLCBqczogXCJzY3J1dGluXCIsIHR5cDogcihcIlNjcnV0aW5cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTY3J1dGluXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNjcnV0aW5cIiwganM6IFwiZGF0ZVNjcnV0aW5cIiwgdHlwOiBEYXRlIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29ydFwiLCBqczogXCJzb3J0XCIsIHR5cDogcihcIlNvcnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHIoXCJEZW1hbmRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInZlbnRpbGF0aW9uVm90ZXNcIiwganM6IFwidmVudGlsYXRpb25Wb3Rlc1wiLCB0eXA6IHIoXCJWZW50aWxhdGlvblZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNlQXVQb2ludFwiLCBqczogXCJtaXNlQXVQb2ludFwiLCB0eXA6IHUocihcIk1pc2VBdVBvaW50XCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVZvdGVcIiwganM6IFwibGlldVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVWb3RlXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwganM6IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwgdHlwOiBudWxsIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzZUF1UG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KGEodShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShhKHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpLCByKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUoYSh1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSwgcihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJzXCIsIGpzOiBcInBvdXJzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIGpzOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEeXNmb25jdGlvbm5lbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEeXNmb25jdGlvbm5lbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT2JqZXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIGpzOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIG51bGwpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3J0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3ludGhlc2VWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tYnJlVm90YW50c1wiLCBqczogXCJub21icmVWb3RhbnRzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwganM6IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5ub25jZVwiLCBqczogXCJhbm5vbmNlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlXCIsIGpzOiBcImRlY29tcHRlXCIsIHR5cDogcihcIkRlY29tcHRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVjb21wdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVHlwZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlVHlwZVZvdGVcIiwganM6IFwiY29kZVR5cGVWb3RlXCIsIHR5cDogcihcIkNvZGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLCB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVmVudGlsYXRpb25Wb3Rlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiByKFwiT3JnYW5lXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT3JnYW5lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IHIoXCJHcm91cGVzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiBhKHIoXCJHcm91cGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbWJyZU1lbWJyZXNHcm91cGVcIiwganM6IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvc2l0aW9uTWFqb3JpdGFpcmVcIiwganM6IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCB0eXA6IHIoXCJQb3NpdGlvbk1ham9yaXRhaXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZVZvaXhcIiwganM6IFwiZGVjb21wdGVWb2l4XCIsIHR5cDogcihcIkRlY29tcHRlVm9peFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIiwganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIiwgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90YW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiVm90YW50XCIpKSwgcihcIlZvdGFudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtUGxhY2VcIiwganM6IFwibnVtUGxhY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsIGpzOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDYXVzZVBvc2l0aW9uVm90ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW5lIG1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgXSxcbiAgICBcIkNhdXNlUG9zaXRpb25Wb3RlXCI6IFtcbiAgICAgICAgXCJNR1wiLFxuICAgICAgICBcIlBBTlwiLFxuICAgICAgICBcIlBTRVwiLFxuICAgIF0sXG4gICAgXCJQb3NpdGlvbk1ham9yaXRhaXJlXCI6IFtcbiAgICAgICAgXCJhYnN0ZW50aW9uXCIsXG4gICAgICAgIFwiY29udHJlXCIsXG4gICAgICAgIFwicG91clwiLFxuICAgIF0sXG4gICAgXCJMaWV1Vm90ZVwiOiBbXG4gICAgICAgIFwiQ29uZ3LDqHNcIixcbiAgICAgICAgXCJIw6ltaWN5Y2xlXCIsXG4gICAgICAgIFwiU2Fsb25zXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUE2RFlBLHVCQUF1QixHQUFBQyxPQUFBLENBQUFELHVCQUFBLDBCQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBdkJBLHVCQUF1QjtFQUFBLE9BQXZCQSx1QkFBdUI7QUFBQTtBQUFBLElBZ0J2QkUsSUFBSSxHQUFBRCxPQUFB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
651
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxWb3RhbnRzQ2xhc3MgfCBudWxsPiB8IG51bGw7XG4gICAgcG91cj86ICAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZT86ICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3Vycz86ICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHlzZm9uY3Rpb25uZW1lbnQge1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zOiAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IFZvdGFudHNDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIG1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudExBc3NlbWJsw6llTmF0aW9uYWxlID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50c0NvbXBvc2FudExBc3NlbWJsw6llID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuQ29uZ3LDqHMgPSBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuZU1vdGlvbkRlQ2Vuc3VyZSA9IFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZW50aWxhdGlvblZvdGVzIHtcbiAgICBvcmdhbmU6IE9yZ2FuZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmUge1xuICAgIG9yZ2FuZVJlZjogc3RyaW5nO1xuICAgIGdyb3VwZXM6ICAgR3JvdXBlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGVzIHtcbiAgICBncm91cGU6IEdyb3VwZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gICAgb3JnYW5lUmVmOiAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vbWJyZU1lbWJyZXNHcm91cGU6IHN0cmluZztcbiAgICB2b3RlOiAgICAgICAgICAgICAgICBWb3RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGUge1xuICAgIHBvc2l0aW9uTWFqb3JpdGFpcmU6IFBvc2l0aW9uTWFqb3JpdGFpcmU7XG4gICAgZGVjb21wdGVWb2l4OiAgICAgICAgRGVjb21wdGVWb2l4O1xuICAgIGRlY29tcHRlTm9taW5hdGlmOiAgIERlY29tcHRlTm9taW5hdGlmO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHRlTm9taW5hdGlmIHtcbiAgICBub25Wb3RhbnQ/OiAgIG51bGxcbiAgICBub25Wb3RhbnRzPzogIFZvdGFudHNDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG4gICAgcG91cj86ICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlPzogICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbj86IFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM/OiBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBWb3RhbnRbXSB8IFZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogc3RyaW5nO1xuICAgIG51bVBsYWNlPzogICAgICBzdHJpbmcgfCBudWxsO1xuICAgIGNhdXNlUG9zaXRpb25Wb3RlPzogQ2F1c2VQb3NpdGlvblZvdGU7XG59XG5cbmV4cG9ydCBlbnVtIENhdXNlUG9zaXRpb25Wb3RlIHtcbiAgICBNZyA9IFwiTUdcIixcbiAgICBQYW4gPSBcIlBBTlwiLFxuICAgIFBzZSA9IFwiUFNFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVWb2l4IHtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb24/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnQ/OiAgICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG5vblZvdGFudHM/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9ucz86ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvbk1ham9yaXRhaXJlIHtcbiAgICBBYnN0ZW50aW9uID0gXCJhYnN0ZW50aW9uXCIsXG4gICAgQ29udHJlID0gXCJjb250cmVcIixcbiAgICBQb3VyID0gXCJwb3VyXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpZXVWb3RlIHtcbiAgICBDb25ncsOocyA9IFwiQ29uZ3LDqHNcIixcbiAgICBIw6ltaWN5Y2xlID0gXCJIw6ltaWN5Y2xlXCIsXG4gICAgU2Fsb25zID0gXCJTYWxvbnNcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5zKGpzb246IHN0cmluZyk6IFNjcnV0aW5zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5zVG9Kc29uKHZhbHVlOiBTY3J1dGlucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGluV3JhcHBlcihqc29uOiBzdHJpbmcpOiBTY3J1dGluV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzY3J1dGluV3JhcHBlclRvSnNvbih2YWx1ZTogU2NydXRpbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlNjcnV0aW5zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpbnNcIiwganM6IFwic2NydXRpbnNcIiwgdHlwOiByKFwiU2NydXRpbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiBhKHIoXCJTY3J1dGluXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpblwiLCBqczogXCJzY3J1dGluXCIsIHR5cDogcihcIlNjcnV0aW5cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTY3J1dGluXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNjcnV0aW5cIiwganM6IFwiZGF0ZVNjcnV0aW5cIiwgdHlwOiBEYXRlIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29ydFwiLCBqczogXCJzb3J0XCIsIHR5cDogcihcIlNvcnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHIoXCJEZW1hbmRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInZlbnRpbGF0aW9uVm90ZXNcIiwganM6IFwidmVudGlsYXRpb25Wb3Rlc1wiLCB0eXA6IHIoXCJWZW50aWxhdGlvblZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNlQXVQb2ludFwiLCBqczogXCJtaXNlQXVQb2ludFwiLCB0eXA6IHUocihcIk1pc2VBdVBvaW50XCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVZvdGVcIiwganM6IFwibGlldVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVWb3RlXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwganM6IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwgdHlwOiBudWxsIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzZUF1UG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KGEodShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShhKHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpLCByKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUoYSh1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSwgcihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJzXCIsIGpzOiBcInBvdXJzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIGpzOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEeXNmb25jdGlvbm5lbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEeXNmb25jdGlvbm5lbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT2JqZXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIGpzOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIG51bGwpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3J0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3ludGhlc2VWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tYnJlVm90YW50c1wiLCBqczogXCJub21icmVWb3RhbnRzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwganM6IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5ub25jZVwiLCBqczogXCJhbm5vbmNlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlXCIsIGpzOiBcImRlY29tcHRlXCIsIHR5cDogcihcIkRlY29tcHRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVjb21wdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVHlwZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlVHlwZVZvdGVcIiwganM6IFwiY29kZVR5cGVWb3RlXCIsIHR5cDogcihcIkNvZGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLCB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVmVudGlsYXRpb25Wb3Rlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiByKFwiT3JnYW5lXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT3JnYW5lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IHIoXCJHcm91cGVzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiBhKHIoXCJHcm91cGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbWJyZU1lbWJyZXNHcm91cGVcIiwganM6IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvc2l0aW9uTWFqb3JpdGFpcmVcIiwganM6IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCB0eXA6IHIoXCJQb3NpdGlvbk1ham9yaXRhaXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZVZvaXhcIiwganM6IFwiZGVjb21wdGVWb2l4XCIsIHR5cDogcihcIkRlY29tcHRlVm9peFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIiwganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIiwgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90YW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiVm90YW50XCIpKSwgcihcIlZvdGFudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtUGxhY2VcIiwganM6IFwibnVtUGxhY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsIGpzOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDYXVzZVBvc2l0aW9uVm90ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW5lIG1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgXSxcbiAgICBcIkNhdXNlUG9zaXRpb25Wb3RlXCI6IFtcbiAgICAgICAgXCJNR1wiLFxuICAgICAgICBcIlBBTlwiLFxuICAgICAgICBcIlBTRVwiLFxuICAgIF0sXG4gICAgXCJQb3NpdGlvbk1ham9yaXRhaXJlXCI6IFtcbiAgICAgICAgXCJhYnN0ZW50aW9uXCIsXG4gICAgICAgIFwiY29udHJlXCIsXG4gICAgICAgIFwicG91clwiLFxuICAgIF0sXG4gICAgXCJMaWV1Vm90ZVwiOiBbXG4gICAgICAgIFwiQ29uZ3LDqHNcIixcbiAgICAgICAgXCJIw6ltaWN5Y2xlXCIsXG4gICAgICAgIFwiU2Fsb25zXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBNkRZQSx1QkFBdUIsR0FBQUMsT0FBQSxDQUFBRCx1QkFBQSwwQkFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBQSxPQUF2QkEsdUJBQXVCO0FBQUE7QUFBQSxJQWdCdkJFLElBQUksR0FBQUQsT0FB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
@@ -595,4 +595,4 @@ const typeMap = {
595
595
  "PositionMajoritaire": ["abstention", "contre", "pour"],
596
596
  "LieuVote": ["Congrès", "Hémicycle", "Salons"]
597
597
  };
598
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsIkNvZGUiLCJMaWJlbGxlIiwiQ29kZVR5cGVWb3RlIiwiTGliZWxsZVR5cGVWb3RlIiwiVHlwZU1ham9yaXRlIiwiQ2F1c2VQb3NpdGlvblZvdGUiLCJQb3NpdGlvbk1ham9yaXRhaXJlIiwiTGlldVZvdGUiLCJDb252ZXJ0IiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b1NjcnV0aW5XcmFwcGVyIiwic2NydXRpbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9zY3J1dGlucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBTY3J1dGlucywgU2NydXRpbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBzY3J1dGlucyA9IENvbnZlcnQudG9TY3J1dGlucyhqc29uKTtcbi8vICAgY29uc3Qgc2NydXRpbldyYXBwZXIgPSBDb252ZXJ0LnRvU2NydXRpbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGlucyB7XG4gICAgc2NydXRpbnM6IFNjcnV0aW5zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnNDbGFzcyB7XG4gICAgc2NydXRpbjogU2NydXRpbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5XcmFwcGVyIHtcbiAgc2NydXRpbjogU2NydXRpblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW4ge1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgICAgICAgIHN0cmluZztcbiAgICB1aWQ6ICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG51bWVybzogICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgb3JnYW5lUmVmOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBsZWdpc2xhdHVyZTogICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlc3Npb25SZWY6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgc2VhbmNlUmVmOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkYXRlU2NydXRpbjogICAgICAgICAgICAgRGF0ZTtcbiAgICBxdWFudGllbWVKb3VyU2VhbmNlOiAgICAgc3RyaW5nO1xuICAgIHR5cGVWb3RlOiAgICAgICAgICAgICAgICBUeXBlVm90ZTtcbiAgICBzb3J0OiAgICAgICAgICAgICAgICAgICAgU29ydDtcbiAgICB0aXRyZTogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGRlbWFuZGV1cjogICAgICAgICAgICAgICBEZW1hbmRldXI7XG4gICAgb2JqZXQ6ICAgICAgICAgICAgICAgICAgIE9iamV0O1xuICAgIG1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzOiBNb2RlUHVibGljYXRpb25EZXNWb3RlcztcbiAgICBzeW50aGVzZVZvdGU6ICAgICAgICAgICAgU3ludGhlc2VWb3RlO1xuICAgIHZlbnRpbGF0aW9uVm90ZXM6ICAgICAgICBWZW50aWxhdGlvblZvdGVzO1xuICAgIG1pc2VBdVBvaW50OiAgICAgICAgICAgICBNaXNlQXVQb2ludCB8IG51bGw7XG4gICAgbGlldVZvdGU/OiAgICAgICAgICAgICAgIExpZXVWb3RlO1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXIge1xuICAgIHRleHRlOiAgICAgICAgICAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIHJlZmVyZW5jZUxlZ2lzbGF0aXZlOiBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pc2VBdVBvaW50IHtcbiAgICBub25Wb3RhbnRzOiAgICAgICAgICAgIEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgbnVsbDtcbiAgICBwb3VyPzogICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlPzogICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zOiAgICAgICAgICAgQXJyYXk8Vm90YW50c0NsYXNzIHwgbnVsbD4gfCBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlczogQXJyYXk8Vm90YW50c0NsYXNzIHwgbnVsbD4gfCBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmVzPzogICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgZHlzZm9uY3Rpb25uZW1lbnQ/OiAgICBEeXNmb25jdGlvbm5lbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeXNmb25jdGlvbm5lbWVudCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlczogVm90YW50c0NsYXNzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXMge1xuICAgIERlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlID0gXCJEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZVwiLFxuICAgIERlY29tcHRlTm9taW5hdGlmID0gXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamV0IHtcbiAgICBsaWJlbGxlOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHJlZmVyZW5jZUxlZ2lzbGF0aXZlOiBudWxsO1xuICAgIGRvc3NpZXJMZWdpc2xhdGlmPzogbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuICAgIGNvZGU6ICAgIENvZGU7XG4gICAgbGliZWxsZTogTGliZWxsZTtcbn1cblxuZXhwb3J0IGVudW0gQ29kZSB7XG4gICAgQWRvcHTDqSA9IFwiYWRvcHTDqVwiLFxuICAgIFJlamV0w6kgPSBcInJlamV0w6lcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZSB7XG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVBQWRvcHTDqSA9IFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICBMQXNzZW1ibMOpZU5hdGlvbmFsZU5BUGFzQWRvcHTDqSA9IFwiTCdBc3NlbWJsw6llIG5hdGlvbmFsZSBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnRBQWRvcHTDqSA9IFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IGEgYWRvcHTDqVwiLFxuICAgIExlQ29uZ3LDqHNEdVBhcmxlbWVudE5BUGFzQWRvcHTDqSA9IFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IG4nYSBwYXMgYWRvcHTDqVwiLFxuICB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhlc2VWb3RlIHtcbiAgICBub21icmVWb3RhbnRzOiAgICAgIHN0cmluZztcbiAgICBzdWZmcmFnZXNFeHByaW1lczogIHN0cmluZztcbiAgICBuYnJTdWZmcmFnZXNSZXF1aXM6IHN0cmluZztcbiAgICBhbm5vbmNlOiAgICAgICAgICAgIExpYmVsbGU7XG4gICAgZGVjb21wdGU6ICAgICAgICAgICBEZWNvbXB0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZSB7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvbnRyZTogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlVm90ZSB7XG4gICAgY29kZVR5cGVWb3RlOiAgICBDb2RlVHlwZVZvdGU7XG4gICAgbGliZWxsZVR5cGVWb3RlOiBMaWJlbGxlVHlwZVZvdGU7XG4gICAgdHlwZU1ham9yaXRlOiAgICBUeXBlTWFqb3JpdGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGVUeXBlVm90ZSB7XG4gICAgTW9jID0gXCJNT0NcIixcbiAgICBTYXQgPSBcIlNBVFwiLFxuICAgIFNwbyA9IFwiU1BPXCIsXG4gICAgU3BzID0gXCJTUFNcIixcbiAgICBTc2cgPSBcIlNTR1wiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlVHlwZVZvdGUge1xuICAgIE1vdGlvbkRlQ2Vuc3VyZSA9IFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICBTY3J1dGluUHVibGljT3JkaW5haXJlID0gXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICBTY3J1dGluUHVibGljU29sZW5uZWwgPSBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gICAgU2NydXRpbsOATGFUcmlidW5lID0gXCJzY3J1dGluIMOgIGxhIHRyaWJ1bmVcIixcbiAgICBTY3J1dGluU29sZW5uZWxDb25ncsOocyA9IFwiU2NydXRpbiBzb2xlbm5lbCBjb25ncsOoc1wiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlTWFqb3JpdGUge1xuICAgIE1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgbWFqb3JpdMOpQWJzb2x1ZURlc1N1ZmZyYWdlc0V4cHJpbcOpcyA9IFwibWFqb3JpdMOpIGFic29sdWUgZGVzIHN1ZmZyYWdlcyBleHByaW3DqXNcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50TEFzc2VtYmzDqWVOYXRpb25hbGUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgIG1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50c0NvbXBvc2FudExBc3NlbWJsw6llTmF0aW9uYWxlID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgIE1ham9yaXTDqVJlcXVpc2VQb3VyVW5Db25ncsOocyA9IFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgIE1ham9yaXTDqVJlcXVpc2VQb3VyVW5lTW90aW9uRGVDZW5zdXJlID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuZSBtb3Rpb24gZGUgY2Vuc3VyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlbnRpbGF0aW9uVm90ZXMge1xuICAgIG9yZ2FuZTogT3JnYW5lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuZSB7XG4gICAgb3JnYW5lUmVmOiBzdHJpbmc7XG4gICAgZ3JvdXBlczogICBHcm91cGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZXMge1xuICAgIGdyb3VwZTogR3JvdXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9tYnJlTWVtYnJlc0dyb3VwZTogc3RyaW5nO1xuICAgIHZvdGU6ICAgICAgICAgICAgICAgIFZvdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90ZSB7XG4gICAgcG9zaXRpb25NYWpvcml0YWlyZTogUG9zaXRpb25NYWpvcml0YWlyZTtcbiAgICBkZWNvbXB0ZVZvaXg6ICAgICAgICBEZWNvbXB0ZVZvaXg7XG4gICAgZGVjb21wdGVOb21pbmF0aWY6ICAgRGVjb21wdGVOb21pbmF0aWY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVOb21pbmF0aWYge1xuICAgIG5vblZvdGFudD86ICAgbnVsbFxuICAgIG5vblZvdGFudHM/OiAgVm90YW50c0NsYXNzIHwgbnVsbCB8IHN0cmluZztcbiAgICBwb3VyPzogICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmU/OiAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uPzogVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9ucz86IFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgcG91cnM/OiAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90YW50c0NsYXNzIHtcbiAgICB2b3RhbnQ6IFZvdGFudFtdIHwgVm90YW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudCB7XG4gICAgYWN0ZXVyUmVmOiAgICAgIHN0cmluZztcbiAgICBtYW5kYXRSZWY6ICAgICAgc3RyaW5nO1xuICAgIHBhckRlbGVnYXRpb24/OiBzdHJpbmc7XG4gICAgbnVtUGxhY2U/OiAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgY2F1c2VQb3NpdGlvblZvdGU/OiBDYXVzZVBvc2l0aW9uVm90ZTtcbn1cblxuZXhwb3J0IGVudW0gQ2F1c2VQb3NpdGlvblZvdGUge1xuICAgIE1nID0gXCJNR1wiLFxuICAgIFBhbiA9IFwiUEFOXCIsXG4gICAgUHNlID0gXCJQU0VcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZVZvaXgge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbj86ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudD86ICAgICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgbm9uVm90YW50cz86ICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb25zPzogICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFBvc2l0aW9uTWFqb3JpdGFpcmUge1xuICAgIEFic3RlbnRpb24gPSBcImFic3RlbnRpb25cIixcbiAgICBDb250cmUgPSBcImNvbnRyZVwiLFxuICAgIFBvdXIgPSBcInBvdXJcIixcbn1cblxuZXhwb3J0IGVudW0gTGlldVZvdGUge1xuICAgIENvbmdyw6hzID0gXCJDb25ncsOoc1wiLFxuICAgIEjDqW1pY3ljbGUgPSBcIkjDqW1pY3ljbGVcIixcbiAgICBTYWxvbnMgPSBcIlNhbG9uc1wiLFxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvU2NydXRpbnMoanNvbjogc3RyaW5nKTogU2NydXRpbnMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiU2NydXRpbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2NydXRpbnNUb0pzb24odmFsdWU6IFNjcnV0aW5zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlNjcnV0aW5zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5XcmFwcGVyKGpzb246IHN0cmluZyk6IFNjcnV0aW5XcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5XcmFwcGVyVG9Kc29uKHZhbHVlOiBTY3J1dGluV3JhcHBlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiU2NydXRpbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluc1wiLCBqczogXCJzY3J1dGluc1wiLCB0eXA6IHIoXCJTY3J1dGluc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbnNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInNjcnV0aW5cIiwganM6IFwic2NydXRpblwiLCB0eXA6IGEocihcIlNjcnV0aW5cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiByKFwiU2NydXRpblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlYW5jZVJlZlwiLCBqczogXCJzZWFuY2VSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlU2NydXRpblwiLCBqczogXCJkYXRlU2NydXRpblwiLCB0eXA6IERhdGUgfSxcbiAgICAgICAgeyBqc29uOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwganM6IFwicXVhbnRpZW1lSm91clNlYW5jZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVWb3RlXCIsIGpzOiBcInR5cGVWb3RlXCIsIHR5cDogcihcIlR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3J0XCIsIGpzOiBcInNvcnRcIiwgdHlwOiByKFwiU29ydFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidGl0cmVcIiwganM6IFwidGl0cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZW1hbmRldXJcIiwganM6IFwiZGVtYW5kZXVyXCIsIHR5cDogcihcIkRlbWFuZGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiByKFwiT2JqZXRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIGpzOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIHR5cDogcihcIk1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzeW50aGVzZVZvdGVcIiwganM6IFwic3ludGhlc2VWb3RlXCIsIHR5cDogcihcIlN5bnRoZXNlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidmVudGlsYXRpb25Wb3Rlc1wiLCBqczogXCJ2ZW50aWxhdGlvblZvdGVzXCIsIHR5cDogcihcIlZlbnRpbGF0aW9uVm90ZXNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pc2VBdVBvaW50XCIsIGpzOiBcIm1pc2VBdVBvaW50XCIsIHR5cDogdShyKFwiTWlzZUF1UG9pbnRcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWV1Vm90ZVwiLCBqczogXCJsaWV1Vm90ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVZvdGVcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVtYW5kZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaXNlQXVQb2ludFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUoYSh1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KGEodShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSksIHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdShhKHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpLCByKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91cnNcIiwganM6IFwicG91cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZXNcIiwganM6IFwiY29udHJlc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwganM6IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkR5c2ZvbmN0aW9ubmVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkR5c2ZvbmN0aW9ubmVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPYmpldFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIGpzOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIHR5cDogbnVsbCB9LFxuICAgICAgICB7IGpzb246IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwganM6IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfVxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNvcnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiQ29kZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTeW50aGVzZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub21icmVWb3RhbnRzXCIsIGpzOiBcIm5vbWJyZVZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCBqczogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5iclN1ZmZyYWdlc1JlcXVpc1wiLCBqczogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbm5vbmNlXCIsIGpzOiBcImFubm9uY2VcIiwgdHlwOiByKFwiTGliZWxsZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVcIiwganM6IFwiZGVjb21wdGVcIiwgdHlwOiByKFwiRGVjb21wdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUeXBlVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVUeXBlVm90ZVwiLCBqczogXCJjb2RlVHlwZVZvdGVcIiwgdHlwOiByKFwiQ29kZVR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlVHlwZVZvdGVcIiwganM6IFwibGliZWxsZVR5cGVWb3RlXCIsIHR5cDogcihcIkxpYmVsbGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZU1ham9yaXRlXCIsIGpzOiBcInR5cGVNYWpvcml0ZVwiLCB0eXA6IHIoXCJUeXBlTWFqb3JpdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWZW50aWxhdGlvblZvdGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHIoXCJPcmdhbmVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPcmdhbmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlc1wiLCBqczogXCJncm91cGVzXCIsIHR5cDogcihcIkdyb3VwZXNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZ3JvdXBlXCIsIGpzOiBcImdyb3VwZVwiLCB0eXA6IGEocihcIkdyb3VwZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCBqczogXCJub21icmVNZW1icmVzR3JvdXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidm90ZVwiLCBqczogXCJ2b3RlXCIsIHR5cDogcihcIlZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCBqczogXCJwb3NpdGlvbk1ham9yaXRhaXJlXCIsIHR5cDogcihcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlVm9peFwiLCBqczogXCJkZWNvbXB0ZVZvaXhcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCBqczogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCB0eXA6IHIoXCJEZWNvbXB0ZU5vbWluYXRpZlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlY29tcHRlTm9taW5hdGlmXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9uVm90YW50XCIsIGpzOiBcIm5vblZvdGFudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25cIiwganM6IFwiYWJzdGVudGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJzXCIsIGpzOiBcInBvdXJzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJWb3RhbnRcIikpLCByKFwiVm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFyRGVsZWdhdGlvblwiLCBqczogXCJwYXJEZWxlZ2F0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KFwiXCIsIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNhdXNlUG9zaXRpb25Wb3RlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlY29tcHRlVm9peFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiOiBbXG4gICAgICAgIFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICAgICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxuICAgIF0sXG4gICAgXCJDb2RlXCI6IFtcbiAgICAgICAgXCJhZG9wdMOpXCIsXG4gICAgICAgIFwicmVqZXTDqVwiLFxuICAgIF0sXG4gICAgXCJMaWJlbGxlXCI6IFtcbiAgICAgICAgXCJsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIGEgYWRvcHTDqVwiLFxuICAgICAgICBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgIFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IGEgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgICAgICAgICBdLFxuICAgIFwiQ29kZVR5cGVWb3RlXCI6IFtcbiAgICAgICAgXCJNT0NcIixcbiAgICAgICAgXCJTQVRcIixcbiAgICAgICAgXCJTUE9cIixcbiAgICAgICAgXCJTUFNcIixcbiAgICAgICAgXCJTU0dcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVR5cGVWb3RlXCI6IFtcbiAgICAgICAgXCJtb3Rpb24gZGUgY2Vuc3VyZVwiLFxuICAgICAgICBcInNjcnV0aW4gcHVibGljIG9yZGluYWlyZVwiLFxuICAgICAgICBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gICAgICAgIFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgICAgIFwiU2NydXRpbiBzb2xlbm5lbCBjb25ncsOoc1wiLFxuICAgIF0sXG4gICAgXCJUeXBlTWFqb3JpdGVcIjogW1xuICAgICAgICBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGFic29sdWUgZGVzIHN1ZmZyYWdlcyBleHByaW3DqXNcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICAgICAgXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG4gICAgICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICBdLFxuICAgIFwiQ2F1c2VQb3NpdGlvblZvdGVcIjogW1xuICAgICAgICBcIk1HXCIsXG4gICAgICAgIFwiUEFOXCIsXG4gICAgICAgIFwiUFNFXCIsXG4gICAgXSxcbiAgICBcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIjogW1xuICAgICAgICBcImFic3RlbnRpb25cIixcbiAgICAgICAgXCJjb250cmVcIixcbiAgICAgICAgXCJwb3VyXCIsXG4gICAgXSxcbiAgICBcIkxpZXVWb3RlXCI6IFtcbiAgICAgICAgXCJDb25ncsOoc1wiLFxuICAgICAgICBcIkjDqW1pY3ljbGVcIixcbiAgICAgICAgXCJTYWxvbnNcIixcbiAgICBdLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQTZEQSxXQUFZQSx1QkFBdUIsMEJBQXZCQSx1QkFBdUI7RUFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQUEsT0FBdkJBLHVCQUF1QjtBQUFBO0FBZ0JuQyxXQUFZQyxJQUFJLDBCQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQTtBQUtoQixXQUFZQyxPQUFPLDBCQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUE2Qm5CLFdBQVlDLFlBQVksMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQUEsT0FBWkEsWUFBWTtBQUFBO0FBUXhCLFdBQVlDLGVBQWUsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFBO0FBUTNCLFdBQVlDLFlBQVksMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFBLE9BQVpBLFlBQVk7QUFBQTtBQTBEeEIsV0FBWUMsaUJBQWlCLDBCQUFqQkEsaUJBQWlCO0VBQWpCQSxpQkFBaUI7RUFBakJBLGlCQUFpQjtFQUFqQkEsaUJBQWlCO0VBQUEsT0FBakJBLGlCQUFpQjtBQUFBO0FBZ0I3QixXQUFZQyxtQkFBbUIsMEJBQW5CQSxtQkFBbUI7RUFBbkJBLG1CQUFtQjtFQUFuQkEsbUJBQW1CO0VBQW5CQSxtQkFBbUI7RUFBQSxPQUFuQkEsbUJBQW1CO0FBQUE7QUFNL0IsV0FBWUMsUUFBUSwwQkFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFBLE9BQVJBLFFBQVE7QUFBQTs7QUFNcEI7QUFDQTtBQUNBLE9BQU8sTUFBTUMsT0FBTyxDQUFDO0VBQ2pCLE9BQWNDLFVBQVVBLENBQUNDLElBQVksRUFBWTtJQUM3QyxPQUFPQyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsRUFBRUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0VBQ2hEO0VBRUEsT0FBY0MsY0FBY0EsQ0FBQ0MsS0FBZSxFQUFVO0lBQ2xELE9BQU9KLElBQUksQ0FBQ0ssU0FBUyxDQUFDQyxNQUFNLENBQUNGLEtBQUssRUFBRUYsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztFQUNoRTtFQUVBLE9BQWNLLGdCQUFnQkEsQ0FBQ1QsSUFBWSxFQUFrQjtJQUN6RCxPQUFPQyxJQUFJLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxJQUFJLENBQUMsRUFBRUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7RUFDdEQ7RUFFQSxPQUFjTSxvQkFBb0JBLENBQUNKLEtBQXFCLEVBQVU7SUFDOUQsT0FBT0osSUFBSSxDQUFDSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ0YsS0FBSyxFQUFFRixDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7RUFDdEU7QUFDSjtBQUVBLFNBQVNPLFlBQVlBLENBQUNDLEdBQVEsRUFBRUMsR0FBUSxFQUFFQyxHQUFRLEdBQUcsRUFBRSxFQUFTO0VBQzVELElBQUlBLEdBQUcsRUFBRTtJQUNMLE1BQU1DLEtBQUssQ0FBRSwwQkFBeUJELEdBQUksb0JBQW1CWixJQUFJLENBQUNLLFNBQVMsQ0FBQ0ssR0FBRyxDQUFFLFlBQVdWLElBQUksQ0FBQ0ssU0FBUyxDQUFDTSxHQUFHLENBQUUsRUFBQyxDQUFDO0VBQ3RIO0VBQ0EsTUFBTUUsS0FBSyxDQUFFLGlCQUFnQmIsSUFBSSxDQUFDSyxTQUFTLENBQUNNLEdBQUcsQ0FBRSxhQUFZWCxJQUFJLENBQUNLLFNBQVMsQ0FBQ0ssR0FBRyxDQUFFLEVBQUcsQ0FBQztBQUN6RjtBQUVBLFNBQVNJLGFBQWFBLENBQUNKLEdBQVEsRUFBTztFQUNsQyxJQUFJQSxHQUFHLENBQUNLLFFBQVEsS0FBS0MsU0FBUyxFQUFFO0lBQzVCLE1BQU1DLEdBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkJQLEdBQUcsQ0FBQ1EsS0FBSyxDQUFDQyxPQUFPLENBQUVDLENBQU0sSUFBS0gsR0FBRyxDQUFDRyxDQUFDLENBQUN0QixJQUFJLENBQUMsR0FBRztNQUFFYyxHQUFHLEVBQUVRLENBQUMsQ0FBQ0MsRUFBRTtNQUFFWCxHQUFHLEVBQUVVLENBQUMsQ0FBQ1Y7SUFBSSxDQUFDLENBQUM7SUFDdEVBLEdBQUcsQ0FBQ0ssUUFBUSxHQUFHRSxHQUFHO0VBQ3RCO0VBQ0EsT0FBT1AsR0FBRyxDQUFDSyxRQUFRO0FBQ3ZCO0FBRUEsU0FBU08sYUFBYUEsQ0FBQ1osR0FBUSxFQUFPO0VBQ2xDLElBQUlBLEdBQUcsQ0FBQ2EsUUFBUSxLQUFLUCxTQUFTLEVBQUU7SUFDNUIsTUFBTUMsR0FBUSxHQUFHLENBQUMsQ0FBQztJQUNuQlAsR0FBRyxDQUFDUSxLQUFLLENBQUNDLE9BQU8sQ0FBRUMsQ0FBTSxJQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLEdBQUc7TUFBRVQsR0FBRyxFQUFFUSxDQUFDLENBQUN0QixJQUFJO01BQUVZLEdBQUcsRUFBRVUsQ0FBQyxDQUFDVjtJQUFJLENBQUMsQ0FBQztJQUN0RUEsR0FBRyxDQUFDYSxRQUFRLEdBQUdOLEdBQUc7RUFDdEI7RUFDQSxPQUFPUCxHQUFHLENBQUNhLFFBQVE7QUFDdkI7QUFFQSxTQUFTQyxTQUFTQSxDQUFDYixHQUFRLEVBQUVELEdBQVEsRUFBRWUsUUFBYSxFQUFFYixHQUFRLEdBQUcsRUFBRSxFQUFPO0VBQ3RFLFNBQVNjLGtCQUFrQkEsQ0FBQ2hCLEdBQVcsRUFBRUMsR0FBUSxFQUFPO0lBQ3BELElBQUksT0FBT0QsR0FBRyxLQUFLLE9BQU9DLEdBQUcsRUFBRSxPQUFPQSxHQUFHO0lBQ3pDLE9BQU9GLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUN0QztFQUVBLFNBQVNlLGNBQWNBLENBQUNDLElBQVcsRUFBRWpCLEdBQVEsRUFBTztJQUNoRDtJQUNBLE1BQU1rQixDQUFDLEdBQUdELElBQUksQ0FBQ0UsTUFBTTtJQUNyQixLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0YsQ0FBQyxFQUFFRSxDQUFDLEVBQUUsRUFBRTtNQUN4QixNQUFNckIsR0FBRyxHQUFHa0IsSUFBSSxDQUFDRyxDQUFDLENBQUM7TUFDbkIsSUFBSTtRQUNBLE9BQU9QLFNBQVMsQ0FBQ2IsR0FBRyxFQUFFRCxHQUFHLEVBQUVlLFFBQVEsQ0FBQztNQUN4QyxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFLENBQUM7SUFDakI7SUFDQSxPQUFPdkIsWUFBWSxDQUFDbUIsSUFBSSxFQUFFakIsR0FBRyxDQUFDO0VBQ2xDO0VBRUEsU0FBU3NCLGFBQWFBLENBQUNDLEtBQWUsRUFBRXZCLEdBQVEsRUFBTztJQUNuRCxJQUFJdUIsS0FBSyxDQUFDQyxPQUFPLENBQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPQSxHQUFHO0lBQ3pDLE9BQU9GLFlBQVksQ0FBQ3lCLEtBQUssRUFBRXZCLEdBQUcsQ0FBQztFQUNuQztFQUVBLFNBQVN5QixjQUFjQSxDQUFDMUIsR0FBUSxFQUFFQyxHQUFRLEVBQU87SUFDN0M7SUFDQSxJQUFJLENBQUMwQixLQUFLLENBQUNDLE9BQU8sQ0FBQzNCLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLFlBQVksQ0FBQyxPQUFPLEVBQUVFLEdBQUcsQ0FBQztJQUMxRCxPQUFPQSxHQUFHLENBQUNNLEdBQUcsQ0FBQ3NCLEVBQUUsSUFBSWYsU0FBUyxDQUFDZSxFQUFFLEVBQUU3QixHQUFHLEVBQUVlLFFBQVEsQ0FBQyxDQUFDO0VBQ3REO0VBRUEsU0FBU2UsYUFBYUEsQ0FBQzdCLEdBQVEsRUFBTztJQUNsQyxJQUFJQSxHQUFHLEtBQUssSUFBSSxFQUFFO01BQ2QsT0FBTyxJQUFJO0lBQ2Y7SUFDQSxNQUFNOEIsQ0FBQyxHQUFHLElBQUlDLElBQUksQ0FBQy9CLEdBQUcsQ0FBQztJQUN2QixJQUFJZ0MsS0FBSyxDQUFDRixDQUFDLENBQUNHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUNwQixPQUFPbkMsWUFBWSxDQUFDLE1BQU0sRUFBRUUsR0FBRyxDQUFDO0lBQ3BDO0lBQ0EsT0FBTzhCLENBQUM7RUFDWjtFQUVBLFNBQVNJLGVBQWVBLENBQUMzQixLQUEyQixFQUFFNEIsVUFBZSxFQUFFbkMsR0FBUSxFQUFPO0lBQ2xGLElBQUlBLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsSUFBSTBCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDM0IsR0FBRyxDQUFDLEVBQUU7TUFDL0QsT0FBT0YsWUFBWSxDQUFDLFFBQVEsRUFBRUUsR0FBRyxDQUFDO0lBQ3RDO0lBQ0EsTUFBTW9DLE1BQVcsR0FBRyxDQUFDLENBQUM7SUFDdEJDLE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUMvQixLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFDUCxHQUFHLElBQUk7TUFDN0MsTUFBTXNDLElBQUksR0FBR2hDLEtBQUssQ0FBQ04sR0FBRyxDQUFDO01BQ3ZCLE1BQU11QyxDQUFDLEdBQUdILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQzNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDLEdBQUdELEdBQUcsQ0FBQ0MsR0FBRyxDQUFDLEdBQUdJLFNBQVM7TUFDL0UrQixNQUFNLENBQUNHLElBQUksQ0FBQ3RDLEdBQUcsQ0FBQyxHQUFHWSxTQUFTLENBQUMyQixDQUFDLEVBQUVELElBQUksQ0FBQ3hDLEdBQUcsRUFBRWUsUUFBUSxFQUFFeUIsSUFBSSxDQUFDdEMsR0FBRyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztJQUNGb0MsTUFBTSxDQUFDQyxtQkFBbUIsQ0FBQ3RDLEdBQUcsQ0FBQyxDQUFDUSxPQUFPLENBQUNQLEdBQUcsSUFBSTtNQUMzQyxJQUFJLENBQUNvQyxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNwQyxLQUFLLEVBQUVOLEdBQUcsQ0FBQyxFQUFFO1FBQ25EbUMsTUFBTSxDQUFDbkMsR0FBRyxDQUFDLEdBQUdZLFNBQVMsQ0FBQ2IsR0FBRyxDQUFDQyxHQUFHLENBQUMsRUFBRWtDLFVBQVUsRUFBRXJCLFFBQVEsRUFBRWIsR0FBRyxDQUFDO01BQ2hFO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsT0FBT21DLE1BQU07RUFDakI7RUFFQSxJQUFJckMsR0FBRyxLQUFLLEtBQUssRUFBRSxPQUFPQyxHQUFHO0VBQzdCLElBQUlELEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDZCxJQUFJQyxHQUFHLEtBQUssSUFBSSxFQUFFLE9BQU9BLEdBQUc7SUFDNUIsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUNqQztFQUNBLElBQUlELEdBQUcsS0FBSyxLQUFLLEVBQUUsT0FBT0QsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUNoRCxPQUFPLE9BQU9ELEdBQUcsS0FBSyxRQUFRLElBQUlBLEdBQUcsQ0FBQzZDLEdBQUcsS0FBS3ZDLFNBQVMsRUFBRTtJQUNyRE4sR0FBRyxHQUFHOEMsT0FBTyxDQUFDOUMsR0FBRyxDQUFDNkMsR0FBRyxDQUFDO0VBQzFCO0VBQ0EsSUFBSWxCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDNUIsR0FBRyxDQUFDLEVBQUUsT0FBT3VCLGFBQWEsQ0FBQ3ZCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ3RELElBQUksT0FBT0QsR0FBRyxLQUFLLFFBQVEsRUFBRTtJQUN6QixPQUFPQSxHQUFHLENBQUMyQyxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcxQixjQUFjLENBQUNqQixHQUFHLENBQUMrQyxZQUFZLEVBQUU5QyxHQUFHLENBQUMsR0FDM0VELEdBQUcsQ0FBQzJDLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBTWpCLGNBQWMsQ0FBQzFCLEdBQUcsQ0FBQ2dELFVBQVUsRUFBRS9DLEdBQUcsQ0FBQyxHQUN6RUQsR0FBRyxDQUFDMkMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFXUixlQUFlLENBQUNwQixRQUFRLENBQUNmLEdBQUcsQ0FBQyxFQUFFQSxHQUFHLENBQUNvQyxVQUFVLEVBQUVuQyxHQUFHLENBQUMsR0FDekZGLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDaEM7RUFDQTtFQUNBLElBQUlELEdBQUcsS0FBS2dDLElBQUksSUFBSSxPQUFPL0IsR0FBRyxLQUFLLFFBQVEsRUFBRSxPQUFPNkIsYUFBYSxDQUFDN0IsR0FBRyxDQUFDO0VBQ3RFLE9BQU9lLGtCQUFrQixDQUFDaEIsR0FBRyxFQUFFQyxHQUFHLENBQUM7QUFDdkM7QUFFQSxTQUFTWixJQUFJQSxDQUFJWSxHQUFRLEVBQUVELEdBQVEsRUFBSztFQUNwQyxPQUFPYyxTQUFTLENBQUNiLEdBQUcsRUFBRUQsR0FBRyxFQUFFSSxhQUFhLENBQUM7QUFDN0M7QUFFQSxTQUFTUixNQUFNQSxDQUFJSyxHQUFNLEVBQUVELEdBQVEsRUFBTztFQUN0QyxPQUFPYyxTQUFTLENBQUNiLEdBQUcsRUFBRUQsR0FBRyxFQUFFWSxhQUFhLENBQUM7QUFDN0M7QUFFQSxTQUFTcUMsQ0FBQ0EsQ0FBQ2pELEdBQVEsRUFBRTtFQUNqQixPQUFPO0lBQUVnRCxVQUFVLEVBQUVoRDtFQUFJLENBQUM7QUFDOUI7QUFFQSxTQUFTa0QsQ0FBQ0EsQ0FBQyxHQUFHaEMsSUFBVyxFQUFFO0VBQ3ZCLE9BQU87SUFBRTZCLFlBQVksRUFBRTdCO0VBQUssQ0FBQztBQUNqQztBQUVBLFNBQVNpQyxDQUFDQSxDQUFDM0MsS0FBWSxFQUFFNEIsVUFBZSxFQUFFO0VBQ3RDLE9BQU87SUFBRTVCLEtBQUs7SUFBRTRCO0VBQVcsQ0FBQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUzVDLENBQUNBLENBQUM0RCxJQUFZLEVBQUU7RUFDckIsT0FBTztJQUFFUCxHQUFHLEVBQUVPO0VBQUssQ0FBQztBQUN4QjtBQUVBLE1BQU1OLE9BQVksR0FBRztFQUNqQixVQUFVLEVBQUVLLENBQUMsQ0FBQyxDQUNWO0lBQUUvRCxJQUFJLEVBQUUsVUFBVTtJQUFFdUIsRUFBRSxFQUFFLFVBQVU7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsZUFBZTtFQUFFLENBQUMsQ0FDaEUsRUFBRSxLQUFLLENBQUM7RUFDVCxlQUFlLEVBQUUyRCxDQUFDLENBQUMsQ0FDZjtJQUFFL0QsSUFBSSxFQUFFLFNBQVM7SUFBRXVCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRWlELENBQUMsQ0FBQ3pELENBQUMsQ0FBQyxTQUFTLENBQUM7RUFBRSxDQUFDLENBQzNELEVBQUUsS0FBSyxDQUFDO0VBQ1QsZ0JBQWdCLEVBQUUyRCxDQUFDLENBQUMsQ0FDaEI7SUFBRS9ELElBQUksRUFBRSxTQUFTO0lBQUV1QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxTQUFTO0VBQUUsQ0FBQyxDQUN4RCxFQUFFLEtBQUssQ0FBQztFQUNULFNBQVMsRUFBRTJELENBQUMsQ0FBQyxDQUNUO0lBQUUvRCxJQUFJLEVBQUUsWUFBWTtJQUFFdUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRDtJQUFFWixJQUFJLEVBQUUsS0FBSztJQUFFdUIsRUFBRSxFQUFFLEtBQUs7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuQztJQUFFWixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWixJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWixJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRDtJQUFFWixJQUFJLEVBQUUsWUFBWTtJQUFFdUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRDtJQUFFWixJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWixJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFZ0M7RUFBSyxDQUFDLEVBQ3JEO0lBQUU1QyxJQUFJLEVBQUUscUJBQXFCO0lBQUV1QixFQUFFLEVBQUUscUJBQXFCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkU7SUFBRVosSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQUVKLElBQUksRUFBRSxNQUFNO0lBQUV1QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxNQUFNO0VBQUUsQ0FBQyxFQUM1QztJQUFFSixJQUFJLEVBQUUsT0FBTztJQUFFdUIsRUFBRSxFQUFFLE9BQU87SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN2QztJQUFFWixJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsV0FBVztFQUFFLENBQUMsRUFDM0Q7SUFBRUosSUFBSSxFQUFFLE9BQU87SUFBRXVCLEVBQUUsRUFBRSxPQUFPO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLE9BQU87RUFBRSxDQUFDLEVBQy9DO0lBQUVKLElBQUksRUFBRSx5QkFBeUI7SUFBRXVCLEVBQUUsRUFBRSx5QkFBeUI7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMseUJBQXlCO0VBQUUsQ0FBQyxFQUNyRztJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFdUIsRUFBRSxFQUFFLGNBQWM7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFBRUosSUFBSSxFQUFFLGtCQUFrQjtJQUFFdUIsRUFBRSxFQUFFLGtCQUFrQjtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxrQkFBa0I7RUFBRSxDQUFDLEVBQ2hGO0lBQUVKLElBQUksRUFBRSxhQUFhO0lBQUV1QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDMUU7SUFBRUosSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWQsQ0FBQyxDQUFDLFVBQVUsQ0FBQztFQUFFLENBQUMsRUFDdEU7SUFBRUosSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxDQUMxRCxFQUFFLEtBQUssQ0FBQztFQUNULFdBQVcsRUFBRTZDLENBQUMsQ0FBQyxDQUNYO0lBQUUvRCxJQUFJLEVBQUUsT0FBTztJQUFFdUIsRUFBRSxFQUFFLE9BQU87SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUNoRDtJQUFFOUQsSUFBSSxFQUFFLHNCQUFzQjtJQUFFdUIsRUFBRSxFQUFFLHNCQUFzQjtJQUFFWCxHQUFHLEVBQUU7RUFBSyxDQUFDLENBQzFFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsYUFBYSxFQUFFbUQsQ0FBQyxDQUFDLENBQ2I7SUFBRS9ELElBQUksRUFBRSxZQUFZO0lBQUV1QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUNELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDckY7SUFBRUosSUFBSSxFQUFFLE1BQU07SUFBRXVCLEVBQUUsRUFBRSxNQUFNO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQzNFO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUU0QyxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUMvRTtJQUFFSixJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDRCxDQUFDLENBQUNDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDMUc7SUFBRUosSUFBSSxFQUFFLHVCQUF1QjtJQUFFdUIsRUFBRSxFQUFFLHVCQUF1QjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUNELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUM5SDtJQUFFSixJQUFJLEVBQUUsT0FBTztJQUFFdUIsRUFBRSxFQUFFLE9BQU87SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFNEMsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQztFQUFFLENBQUMsRUFDN0U7SUFBRUosSUFBSSxFQUFFLFNBQVM7SUFBRXVCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQ2pGO0lBQUVKLElBQUksRUFBRSxtQkFBbUI7SUFBRXVCLEVBQUUsRUFBRSxtQkFBbUI7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFZCxDQUFDLENBQUMsbUJBQW1CLENBQUM7RUFBRSxDQUFDLENBQ3BHLEVBQUUsS0FBSyxDQUFDO0VBQ1QsbUJBQW1CLEVBQUUyRCxDQUFDLENBQUMsQ0FDbkI7SUFBRS9ELElBQUksRUFBRSxZQUFZO0lBQUV1QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDekU7SUFBRUosSUFBSSxFQUFFLE1BQU07SUFBRXVCLEVBQUUsRUFBRSxNQUFNO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUM3RDtJQUFFSixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQ2pFO0lBQUVKLElBQUksRUFBRSxhQUFhO0lBQUV1QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDM0U7SUFBRUosSUFBSSxFQUFFLHVCQUF1QjtJQUFFdUIsRUFBRSxFQUFFLHVCQUF1QjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSTtFQUFFLENBQUMsQ0FDbEcsRUFBRSxLQUFLLENBQUM7RUFDVCxPQUFPLEVBQUUyRCxDQUFDLENBQUMsQ0FDUDtJQUFFL0QsSUFBSSxFQUFFLFNBQVM7SUFBRXVCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDM0M7SUFBRVosSUFBSSxFQUFFLHNCQUFzQjtJQUFFdUIsRUFBRSxFQUFFLHNCQUFzQjtJQUFFWCxHQUFHLEVBQUU7RUFBSyxDQUFDLEVBQ3ZFO0lBQUVaLElBQUksRUFBRSxtQkFBbUI7SUFBRXVCLEVBQUUsRUFBRSxtQkFBbUI7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLElBQUk7RUFBRSxDQUFDLENBQ2xGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsTUFBTSxFQUFFNkMsQ0FBQyxDQUFDLENBQ047SUFBRS9ELElBQUksRUFBRSxNQUFNO0lBQUV1QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxNQUFNO0VBQUUsQ0FBQyxFQUM1QztJQUFFSixJQUFJLEVBQUUsU0FBUztJQUFFdUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsU0FBUztFQUFFLENBQUMsQ0FDeEQsRUFBRSxLQUFLLENBQUM7RUFDVCxjQUFjLEVBQUUyRCxDQUFDLENBQUMsQ0FDZDtJQUFFL0QsSUFBSSxFQUFFLGVBQWU7SUFBRXVCLEVBQUUsRUFBRSxlQUFlO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDdkQ7SUFBRVosSUFBSSxFQUFFLG1CQUFtQjtJQUFFdUIsRUFBRSxFQUFFLG1CQUFtQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9EO0lBQUVaLElBQUksRUFBRSxvQkFBb0I7SUFBRXVCLEVBQUUsRUFBRSxvQkFBb0I7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqRTtJQUFFWixJQUFJLEVBQUUsU0FBUztJQUFFdUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsU0FBUztFQUFFLENBQUMsRUFDckQ7SUFBRUosSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLENBQzNELEVBQUUsS0FBSyxDQUFDO0VBQ1QsVUFBVSxFQUFFMkQsQ0FBQyxDQUFDLENBQ1Y7SUFBRS9ELElBQUksRUFBRSxNQUFNO0lBQUV1QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3JDO0lBQUVaLElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pDO0lBQUVaLElBQUksRUFBRSxhQUFhO0lBQUV1QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ25EO0lBQUVaLElBQUksRUFBRSxZQUFZO0lBQUV1QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pEO0lBQUVaLElBQUksRUFBRSx1QkFBdUI7SUFBRXVCLEVBQUUsRUFBRSx1QkFBdUI7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLENBQ3hGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsVUFBVSxFQUFFNkMsQ0FBQyxDQUFDLENBQ1Y7SUFBRS9ELElBQUksRUFBRSxjQUFjO0lBQUV1QixFQUFFLEVBQUUsY0FBYztJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxjQUFjO0VBQUUsQ0FBQyxFQUNwRTtJQUFFSixJQUFJLEVBQUUsaUJBQWlCO0lBQUV1QixFQUFFLEVBQUUsaUJBQWlCO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLGlCQUFpQjtFQUFFLENBQUMsRUFDN0U7SUFBRUosSUFBSSxFQUFFLGNBQWM7SUFBRXVCLEVBQUUsRUFBRSxjQUFjO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLGNBQWM7RUFBRSxDQUFDLENBQ3ZFLEVBQUUsS0FBSyxDQUFDO0VBQ1Qsa0JBQWtCLEVBQUUyRCxDQUFDLENBQUMsQ0FDbEI7SUFBRS9ELElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxDQUNyRCxFQUFFLEtBQUssQ0FBQztFQUNULFFBQVEsRUFBRTJELENBQUMsQ0FBQyxDQUNSO0lBQUUvRCxJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWixJQUFJLEVBQUUsU0FBUztJQUFFdUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsU0FBUztFQUFFLENBQUMsQ0FDeEQsRUFBRSxLQUFLLENBQUM7RUFDVCxTQUFTLEVBQUUyRCxDQUFDLENBQUMsQ0FDVDtJQUFFL0QsSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRWlELENBQUMsQ0FBQ3pELENBQUMsQ0FBQyxRQUFRLENBQUM7RUFBRSxDQUFDLENBQ3hELEVBQUUsS0FBSyxDQUFDO0VBQ1QsUUFBUSxFQUFFMkQsQ0FBQyxDQUFDLENBQ1I7SUFBRS9ELElBQUksRUFBRSxXQUFXO0lBQUV1QixFQUFFLEVBQUUsV0FBVztJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9DO0lBQUVaLElBQUksRUFBRSxxQkFBcUI7SUFBRXVCLEVBQUUsRUFBRSxxQkFBcUI7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRTtJQUFFWixJQUFJLEVBQUUsTUFBTTtJQUFFdUIsRUFBRSxFQUFFLE1BQU07SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsTUFBTTtFQUFFLENBQUMsQ0FDL0MsRUFBRSxLQUFLLENBQUM7RUFDVCxNQUFNLEVBQUUyRCxDQUFDLENBQUMsQ0FDTjtJQUFFL0QsSUFBSSxFQUFFLHFCQUFxQjtJQUFFdUIsRUFBRSxFQUFFLHFCQUFxQjtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxxQkFBcUI7RUFBRSxDQUFDLEVBQ3pGO0lBQUVKLElBQUksRUFBRSxjQUFjO0lBQUV1QixFQUFFLEVBQUUsY0FBYztJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxjQUFjO0VBQUUsQ0FBQyxFQUNwRTtJQUFFSixJQUFJLEVBQUUsbUJBQW1CO0lBQUV1QixFQUFFLEVBQUUsbUJBQW1CO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLG1CQUFtQjtFQUFFLENBQUMsQ0FDdEYsRUFBRSxLQUFLLENBQUM7RUFDVCxtQkFBbUIsRUFBRTJELENBQUMsQ0FBQyxDQUNuQjtJQUFFL0QsSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUMvRDtJQUFFbEIsSUFBSSxFQUFFLFlBQVk7SUFBRXVCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0VBQUUsQ0FBQyxFQUMzRjtJQUFFSixJQUFJLEVBQUUsTUFBTTtJQUFFdUIsRUFBRSxFQUFFLE1BQU07SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFNEMsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQztFQUFFLENBQUMsRUFDM0U7SUFBRUosSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQy9FO0lBQUVKLElBQUksRUFBRSxZQUFZO0lBQUV1QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUU0QyxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUN2RjtJQUFFSixJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFNEMsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQztFQUFFLENBQUMsRUFDekY7SUFBRUosSUFBSSxFQUFFLE9BQU87SUFBRXVCLEVBQUUsRUFBRSxPQUFPO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQzFELENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUM7RUFBRSxDQUFDLEVBQzdFO0lBQUVKLElBQUksRUFBRSxTQUFTO0lBQUV1QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUU0QyxDQUFDLENBQUMxRCxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxDQUNwRixFQUFFLEtBQUssQ0FBQztFQUNULGNBQWMsRUFBRTJELENBQUMsQ0FBQyxDQUNkO0lBQUUvRCxJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDRCxDQUFDLENBQUN6RCxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztFQUFFLENBQUMsQ0FDeEUsRUFBRSxLQUFLLENBQUM7RUFDVCxRQUFRLEVBQUUyRCxDQUFDLENBQUMsQ0FDUjtJQUFFL0QsSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRVosSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRVosSUFBSSxFQUFFLGVBQWU7SUFBRXVCLEVBQUUsRUFBRSxlQUFlO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUNyRTtJQUFFbEIsSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUNwRTtJQUFFOUQsSUFBSSxFQUFFLG1CQUFtQjtJQUFFdUIsRUFBRSxFQUFFLG1CQUFtQjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVkLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztFQUFFLENBQUMsQ0FDcEcsRUFBRSxLQUFLLENBQUM7RUFDVCxjQUFjLEVBQUUyRCxDQUFDLENBQUMsQ0FDZDtJQUFFL0QsSUFBSSxFQUFFLE1BQU07SUFBRXVCLEVBQUUsRUFBRSxNQUFNO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDckM7SUFBRVosSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekM7SUFBRVosSUFBSSxFQUFFLFlBQVk7SUFBRXVCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUMvRDtJQUFFbEIsSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTRDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUN0RTtJQUFFOUQsSUFBSSxFQUFFLFlBQVk7SUFBRXVCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUMvRDtJQUFFbEIsSUFBSSxFQUFFLGFBQWE7SUFBRXVCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUNqRTtJQUFFbEIsSUFBSSxFQUFFLHVCQUF1QjtJQUFFdUIsRUFBRSxFQUFFLHVCQUF1QjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsQ0FDeEYsRUFBRSxLQUFLLENBQUM7RUFDVCx5QkFBeUIsRUFBRSxDQUN2QixrQ0FBa0MsRUFDbEMsbUJBQW1CLENBQ3RCO0VBQ0QsTUFBTSxFQUFFLENBQ0osUUFBUSxFQUNSLFFBQVEsQ0FDWDtFQUNELFNBQVMsRUFBRSxDQUNQLGdDQUFnQyxFQUNoQyxzQ0FBc0MsRUFDdEMsa0NBQWtDLEVBQ2xDLHdDQUF3QyxDQUNyQztFQUNQLGNBQWMsRUFBRSxDQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLENBQ1I7RUFDRCxpQkFBaUIsRUFBRSxDQUNmLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QiwwQkFBMEIsQ0FDN0I7RUFDRCxjQUFjLEVBQUUsQ0FDWix5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLHNEQUFzRCxFQUN0RCx1REFBdUQsRUFDdkQsaUVBQWlFLEVBQ2pFLGtDQUFrQyxFQUNsQyw2Q0FBNkMsQ0FDaEQ7RUFDRCxtQkFBbUIsRUFBRSxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssQ0FDUjtFQUNELHFCQUFxQixFQUFFLENBQ25CLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxDQUNUO0VBQ0QsVUFBVSxFQUFFLENBQ1IsU0FBUyxFQUNULFdBQVcsRUFDWCxRQUFRO0FBRWhCLENBQUMifQ==
598
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsIkNvZGUiLCJMaWJlbGxlIiwiQ29kZVR5cGVWb3RlIiwiTGliZWxsZVR5cGVWb3RlIiwiVHlwZU1ham9yaXRlIiwiQ2F1c2VQb3NpdGlvblZvdGUiLCJQb3NpdGlvbk1ham9yaXRhaXJlIiwiTGlldVZvdGUiLCJDb252ZXJ0IiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b1NjcnV0aW5XcmFwcGVyIiwic2NydXRpbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9zY3J1dGlucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBTY3J1dGlucywgU2NydXRpbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBzY3J1dGlucyA9IENvbnZlcnQudG9TY3J1dGlucyhqc29uKTtcbi8vICAgY29uc3Qgc2NydXRpbldyYXBwZXIgPSBDb252ZXJ0LnRvU2NydXRpbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGlucyB7XG4gICAgc2NydXRpbnM6IFNjcnV0aW5zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnNDbGFzcyB7XG4gICAgc2NydXRpbjogU2NydXRpbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5XcmFwcGVyIHtcbiAgc2NydXRpbjogU2NydXRpblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW4ge1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgICAgICAgIHN0cmluZztcbiAgICB1aWQ6ICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG51bWVybzogICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgb3JnYW5lUmVmOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBsZWdpc2xhdHVyZTogICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlc3Npb25SZWY6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgc2VhbmNlUmVmOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkYXRlU2NydXRpbjogICAgICAgICAgICAgRGF0ZTtcbiAgICBxdWFudGllbWVKb3VyU2VhbmNlOiAgICAgc3RyaW5nO1xuICAgIHR5cGVWb3RlOiAgICAgICAgICAgICAgICBUeXBlVm90ZTtcbiAgICBzb3J0OiAgICAgICAgICAgICAgICAgICAgU29ydDtcbiAgICB0aXRyZTogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGRlbWFuZGV1cjogICAgICAgICAgICAgICBEZW1hbmRldXI7XG4gICAgb2JqZXQ6ICAgICAgICAgICAgICAgICAgIE9iamV0O1xuICAgIG1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzOiBNb2RlUHVibGljYXRpb25EZXNWb3RlcztcbiAgICBzeW50aGVzZVZvdGU6ICAgICAgICAgICAgU3ludGhlc2VWb3RlO1xuICAgIHZlbnRpbGF0aW9uVm90ZXM6ICAgICAgICBWZW50aWxhdGlvblZvdGVzO1xuICAgIG1pc2VBdVBvaW50OiAgICAgICAgICAgICBNaXNlQXVQb2ludCB8IG51bGw7XG4gICAgbGlldVZvdGU/OiAgICAgICAgICAgICAgIExpZXVWb3RlO1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXIge1xuICAgIHRleHRlOiAgICAgICAgICAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIHJlZmVyZW5jZUxlZ2lzbGF0aXZlOiBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pc2VBdVBvaW50IHtcbiAgICBub25Wb3RhbnRzOiAgICAgICAgICAgIEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgbnVsbDtcbiAgICBwb3VyPzogICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlPzogICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zOiAgICAgICAgICAgQXJyYXk8Vm90YW50c0NsYXNzIHwgbnVsbD4gfCBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlczogQXJyYXk8Vm90YW50c0NsYXNzIHwgbnVsbD4gfCBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmVzPzogICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgZHlzZm9uY3Rpb25uZW1lbnQ/OiAgICBEeXNmb25jdGlvbm5lbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeXNmb25jdGlvbm5lbWVudCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlczogVm90YW50c0NsYXNzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXMge1xuICAgIERlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlID0gXCJEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZVwiLFxuICAgIERlY29tcHRlTm9taW5hdGlmID0gXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamV0IHtcbiAgICBsaWJlbGxlOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHJlZmVyZW5jZUxlZ2lzbGF0aXZlOiBudWxsO1xuICAgIGRvc3NpZXJMZWdpc2xhdGlmPzogbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuICAgIGNvZGU6ICAgIENvZGU7XG4gICAgbGliZWxsZTogTGliZWxsZTtcbn1cblxuZXhwb3J0IGVudW0gQ29kZSB7XG4gICAgQWRvcHTDqSA9IFwiYWRvcHTDqVwiLFxuICAgIFJlamV0w6kgPSBcInJlamV0w6lcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZSB7XG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVBQWRvcHTDqSA9IFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICBMQXNzZW1ibMOpZU5hdGlvbmFsZU5BUGFzQWRvcHTDqSA9IFwiTCdBc3NlbWJsw6llIG5hdGlvbmFsZSBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnRBQWRvcHTDqSA9IFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IGEgYWRvcHTDqVwiLFxuICAgIExlQ29uZ3LDqHNEdVBhcmxlbWVudE5BUGFzQWRvcHTDqSA9IFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IG4nYSBwYXMgYWRvcHTDqVwiLFxuICB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhlc2VWb3RlIHtcbiAgICBub21icmVWb3RhbnRzOiAgICAgIHN0cmluZztcbiAgICBzdWZmcmFnZXNFeHByaW1lczogIHN0cmluZztcbiAgICBuYnJTdWZmcmFnZXNSZXF1aXM6IHN0cmluZztcbiAgICBhbm5vbmNlOiAgICAgICAgICAgIExpYmVsbGU7XG4gICAgZGVjb21wdGU6ICAgICAgICAgICBEZWNvbXB0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZSB7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvbnRyZTogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlVm90ZSB7XG4gICAgY29kZVR5cGVWb3RlOiAgICBDb2RlVHlwZVZvdGU7XG4gICAgbGliZWxsZVR5cGVWb3RlOiBMaWJlbGxlVHlwZVZvdGU7XG4gICAgdHlwZU1ham9yaXRlOiAgICBUeXBlTWFqb3JpdGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGVUeXBlVm90ZSB7XG4gICAgTW9jID0gXCJNT0NcIixcbiAgICBTYXQgPSBcIlNBVFwiLFxuICAgIFNwbyA9IFwiU1BPXCIsXG4gICAgU3BzID0gXCJTUFNcIixcbiAgICBTc2cgPSBcIlNTR1wiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlVHlwZVZvdGUge1xuICAgIE1vdGlvbkRlQ2Vuc3VyZSA9IFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICBTY3J1dGluUHVibGljT3JkaW5haXJlID0gXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICBTY3J1dGluUHVibGljU29sZW5uZWwgPSBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gICAgU2NydXRpbsOATGFUcmlidW5lID0gXCJzY3J1dGluIMOgIGxhIHRyaWJ1bmVcIixcbiAgICBTY3J1dGluU29sZW5uZWxDb25ncsOocyA9IFwiU2NydXRpbiBzb2xlbm5lbCBjb25ncsOoc1wiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlTWFqb3JpdGUge1xuICAgIE1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgbWFqb3JpdMOpQWJzb2x1ZURlc1N1ZmZyYWdlc0V4cHJpbcOpcyA9IFwibWFqb3JpdMOpIGFic29sdWUgZGVzIHN1ZmZyYWdlcyBleHByaW3DqXNcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50TEFzc2VtYmzDqWVOYXRpb25hbGUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgIG1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50c0NvbXBvc2FudExBc3NlbWJsw6llTmF0aW9uYWxlID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgIE1ham9yaXTDqVJlcXVpc2VQb3VyVW5Db25ncsOocyA9IFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgIE1ham9yaXTDqVJlcXVpc2VQb3VyVW5lTW90aW9uRGVDZW5zdXJlID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuZSBtb3Rpb24gZGUgY2Vuc3VyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlbnRpbGF0aW9uVm90ZXMge1xuICAgIG9yZ2FuZTogT3JnYW5lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuZSB7XG4gICAgb3JnYW5lUmVmOiBzdHJpbmc7XG4gICAgZ3JvdXBlczogICBHcm91cGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZXMge1xuICAgIGdyb3VwZTogR3JvdXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9tYnJlTWVtYnJlc0dyb3VwZTogc3RyaW5nO1xuICAgIHZvdGU6ICAgICAgICAgICAgICAgIFZvdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90ZSB7XG4gICAgcG9zaXRpb25NYWpvcml0YWlyZTogUG9zaXRpb25NYWpvcml0YWlyZTtcbiAgICBkZWNvbXB0ZVZvaXg6ICAgICAgICBEZWNvbXB0ZVZvaXg7XG4gICAgZGVjb21wdGVOb21pbmF0aWY6ICAgRGVjb21wdGVOb21pbmF0aWY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVOb21pbmF0aWYge1xuICAgIG5vblZvdGFudD86ICAgbnVsbFxuICAgIG5vblZvdGFudHM/OiAgVm90YW50c0NsYXNzIHwgbnVsbCB8IHN0cmluZztcbiAgICBwb3VyPzogICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmU/OiAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uPzogVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9ucz86IFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgcG91cnM/OiAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90YW50c0NsYXNzIHtcbiAgICB2b3RhbnQ6IFZvdGFudFtdIHwgVm90YW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudCB7XG4gICAgYWN0ZXVyUmVmOiAgICAgIHN0cmluZztcbiAgICBtYW5kYXRSZWY6ICAgICAgc3RyaW5nO1xuICAgIHBhckRlbGVnYXRpb24/OiBzdHJpbmc7XG4gICAgbnVtUGxhY2U/OiAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgY2F1c2VQb3NpdGlvblZvdGU/OiBDYXVzZVBvc2l0aW9uVm90ZTtcbn1cblxuZXhwb3J0IGVudW0gQ2F1c2VQb3NpdGlvblZvdGUge1xuICAgIE1nID0gXCJNR1wiLFxuICAgIFBhbiA9IFwiUEFOXCIsXG4gICAgUHNlID0gXCJQU0VcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZVZvaXgge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbj86ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudD86ICAgICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgbm9uVm90YW50cz86ICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb25zPzogICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFBvc2l0aW9uTWFqb3JpdGFpcmUge1xuICAgIEFic3RlbnRpb24gPSBcImFic3RlbnRpb25cIixcbiAgICBDb250cmUgPSBcImNvbnRyZVwiLFxuICAgIFBvdXIgPSBcInBvdXJcIixcbn1cblxuZXhwb3J0IGVudW0gTGlldVZvdGUge1xuICAgIENvbmdyw6hzID0gXCJDb25ncsOoc1wiLFxuICAgIEjDqW1pY3ljbGUgPSBcIkjDqW1pY3ljbGVcIixcbiAgICBTYWxvbnMgPSBcIlNhbG9uc1wiLFxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvU2NydXRpbnMoanNvbjogc3RyaW5nKTogU2NydXRpbnMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiU2NydXRpbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2NydXRpbnNUb0pzb24odmFsdWU6IFNjcnV0aW5zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlNjcnV0aW5zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5XcmFwcGVyKGpzb246IHN0cmluZyk6IFNjcnV0aW5XcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5XcmFwcGVyVG9Kc29uKHZhbHVlOiBTY3J1dGluV3JhcHBlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiU2NydXRpbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluc1wiLCBqczogXCJzY3J1dGluc1wiLCB0eXA6IHIoXCJTY3J1dGluc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbnNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInNjcnV0aW5cIiwganM6IFwic2NydXRpblwiLCB0eXA6IGEocihcIlNjcnV0aW5cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU2NydXRpbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiByKFwiU2NydXRpblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNlYW5jZVJlZlwiLCBqczogXCJzZWFuY2VSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlU2NydXRpblwiLCBqczogXCJkYXRlU2NydXRpblwiLCB0eXA6IERhdGUgfSxcbiAgICAgICAgeyBqc29uOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwganM6IFwicXVhbnRpZW1lSm91clNlYW5jZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVWb3RlXCIsIGpzOiBcInR5cGVWb3RlXCIsIHR5cDogcihcIlR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3J0XCIsIGpzOiBcInNvcnRcIiwgdHlwOiByKFwiU29ydFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidGl0cmVcIiwganM6IFwidGl0cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZW1hbmRldXJcIiwganM6IFwiZGVtYW5kZXVyXCIsIHR5cDogcihcIkRlbWFuZGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiByKFwiT2JqZXRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIGpzOiBcIm1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIsIHR5cDogcihcIk1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzeW50aGVzZVZvdGVcIiwganM6IFwic3ludGhlc2VWb3RlXCIsIHR5cDogcihcIlN5bnRoZXNlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidmVudGlsYXRpb25Wb3Rlc1wiLCBqczogXCJ2ZW50aWxhdGlvblZvdGVzXCIsIHR5cDogcihcIlZlbnRpbGF0aW9uVm90ZXNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pc2VBdVBvaW50XCIsIGpzOiBcIm1pc2VBdVBvaW50XCIsIHR5cDogdShyKFwiTWlzZUF1UG9pbnRcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWV1Vm90ZVwiLCBqczogXCJsaWV1Vm90ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVZvdGVcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVtYW5kZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaXNlQXVQb2ludFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUoYSh1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KGEodShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSksIHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdShhKHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpLCByKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91cnNcIiwganM6IFwicG91cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZXNcIiwganM6IFwiY29udHJlc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwganM6IFwiZHlzZm9uY3Rpb25uZW1lbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkR5c2ZvbmN0aW9ubmVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkR5c2ZvbmN0aW9ubmVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPYmpldFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIGpzOiBcInJlZmVyZW5jZUxlZ2lzbGF0aXZlXCIsIHR5cDogbnVsbCB9LFxuICAgICAgICB7IGpzb246IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwganM6IFwiZG9zc2llckxlZ2lzbGF0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfVxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNvcnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiQ29kZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTeW50aGVzZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub21icmVWb3RhbnRzXCIsIGpzOiBcIm5vbWJyZVZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCBqczogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5iclN1ZmZyYWdlc1JlcXVpc1wiLCBqczogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbm5vbmNlXCIsIGpzOiBcImFubm9uY2VcIiwgdHlwOiByKFwiTGliZWxsZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVcIiwganM6IFwiZGVjb21wdGVcIiwgdHlwOiByKFwiRGVjb21wdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUeXBlVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVUeXBlVm90ZVwiLCBqczogXCJjb2RlVHlwZVZvdGVcIiwgdHlwOiByKFwiQ29kZVR5cGVWb3RlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlVHlwZVZvdGVcIiwganM6IFwibGliZWxsZVR5cGVWb3RlXCIsIHR5cDogcihcIkxpYmVsbGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZU1ham9yaXRlXCIsIGpzOiBcInR5cGVNYWpvcml0ZVwiLCB0eXA6IHIoXCJUeXBlTWFqb3JpdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWZW50aWxhdGlvblZvdGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHIoXCJPcmdhbmVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJPcmdhbmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlc1wiLCBqczogXCJncm91cGVzXCIsIHR5cDogcihcIkdyb3VwZXNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZ3JvdXBlXCIsIGpzOiBcImdyb3VwZVwiLCB0eXA6IGEocihcIkdyb3VwZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCBqczogXCJub21icmVNZW1icmVzR3JvdXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidm90ZVwiLCBqczogXCJ2b3RlXCIsIHR5cDogcihcIlZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCBqczogXCJwb3NpdGlvbk1ham9yaXRhaXJlXCIsIHR5cDogcihcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlVm9peFwiLCBqczogXCJkZWNvbXB0ZVZvaXhcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCBqczogXCJkZWNvbXB0ZU5vbWluYXRpZlwiLCB0eXA6IHIoXCJEZWNvbXB0ZU5vbWluYXRpZlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlY29tcHRlTm9taW5hdGlmXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9uVm90YW50XCIsIGpzOiBcIm5vblZvdGFudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1wiLCBqczogXCJub25Wb3RhbnRzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25cIiwganM6IFwiYWJzdGVudGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJzXCIsIGpzOiBcInBvdXJzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJWb3RhbnRcIikpLCByKFwiVm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFyRGVsZWdhdGlvblwiLCBqczogXCJwYXJEZWxlZ2F0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KFwiXCIsIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNhdXNlUG9zaXRpb25Wb3RlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlY29tcHRlVm9peFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShcIlwiLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiOiBbXG4gICAgICAgIFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICAgICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxuICAgIF0sXG4gICAgXCJDb2RlXCI6IFtcbiAgICAgICAgXCJhZG9wdMOpXCIsXG4gICAgICAgIFwicmVqZXTDqVwiLFxuICAgIF0sXG4gICAgXCJMaWJlbGxlXCI6IFtcbiAgICAgICAgXCJsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIGEgYWRvcHTDqVwiLFxuICAgICAgICBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgIFwiTGUgQ29uZ3LDqHMgZHUgUGFybGVtZW50IGEgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgICAgICAgICBdLFxuICAgIFwiQ29kZVR5cGVWb3RlXCI6IFtcbiAgICAgICAgXCJNT0NcIixcbiAgICAgICAgXCJTQVRcIixcbiAgICAgICAgXCJTUE9cIixcbiAgICAgICAgXCJTUFNcIixcbiAgICAgICAgXCJTU0dcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVR5cGVWb3RlXCI6IFtcbiAgICAgICAgXCJtb3Rpb24gZGUgY2Vuc3VyZVwiLFxuICAgICAgICBcInNjcnV0aW4gcHVibGljIG9yZGluYWlyZVwiLFxuICAgICAgICBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gICAgICAgIFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgICAgIFwiU2NydXRpbiBzb2xlbm5lbCBjb25ncsOoc1wiLFxuICAgIF0sXG4gICAgXCJUeXBlTWFqb3JpdGVcIjogW1xuICAgICAgICBcIk1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGFic29sdWUgZGVzIHN1ZmZyYWdlcyBleHByaW3DqXNcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICAgICAgXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG4gICAgICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICBdLFxuICAgIFwiQ2F1c2VQb3NpdGlvblZvdGVcIjogW1xuICAgICAgICBcIk1HXCIsXG4gICAgICAgIFwiUEFOXCIsXG4gICAgICAgIFwiUFNFXCIsXG4gICAgXSxcbiAgICBcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIjogW1xuICAgICAgICBcImFic3RlbnRpb25cIixcbiAgICAgICAgXCJjb250cmVcIixcbiAgICAgICAgXCJwb3VyXCIsXG4gICAgXSxcbiAgICBcIkxpZXVWb3RlXCI6IFtcbiAgICAgICAgXCJDb25ncsOoc1wiLFxuICAgICAgICBcIkjDqW1pY3ljbGVcIixcbiAgICAgICAgXCJTYWxvbnNcIixcbiAgICBdLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQTZEQSxXQUFZQSx1QkFBdUIsMEJBQXZCQSx1QkFBdUI7RUFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQUEsT0FBdkJBLHVCQUF1QjtBQUFBO0FBZ0JuQyxXQUFZQyxJQUFJLDBCQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQTtBQUtoQixXQUFZQyxPQUFPLDBCQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUE2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