@tricoteuses/assemblee 1.6.1 → 1.7.1

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 (130) hide show
  1. package/README.md +9 -27
  2. package/lib/bugs/acteur-00010/plugin.test.js +4 -4
  3. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  4. package/lib/bugs/acteur-00010.js +15 -16
  5. package/lib/bugs/acteur-00010.mjs +1 -1
  6. package/lib/bugs/agenda-00002/plugin.test.js +4 -4
  7. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  8. package/lib/bugs/agenda-00002.js +27 -28
  9. package/lib/bugs/agenda-00002.mjs +3 -3
  10. package/lib/bugs/agenda-00008/plugin.test.js +4 -4
  11. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  12. package/lib/bugs/agenda-00008.js +15 -16
  13. package/lib/bugs/agenda-00008.mjs +1 -1
  14. package/lib/bugs/agenda-00011/plugin.test.js +5 -5
  15. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  16. package/lib/bugs/agenda-00011.js +21 -22
  17. package/lib/bugs/agenda-00011.mjs +3 -3
  18. package/lib/bugs.js +17 -19
  19. package/lib/bugs.mjs +3 -3
  20. package/lib/cleaners/actes_legislatifs.js +5 -5
  21. package/lib/cleaners/acteurs.js +5 -5
  22. package/lib/cleaners/acteurs.mjs +1 -1
  23. package/lib/cleaners/amendements.js +5 -5
  24. package/lib/cleaners/documents.js +5 -5
  25. package/lib/cleaners/dossiers_legislatifs.js +5 -5
  26. package/lib/cleaners/organes.js +2 -2
  27. package/lib/cleaners/reunions.js +5 -5
  28. package/lib/cleaners/scrutins.js +23 -10
  29. package/lib/cleaners/scrutins.mjs +16 -3
  30. package/lib/cleaners/xml.js +8 -8
  31. package/lib/cleaners/xml.mjs +1 -1
  32. package/lib/datasets.d.ts +2 -2
  33. package/lib/datasets.js +53 -132
  34. package/lib/datasets.mjs +40 -118
  35. package/lib/dates.js +1 -2
  36. package/lib/dossiers_legislatifs.js +8 -8
  37. package/lib/file_systems.js +15 -14
  38. package/lib/file_systems.mjs +3 -3
  39. package/lib/git.d.ts +1 -0
  40. package/lib/git.js +21 -5
  41. package/lib/git.mjs +16 -1
  42. package/lib/inserters.js +3 -3
  43. package/lib/loaders.d.ts +14 -40
  44. package/lib/loaders.js +586 -1091
  45. package/lib/loaders.mjs +115 -357
  46. package/lib/parsers/documents.js +10 -10
  47. package/lib/parsers/documents.mjs +1 -1
  48. package/lib/parsers/recherche_amendements.js +17 -15
  49. package/lib/parsers/recherche_amendements.mjs +1 -1
  50. package/lib/raw_types/acteurs_et_organes.js +9 -9
  51. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  52. package/lib/raw_types/agendas.js +9 -9
  53. package/lib/raw_types/agendas.mjs +1 -1
  54. package/lib/raw_types/amendements.js +9 -9
  55. package/lib/raw_types/amendements.mjs +1 -1
  56. package/lib/raw_types/debats.d.ts +26 -78
  57. package/lib/raw_types/debats.js +49 -242
  58. package/lib/raw_types/debats.mjs +41 -234
  59. package/lib/raw_types/dossiers_legislatifs.js +9 -9
  60. package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
  61. package/lib/raw_types/questions.js +9 -9
  62. package/lib/raw_types/questions.mjs +1 -1
  63. package/lib/raw_types/scrutins.d.ts +21 -9
  64. package/lib/raw_types/scrutins.js +46 -20
  65. package/lib/raw_types/scrutins.mjs +37 -11
  66. package/lib/scripts/bugs_helper.js +17 -18
  67. package/lib/scripts/bugs_helper.mjs +3 -3
  68. package/lib/scripts/clean_reorganized_data.js +183 -561
  69. package/lib/scripts/clean_reorganized_data.mjs +111 -410
  70. package/lib/scripts/diff_amendements.js +11 -24
  71. package/lib/scripts/diff_amendements.mjs +3 -17
  72. package/lib/scripts/document_dossiers_legislatifs.js +24 -27
  73. package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
  74. package/lib/scripts/get_today_reunions.js +5 -8
  75. package/lib/scripts/get_today_reunions.mjs +3 -7
  76. package/lib/scripts/merge_scrutins.js +11 -24
  77. package/lib/scripts/merge_scrutins.mjs +3 -17
  78. package/lib/scripts/parse_textes_lois.js +8 -38
  79. package/lib/scripts/parse_textes_lois.mjs +3 -33
  80. package/lib/scripts/raw_types_from_amendements.js +14 -27
  81. package/lib/scripts/raw_types_from_amendements.mjs +3 -17
  82. package/lib/scripts/reorganize_data.js +204 -456
  83. package/lib/scripts/reorganize_data.mjs +68 -260
  84. package/lib/scripts/retrieve_deputes_photos.d.ts +3 -1
  85. package/lib/scripts/retrieve_deputes_photos.js +146 -172
  86. package/lib/scripts/retrieve_deputes_photos.mjs +74 -98
  87. package/lib/scripts/retrieve_documents.js +207 -156
  88. package/lib/scripts/retrieve_documents.mjs +116 -128
  89. package/lib/scripts/retrieve_open_data.js +272 -249
  90. package/lib/scripts/retrieve_open_data.mjs +109 -123
  91. package/lib/scripts/retrieve_pending_amendments.js +16 -67
  92. package/lib/scripts/retrieve_pending_amendments.mjs +4 -55
  93. package/lib/scripts/retrieve_senateurs_photos.js +20 -77
  94. package/lib/scripts/retrieve_senateurs_photos.mjs +5 -61
  95. package/lib/scripts/retrieve_textes_lois.js +18 -46
  96. package/lib/scripts/retrieve_textes_lois.mjs +3 -33
  97. package/lib/scripts/shared/cli_helpers.d.ts +66 -0
  98. package/lib/scripts/shared/cli_helpers.js +90 -0
  99. package/lib/scripts/shared/cli_helpers.mjs +72 -0
  100. package/lib/scripts/test_iter_load.d.ts +1 -0
  101. package/lib/scripts/test_iter_load.js +154 -0
  102. package/lib/scripts/test_iter_load.mjs +71 -0
  103. package/lib/scripts/test_load.js +4 -15
  104. package/lib/scripts/test_load.mjs +3 -14
  105. package/lib/scripts/test_load_big_files.js +4 -15
  106. package/lib/scripts/test_load_big_files.mjs +3 -14
  107. package/lib/scripts/validate_json.js +15 -16
  108. package/lib/scripts/validate_json.mjs +3 -3
  109. package/lib/types/acteurs_et_organes.js +9 -9
  110. package/lib/types/acteurs_et_organes.mjs +1 -1
  111. package/lib/types/agendas.js +9 -9
  112. package/lib/types/agendas.mjs +1 -1
  113. package/lib/types/amendements.js +9 -9
  114. package/lib/types/amendements.mjs +1 -1
  115. package/lib/types/debats.d.ts +27 -79
  116. package/lib/types/debats.js +48 -241
  117. package/lib/types/debats.mjs +40 -233
  118. package/lib/types/dossiers_legislatifs.js +9 -9
  119. package/lib/types/dossiers_legislatifs.mjs +1 -1
  120. package/lib/types/legislatures.d.ts +4 -4
  121. package/lib/types/legislatures.js +5 -5
  122. package/lib/types/legislatures.mjs +5 -5
  123. package/lib/types/questions.js +9 -9
  124. package/lib/types/questions.mjs +1 -1
  125. package/lib/types/scrutins.d.ts +13 -4
  126. package/lib/types/scrutins.js +29 -15
  127. package/lib/types/scrutins.mjs +20 -6
  128. package/lib/urls.js +2 -2
  129. package/lib/urls.mjs +1 -1
  130. package/package.json +9 -7
package/lib/bugs.js CHANGED
@@ -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.async-iterator.js");
4
6
  require("core-js/modules/es.symbol.iterator.js");
5
7
  require("core-js/modules/es.symbol.to-string-tag.js");
@@ -28,8 +30,6 @@ Object.defineProperty(exports, "__esModule", {
28
30
  value: true
29
31
  });
30
32
  exports.SchemaBugs = exports.BasePlugin = void 0;
31
- require("core-js/modules/es.symbol.js");
32
- require("core-js/modules/es.symbol.description.js");
33
33
  require("core-js/modules/es.symbol.to-primitive.js");
34
34
  require("core-js/modules/es.array.concat.js");
35
35
  require("core-js/modules/es.array.filter.js");
@@ -42,19 +42,19 @@ require("core-js/modules/es.string.includes.js");
42
42
  var git = _interopRequireWildcard(require("./git"));
43
43
  var _file_systems = require("./file_systems");
44
44
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
45
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
45
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
46
46
  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); }
47
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
48
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
50
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
51
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
52
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
53
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
54
- 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); } }
55
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
56
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
57
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
47
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
48
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
49
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
50
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
51
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
52
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
53
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
54
+ 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); } }
55
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
56
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
57
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
58
58
  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); }
59
59
  var BasePlugin = exports.BasePlugin = /*#__PURE__*/function () {
60
60
  function BasePlugin(options, name) {
@@ -64,7 +64,7 @@ var BasePlugin = exports.BasePlugin = /*#__PURE__*/function () {
64
64
  this.options = options;
65
65
  this.name = name;
66
66
  }
67
- _createClass(BasePlugin, [{
67
+ return _createClass(BasePlugin, [{
68
68
  key: "preFix",
69
69
  value: function () {
70
70
  var _preFix = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -154,7 +154,6 @@ var BasePlugin = exports.BasePlugin = /*#__PURE__*/function () {
154
154
  return postCheck;
155
155
  }()
156
156
  }]);
157
- return BasePlugin;
158
157
  }();
159
158
  var SchemaBugs = exports.SchemaBugs = /*#__PURE__*/function () {
160
159
  function SchemaBugs(options) {
@@ -164,7 +163,7 @@ var SchemaBugs = exports.SchemaBugs = /*#__PURE__*/function () {
164
163
  this.options = options;
165
164
  this.get(this.options.schema);
166
165
  }
167
- _createClass(SchemaBugs, [{
166
+ return _createClass(SchemaBugs, [{
168
167
  key: "get",
169
168
  value: function get(schema) {
170
169
  var _this = this;
@@ -449,6 +448,5 @@ var SchemaBugs = exports.SchemaBugs = /*#__PURE__*/function () {
449
448
  return postCheck;
450
449
  }()
451
450
  }]);
452
- return SchemaBugs;
453
451
  }();
454
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZmlsZV9zeXN0ZW1zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJGIiwicyIsImRvbmUiLCJ2YWx1ZSIsIl9lIiwiZiIsIlR5cGVFcnJvciIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwibmV4dCIsIl9lMiIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImFyciIsImxlbiIsImFycjIiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJyZXN1bHROYW1lIiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsInVuZGVmaW5lZCIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiQ29uc3RydWN0b3IiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsIl90b1Byb3BlcnR5S2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2RlZmluZVByb3BlcnR5Iiwib2JqIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJOdW1iZXIiLCJCYXNlUGx1Z2luIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfcHJlRml4IiwiX2NhbGxlZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmVGaXgiLCJfZml4IiwiX2NhbGxlZTIiLCJfY29udGVudCIsIl9maWxlbmFtZSIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImZpeCIsIl94IiwiX3gyIiwiX3ByZUNoZWNrIiwiX2NhbGxlZTMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJwcmVDaGVjayIsIl9jaGVjayIsIl9jYWxsZWU0IiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiY2hlY2siLCJfeDMiLCJfeDQiLCJfcG9zdENoZWNrIiwiX2NhbGxlZTUiLCJfYW5hbHlzaXMiLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJwb3N0Q2hlY2siLCJfeDUiLCJTY2hlbWFCdWdzIiwic2NoZW1hIiwiX3RoaXMiLCJwbHVnaW5zIiwiYnVnc0RpciIsImZpbGVzIiwiZ2V0RmlsZXMiLCJjb25jYXQiLCJmaWx0ZXIiLCJidWciLCJpbmNsdWRlcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZmlsZSIsIm1vZHVsZSIsIl9wcmVGaXgyIiwiX2NhbGxlZTYiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwicGx1Z2luIiwiX2NhbGxlZTYkIiwiX2NvbnRleHQ2IiwidDAiLCJfZml4MiIsIl9jYWxsZWU3IiwiZmlsZW5hbWVzIiwicmVzdWx0cyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiZmlsZW5hbWUiLCJjb250ZW50IiwicmVzdWx0IiwiX2NhbGxlZTckIiwiX2NvbnRleHQ3IiwibG9hZCIsIndyaXRlIiwiZGVidWciLCJjb25zb2xlIiwibG9nIiwiY29tbWl0IiwidDEiLCJfeDYiLCJfcHJlQ2hlY2syIiwiX2NhbGxlZTgiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4IiwiX2NoZWNrMiIsIl9jYWxsZWU5IiwiX2l0ZXJhdG9yNiIsIl9zdGVwNiIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsIl94NyIsIl94OCIsIl9wb3N0Q2hlY2syIiwiX2NhbGxlZTEwIiwiYW5hbHlzaXMiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX2NhbGxlZTEwJCIsIl9jb250ZXh0MTAiLCJfeDkiXSwic291cmNlcyI6WyIuLi9zcmMvYnVncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4vZ2l0XCJcbmltcG9ydCB7IGxvYWQsIHdyaXRlLCBnZXRGaWxlcyB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5cbmV4cG9ydCBjbGFzcyBCYXNlUGx1Z2luIHtcbiAgb3B0aW9uczogYW55XG4gIG5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBmaXgoX2NvbnRlbnQ6IGFueSwgX2ZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBjaGVjayhfY29udGVudDogYW55LCBfZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhfYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hQnVncyB7XG4gIG9wdGlvbnM6IGFueVxuICBwbHVnaW5zOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5nZXQodGhpcy5vcHRpb25zLnNjaGVtYSlcbiAgfVxuXG4gIGdldChzY2hlbWE6IGFueSk6IGFueSB7XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgICBjb25zdCBidWdzRGlyID0gdGhpcy5vcHRpb25zW1wiYnVncy1kaXJcIl0gfHwgXCIuXCJcbiAgICBjb25zdCBmaWxlcyA9IGdldEZpbGVzKFtgJHtidWdzRGlyfS9zcmMvYnVncy8ke3NjaGVtYX0tKi50c2BdKS5maWx0ZXIoXG4gICAgICAoZjogYW55KSA9PiB0aGlzLm9wdGlvbnMuYnVnID09IHVuZGVmaW5lZCB8fCBmLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5idWcpLFxuICAgIClcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IHJlcXVpcmUoYC4uLyR7ZmlsZX1gKVxuICAgICAgdGhpcy5wbHVnaW5zLnB1c2gobmV3IG1vZHVsZVtcIlBsdWdpblwiXSh0aGlzLm9wdGlvbnMpKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnByZUZpeCgpXG4gIH1cblxuICBhc3luYyBmaXgoZmlsZW5hbWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCByZXN1bHRzOiBhbnkgPSB7fVxuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuICAgICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmaWxlbmFtZXMpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGxvYWQoZmlsZW5hbWUpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBsdWdpbi5maXgoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIHJlc3VsdHNbcGx1Z2luLm5hbWVdID0gcmVzdWx0XG4gICAgICAgIGlmIChyZXN1bHQgPT0gdHJ1ZSkgd3JpdGUoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGVidWcpXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7cGx1Z2luLm5hbWV9ICR7ZmlsZW5hbWV9ICR7cmVzdWx0ID8gXCJGSVhFRFwiIDogXCJPS1wifWApXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbW1pdCkge1xuICAgICAgICBnaXQuY29tbWl0KHRoaXMub3B0aW9ucy5jb21taXQsIGBGaXggJHtwbHVnaW4ubmFtZX1gKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBwbHVnaW4gb2YgdGhpcy5wbHVnaW5zKSBhd2FpdCBwbHVnaW4ucHJlQ2hlY2soKVxuICB9XG5cbiAgYXN5bmMgY2hlY2soY29udGVudDogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgcmVzdWx0czogYW55ID0ge31cbiAgICBmb3IgKGNvbnN0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpXG4gICAgICByZXN1bHRzW3BsdWdpbi5uYW1lXSA9IGF3YWl0IHBsdWdpbi5jaGVjayhjb250ZW50LCBmaWxlbmFtZSlcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnBvc3RDaGVjayhhbmFseXNpcylcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUFzRCxTQUFBRSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMs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
452
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZmlsZV9zeXN0ZW1zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJjIiwiYXN5bmNJdGVyYXRvciIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiaCIsImwiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInJlc3VsdE5hbWUiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX2RlZmluZVByb3BlcnR5IiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJCYXNlUGx1Z2luIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfcHJlRml4IiwiX2NhbGxlZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmVGaXgiLCJfZml4IiwiX2NhbGxlZTIiLCJfY29udGVudCIsIl9maWxlbmFtZSIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImZpeCIsIl94IiwiX3gyIiwiX3ByZUNoZWNrIiwiX2NhbGxlZTMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJwcmVDaGVjayIsIl9jaGVjayIsIl9jYWxsZWU0IiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiY2hlY2siLCJfeDMiLCJfeDQiLCJfcG9zdENoZWNrIiwiX2NhbGxlZTUiLCJfYW5hbHlzaXMiLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJwb3N0Q2hlY2siLCJfeDUiLCJTY2hlbWFCdWdzIiwic2NoZW1hIiwiX3RoaXMiLCJwbHVnaW5zIiwiYnVnc0RpciIsImZpbGVzIiwiZ2V0RmlsZXMiLCJjb25jYXQiLCJmaWx0ZXIiLCJidWciLCJ1bmRlZmluZWQiLCJpbmNsdWRlcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZmlsZSIsIm1vZHVsZSIsImVyciIsIl9wcmVGaXgyIiwiX2NhbGxlZTYiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwicGx1Z2luIiwiX2NhbGxlZTYkIiwiX2NvbnRleHQ2IiwidDAiLCJfZml4MiIsIl9jYWxsZWU3IiwiZmlsZW5hbWVzIiwicmVzdWx0cyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiZmlsZW5hbWUiLCJjb250ZW50IiwicmVzdWx0IiwiX2NhbGxlZTckIiwiX2NvbnRleHQ3IiwibG9hZCIsIndyaXRlIiwiZGVidWciLCJjb25zb2xlIiwibG9nIiwiY29tbWl0IiwidDEiLCJfeDYiLCJfcHJlQ2hlY2syIiwiX2NhbGxlZTgiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4IiwiX2NoZWNrMiIsIl9jYWxsZWU5IiwiX2l0ZXJhdG9yNiIsIl9zdGVwNiIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsIl94NyIsIl94OCIsIl9wb3N0Q2hlY2syIiwiX2NhbGxlZTEwIiwiYW5hbHlzaXMiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX2NhbGxlZTEwJCIsIl9jb250ZXh0MTAiLCJfeDkiXSwic291cmNlcyI6WyIuLi9zcmMvYnVncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4vZ2l0XCJcbmltcG9ydCB7IGxvYWQsIHdyaXRlLCBnZXRGaWxlcyB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5cbmV4cG9ydCBjbGFzcyBCYXNlUGx1Z2luIHtcbiAgb3B0aW9uczogYW55XG4gIG5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBmaXgoX2NvbnRlbnQ6IGFueSwgX2ZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBjaGVjayhfY29udGVudDogYW55LCBfZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhfYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hQnVncyB7XG4gIG9wdGlvbnM6IGFueVxuICBwbHVnaW5zOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5nZXQodGhpcy5vcHRpb25zLnNjaGVtYSlcbiAgfVxuXG4gIGdldChzY2hlbWE6IGFueSk6IGFueSB7XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgICBjb25zdCBidWdzRGlyID0gdGhpcy5vcHRpb25zW1wiYnVncy1kaXJcIl0gfHwgXCIuXCJcbiAgICBjb25zdCBmaWxlcyA9IGdldEZpbGVzKFtgJHtidWdzRGlyfS9zcmMvYnVncy8ke3NjaGVtYX0tKi50c2BdKS5maWx0ZXIoXG4gICAgICAoZjogYW55KSA9PiB0aGlzLm9wdGlvbnMuYnVnID09IHVuZGVmaW5lZCB8fCBmLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5idWcpLFxuICAgIClcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IHJlcXVpcmUoYC4uLyR7ZmlsZX1gKVxuICAgICAgdGhpcy5wbHVnaW5zLnB1c2gobmV3IG1vZHVsZVtcIlBsdWdpblwiXSh0aGlzLm9wdGlvbnMpKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnByZUZpeCgpXG4gIH1cblxuICBhc3luYyBmaXgoZmlsZW5hbWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCByZXN1bHRzOiBhbnkgPSB7fVxuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuICAgICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmaWxlbmFtZXMpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGxvYWQoZmlsZW5hbWUpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBsdWdpbi5maXgoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIHJlc3VsdHNbcGx1Z2luLm5hbWVdID0gcmVzdWx0XG4gICAgICAgIGlmIChyZXN1bHQgPT0gdHJ1ZSkgd3JpdGUoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGVidWcpXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7cGx1Z2luLm5hbWV9ICR7ZmlsZW5hbWV9ICR7cmVzdWx0ID8gXCJGSVhFRFwiIDogXCJPS1wifWApXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbW1pdCkge1xuICAgICAgICBnaXQuY29tbWl0KHRoaXMub3B0aW9ucy5jb21taXQsIGBGaXggJHtwbHVnaW4ubmFtZX1gKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBwbHVnaW4gb2YgdGhpcy5wbHVnaW5zKSBhd2FpdCBwbHVnaW4ucHJlQ2hlY2soKVxuICB9XG5cbiAgYXN5bmMgY2hlY2soY29udGVudDogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgcmVzdWx0czogYW55ID0ge31cbiAgICBmb3IgKGNvbnN0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpXG4gICAgICByZXN1bHRzW3BsdWdpbi5uYW1lXSA9IGF3YWl0IHBsdWdpbi5jaGVjayhjb250ZW50LCBmaWxlbmFtZSlcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnBvc3RDaGVjayhhbmFseXNpcylcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUFzRCxTQUFBRSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFB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
package/lib/bugs.mjs CHANGED
@@ -1,5 +1,5 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  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); }
4
4
  import * as git from "./git.mjs";
5
5
  import { load, write, getFiles } from "./file_systems.mjs";
@@ -67,4 +67,4 @@ export class SchemaBugs {
67
67
  for (const plugin of this.plugins) await plugin.postCheck(analysis);
68
68
  }
69
69
  }
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnaXQiLCJsb2FkIiwid3JpdGUiLCJnZXRGaWxlcyIsIkJhc2VQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJuYW1lIiwiX2RlZmluZVByb3BlcnR5IiwicHJlRml4IiwiZml4IiwiX2NvbnRlbnQiLCJfZmlsZW5hbWUiLCJwcmVDaGVjayIsImNoZWNrIiwicG9zdENoZWNrIiwiX2FuYWx5c2lzIiwiU2NoZW1hQnVncyIsImdldCIsInNjaGVtYSIsInBsdWdpbnMiLCJidWdzRGlyIiwiZmlsZXMiLCJmaWx0ZXIiLCJmIiwiYnVnIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJmaWxlIiwibW9kdWxlIiwicmVxdWlyZSIsInB1c2giLCJwbHVnaW4iLCJmaWxlbmFtZXMiLCJyZXN1bHRzIiwiZmlsZW5hbWUiLCJjb250ZW50IiwicmVzdWx0IiwiZGVidWciLCJjb25zb2xlIiwibG9nIiwiY29tbWl0IiwiYW5hbHlzaXMiXSwic291cmNlcyI6WyIuLi9zcmMvYnVncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4vZ2l0XCJcbmltcG9ydCB7IGxvYWQsIHdyaXRlLCBnZXRGaWxlcyB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5cbmV4cG9ydCBjbGFzcyBCYXNlUGx1Z2luIHtcbiAgb3B0aW9uczogYW55XG4gIG5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBmaXgoX2NvbnRlbnQ6IGFueSwgX2ZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBjaGVjayhfY29udGVudDogYW55LCBfZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhfYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hQnVncyB7XG4gIG9wdGlvbnM6IGFueVxuICBwbHVnaW5zOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5nZXQodGhpcy5vcHRpb25zLnNjaGVtYSlcbiAgfVxuXG4gIGdldChzY2hlbWE6IGFueSk6IGFueSB7XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgICBjb25zdCBidWdzRGlyID0gdGhpcy5vcHRpb25zW1wiYnVncy1kaXJcIl0gfHwgXCIuXCJcbiAgICBjb25zdCBmaWxlcyA9IGdldEZpbGVzKFtgJHtidWdzRGlyfS9zcmMvYnVncy8ke3NjaGVtYX0tKi50c2BdKS5maWx0ZXIoXG4gICAgICAoZjogYW55KSA9PiB0aGlzLm9wdGlvbnMuYnVnID09IHVuZGVmaW5lZCB8fCBmLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5idWcpLFxuICAgIClcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IHJlcXVpcmUoYC4uLyR7ZmlsZX1gKVxuICAgICAgdGhpcy5wbHVnaW5zLnB1c2gobmV3IG1vZHVsZVtcIlBsdWdpblwiXSh0aGlzLm9wdGlvbnMpKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnByZUZpeCgpXG4gIH1cblxuICBhc3luYyBmaXgoZmlsZW5hbWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCByZXN1bHRzOiBhbnkgPSB7fVxuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuICAgICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmaWxlbmFtZXMpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGxvYWQoZmlsZW5hbWUpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBsdWdpbi5maXgoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIHJlc3VsdHNbcGx1Z2luLm5hbWVdID0gcmVzdWx0XG4gICAgICAgIGlmIChyZXN1bHQgPT0gdHJ1ZSkgd3JpdGUoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGVidWcpXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7cGx1Z2luLm5hbWV9ICR7ZmlsZW5hbWV9ICR7cmVzdWx0ID8gXCJGSVhFRFwiIDogXCJPS1wifWApXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbW1pdCkge1xuICAgICAgICBnaXQuY29tbWl0KHRoaXMub3B0aW9ucy5jb21taXQsIGBGaXggJHtwbHVnaW4ubmFtZX1gKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBwbHVnaW4gb2YgdGhpcy5wbHVnaW5zKSBhd2FpdCBwbHVnaW4ucHJlQ2hlY2soKVxuICB9XG5cbiAgYXN5bmMgY2hlY2soY29udGVudDogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgcmVzdWx0czogYW55ID0ge31cbiAgICBmb3IgKGNvbnN0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpXG4gICAgICByZXN1bHRzW3BsdWdpbi5uYW1lXSA9IGF3YWl0IHBsdWdpbi5jaGVjayhjb250ZW50LCBmaWxlbmFtZSlcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnBvc3RDaGVjayhhbmFseXNpcylcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7T0FBTyxLQUFLQSxHQUFHO0FBQUEsU0FDTkMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLFFBQVE7QUFFOUIsT0FBTyxNQUFNQyxVQUFVLENBQUM7RUFJdEJDLFdBQVdBLENBQUNDLE9BQVksRUFBRUMsSUFBWSxFQUFFO0lBQUFDLGVBQUE7SUFBQUEsZUFBQTtJQUN0QyxJQUFJLENBQUNGLE9BQU8sR0FBR0EsT0FBTztJQUN0QixJQUFJLENBQUNDLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1FLE1BQU1BLENBQUEsRUFBaUIsQ0FBQztFQUU5QixNQUFNQyxHQUFHQSxDQUFDQyxRQUFhLEVBQUVDLFNBQWMsRUFBZ0I7SUFDckQsT0FBTyxJQUFJO0VBQ2I7RUFFQSxNQUFNQyxRQUFRQSxDQUFBLEVBQWlCLENBQUM7RUFFaEMsTUFBTUMsS0FBS0EsQ0FBQ0gsUUFBYSxFQUFFQyxTQUFjLEVBQWdCO0lBQ3ZELE9BQU8sSUFBSTtFQUNiO0VBRUEsTUFBTUcsU0FBU0EsQ0FBQ0MsU0FBYyxFQUFnQixDQUFDO0FBQ2pEO0FBRUEsT0FBTyxNQUFNQyxVQUFVLENBQUM7RUFJdEJaLFdBQVdBLENBQUNDLE9BQVksRUFBRTtJQUFBRSxlQUFBO0lBQUFBLGVBQUE7SUFDeEIsSUFBSSxDQUFDRixPQUFPLEdBQUdBLE9BQU87SUFDdEIsSUFBSSxDQUFDWSxHQUFHLENBQUMsSUFBSSxDQUFDWixPQUFPLENBQUNhLE1BQU0sQ0FBQztFQUMvQjtFQUVBRCxHQUFHQSxDQUFDQyxNQUFXLEVBQU87SUFDcEIsSUFBSSxDQUFDQyxPQUFPLEdBQUcsRUFBRTtJQUNqQixNQUFNQyxPQUFPLEdBQUcsSUFBSSxDQUFDZixPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRztJQUMvQyxNQUFNZ0IsS0FB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
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnaXQiLCJsb2FkIiwid3JpdGUiLCJnZXRGaWxlcyIsIkJhc2VQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJuYW1lIiwiX2RlZmluZVByb3BlcnR5IiwicHJlRml4IiwiZml4IiwiX2NvbnRlbnQiLCJfZmlsZW5hbWUiLCJwcmVDaGVjayIsImNoZWNrIiwicG9zdENoZWNrIiwiX2FuYWx5c2lzIiwiU2NoZW1hQnVncyIsImdldCIsInNjaGVtYSIsInBsdWdpbnMiLCJidWdzRGlyIiwiZmlsZXMiLCJmaWx0ZXIiLCJmIiwiYnVnIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJmaWxlIiwibW9kdWxlIiwicmVxdWlyZSIsInB1c2giLCJwbHVnaW4iLCJmaWxlbmFtZXMiLCJyZXN1bHRzIiwiZmlsZW5hbWUiLCJjb250ZW50IiwicmVzdWx0IiwiZGVidWciLCJjb25zb2xlIiwibG9nIiwiY29tbWl0IiwiYW5hbHlzaXMiXSwic291cmNlcyI6WyIuLi9zcmMvYnVncy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4vZ2l0XCJcbmltcG9ydCB7IGxvYWQsIHdyaXRlLCBnZXRGaWxlcyB9IGZyb20gXCIuL2ZpbGVfc3lzdGVtc1wiXG5cbmV4cG9ydCBjbGFzcyBCYXNlUGx1Z2luIHtcbiAgb3B0aW9uczogYW55XG4gIG5hbWU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9uc1xuICAgIHRoaXMubmFtZSA9IG5hbWVcbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBmaXgoX2NvbnRlbnQ6IGFueSwgX2ZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPGFueT4ge31cblxuICBhc3luYyBjaGVjayhfY29udGVudDogYW55LCBfZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhfYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7fVxufVxuXG5leHBvcnQgY2xhc3MgU2NoZW1hQnVncyB7XG4gIG9wdGlvbnM6IGFueVxuICBwbHVnaW5zOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5nZXQodGhpcy5vcHRpb25zLnNjaGVtYSlcbiAgfVxuXG4gIGdldChzY2hlbWE6IGFueSk6IGFueSB7XG4gICAgdGhpcy5wbHVnaW5zID0gW11cbiAgICBjb25zdCBidWdzRGlyID0gdGhpcy5vcHRpb25zW1wiYnVncy1kaXJcIl0gfHwgXCIuXCJcbiAgICBjb25zdCBmaWxlcyA9IGdldEZpbGVzKFtgJHtidWdzRGlyfS9zcmMvYnVncy8ke3NjaGVtYX0tKi50c2BdKS5maWx0ZXIoXG4gICAgICAoZjogYW55KSA9PiB0aGlzLm9wdGlvbnMuYnVnID09IHVuZGVmaW5lZCB8fCBmLmluY2x1ZGVzKHRoaXMub3B0aW9ucy5idWcpLFxuICAgIClcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IHJlcXVpcmUoYC4uLyR7ZmlsZX1gKVxuICAgICAgdGhpcy5wbHVnaW5zLnB1c2gobmV3IG1vZHVsZVtcIlBsdWdpblwiXSh0aGlzLm9wdGlvbnMpKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHByZUZpeCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnByZUZpeCgpXG4gIH1cblxuICBhc3luYyBmaXgoZmlsZW5hbWVzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCByZXN1bHRzOiBhbnkgPSB7fVxuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuICAgICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmaWxlbmFtZXMpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGxvYWQoZmlsZW5hbWUpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBsdWdpbi5maXgoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIHJlc3VsdHNbcGx1Z2luLm5hbWVdID0gcmVzdWx0XG4gICAgICAgIGlmIChyZXN1bHQgPT0gdHJ1ZSkgd3JpdGUoY29udGVudCwgZmlsZW5hbWUpXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGVidWcpXG4gICAgICAgICAgY29uc29sZS5sb2coYCR7cGx1Z2luLm5hbWV9ICR7ZmlsZW5hbWV9ICR7cmVzdWx0ID8gXCJGSVhFRFwiIDogXCJPS1wifWApXG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbW1pdCkge1xuICAgICAgICBnaXQuY29tbWl0KHRoaXMub3B0aW9ucy5jb21taXQsIGBGaXggJHtwbHVnaW4ubmFtZX1gKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBwbHVnaW4gb2YgdGhpcy5wbHVnaW5zKSBhd2FpdCBwbHVnaW4ucHJlQ2hlY2soKVxuICB9XG5cbiAgYXN5bmMgY2hlY2soY29udGVudDogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgcmVzdWx0czogYW55ID0ge31cbiAgICBmb3IgKGNvbnN0IHBsdWdpbiBvZiB0aGlzLnBsdWdpbnMpXG4gICAgICByZXN1bHRzW3BsdWdpbi5uYW1lXSA9IGF3YWl0IHBsdWdpbi5jaGVjayhjb250ZW50LCBmaWxlbmFtZSlcbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykgYXdhaXQgcGx1Z2luLnBvc3RDaGVjayhhbmFseXNpcylcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7T0FBTyxLQUFLQSxHQUFHO0FBQUEsU0FDTkMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLFFBQVE7QUFFOUIsT0FBTyxNQUFNQyxVQUFVLENBQUM7RUFJdEJDLFdBQVdBLENBQUNDLE9BQVksRUFBRUMsSUFBWSxFQUFFO0lBQUFDLGVBQUE7SUFBQUEsZUFBQTtJQUN0QyxJQUFJLENBQUNGLE9BQU8sR0FBR0EsT0FBTztJQUN0QixJQUFJLENBQUNDLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1FLE1BQU1BLENBQUEsRUFBaUIsQ0FBQztFQUU5QixNQUFNQyxHQUFHQSxDQUFDQyxRQUFhLEVBQUVDLFNBQWMsRUFBZ0I7SUFDckQsT0FBTyxJQUFJO0VBQ2I7RUFFQSxNQUFNQyxRQUFRQSxDQUFBLEVBQWlCLENBQUM7RUFFaEMsTUFBTUMsS0FBS0EsQ0FBQ0gsUUFBYSxFQUFFQyxTQUFjLEVBQWdCO0lBQ3ZELE9BQU8sSUFBSTtFQUNiO0VBRUEsTUFBTUcsU0FBU0EsQ0FBQ0MsU0FBYyxFQUFnQixDQUFDO0FBQ2pEO0FBRUEsT0FBTyxNQUFNQyxVQUFVLENBQUM7RUFJdEJaLFdBQVdBLENBQUNDLE9BQVksRUFBRTtJQUFBRSxlQUFBO0lBQUFBLGVBQUE7SUFDeEIsSUFBSSxDQUFDRixPQUFPLEdBQUdBLE9BQU87SUFDdEIsSUFBSSxDQUFDWSxHQUFHLENBQUMsSUFBSSxDQUFDWixPQUFPLENBQUNhLE1BQU0sQ0FBQztFQUMvQjtFQUVBRCxHQUFHQSxDQUFDQyxNQUFXLEVBQU87SUFDcEIsSUFBSSxDQUFDQyxPQUFPLEdBQUcsRUFBRTtJQUNqQixNQUFNQyxPQUFPLEdBQUcsSUFBSSxDQUFDZixPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRztJQUMvQyxNQUFNZ0IsS0FB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
@@ -23,10 +23,10 @@ require("core-js/modules/es.array.is-array.js");
23
23
  var _assert = _interopRequireDefault(require("assert"));
24
24
  var _acteurs = require("./acteurs");
25
25
  var _xml = require("./xml");
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
28
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
27
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
28
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
29
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
30
30
  function cleanActeLegislatif(acteLegislatif) {
31
31
  (0, _xml.cleanXmlArtefacts)(acteLegislatif);
32
32
  var xsiType = acteLegislatif["@xsi:type"];
@@ -312,4 +312,4 @@ function cleanTypeDeclaration(typeDeclaration) {
312
312
  typeDeclaration.libelle = typeDeclaration.famCode;
313
313
  }
314
314
  }
315
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYWN0ZXVycyIsIl94bWwiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJUeXBlRXJyb3IiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJhcnIiLCJsZW4iLCJhcnIyIiwiY2xlYW5BY3RlTGVnaXNsYXRpZiIsImFjdGVMZWdpc2xhdGlmIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJ4c2lUeXBlIiwidW5kZWZpbmVkIiwiYXV0ZXVyc1JlZnMiLCJhdXRldXJzIiwiYWN0ZXVyUmVmIiwiYXNzZXJ0IiwiY2FzU2Fpc2luZSIsImNsZWFuVHlwZURlY2xhcmF0aW9uIiwiY29udHJpYnV0aW9uSW50ZXJuYXV0ZSIsInN0cmljdEVxdWFsIiwiZGF0ZVJldHJhaXQiLCJkZWNpc2lvbiIsImluZm9KbyIsImluZm9KTyIsImNsZWFuSW5mb0pvIiwiaW5mb0pvY2UiLCJpbmZvSk9DRSIsInJlZkpvY2UiLCJyZWZKT0NFIiwiZGF0ZUpvY2UiLCJkYXRlSk9DRSIsImluZm9Kb1JlY3QiLCJpbmZvSk9SZWN0IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJpbmZvSm9SZWN0SXRlbSIsImNsZWFuQWN0ZU91RG9zc2llckluaXRpYXRldXIiLCJpbml0aWF0ZXVyIiwiaW5pdGlhdGV1cnMiLCJub3RTdHJpY3RFcXVhbCIsIm9yZ2FuZVJlZiIsImFjdGV1cnMiLCJvZFNlYW5jZWpSZWYiLCJwcm92ZW5hbmNlUmVmIiwicHJvdmVuYW5jZSIsInJhcHBvcnRldXJzIiwicmFwcG9ydGV1ciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJjbGVhblJhcHBvcnRldXIiLCJyZWZlcmVuY2VOb3IiLCJyZWZlcmVuY2VOT1IiLCJyZXVuaW9uIiwic3RhdHV0QWRvcHRpb24iLCJzdGF0dXRDb25jbHVzaW9uIiwiZmFtQ29kZSIsInRleHRlQWRvcHRlUmVmIiwidGV4dGVBZG9wdGUiLCJ0ZXh0ZUFzc29jaWVSZWYiLCJ0ZXh0ZUFzc29jaWUiLCJ0ZXh0ZXNBc3NvY2llcyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJyZWZUZXh0ZUFzc29jaWUiLCJ0eXBlRGVjbGFyYXRpb24iLCJ0eXBlTW90aW9uIiwidHlwZU1vdGlvbkNlbnN1cmUiLCJ2b3RlUmVmcyIsInZvdGVSZWYiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImFjdGVPdURvc3NpZXIiLCJhY3RldXIiLCJvcmdhbmVzIiwib3JnYW5lIiwidWlkIiwidHlwZUpvIiwidHlwZUpPIiwiZGF0ZUpvIiwiZGF0ZUpPIiwicGFnZUpPIiwibnVtSm8iLCJudW1KTyIsImZhbV9jb2RlIiwibGliZWxsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hY3Rlc19sZWdpc2xhdGlmcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhblJhcHBvcnRldXIgfSBmcm9tIFwiLi9hY3RldXJzXCJcbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQWN0ZUxlZ2lzbGF0aWYoYWN0ZUxlZ2lzbGF0aWY6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhhY3RlTGVnaXNsYXRpZilcblxuICBjb25zdCB4c2lUeXBlID0gYWN0ZUxlZ2lzbGF0aWZbXCJAeHNpOnR5cGVcIl1cbiAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGFjdGVMZWdpc2xhdGlmLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICAvL1xuXG4gIGxldCBhdXRldXJzUmVmcyA9IGFjdGVMZWdpc2xhdGlmLmF1dGV1cnNcbiAgaWYgKGF1dGV1cnNSZWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBhdXRldXJzUmVmcyA9IGF1dGV1cnNSZWZzLmFjdGV1clJlZlxuICAgIGlmICghQXJyYXkuaXNBcnJheShhdXRldXJzUmVmcykpIHtcbiAgICAgIGFzc2VydChhdXRldXJzUmVmcylcbiAgICAgIGF1dGV1cnNSZWZzID0gW2F1dGV1cnNSZWZzXVxuICAgIH1cbiAgICBhY3RlTGVnaXNsYXRpZi5hdXRldXJzUmVmcyA9IGF1dGV1cnNSZWZzXG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLmF1dGV1cnNcbiAgfVxuXG4gIGNvbnN0IGNhc1NhaXNpbmUgPSBhY3RlTGVnaXNsYXRpZi5jYXNTYWlzaW5lXG4gIGlmIChjYXNTYWlzaW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblR5cGVEZWNsYXJhdGlvbihjYXNTYWlzaW5lKVxuICB9XG5cbiAgY29uc3QgY29udHJpYnV0aW9uSW50ZXJuYXV0ZSA9IGFjdGVMZWdpc2xhdGlmLmNvbnRyaWJ1dGlvbkludGVybmF1dGVcbiAgaWYgKGNvbnRyaWJ1dGlvbkludGVybmF1dGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNvbnRyaWJ1dGlvbkludGVybmF1dGUpXG4gIH1cblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZUxlZ2lzbGF0aWYuZGF0ZVJldHJhaXQsIHVuZGVmaW5lZClcblxuICBjb25zdCBkZWNpc2lvbiA9IGFjdGVMZWdpc2xhdGlmLmRlY2lzaW9uXG4gIGlmIChkZWNpc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5UeXBlRGVjbGFyYXRpb24oZGVjaXNpb24pXG4gIH1cblxuICBjb25zdCBpbmZvSm8gPSBhY3RlTGVnaXNsYXRpZi5pbmZvSk9cbiAgaWYgKGluZm9KbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5JbmZvSm8oaW5mb0pvKVxuICAgIGFjdGVMZWdpc2xhdGlmLmluZm9KbyA9IGluZm9Kb1xuICAgIGRlbGV0ZSBhY3RlTGVnaXNsYXRpZi5pbmZvSk9cbiAgfVxuXG4gIGNvbnN0IGluZm9Kb2NlID0gYWN0ZUxlZ2lzbGF0aWYuaW5mb0pPQ0VcbiAgaWYgKGluZm9Kb2NlICE9PSB1bmRlZmluZWQpIHtcbiAgICBhY3RlTGVnaXNsYXRpZi5pbmZvSm9jZSA9IGluZm9Kb2NlXG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLmluZm9KT0NFXG5cbiAgICBjb25zdCByZWZKb2NlID0gaW5mb0pvY2UucmVmSk9DRVxuICAgIGlmIChyZWZKb2NlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGluZm9Kb2NlLnJlZkpvY2UgPSByZWZKb2NlXG4gICAgICBkZWxldGUgaW5mb0pvY2UucmVmSk9DRVxuICAgIH1cblxuICAgIGNvbnN0IGRhdGVKb2NlID0gaW5mb0pvY2UuZGF0ZUpPQ0VcbiAgICBpZiAoZGF0ZUpvY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5mb0pvY2UuZGF0ZUpvY2UgPSBkYXRlSm9jZVxuICAgICAgZGVsZXRlIGluZm9Kb2NlLmRhdGVKT0NFXG4gICAgfVxuICB9XG5cbiAgbGV0IGluZm9Kb1JlY3QgPSBhY3RlTGVnaXNsYXRpZi5pbmZvSk9SZWN0XG4gIGlmIChpbmZvSm9SZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW5mb0pvUmVjdCkpIHtcbiAgICAgIGluZm9Kb1JlY3QgPSBbaW5mb0pvUmVjdF1cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYuaW5mb0pvUmVjdCA9IGluZm9Kb1JlY3RcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYuaW5mb0pPUmVjdFxuXG4gICAgZm9yIChjb25zdCBpbmZvSm9SZWN0SXRlbSBvZiBpbmZvSm9SZWN0KSB7XG4gICAgICBjbGVhbkluZm9KbyhpbmZvSm9SZWN0SXRlbSlcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFjdGVMZWdpc2xhdGlmLmluaXRpYXRldXIgYW5kIGFjdGVMZWdpc2xhdGlmLmluaXRpYXRldXJzIHRvIGFuIEluaXRpYXRldXIuXG4gIGNsZWFuQWN0ZU91RG9zc2llckluaXRpYXRldXIoYWN0ZUxlZ2lzbGF0aWYpXG4gIGxldCBpbml0aWF0ZXVyID0gYWN0ZUxlZ2lzbGF0aWYuaW5pdGlhdGV1cnNcbiAgaWYgKGluaXRpYXRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChhY3RlTGVnaXNsYXRpZi5pbml0aWF0ZXVyLCB1bmRlZmluZWQpXG4gICAgaWYgKGluaXRpYXRldXIuYWN0ZXVyUmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChpbml0aWF0ZXVyLm9yZ2FuZVJlZiwgdW5kZWZpbmVkKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoaW5pdGlhdGV1cikpIHtcbiAgICAgICAgYXNzZXJ0KGluaXRpYXRldXIpXG4gICAgICAgIGluaXRpYXRldXIgPSBbaW5pdGlhdGV1cl1cbiAgICAgIH1cbiAgICAgIGluaXRpYXRldXIgPSB7XG4gICAgICAgIGFjdGV1cnM6IGluaXRpYXRldXIsXG4gICAgICB9XG4gICAgfVxuICAgIGFjdGVMZWdpc2xhdGlmLmluaXRpYXRldXIgPSBpbml0aWF0ZXVyXG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLmluaXRpYXRldXJzXG4gIH1cblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZUxlZ2lzbGF0aWYub2RTZWFuY2VqUmVmLCB1bmRlZmluZWQpXG5cbiAgY29uc3QgcHJvdmVuYW5jZVJlZiA9IGFjdGVMZWdpc2xhdGlmLnByb3ZlbmFuY2VcbiAgaWYgKHByb3ZlbmFuY2VSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIGRlbGV0ZSBhY3RlTGVnaXNsYXRpZi5wcm92ZW5hbmNlXG4gICAgYWN0ZUxlZ2lzbGF0aWYucHJvdmVuYW5jZVJlZiA9IHByb3ZlbmFuY2VSZWZcbiAgfVxuXG4gIGxldCByYXBwb3J0ZXVycyA9IGFjdGVMZWdpc2xhdGlmLnJhcHBvcnRldXJzXG4gIGlmIChyYXBwb3J0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmFwcG9ydGV1cnMgPSByYXBwb3J0ZXVycy5yYXBwb3J0ZXVyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHJhcHBvcnRldXJzKSkge1xuICAgICAgYXNzZXJ0KHJhcHBvcnRldXJzKVxuICAgICAgcmFwcG9ydGV1cnMgPSBbcmFwcG9ydGV1cnNdXG4gICAgfVxuICAgIGFjdGVMZWdpc2xhdGlmLnJhcHBvcnRldXJzID0gcmFwcG9ydGV1cnNcbiAgICBmb3IgKGNvbnN0IHJhcHBvcnRldXIgb2YgcmFwcG9ydGV1cnMpIHtcbiAgICAgIGNsZWFuUmFwcG9ydGV1cihyYXBwb3J0ZXVyKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlZmVyZW5jZU5vciA9IGFjdGVMZWdpc2xhdGlmLnJlZmVyZW5jZU5PUlxuICBpZiAocmVmZXJlbmNlTm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICBhY3RlTGVnaXNsYXRpZi5yZWZlcmVuY2VOb3IgPSByZWZlcmVuY2VOb3JcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYucmVmZXJlbmNlTk9SXG4gIH1cblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0ZUxlZ2lzbGF0aWYucmV1bmlvbiwgdW5kZWZpbmVkKVxuXG4gIGNvbnN0IHN0YXR1dEFkb3B0aW9uID0gYWN0ZUxlZ2lzbGF0aWYuc3RhdHV0QWRvcHRpb25cbiAgaWYgKHN0YXR1dEFkb3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblR5cGVEZWNsYXJhdGlvbihzdGF0dXRBZG9wdGlvbilcbiAgfVxuXG4gIGNvbnN0IHN0YXR1dENvbmNsdXNpb24gPSBhY3RlTGVnaXNsYXRpZi5zdGF0dXRDb25jbHVzaW9uXG4gIGlmIChzdGF0dXRDb25jbHVzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblR5cGVEZWNsYXJhdGlvbihzdGF0dXRDb25jbHVzaW9uKVxuICAgIGlmIChzdGF0dXRDb25jbHVzaW9uLmZhbUNvZGUgPT09IFwiVFNPUlRGbnVsbFwiKSB7XG4gICAgICAvLyBPY2N1cmVkIG9uY2UgaW4gaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS9hc3NlbWJsZWUtYnJ1dC9Eb3NzaWVyc19MZWdpc2xhdGlmc19YVi9jb21taXQvODM4MzgwMGZlN2Q5OTNkYTdiNTk2YzViMjBmYWRjMzFjNGRmMzgzNVxuICAgICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLnN0YXR1dENvbmNsdXNpb25cbiAgICB9XG4gIH1cblxuICBjb25zdCB0ZXh0ZUFkb3B0ZVJlZiA9IGFjdGVMZWdpc2xhdGlmLnRleHRlQWRvcHRlXG4gIGlmICh0ZXh0ZUFkb3B0ZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLnRleHRlQWRvcHRlXG4gICAgYWN0ZUxlZ2lzbGF0aWYudGV4dGVBZG9wdGVSZWYgPSB0ZXh0ZUFkb3B0ZVJlZlxuICB9XG5cbiAgY29uc3QgdGV4dGVBc3NvY2llUmVmID0gYWN0ZUxlZ2lzbGF0aWYudGV4dGVBc3NvY2llXG4gIGlmICh0ZXh0ZUFzc29jaWVSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIGRlbGV0ZSBhY3RlTGVnaXNsYXRpZi50ZXh0ZUFzc29jaWVcbiAgICBhY3RlTGVnaXNsYXRpZi50ZXh0ZUFzc29jaWVSZWYgPSB0ZXh0ZUFzc29jaWVSZWZcbiAgfVxuXG4gIGxldCB0ZXh0ZXNBc3NvY2llcyA9IGFjdGVMZWdpc2xhdGlmLnRleHRlc0Fzc29jaWVzXG4gIGlmICh0ZXh0ZXNBc3NvY2llcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGV4dGVzQXNzb2NpZXMgPSB0ZXh0ZXNBc3NvY2llcy50ZXh0ZUFzc29jaWVcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGV4dGVzQXNzb2NpZXMpKSB7XG4gICAgICBhc3NlcnQodGV4dGVzQXNzb2NpZXMpXG4gICAgICB0ZXh0ZXNBc3NvY2llcyA9IFt0ZXh0ZXNBc3NvY2llc11cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYudGV4dGVzQXNzb2NpZXMgPSB0ZXh0ZXNBc3NvY2llc1xuXG4gICAgZm9yIChjb25zdCB0ZXh0ZUFzc29jaWUgb2YgdGV4dGVzQXNzb2NpZXMpIHtcbiAgICAgIGNvbnN0IHRleHRlQXNzb2NpZVJlZiA9IHRleHRlQXNzb2NpZS5yZWZUZXh0ZUFzc29jaWVcbiAgICAgIGlmICh0ZXh0ZUFzc29jaWVSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgdGV4dGVBc3NvY2llLnJlZlRleHRlQXNzb2NpZVxuICAgICAgICB0ZXh0ZUFzc29jaWUudGV4dGVBc3NvY2llUmVmID0gdGV4dGVBc3NvY2llUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgdHlwZURlY2xhcmF0aW9uID0gYWN0ZUxlZ2lzbGF0aWYudHlwZURlY2xhcmF0aW9uXG4gIGlmICh0eXBlRGVjbGFyYXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbilcbiAgfVxuXG4gIGNvbnN0IHR5cGVNb3Rpb24gPSBhY3RlTGVnaXNsYXRpZi50eXBlTW90aW9uXG4gIGlmICh0eXBlTW90aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblR5cGVEZWNsYXJhdGlvbih0eXBlTW90aW9uKVxuICB9XG5cbiAgY29uc3QgdHlwZU1vdGlvbkNlbnN1cmUgPSBhY3RlTGVnaXNsYXRpZi50eXBlTW90aW9uQ2Vuc3VyZVxuICBpZiAodHlwZU1vdGlvbkNlbnN1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKHR5cGVNb3Rpb25DZW5zdXJlKVxuICB9XG5cbiAgbGV0IHZvdGVSZWZzID0gYWN0ZUxlZ2lzbGF0aWYudm90ZVJlZnNcbiAgaWYgKHZvdGVSZWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICB2b3RlUmVmcyA9IHZvdGVSZWZzLnZvdGVSZWZcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodm90ZVJlZnMpKSB7XG4gICAgICBhc3NlcnQodm90ZVJlZnMpXG4gICAgICB2b3RlUmVmcyA9IFt2b3RlUmVmc11cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYudm90ZVJlZnMgPSB2b3RlUmVmc1xuICB9XG5cbiAgLy9cblxuICBsZXQgYWN0ZXNMZWdpc2xhdGlmcyA9IGFjdGVMZWdpc2xhdGlmLmFjdGVzTGVnaXNsYXRpZnNcbiAgaWYgKGFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGFjdGVzTGVnaXNsYXRpZnMgPSBhY3Rlc0xlZ2lzbGF0aWZzLmFjdGVMZWdpc2xhdGlmXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFjdGVzTGVnaXNsYXRpZnMpKSB7XG4gICAgICBhc3NlcnQoYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgIGFjdGVzTGVnaXNsYXRpZnMgPSBbYWN0ZXNMZWdpc2xhdGlmc11cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYuYWN0ZXNMZWdpc2xhdGlmcyA9IGFjdGVzTGVnaXNsYXRpZnNcbiAgICBmb3IgKGNvbnN0IGFjdGVMZWdpc2xhdGlmIG9mIGFjdGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgIGNsZWFuQWN0ZUxlZ2lzbGF0aWYoYWN0ZUxlZ2lzbGF0aWYpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkFjdGVPdURvc3NpZXJJbml0aWF0ZXVyKGFjdGVPdURvc3NpZXI6IGFueSk6IHZvaWQge1xuICBjb25zdCBpbml0aWF0ZXVyID0gYWN0ZU91RG9zc2llci5pbml0aWF0ZXVyXG4gIGlmIChpbml0aWF0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgYWN0ZXVycyA9IGluaXRpYXRldXIuYWN0ZXVyc1xuICAgIGlmIChhY3RldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjdGV1cnMgPSBhY3RldXJzLmFjdGV1clxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFjdGV1cnMpKSB7XG4gICAgICAgIGFzc2VydChhY3RldXJzKVxuICAgICAgICBhY3RldXJzID0gW2FjdGV1cnNdXG4gICAgICB9XG4gICAgICBpZiAoYWN0ZXVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGluaXRpYXRldXIuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSBpbml0aWF0ZXVyLmFjdGV1cnNcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgb3JnYW5lUmVmID0gaW5pdGlhdGV1ci5vcmdhbmVzXG4gICAgaWYgKG9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcmdhbmVSZWYgPSBvcmdhbmVSZWYub3JnYW5lLm9yZ2FuZVJlZi51aWRcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChvcmdhbmVSZWYsIHVuZGVmaW5lZClcbiAgICAgIGluaXRpYXRldXIub3JnYW5lUmVmID0gb3JnYW5lUmVmXG4gICAgICBkZWxldGUgaW5pdGlhdGV1ci5vcmdhbmVzXG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaW5pdGlhdGV1ci5hY3RldXJzID09PSB1bmRlZmluZWQgJiZcbiAgICAgIGluaXRpYXRldXIub3JnYW5lUmVmID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBhY3RlT3VEb3NzaWVyLmluaXRpYXRldXJcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYW5JbmZvSm8oaW5mb0pvOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoaW5mb0pvKVxuXG4gIGNvbnN0IHR5cGVKbyA9IGluZm9Kby50eXBlSk9cbiAgaWYgKHR5cGVKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5mb0pvLnR5cGVKbyA9IHR5cGVKb1xuICAgIGRlbGV0ZSBpbmZvSm8udHlwZUpPXG4gIH1cblxuICBjb25zdCBkYXRlSm8gPSBpbmZvSm8uZGF0ZUpPXG4gIGlmIChkYXRlSm8gIT09IHVuZGVmaW5lZCkge1xuICAgIGluZm9Kby5kYXRlSm8gPSBkYXRlSm9cbiAgICBkZWxldGUgaW5mb0pvLmRhdGVKT1xuICB9XG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGluZm9Kby5wYWdlSk8sIHVuZGVmaW5lZClcblxuICBjb25zdCBudW1KbyA9IGluZm9Kby5udW1KT1xuICBpZiAobnVtSm8gIT09IHVuZGVmaW5lZCkge1xuICAgIGluZm9Kby5udW1KbyA9IG51bUpvXG4gICAgZGVsZXRlIGluZm9Kby5udW1KT1xuICB9XG5cbiAgY29uc3QgcmVmZXJlbmNlTm9yID0gaW5mb0pvLnJlZmVyZW5jZU5PUlxuICBpZiAocmVmZXJlbmNlTm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICBpbmZvSm8ucmVmZXJlbmNlTm9yID0gcmVmZXJlbmNlTm9yXG4gICAgZGVsZXRlIGluZm9Kby5yZWZlcmVuY2VOT1JcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhblR5cGVEZWNsYXJhdGlvbih0eXBlRGVjbGFyYXRpb246IGFueSkge1xuICB0eXBlRGVjbGFyYXRpb24uZmFtQ29kZSA9IHR5cGVEZWNsYXJhdGlvbi5mYW1fY29kZVxuICBkZWxldGUgdHlwZURlY2xhcmF0aW9uLmZhbV9jb2RlXG4gIGFzc2VydCh0eXBlRGVjbGFyYXRpb24uZmFtQ29kZSlcblxuICBpZiAoIXR5cGVEZWNsYXJhdGlvbi5saWJlbGxlKSB7XG4gICAgLy8gT2NjdXJlZCBvbmNlIGluIGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2RhdGEvYXNzZW1ibGVlLWJydXQvRG9zc2llcnNfTGVnaXNsYXRpZnNfWFYvY29tbWl0LzgzODM4MDBmZTdkOTkzZGE3YjU5NmM1YjIwZmFkYzMxYzRkZjM4MzU6XG4gICAgLy8gXCJzdGF0dXRDb25jbHVzaW9uXCI6IHtcbiAgICAvLyAgIFwiZmFtX2NvZGVcIjogXCJUU09SVEZudWxsXCJcbiAgICAvLyB9LFxuICAgIC8vIFRoaXMgZmFtQ29kZSBpcyBhbiBlcnJvci5cbiAgICB0eXBlRGVjbGFyYXRpb24ubGliZWxsZSA9IHR5cGVEZWNsYXJhdGlvbi5mYW1Db2RlXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLElBQUEsR0FBQUYsT0FBQTtBQUF5QyxTQUFBRCx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFBQSxDQUFBLENBQUFRLE1BQUEscUJBQUFOLEVBQUEsRUFBQUYsQ0FBQSxHQUFBRSxFQUFBLE1BQUFPLENBQUEsVUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsUUFBQUgsQ0FBQSxJQUFBVCxDQUFBLENBQUFRLE1BQUEsV0FBQUssSUFBQSxtQkFBQUEsSUFBQSxTQUFBQyxLQUFBLEVBQUFkLENBQUEsQ0FBQVMsQ0FBQSxVQUFBTSxDQUFBLFdBQUFBLEVBQUFDLEVBQUEsVUFBQUEsRUFBQSxLQUFBQyxDQUFBLEVBQUFQLENBQUEsZ0JBQUFRLFNBQUEsaUpBQUFDLGdCQUFBLFNBQUFDLE1BQUEsVUFBQUMsR0FBQSxXQUFBVixDQUFBLFdBQUFBLEVBQUEsSUFBQVQsRUFBQSxHQUFBQSxFQUFBLENBQUFvQixJQUFBLENBQUF0QixDQUFBLE1BQUFZLENBQUEsV0FBQUEsRUFBQSxRQUFBVyxJQUFBLEdBQUFyQixFQUFBLENBQUFzQixJQUFBLElBQUFMLGdCQUFBLEdBQUFJLElBQUEsQ0FBQVYsSUFBQSxTQUFBVSxJQUFBLEtBQUFSLENBQUEsV0FBQUEsRUFBQVUsR0FBQSxJQUFBTCxNQUFBLFNBQUFDLEdBQUEsR0FBQUksR0FBQSxLQUFBUixDQUFBLFdBQUFBLEVBQUEsZUFBQUUsZ0JBQUEsSUFBQWpCLEVBQUEsb0JBQUFBLEVBQUEsOEJBQUFrQixNQUFBLFFBQUFDLEdBQUE7QUFBQSxTQUFBZCw0QkFBQVAsQ0FBQSxFQUFBMEIsTUFBQSxTQUFBMUIsQ0FBQSxxQkFBQUEsQ0FBQSxzQkFBQTJCLGlCQUFBLENBQUEzQixDQUFBLEVBQUEwQixNQUFBLE9BQUFkLENBQUEsR0FBQWdCLE1BQUEsQ0FBQUMsU0FBQSxDQUFBQyxRQUFBLENBQUFSLElBQUEsQ0FBQXRCLENBQUEsRUFBQStCLEtBQUEsYUFBQW5CLENBQUEsaUJBQUFaLENBQUEsQ0FBQWdDLFdBQUEsRUFBQXBCLENBQUEsR0FBQVosQ0FBQSxDQUFBZ0MsV0FBQSxDQUFBQyxJQUFBLE1BQUFyQixDQUFBLGNBQUFBLENBQUEsbUJBQUFQLEtBQUEsQ0FBQTZCLElBQUEsQ0FBQWxDLENBQUEsT0FBQVksQ0FBQSwrREFBQXVCLElBQUEsQ0FBQXZCLENBQUEsVUFBQWUsaUJBQUEsQ0FBQTNCLENBQUEsRUFBQTBCLE1BQUE7QUFBQSxTQUFBQyxrQkFBQVMsR0FBQSxFQUFBQyxHQUFBLFFBQUFBLEdBQUEsWUFBQUEsR0FBQSxHQUFBRCxHQUFBLENBQUE1QixNQUFBLEVBQUE2QixHQUFBLEdBQUFELEdBQUEsQ0FBQTVCLE1BQUEsV0FBQUMsQ0FBQSxNQUFBNkIsSUFBQSxPQUFBakMsS0FBQSxDQUFBZ0MsR0FBQSxHQUFBNUIsQ0FBQSxHQUFBNEIsR0FBQSxFQUFBNUIsQ0FBQSxJQUFBNkIsSUFBQSxDQUFBN0IsQ0FBQSxJQUFBMkIsR0FBQSxDQUFBM0IsQ0FBQSxVQUFBNkIsSUFBQTtBQUVsQyxTQUFTQyxtQkFBbUJBLENBQUNDLGNBQW1CLEVBQVE7RUFDN0QsSUFBQUMsc0JBQWlCLEVBQUNELGNBQWMsQ0FBQztFQUVqQyxJQUFNRSxPQUFPLEdBQUdGLGNBQWMsQ0FBQyxXQUFXLENBQUM7RUFDM0MsSUFBSUUsT0FBTyxLQUFLQyxTQUFTLEVBQUU7SUFDekJILGNBQWMsQ0FBQ0UsT0FBTyxHQUFHQSxPQUFPO0lBQ2hDLE9BQU9GLGNBQWMsQ0FBQyxXQUFXLENBQUM7RUFDcEM7O0VBRUE7O0VBRUEsSUFBSUksV0FBVyxHQUFHSixjQUFjLENBQUNLLE9BQU87RUFDeEMsSUFBSUQsV0FBVyxLQUFLRCxTQUFTLEVBQUU7SUFDN0JDLFdBQVcsR0FBR0EsV0FBVyxDQUFDRSxTQUFTO0lBQ25DLElBQUksQ0FBQ3pDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDc0MsV0FBVyxDQUFDLEVBQUU7TUFDL0IsSUFBQUcsa0JBQU0sRUFBQ0gsV0FBVyxDQUFDO01BQ25CQSxXQUFXLEdBQUcsQ0FBQ0EsV0FBVyxDQUFDO0lBQzdCO0lBQ0FKLGNBQWMsQ0FBQ0ksV0FBVyxHQUFHQSxXQUFXO0lBQ3hDLE9BQU9KLGNBQWMsQ0FBQ0ssT0FBTztFQUMvQjtFQUVBLElBQU1HLFVBQVUsR0FBR1IsY0FBYyxDQUFDUSxVQUFVO0VBQzVDLElBQUlBLFVBQVUsS0FBS0wsU0FBUyxFQUFFO0lBQzVCTSxvQkFBb0IsQ0FBQ0QsVUFBVSxDQUFDO0VBQ2xDO0VBRUEsSUFBTUUsc0JBQXNCLEdBQUdWLGNBQWMsQ0FBQ1Usc0JBQXNCO0VBQ3BFLElBQUlBLHNCQUFzQixLQUFLUCxTQUFTLEVBQUU7SUFDeEMsSUFBQUYsc0JBQWlCLEVBQUNTLHNCQUFzQixDQUFDO0VBQzNDO0VBRUFILGtCQUFNLENBQUNJLFdBQVcsQ0FBQ1gsY0FBYyxDQUFDWSxXQUFXLEVBQUVULFNBQVMsQ0FBQztFQUV6RCxJQUFNVSxRQUFRLEdBQUdiLGNBQWMsQ0FBQ2EsUUFBUTtFQUN4QyxJQUFJQSxRQUFRLEtBQUtWLFNBQVMsRUFBRTtJQUMxQk0sb0JBQW9CLENBQUNJLFFBQVEsQ0FBQztFQUNoQztFQUVBLElBQU1DLE1BQU0sR0FBR2QsY0FBYyxDQUFDZSxNQUFNO0VBQ3BDLElBQUlELE1BQU0sS0FBS1gsU0FBUyxFQUFFO0lBQ3hCYSxXQUFXLENBQUNGLE1BQU0sQ0FBQztJQUNuQmQsY0FBYyxDQUFDYyxNQUFNLEdBQUdBLE1BQU07SUFDOUIsT0FBT2QsY0FBYyxDQUFDZSxNQUFNO0VBQzlCO0VBRUEsSUFBTUUsUUFBUSxHQUFHakIsY0FBYyxDQUFDa0IsUUFBUTtFQUN4QyxJQUFJRCxRQUFRLEtBQUtkLFNBQVMsRUFBRTtJQUMxQkgsY0FBYyxDQUFDaUIsUUFBUSxHQUFHQSxRQUFRO0lBQ2xDLE9BQU9qQixjQUFjLENBQUNrQixRQUFRO0lBRTlCLElBQU1DLE9BQU8sR0FBR0YsUUFBUSxDQUFDRyxPQUFPO0lBQ2hDLElBQUlELE9BQU8sS0FBS2hCLFNBQVMsRUFBRTtNQUN6QmMsUUFBUSxDQUFDRSxPQUFPLEdBQUdBLE9BQU87TUFDMUIsT0FBT0YsUUFBUSxDQUFDRyxPQUFPO0lBQ3pCO0lBRUEsSUFBTUMsUUFBUSxHQUFHSixRQUFRLENBQUNLLFFBQVE7SUFDbEMsSUFBSUQsUUFBUSxLQUFLbEIsU0FBUyxFQUFFO01BQzFCYyxRQUFRLENBQUNJLFFBQVEsR0FBR0EsUUFBUTtNQUM1QixPQUFPSixRQUFRLENBQUNLLFFBQVE7SUFDMUI7RUFDRjtFQUVBLElBQUlDLFVBQVUsR0FBR3ZCLGNBQWMsQ0FBQ3dCLFVBQVU7RUFDMUMsSUFBSUQsVUFBVSxLQUFLcEIsU0FBUyxFQUFFO0lBQzVCLElBQUksQ0FBQ3RDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDeUQsVUFBVSxDQUFDLEVBQUU7TUFDOUJBLFVBQVUsR0FBRyxDQUFDQSxVQUFVLENBQUM7SUFDM0I7SUFDQXZCLGNBQWMsQ0FBQ3VCLFVBQVUsR0FBR0EsVUFBVTtJQUN0QyxPQUFPdkIsY0FBYyxDQUFDd0IsVUFBVTtJQUFBLElBQUFDLFNBQUEsR0FBQWxFLDBCQUFBLENBRUhnRSxVQUFVO01BQUFHLEtBQUE7SUFBQTtNQUF2QyxLQUFBRCxTQUFBLENBQUF0RCxDQUFBLE1BQUF1RCxLQUFBLEdBQUFELFNBQUEsQ0FBQXJELENBQUEsSUFBQUMsSUFBQSxHQUF5QztRQUFBLElBQTlCc0QsY0FBYyxHQUFBRCxLQUFBLENBQUFwRCxLQUFBO1FBQ3ZCMEMsV0FBVyxDQUFDVyxjQUFjLENBQUM7TUFDN0I7SUFBQyxTQUFBOUMsR0FBQTtNQUFBNEMsU0FBQSxDQUFBbEQsQ0FBQSxDQUFBTSxHQUFBO0lBQUE7TUFBQTRDLFNBQUEsQ0FBQWhELENBQUE7SUFBQTtFQUNIOztFQUVBO0VBQ0FtRCw0QkFBNEIsQ0FBQzVCLGNBQWMsQ0FBQztFQUM1QyxJQUFJNkIsVUFBVSxHQUFHN0IsY0FBYyxDQUFDOEIsV0FBVztFQUMzQyxJQUFJRCxVQUFVLEtBQUsxQixTQUFTLEVBQUU7SUFDNUJJLGtCQUFNLENBQUNJLFdBQVcsQ0FBQ1gsY0FBYyxDQUFDNkIsVUFBVSxFQUFFMUIsU0FBUyxDQUFDO0lBQ3hELElBQUkwQixVQUFVLENBQUN2QixTQUFTLEtBQUtILFNBQVMsRUFBRTtNQUN0Q0ksa0JBQU0sQ0FBQ3dCLGNBQWMsQ0FBQ0YsVUFBVSxDQUFDRyxTQUFTLEVBQUU3QixTQUFTLENBQUM7SUFDeEQsQ0FBQyxNQUFNO01BQ0wsSUFBSSxDQUFDdEMsS0FBSyxDQUFDQyxPQUFPLENBQUMrRCxVQUFVLENBQUMsRUFBRTtRQUM5QixJQUFBdEIsa0JBQU0sRUFBQ3NCLFVBQVUsQ0FBQztRQUNsQkEsVUFBVSxHQUFHLENBQUNBLFVBQVUsQ0FBQztNQUMzQjtNQUNBQSxVQUFVLEdBQUc7UUFDWEksT0FBTyxFQUFFSjtNQUNYLENBQUM7SUFDSDtJQUNBN0IsY0FBYyxDQUFDNkIsVUFBVSxHQUFHQSxVQUFVO0lBQ3RDLE9BQU83QixjQUFjLENBQUM4QixXQUFXO0VBQ25DO0VBRUF2QixrQkFBTSxDQUFDSSxXQUFXLENBQUNYLGNBQWMsQ0FBQ2tDLFlBQVksRUFBRS9CLFNBQVMsQ0FBQztFQUUxRCxJQUFNZ0MsYUFBYSxHQUFHbkMsY0FBYyxDQUFDb0MsVUFBVTtFQUMvQyxJQUFJRCxhQUFhLEtBQUtoQyxTQUFTLEVBQUU7SUFDL0IsT0FBT0gsY0FBYyxDQUFDb0MsVUFBVTtJQUNoQ3BDLGNBQWMsQ0FBQ21DLGFBQWEsR0FBR0EsYUFBYTtFQUM5QztFQUVBLElBQUlFLFdBQVcsR0FBR3JDLGNBQWMsQ0FBQ3FDLFdBQVc7RUFDNUMsSUFBSUEsV0FBVyxLQUFLbEMsU0FBUyxFQUFFO0lBQzdCa0MsV0FBVyxHQUFHQSxXQUFXLENBQUNDLFVBQVU7SUFDcEMsSUFBSSxDQUFDekUsS0FBSyxDQUFDQyxPQUFPLENBQUN1RSxXQUFXLENBQUMsRUFBRTtNQUMvQixJQUFBOUIsa0JBQU0sRUFBQzhCLFdBQVcsQ0FBQztNQUNuQkEsV0FBVyxHQUFHLENBQUNBLFdBQVcsQ0FBQztJQUM3QjtJQUNBckMsY0FBYyxDQUFDcUMsV0FBVyxHQUFHQSxXQUFXO0lBQUEsSUFBQUUsVUFBQSxHQUFBaEYsMEJBQUEsQ0FDZjhFLFdBQVc7TUFBQUcsTUFBQTtJQUFBO01BQXBDLEtBQUFELFVBQUEsQ0FBQXBFLENBQUEsTUFBQXFFLE1BQUEsR0FBQUQsVUFBQSxDQUFBbkUsQ0FBQSxJQUFBQyxJQUFBLEdBQXNDO1FBQUEsSUFBM0JpRSxVQUFVLEdBQUFFLE1BQUEsQ0FBQWxFLEtBQUE7UUFDbkIsSUFBQW1FLHdCQUFlLEVBQUNILFVBQVUsQ0FBQztNQUM3QjtJQUFDLFNBQUF6RCxHQUFBO01BQUEwRCxVQUFBLENBQUFoRSxDQUFBLENBQUFNLEdBQUE7SUFBQTtNQUFBMEQsVUFBQSxDQUFBOUQsQ0FBQTtJQUFBO0VBQ0g7RUFFQSxJQUFNaUUsWUFBWSxHQUFHMUMsY0FBYyxDQUFDMkMsWUFBWTtFQUNoRCxJQUFJRCxZQUFZLEtBQUt2QyxTQUFTLEVBQUU7SUFDOUJILGNBQWMsQ0FBQzBDLFlBQVksR0FBR0EsWUFBWTtJQUMxQyxPQUFPMUMsY0FBYyxDQUFDMkMsWUFBWTtFQUNwQztFQUVBcEMsa0JBQU0sQ0FBQ0ksV0FBVyxDQUFDWCxjQUFjLENBQUM0QyxPQUFPLEVBQUV6QyxTQUFTLENBQUM7RUFFckQsSUFBTTBDLGNBQWMsR0FBRzdDLGNBQWMsQ0FBQzZDLGNBQWM7RUFDcEQsSUFBSUEsY0FBYyxLQUFLMUMsU0FBUyxFQUFFO0lBQ2hDTSxvQkFBb0IsQ0FBQ29DLGNBQWMsQ0FBQztFQUN0QztFQUVBLElBQU1DLGdCQUFnQixHQUFHOUMsY0FBYyxDQUFDOEMsZ0JBQWdCO0VBQ3hELElBQUlBLGdCQUFnQixLQUFLM0MsU0FBUyxFQUFFO0lBQ2xDTSxvQkFBb0IsQ0FBQ3FDLGdCQUFnQixDQUFDO0lBQ3RDLElBQUlBLGdCQUFnQixDQUFDQyxPQUFPLEtBQUssWUFBWSxFQUFFO01BQzdDO01BQ0EsT0FBTy9DLGNBQWMsQ0FBQzhDLGdCQUFnQjtJQUN4QztFQUNGO0VBRUEsSUFBTUUsY0FBYyxHQUFHaEQsY0FBYyxDQUFDaUQsV0FBVztFQUNqRCxJQUFJRCxjQUFjLEtBQUs3QyxTQUFTLEVBQUU7SUFDaEMsT0FBT0gsY0FBYyxDQUFDaUQsV0FBVztJQUNqQ2pELGNBQWMsQ0FBQ2dELGNBQWMsR0FBR0EsY0FBYztFQUNoRDtFQUVBLElBQU1FLGVBQWUsR0FBR2xELGNBQWMsQ0FBQ21ELFlBQVk7RUFDbkQsSUFBSUQsZUFBZSxLQUFLL0MsU0FBUyxFQUFFO0lBQ2pDLE9BQU9ILGNBQWMsQ0FBQ21ELFlBQVk7SUFDbENuRCxjQUFjLENBQUNrRCxlQUFlLEdBQUdBLGVBQWU7RUFDbEQ7RUFFQSxJQUFJRSxjQUFjLEdBQUdwRCxjQUFjLENBQUNvRCxjQUFjO0VBQ2xELElBQUlBLGNBQWMsS0FBS2pELFNBQVMsRUFBRTtJQUNoQ2lELGNBQWMsR0FBR0EsY0FBYyxDQUFDRCxZQUFZO0lBQzVDLElBQUksQ0FBQ3RGLEtBQUssQ0FBQ0MsT0FBTyxDQUFDc0YsY0FBYyxDQUFDLEVBQUU7TUFDbEMsSUFBQTdDLGtCQUFNLEVBQUM2QyxjQUFjLENBQUM7TUFDdEJBLGNBQWMsR0FBRyxDQUFDQSxjQUFjLENBQUM7SUFDbkM7SUFDQXBELGNBQWMsQ0FBQ29ELGNBQWMsR0FBR0EsY0FBYztJQUFBLElBQUFDLFVBQUEsR0FBQTlGLDBCQUFBLENBRW5CNkYsY0FBYztNQUFBRSxNQUFBO0lBQUE7TUFBekMsS0FBQUQsVUFBQSxDQUFBbEYsQ0FBQSxNQUFBbUYsTUFBQSxHQUFBRCxVQUFBLENBQUFqRixDQUFBLElBQUFDLElBQUEsR0FBMkM7UUFBQSxJQUFoQzhFLFlBQVksR0FBQUcsTUFBQSxDQUFBaEYsS0FBQTtRQUNyQixJQUFNNEUsZ0JBQWUsR0FBR0MsWUFBWSxDQUFDSSxlQUFlO1FBQ3BELElBQUlMLGdCQUFlLEtBQUsvQyxTQUFTLEVBQUU7VUFDakMsT0FBT2dELFlBQVksQ0FBQ0ksZUFBZTtVQUNuQ0osWUFBWSxDQUFDRCxlQUFlLEdBQUdBLGdCQUFlO1FBQ2hEO01BQ0Y7SUFBQyxTQUFBckUsR0FBQTtNQUFBd0UsVUFBQSxDQUFBOUUsQ0FBQSxDQUFBTSxHQUFBO0lBQUE7TUFBQXdFLFVBQUEsQ0FBQTVFLENBQUE7SUFBQTtFQUNIO0VBRUEsSUFBTStFLGVBQWUsR0FBR3hELGNBQWMsQ0FBQ3dELGVBQWU7RUFDdEQsSUFBSUEsZUFBZSxLQUFLckQsU0FBUyxFQUFFO0lBQ2pDTSxvQkFBb0IsQ0FBQytDLGVBQWUsQ0FBQztFQUN2QztFQUVBLElBQU1DLFVBQVUsR0FBR3pELGNBQWMsQ0FBQ3lELFVBQVU7RUFDNUMsSUFBSUEsVUFBVSxLQUFLdEQsU0FBUyxFQUFFO0lBQzVCTSxvQkFBb0IsQ0FBQ2dELFVBQVUsQ0FBQztFQUNsQztFQUVBLElBQU1DLGlCQUFpQixHQUFHMUQsY0FBYyxDQUFDMEQsaUJBQWlCO0VBQzFELElBQUlBLGlCQUFpQixLQUFLdkQsU0FBUyxFQUFFO0lBQ25DTSxvQkFBb0IsQ0FBQ2lELGlCQUFpQixDQUFDO0VBQ3pDO0VBRUEsSUFBSUMsUUFBUSxHQUFHM0QsY0FBYyxDQUFDMkQsUUFBUTtFQUN0QyxJQUFJQSxRQUFRLEtBQUt4RCxTQUFTLEVBQUU7SUFDMUJ3RCxRQUFRLEdBQUdBLFFBQVEsQ0FBQ0MsT0FBTztJQUMzQixJQUFJLENBQUMvRixLQUFLLENBQUNDLE9BQU8sQ0FBQzZGLFFBQVEsQ0FBQyxFQUFFO01BQzVCLElBQUFwRCxrQkFBTSxFQUFDb0QsUUFBUSxDQUFDO01BQ2hCQSxRQUFRLEdBQUcsQ0FBQ0EsUUFBUSxDQUFDO0lBQ3ZCO0lBQ0EzRCxjQUFjLENBQUMyRCxRQUFRLEdBQUdBLFFBQVE7RUFDcEM7O0VBRUE7O0VBRUEsSUFBSUUsZ0JBQWdCLEdBQUc3RCxjQUFjLENBQUM2RCxnQkFBZ0I7RUFDdEQsSUFBSUEsZ0JBQWdCLEtBQUsxRCxTQUFTLEVBQUU7SUFDbEMwRCxnQkFBZ0IsR0FBR0EsZ0JBQWdCLENBQUM3RCxjQUFjO0lBQ2xELElBQUksQ0FBQ25DLEtBQUssQ0FBQ0MsT0FBTyxDQUFDK0YsZ0JBQWdCLENBQUMsRUFBRTtNQUNwQyxJQUFBdEQsa0JBQU0sRUFBQ3NELGdCQUFnQixDQUFDO01BQ3hCQSxnQkFBZ0IsR0FBRyxDQUFDQSxnQkFBZ0IsQ0FBQztJQUN2QztJQUNBN0QsY0FBYyxDQUFDNkQsZ0JBQWdCLEdBQUdBLGdCQUFnQjtJQUFBLElBQUFDLFVBQUEsR0FBQXZHLDBCQUFBLENBQ3JCc0csZ0JBQWdCO01BQUFFLE1BQUE7SUFBQTtNQUE3QyxLQUFBRCxVQUFBLENBQUEzRixDQUFBLE1BQUE0RixNQUFBLEdBQUFELFVBQUEsQ0FBQTFGLENBQUEsSUFBQUMsSUFBQSxHQUErQztRQUFBLElBQXBDMkIsZUFBYyxHQUFBK0QsTUFBQSxDQUFBekYsS0FBQTtRQUN2QnlCLG1CQUFtQixDQUFDQyxlQUFjLENBQUM7TUFDckM7SUFBQyxTQUFBbkIsR0FBQTtNQUFBaUYsVUFBQSxDQUFBdkYsQ0FBQSxDQUFBTSxHQUFBO0lBQUE7TUFBQWlGLFVBQUEsQ0FBQXJGLENBQUE7SUFBQTtFQUNIO0FBQ0Y7QUFFTyxTQUFTbUQsNEJBQTRCQSxDQUFDb0MsYUFBa0IsRUFBUTtFQUNyRSxJQUFNbkMsVUFBVSxHQUFHbUMsYUFBYSxDQUFDbkMsVUFBVTtFQUMzQyxJQUFJQSxVQUFVLEtBQUsxQixTQUFTLEVBQUU7SUFDNUIsSUFBSThCLE9BQU8sR0FBR0osVUFBVSxDQUFDSSxPQUFPO0lBQ2hDLElBQUlBLE9BQU8sS0FBSzlCLFNBQVMsRUFBRTtNQUN6QjhCLE9BQU8sR0FBR0EsT0FBTyxDQUFDZ0MsTUFBTTtNQUN4QixJQUFJLENBQUNwRyxLQUFLLENBQUNDLE9BQU8sQ0FBQ21FLE9BQU8sQ0FBQyxFQUFFO1FBQzNCLElBQUExQixrQkFBTSxFQUFDMEIsT0FBTyxDQUFDO1FBQ2ZBLE9BQU8sR0FBRyxDQUFDQSxPQUFPLENBQUM7TUFDckI7TUFDQSxJQUFJQSxPQUFPLENBQUNqRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCNkQsVUFBVSxDQUFDSSxPQUFPLEdBQUdBLE9BQU87TUFDOUIsQ0FBQyxNQUFNO1FBQ0wsT0FBT0osVUFBVSxDQUFDSSxPQUFPO01BQzNCO0lBQ0Y7SUFFQSxJQUFJRCxTQUFTLEdBQUdILFVBQVUsQ0FBQ3FDLE9BQU87SUFDbEMsSUFBSWxDLFNBQVMsS0FBSzdCLFNBQVMsRUFBRTtNQUMzQjZCLFNBQVMsR0FBR0EsU0FBUyxDQUFDbUMsTUFBTSxDQUFDbkMsU0FBUyxDQUFDb0MsR0FBRztNQUMxQzdELGtCQUFNLENBQUN3QixjQUFjLENBQUNDLFNBQVMsRUFBRTdCLFNBQVMsQ0FBQztNQUMzQzBCLFVBQVUsQ0FBQ0csU0FBUyxHQUFHQSxTQUFTO01BQ2hDLE9BQU9ILFVBQVUsQ0FBQ3FDLE9BQU87SUFDM0I7SUFFQSxJQUNFckMsVUFBVSxDQUFDSSxPQUFPLEtBQUs5QixTQUFTLElBQ2hDMEIsVUFBVSxDQUFDRyxTQUFTLEtBQUs3QixTQUFTLEVBQ2xDO01BQ0EsT0FBTzZELGFBQWEsQ0FBQ25DLFVBQVU7SUFDakM7RUFDRjtBQUNGO0FBRUEsU0FBU2IsV0FBV0EsQ0FBQ0YsTUFBVyxFQUFRO0VBQ3RDLElBQUFiLHNCQUFpQixFQUFDYSxNQUFNLENBQUM7RUFFekIsSUFBTXVELE1BQU0sR0FBR3ZELE1BQU0sQ0FBQ3dELE1BQU07RUFDNUIsSUFBSUQsTUFBTSxLQUFLbEUsU0FBUyxFQUFFO0lBQ3hCVyxNQUFNLENBQUN1RCxNQUFNLEdBQUdBLE1BQU07SUFDdEIsT0FBT3ZELE1BQU0sQ0FBQ3dELE1BQU07RUFDdEI7RUFFQSxJQUFNQyxNQUFNLEdBQUd6RCxNQUFNLENBQUMwRCxNQUFNO0VBQzVCLElBQUlELE1BQU0sS0FBS3BFLFNBQVMsRUFBRTtJQUN4QlcsTUFBTSxDQUFDeUQsTUFBTSxHQUFHQSxNQUFNO0lBQ3RCLE9BQU96RCxNQUFNLENBQUMwRCxNQUFNO0VBQ3RCO0VBRUFqRSxrQkFBTSxDQUFDSSxXQUFXLENBQUNHLE1BQU0sQ0FBQzJELE1BQU0sRUFBRXRFLFNBQVMsQ0FBQztFQUU1QyxJQUFNdUUsS0FBSyxHQUFHNUQsTUFBTSxDQUFDNkQsS0FBSztFQUMxQixJQUFJRCxLQUFLLEtBQUt2RSxTQUFTLEVBQUU7SUFDdkJXLE1BQU0sQ0FBQzRELEtBQUssR0FBR0EsS0FBSztJQUNwQixPQUFPNUQsTUFBTSxDQUFDNkQsS0FBSztFQUNyQjtFQUVBLElBQU1qQyxZQUFZLEdBQUc1QixNQUFNLENBQUM2QixZQUFZO0VBQ3hDLElBQUlELFlBQVksS0FBS3ZDLFNBQVMsRUFBRTtJQUM5QlcsTUFBTSxDQUFDNEIsWUFBWSxHQUFHQSxZQUFZO0lBQ2xDLE9BQU81QixNQUFNLENBQUM2QixZQUFZO0VBQzVCO0FBQ0Y7QUFFQSxTQUFTbEMsb0JBQW9CQSxDQUFDK0MsZUFBb0IsRUFBRTtFQUNsREEsZUFBZSxDQUFDVCxPQUFPLEdBQUdTLGVBQWUsQ0FBQ29CLFFBQVE7RUFDbEQsT0FBT3BCLGVBQWUsQ0FBQ29CLFFBQVE7RUFDL0IsSUFBQXJFLGtCQUFNLEVBQUNpRCxlQUFlLENBQUNULE9BQU8sQ0FBQztFQUUvQixJQUFJLENBQUNTLGVBQWUsQ0FBQ3FCLE9BQU8sRUFBRTtJQUM1QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0FyQixlQUFlLENBQUNxQixPQUFPLEdBQUdyQixlQUFlLENBQUNULE9BQU87RUFDbkQ7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
315
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfYWN0ZXVycyIsIl94bWwiLCJlIiwiX19lc01vZHVsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsInQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsIl9uIiwiRiIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiZiIsIlR5cGVFcnJvciIsIm8iLCJhIiwidSIsImNhbGwiLCJuZXh0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJjbGVhbkFjdGVMZWdpc2xhdGlmIiwiYWN0ZUxlZ2lzbGF0aWYiLCJjbGVhblhtbEFydGVmYWN0cyIsInhzaVR5cGUiLCJ1bmRlZmluZWQiLCJhdXRldXJzUmVmcyIsImF1dGV1cnMiLCJhY3RldXJSZWYiLCJhc3NlcnQiLCJjYXNTYWlzaW5lIiwiY2xlYW5UeXBlRGVjbGFyYXRpb24iLCJjb250cmlidXRpb25JbnRlcm5hdXRlIiwic3RyaWN0RXF1YWwiLCJkYXRlUmV0cmFpdCIsImRlY2lzaW9uIiwiaW5mb0pvIiwiaW5mb0pPIiwiY2xlYW5JbmZvSm8iLCJpbmZvSm9jZSIsImluZm9KT0NFIiwicmVmSm9jZSIsInJlZkpPQ0UiLCJkYXRlSm9jZSIsImRhdGVKT0NFIiwiaW5mb0pvUmVjdCIsImluZm9KT1JlY3QiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImluZm9Kb1JlY3RJdGVtIiwiZXJyIiwiY2xlYW5BY3RlT3VEb3NzaWVySW5pdGlhdGV1ciIsImluaXRpYXRldXIiLCJpbml0aWF0ZXVycyIsIm5vdFN0cmljdEVxdWFsIiwib3JnYW5lUmVmIiwiYWN0ZXVycyIsIm9kU2VhbmNlalJlZiIsInByb3ZlbmFuY2VSZWYiLCJwcm92ZW5hbmNlIiwicmFwcG9ydGV1cnMiLCJyYXBwb3J0ZXVyIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImNsZWFuUmFwcG9ydGV1ciIsInJlZmVyZW5jZU5vciIsInJlZmVyZW5jZU5PUiIsInJldW5pb24iLCJzdGF0dXRBZG9wdGlvbiIsInN0YXR1dENvbmNsdXNpb24iLCJmYW1Db2RlIiwidGV4dGVBZG9wdGVSZWYiLCJ0ZXh0ZUFkb3B0ZSIsInRleHRlQXNzb2NpZVJlZiIsInRleHRlQXNzb2NpZSIsInRleHRlc0Fzc29jaWVzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsInJlZlRleHRlQXNzb2NpZSIsInR5cGVEZWNsYXJhdGlvbiIsInR5cGVNb3Rpb24iLCJ0eXBlTW90aW9uQ2Vuc3VyZSIsInZvdGVSZWZzIiwidm90ZVJlZiIsImFjdGVzTGVnaXNsYXRpZnMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYWN0ZU91RG9zc2llciIsImFjdGV1ciIsIm9yZ2FuZXMiLCJvcmdhbmUiLCJ1aWQiLCJ0eXBlSm8iLCJ0eXBlSk8iLCJkYXRlSm8iLCJkYXRlSk8iLCJwYWdlSk8iLCJudW1KbyIsIm51bUpPIiwiZmFtX2NvZGUiLCJsaWJlbGxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL2FjdGVzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuUmFwcG9ydGV1ciB9IGZyb20gXCIuL2FjdGV1cnNcIlxuaW1wb3J0IHsgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5BY3RlTGVnaXNsYXRpZihhY3RlTGVnaXNsYXRpZjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGVMZWdpc2xhdGlmKVxuXG4gIGNvbnN0IHhzaVR5cGUgPSBhY3RlTGVnaXNsYXRpZltcIkB4c2k6dHlwZVwiXVxuICBpZiAoeHNpVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWN0ZUxlZ2lzbGF0aWYueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWZbXCJAeHNpOnR5cGVcIl1cbiAgfVxuXG4gIC8vXG5cbiAgbGV0IGF1dGV1cnNSZWZzID0gYWN0ZUxlZ2lzbGF0aWYuYXV0ZXVyc1xuICBpZiAoYXV0ZXVyc1JlZnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGF1dGV1cnNSZWZzID0gYXV0ZXVyc1JlZnMuYWN0ZXVyUmVmXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGF1dGV1cnNSZWZzKSkge1xuICAgICAgYXNzZXJ0KGF1dGV1cnNSZWZzKVxuICAgICAgYXV0ZXVyc1JlZnMgPSBbYXV0ZXVyc1JlZnNdXG4gICAgfVxuICAgIGFjdGVMZWdpc2xhdGlmLmF1dGV1cnNSZWZzID0gYXV0ZXVyc1JlZnNcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYuYXV0ZXVyc1xuICB9XG5cbiAgY29uc3QgY2FzU2Fpc2luZSA9IGFjdGVMZWdpc2xhdGlmLmNhc1NhaXNpbmVcbiAgaWYgKGNhc1NhaXNpbmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKGNhc1NhaXNpbmUpXG4gIH1cblxuICBjb25zdCBjb250cmlidXRpb25JbnRlcm5hdXRlID0gYWN0ZUxlZ2lzbGF0aWYuY29udHJpYnV0aW9uSW50ZXJuYXV0ZVxuICBpZiAoY29udHJpYnV0aW9uSW50ZXJuYXV0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY29udHJpYnV0aW9uSW50ZXJuYXV0ZSlcbiAgfVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChhY3RlTGVnaXNsYXRpZi5kYXRlUmV0cmFpdCwgdW5kZWZpbmVkKVxuXG4gIGNvbnN0IGRlY2lzaW9uID0gYWN0ZUxlZ2lzbGF0aWYuZGVjaXNpb25cbiAgaWYgKGRlY2lzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblR5cGVEZWNsYXJhdGlvbihkZWNpc2lvbilcbiAgfVxuXG4gIGNvbnN0IGluZm9KbyA9IGFjdGVMZWdpc2xhdGlmLmluZm9KT1xuICBpZiAoaW5mb0pvICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhbkluZm9KbyhpbmZvSm8pXG4gICAgYWN0ZUxlZ2lzbGF0aWYuaW5mb0pvID0gaW5mb0pvXG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLmluZm9KT1xuICB9XG5cbiAgY29uc3QgaW5mb0pvY2UgPSBhY3RlTGVnaXNsYXRpZi5pbmZvSk9DRVxuICBpZiAoaW5mb0pvY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGFjdGVMZWdpc2xhdGlmLmluZm9Kb2NlID0gaW5mb0pvY2VcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYuaW5mb0pPQ0VcblxuICAgIGNvbnN0IHJlZkpvY2UgPSBpbmZvSm9jZS5yZWZKT0NFXG4gICAgaWYgKHJlZkpvY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5mb0pvY2UucmVmSm9jZSA9IHJlZkpvY2VcbiAgICAgIGRlbGV0ZSBpbmZvSm9jZS5yZWZKT0NFXG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZUpvY2UgPSBpbmZvSm9jZS5kYXRlSk9DRVxuICAgIGlmIChkYXRlSm9jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbmZvSm9jZS5kYXRlSm9jZSA9IGRhdGVKb2NlXG4gICAgICBkZWxldGUgaW5mb0pvY2UuZGF0ZUpPQ0VcbiAgICB9XG4gIH1cblxuICBsZXQgaW5mb0pvUmVjdCA9IGFjdGVMZWdpc2xhdGlmLmluZm9KT1JlY3RcbiAgaWYgKGluZm9Kb1JlY3QgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShpbmZvSm9SZWN0KSkge1xuICAgICAgaW5mb0pvUmVjdCA9IFtpbmZvSm9SZWN0XVxuICAgIH1cbiAgICBhY3RlTGVnaXNsYXRpZi5pbmZvSm9SZWN0ID0gaW5mb0pvUmVjdFxuICAgIGRlbGV0ZSBhY3RlTGVnaXNsYXRpZi5pbmZvSk9SZWN0XG5cbiAgICBmb3IgKGNvbnN0IGluZm9Kb1JlY3RJdGVtIG9mIGluZm9Kb1JlY3QpIHtcbiAgICAgIGNsZWFuSW5mb0pvKGluZm9Kb1JlY3RJdGVtKVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYWN0ZUxlZ2lzbGF0aWYuaW5pdGlhdGV1ciBhbmQgYWN0ZUxlZ2lzbGF0aWYuaW5pdGlhdGV1cnMgdG8gYW4gSW5pdGlhdGV1ci5cbiAgY2xlYW5BY3RlT3VEb3NzaWVySW5pdGlhdGV1cihhY3RlTGVnaXNsYXRpZilcbiAgbGV0IGluaXRpYXRldXIgPSBhY3RlTGVnaXNsYXRpZi5pbml0aWF0ZXVyc1xuICBpZiAoaW5pdGlhdGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFjdGVMZWdpc2xhdGlmLmluaXRpYXRldXIsIHVuZGVmaW5lZClcbiAgICBpZiAoaW5pdGlhdGV1ci5hY3RldXJSZWYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGluaXRpYXRldXIub3JnYW5lUmVmLCB1bmRlZmluZWQpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShpbml0aWF0ZXVyKSkge1xuICAgICAgICBhc3NlcnQoaW5pdGlhdGV1cilcbiAgICAgICAgaW5pdGlhdGV1ciA9IFtpbml0aWF0ZXVyXVxuICAgICAgfVxuICAgICAgaW5pdGlhdGV1ciA9IHtcbiAgICAgICAgYWN0ZXVyczogaW5pdGlhdGV1cixcbiAgICAgIH1cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYuaW5pdGlhdGV1ciA9IGluaXRpYXRldXJcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYuaW5pdGlhdGV1cnNcbiAgfVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChhY3RlTGVnaXNsYXRpZi5vZFNlYW5jZWpSZWYsIHVuZGVmaW5lZClcblxuICBjb25zdCBwcm92ZW5hbmNlUmVmID0gYWN0ZUxlZ2lzbGF0aWYucHJvdmVuYW5jZVxuICBpZiAocHJvdmVuYW5jZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLnByb3ZlbmFuY2VcbiAgICBhY3RlTGVnaXNsYXRpZi5wcm92ZW5hbmNlUmVmID0gcHJvdmVuYW5jZVJlZlxuICB9XG5cbiAgbGV0IHJhcHBvcnRldXJzID0gYWN0ZUxlZ2lzbGF0aWYucmFwcG9ydGV1cnNcbiAgaWYgKHJhcHBvcnRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICByYXBwb3J0ZXVycyA9IHJhcHBvcnRldXJzLnJhcHBvcnRldXJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocmFwcG9ydGV1cnMpKSB7XG4gICAgICBhc3NlcnQocmFwcG9ydGV1cnMpXG4gICAgICByYXBwb3J0ZXVycyA9IFtyYXBwb3J0ZXVyc11cbiAgICB9XG4gICAgYWN0ZUxlZ2lzbGF0aWYucmFwcG9ydGV1cnMgPSByYXBwb3J0ZXVyc1xuICAgIGZvciAoY29uc3QgcmFwcG9ydGV1ciBvZiByYXBwb3J0ZXVycykge1xuICAgICAgY2xlYW5SYXBwb3J0ZXVyKHJhcHBvcnRldXIpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVmZXJlbmNlTm9yID0gYWN0ZUxlZ2lzbGF0aWYucmVmZXJlbmNlTk9SXG4gIGlmIChyZWZlcmVuY2VOb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIGFjdGVMZWdpc2xhdGlmLnJlZmVyZW5jZU5vciA9IHJlZmVyZW5jZU5vclxuICAgIGRlbGV0ZSBhY3RlTGVnaXNsYXRpZi5yZWZlcmVuY2VOT1JcbiAgfVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChhY3RlTGVnaXNsYXRpZi5yZXVuaW9uLCB1bmRlZmluZWQpXG5cbiAgY29uc3Qgc3RhdHV0QWRvcHRpb24gPSBhY3RlTGVnaXNsYXRpZi5zdGF0dXRBZG9wdGlvblxuICBpZiAoc3RhdHV0QWRvcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKHN0YXR1dEFkb3B0aW9uKVxuICB9XG5cbiAgY29uc3Qgc3RhdHV0Q29uY2x1c2lvbiA9IGFjdGVMZWdpc2xhdGlmLnN0YXR1dENvbmNsdXNpb25cbiAgaWYgKHN0YXR1dENvbmNsdXNpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKHN0YXR1dENvbmNsdXNpb24pXG4gICAgaWYgKHN0YXR1dENvbmNsdXNpb24uZmFtQ29kZSA9PT0gXCJUU09SVEZudWxsXCIpIHtcbiAgICAgIC8vIE9jY3VyZWQgb25jZSBpbiBodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9kYXRhL2Fzc2VtYmxlZS1icnV0L0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWL2NvbW1pdC84MzgzODAwZmU3ZDk5M2RhN2I1OTZjNWIyMGZhZGMzMWM0ZGYzODM1XG4gICAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYuc3RhdHV0Q29uY2x1c2lvblxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRleHRlQWRvcHRlUmVmID0gYWN0ZUxlZ2lzbGF0aWYudGV4dGVBZG9wdGVcbiAgaWYgKHRleHRlQWRvcHRlUmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICBkZWxldGUgYWN0ZUxlZ2lzbGF0aWYudGV4dGVBZG9wdGVcbiAgICBhY3RlTGVnaXNsYXRpZi50ZXh0ZUFkb3B0ZVJlZiA9IHRleHRlQWRvcHRlUmVmXG4gIH1cblxuICBjb25zdCB0ZXh0ZUFzc29jaWVSZWYgPSBhY3RlTGVnaXNsYXRpZi50ZXh0ZUFzc29jaWVcbiAgaWYgKHRleHRlQXNzb2NpZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVsZXRlIGFjdGVMZWdpc2xhdGlmLnRleHRlQXNzb2NpZVxuICAgIGFjdGVMZWdpc2xhdGlmLnRleHRlQXNzb2NpZVJlZiA9IHRleHRlQXNzb2NpZVJlZlxuICB9XG5cbiAgbGV0IHRleHRlc0Fzc29jaWVzID0gYWN0ZUxlZ2lzbGF0aWYudGV4dGVzQXNzb2NpZXNcbiAgaWYgKHRleHRlc0Fzc29jaWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICB0ZXh0ZXNBc3NvY2llcyA9IHRleHRlc0Fzc29jaWVzLnRleHRlQXNzb2NpZVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0ZXh0ZXNBc3NvY2llcykpIHtcbiAgICAgIGFzc2VydCh0ZXh0ZXNBc3NvY2llcylcbiAgICAgIHRleHRlc0Fzc29jaWVzID0gW3RleHRlc0Fzc29jaWVzXVxuICAgIH1cbiAgICBhY3RlTGVnaXNsYXRpZi50ZXh0ZXNBc3NvY2llcyA9IHRleHRlc0Fzc29jaWVzXG5cbiAgICBmb3IgKGNvbnN0IHRleHRlQXNzb2NpZSBvZiB0ZXh0ZXNBc3NvY2llcykge1xuICAgICAgY29uc3QgdGV4dGVBc3NvY2llUmVmID0gdGV4dGVBc3NvY2llLnJlZlRleHRlQXNzb2NpZVxuICAgICAgaWYgKHRleHRlQXNzb2NpZVJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSB0ZXh0ZUFzc29jaWUucmVmVGV4dGVBc3NvY2llXG4gICAgICAgIHRleHRlQXNzb2NpZS50ZXh0ZUFzc29jaWVSZWYgPSB0ZXh0ZUFzc29jaWVSZWZcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCB0eXBlRGVjbGFyYXRpb24gPSBhY3RlTGVnaXNsYXRpZi50eXBlRGVjbGFyYXRpb25cbiAgaWYgKHR5cGVEZWNsYXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5UeXBlRGVjbGFyYXRpb24odHlwZURlY2xhcmF0aW9uKVxuICB9XG5cbiAgY29uc3QgdHlwZU1vdGlvbiA9IGFjdGVMZWdpc2xhdGlmLnR5cGVNb3Rpb25cbiAgaWYgKHR5cGVNb3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuVHlwZURlY2xhcmF0aW9uKHR5cGVNb3Rpb24pXG4gIH1cblxuICBjb25zdCB0eXBlTW90aW9uQ2Vuc3VyZSA9IGFjdGVMZWdpc2xhdGlmLnR5cGVNb3Rpb25DZW5zdXJlXG4gIGlmICh0eXBlTW90aW9uQ2Vuc3VyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5UeXBlRGVjbGFyYXRpb24odHlwZU1vdGlvbkNlbnN1cmUpXG4gIH1cblxuICBsZXQgdm90ZVJlZnMgPSBhY3RlTGVnaXNsYXRpZi52b3RlUmVmc1xuICBpZiAodm90ZVJlZnMgIT09IHVuZGVmaW5lZCkge1xuICAgIHZvdGVSZWZzID0gdm90ZVJlZnMudm90ZVJlZlxuICAgIGlmICghQXJyYXkuaXNBcnJheSh2b3RlUmVmcykpIHtcbiAgICAgIGFzc2VydCh2b3RlUmVmcylcbiAgICAgIHZvdGVSZWZzID0gW3ZvdGVSZWZzXVxuICAgIH1cbiAgICBhY3RlTGVnaXNsYXRpZi52b3RlUmVmcyA9IHZvdGVSZWZzXG4gIH1cblxuICAvL1xuXG4gIGxldCBhY3Rlc0xlZ2lzbGF0aWZzID0gYWN0ZUxlZ2lzbGF0aWYuYWN0ZXNMZWdpc2xhdGlmc1xuICBpZiAoYWN0ZXNMZWdpc2xhdGlmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYWN0ZXNMZWdpc2xhdGlmcyA9IGFjdGVzTGVnaXNsYXRpZnMuYWN0ZUxlZ2lzbGF0aWZcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGFzc2VydChhY3Rlc0xlZ2lzbGF0aWZzKVxuICAgICAgYWN0ZXNMZWdpc2xhdGlmcyA9IFthY3Rlc0xlZ2lzbGF0aWZzXVxuICAgIH1cbiAgICBhY3RlTGVnaXNsYXRpZi5hY3Rlc0xlZ2lzbGF0aWZzID0gYWN0ZXNMZWdpc2xhdGlmc1xuICAgIGZvciAoY29uc3QgYWN0ZUxlZ2lzbGF0aWYgb2YgYWN0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgY2xlYW5BY3RlTGVnaXNsYXRpZihhY3RlTGVnaXNsYXRpZilcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQWN0ZU91RG9zc2llckluaXRpYXRldXIoYWN0ZU91RG9zc2llcjogYW55KTogdm9pZCB7XG4gIGNvbnN0IGluaXRpYXRldXIgPSBhY3RlT3VEb3NzaWVyLmluaXRpYXRldXJcbiAgaWYgKGluaXRpYXRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBhY3RldXJzID0gaW5pdGlhdGV1ci5hY3RldXJzXG4gICAgaWYgKGFjdGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYWN0ZXVycyA9IGFjdGV1cnMuYWN0ZXVyXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0ZXVycykpIHtcbiAgICAgICAgYXNzZXJ0KGFjdGV1cnMpXG4gICAgICAgIGFjdGV1cnMgPSBbYWN0ZXVyc11cbiAgICAgIH1cbiAgICAgIGlmIChhY3RldXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaW5pdGlhdGV1ci5hY3RldXJzID0gYWN0ZXVyc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIGluaXRpYXRldXIuYWN0ZXVyc1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvcmdhbmVSZWYgPSBpbml0aWF0ZXVyLm9yZ2FuZXNcbiAgICBpZiAob3JnYW5lUmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9yZ2FuZVJlZiA9IG9yZ2FuZVJlZi5vcmdhbmUub3JnYW5lUmVmLnVpZFxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKG9yZ2FuZVJlZiwgdW5kZWZpbmVkKVxuICAgICAgaW5pdGlhdGV1ci5vcmdhbmVSZWYgPSBvcmdhbmVSZWZcbiAgICAgIGRlbGV0ZSBpbml0aWF0ZXVyLm9yZ2FuZXNcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpbml0aWF0ZXVyLmFjdGV1cnMgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgaW5pdGlhdGV1ci5vcmdhbmVSZWYgPT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgZGVsZXRlIGFjdGVPdURvc3NpZXIuaW5pdGlhdGV1clxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhbkluZm9KbyhpbmZvSm86IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhpbmZvSm8pXG5cbiAgY29uc3QgdHlwZUpvID0gaW5mb0pvLnR5cGVKT1xuICBpZiAodHlwZUpvICE9PSB1bmRlZmluZWQpIHtcbiAgICBpbmZvSm8udHlwZUpvID0gdHlwZUpvXG4gICAgZGVsZXRlIGluZm9Kby50eXBlSk9cbiAgfVxuXG4gIGNvbnN0IGRhdGVKbyA9IGluZm9Kby5kYXRlSk9cbiAgaWYgKGRhdGVKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5mb0pvLmRhdGVKbyA9IGRhdGVKb1xuICAgIGRlbGV0ZSBpbmZvSm8uZGF0ZUpPXG4gIH1cblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoaW5mb0pvLnBhZ2VKTywgdW5kZWZpbmVkKVxuXG4gIGNvbnN0IG51bUpvID0gaW5mb0pvLm51bUpPXG4gIGlmIChudW1KbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5mb0pvLm51bUpvID0gbnVtSm9cbiAgICBkZWxldGUgaW5mb0pvLm51bUpPXG4gIH1cblxuICBjb25zdCByZWZlcmVuY2VOb3IgPSBpbmZvSm8ucmVmZXJlbmNlTk9SXG4gIGlmIChyZWZlcmVuY2VOb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIGluZm9Kby5yZWZlcmVuY2VOb3IgPSByZWZlcmVuY2VOb3JcbiAgICBkZWxldGUgaW5mb0pvLnJlZmVyZW5jZU5PUlxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuVHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbjogYW55KSB7XG4gIHR5cGVEZWNsYXJhdGlvbi5mYW1Db2RlID0gdHlwZURlY2xhcmF0aW9uLmZhbV9jb2RlXG4gIGRlbGV0ZSB0eXBlRGVjbGFyYXRpb24uZmFtX2NvZGVcbiAgYXNzZXJ0KHR5cGVEZWNsYXJhdGlvbi5mYW1Db2RlKVxuXG4gIGlmICghdHlwZURlY2xhcmF0aW9uLmxpYmVsbGUpIHtcbiAgICAvLyBPY2N1cmVkIG9uY2UgaW4gaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS9hc3NlbWJsZWUtYnJ1dC9Eb3NzaWVyc19MZWdpc2xhdGlmc19YVi9jb21taXQvODM4MzgwMGZlN2Q5OTNkYTdiNTk2YzViMjBmYWRjMzFjNGRmMzgzNTpcbiAgICAvLyBcInN0YXR1dENvbmNsdXNpb25cIjoge1xuICAgIC8vICAgXCJmYW1fY29kZVwiOiBcIlRTT1JURm51bGxcIlxuICAgIC8vIH0sXG4gICAgLy8gVGhpcyBmYW1Db2RlIGlzIGFuIGVycm9yLlxuICAgIHR5cGVEZWNsYXJhdGlvbi5saWJlbGxlID0gdHlwZURlY2xhcmF0aW9uLmZhbUNvZGVcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsSUFBQSxHQUFBRixPQUFBO0FBQXlDLFNBQUFELHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSwyQkFBQUMsQ0FBQSxFQUFBSCxDQUFBLFFBQUFJLENBQUEseUJBQUFDLE1BQUEsSUFBQUYsQ0FBQSxDQUFBRSxNQUFBLENBQUFDLFFBQUEsS0FBQUgsQ0FBQSxxQkFBQUMsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQUwsQ0FBQSxNQUFBQyxDQUFBLEdBQUFLLDJCQUFBLENBQUFOLENBQUEsTUFBQUgsQ0FBQSxJQUFBRyxDQUFBLHVCQUFBQSxDQUFBLENBQUFPLE1BQUEsSUFBQU4sQ0FBQSxLQUFBRCxDQUFBLEdBQUFDLENBQUEsT0FBQU8sRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUEsRUFBQSxXQUFBSCxFQUFBLElBQUFSLENBQUEsQ0FBQU8sTUFBQSxLQUFBSyxJQUFBLFdBQUFBLElBQUEsTUFBQUMsS0FBQSxFQUFBYixDQUFBLENBQUFRLEVBQUEsVUFBQVgsQ0FBQSxXQUFBQSxFQUFBRyxDQUFBLFVBQUFBLENBQUEsS0FBQWMsQ0FBQSxFQUFBTCxDQUFBLGdCQUFBTSxTQUFBLGlKQUFBQyxDQUFBLEVBQUFDLENBQUEsT0FBQUMsQ0FBQSxnQkFBQVIsQ0FBQSxXQUFBQSxFQUFBLElBQUFULENBQUEsR0FBQUEs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