@tricoteuses/senat 0.3.2 → 1.1.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 (131) hide show
  1. package/README.md +55 -0
  2. package/lib/aggregates.d.ts +54 -0
  3. package/lib/aggregates.js +1122 -0
  4. package/lib/aggregates.mjs +802 -0
  5. package/lib/aggregates.ts +947 -0
  6. package/lib/config.d.ts +2 -0
  7. package/lib/config.js +49 -0
  8. package/lib/config.mjs +16 -0
  9. package/lib/config.ts +26 -0
  10. package/lib/databases.d.ts +11 -0
  11. package/lib/databases.js +125 -0
  12. package/lib/databases.mjs +26 -0
  13. package/lib/databases.ts +32 -0
  14. package/lib/datasets.d.ts +28 -0
  15. package/lib/datasets.js +93 -0
  16. package/lib/datasets.mjs +78 -0
  17. package/lib/datasets.ts +118 -0
  18. package/lib/fields.d.ts +10 -0
  19. package/lib/fields.js +68 -0
  20. package/lib/fields.mjs +22 -0
  21. package/lib/fields.ts +29 -0
  22. package/lib/index.d.ts +6 -5
  23. package/lib/index.js +236 -7
  24. package/lib/index.mjs +6 -1
  25. package/lib/index.ts +59 -0
  26. package/lib/inserters.d.ts +6 -2
  27. package/lib/inserters.js +86 -191
  28. package/lib/inserters.mjs +19 -3
  29. package/lib/inserters.ts +545 -0
  30. package/lib/model/ameli.d.ts +4 -0
  31. package/lib/model/ameli.js +167 -0
  32. package/lib/model/ameli.mjs +57 -0
  33. package/lib/model/ameli.ts +86 -0
  34. package/lib/model/debats.d.ts +4 -0
  35. package/lib/model/debats.js +123 -0
  36. package/lib/model/debats.mjs +43 -0
  37. package/lib/model/debats.ts +68 -0
  38. package/lib/model/dosleg.d.ts +29 -0
  39. package/lib/model/dosleg.js +840 -0
  40. package/lib/model/dosleg.mjs +337 -0
  41. package/lib/model/dosleg.ts +558 -0
  42. package/lib/model/index.d.ts +5 -0
  43. package/lib/model/index.js +48 -0
  44. package/lib/model/index.mjs +5 -0
  45. package/lib/model/index.ts +11 -0
  46. package/lib/model/questions.d.ts +2 -0
  47. package/lib/model/questions.js +52 -0
  48. package/lib/model/questions.mjs +8 -0
  49. package/lib/model/questions.ts +14 -0
  50. package/lib/model/sens.d.ts +2 -0
  51. package/lib/model/sens.js +57 -0
  52. package/lib/model/sens.mjs +9 -0
  53. package/lib/model/sens.ts +18 -0
  54. package/lib/model/util.d.ts +1 -0
  55. package/lib/model/util.js +60 -0
  56. package/lib/model/util.mjs +10 -0
  57. package/lib/model/util.ts +16 -0
  58. package/lib/raw_types/ameli.d.ts +416 -410
  59. package/lib/raw_types/ameli.js +26 -144
  60. package/lib/raw_types/ameli.ts +601 -0
  61. package/lib/raw_types/debats.d.ts +82 -80
  62. package/lib/raw_types/debats.js +8 -42
  63. package/lib/raw_types/debats.ts +145 -0
  64. package/lib/raw_types/dosleg.d.ts +936 -920
  65. package/lib/raw_types/dosleg.js +5 -345
  66. package/lib/raw_types/dosleg.ts +2193 -0
  67. package/lib/raw_types/questions.d.ts +226 -2
  68. package/lib/raw_types/questions.js +18 -5
  69. package/lib/raw_types/questions.mjs +1 -8
  70. package/lib/raw_types/questions.ts +249 -0
  71. package/lib/raw_types/sens.d.ts +1180 -1176
  72. package/lib/raw_types/sens.js +3 -397
  73. package/lib/raw_types/sens.ts +2907 -0
  74. package/lib/scripts/convert_data.d.ts +1 -0
  75. package/lib/scripts/convert_data.js +284 -0
  76. package/lib/scripts/convert_data.mjs +146 -0
  77. package/lib/scripts/convert_data.ts +182 -0
  78. package/lib/scripts/fix_db.d.ts +1 -0
  79. package/lib/scripts/fix_db.js +144 -0
  80. package/lib/scripts/fix_db.mjs +64 -0
  81. package/lib/scripts/fix_db.ts +75 -0
  82. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  83. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  84. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  85. package/lib/scripts/retrieve_open_data.js +371 -0
  86. package/lib/scripts/retrieve_open_data.mjs +218 -0
  87. package/lib/scripts/retrieve_open_data.ts +258 -0
  88. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  89. package/lib/scripts/retrieve_senateurs_photos.js +268 -0
  90. package/lib/scripts/retrieve_senateurs_photos.mjs +164 -0
  91. package/lib/scripts/retrieve_senateurs_photos.ts +200 -0
  92. package/lib/scripts/retrieve_textes.d.ts +1 -0
  93. package/lib/scripts/retrieve_textes.js +179 -0
  94. package/lib/scripts/retrieve_textes.mjs +77 -0
  95. package/lib/scripts/retrieve_textes.ts +95 -0
  96. package/lib/strings.d.ts +1 -0
  97. package/lib/strings.js +49 -0
  98. package/lib/strings.mjs +18 -0
  99. package/lib/strings.ts +26 -0
  100. package/lib/types/ameli.d.ts +5 -0
  101. package/lib/types/ameli.js +7 -4
  102. package/lib/types/ameli.mjs +13 -1
  103. package/lib/types/ameli.ts +21 -0
  104. package/lib/types/debats.d.ts +2 -0
  105. package/lib/types/debats.js +4 -3
  106. package/lib/types/debats.mjs +2 -1
  107. package/lib/types/debats.ts +6 -0
  108. package/lib/types/dosleg.d.ts +28 -0
  109. package/lib/types/dosleg.js +30 -3
  110. package/lib/types/dosleg.mjs +151 -1
  111. package/lib/types/dosleg.ts +284 -0
  112. package/lib/types/questions.d.ts +2 -0
  113. package/lib/types/questions.js +13 -1
  114. package/lib/types/questions.mjs +1 -1
  115. package/lib/types/questions.ts +3 -0
  116. package/lib/types/sens.d.ts +2 -0
  117. package/lib/types/sens.js +4 -3
  118. package/lib/types/sens.mjs +23 -1
  119. package/lib/types/sens.ts +36 -0
  120. package/lib/typings/windows-1252.d.js +2 -0
  121. package/lib/typings/windows-1252.d.mjs +2 -0
  122. package/lib/typings/windows-1252.d.ts +11 -0
  123. package/lib/validators/config.d.ts +1 -0
  124. package/lib/validators/config.js +121 -0
  125. package/lib/validators/config.mjs +54 -0
  126. package/lib/validators/config.ts +79 -0
  127. package/lib/validators/senat.d.ts +0 -0
  128. package/lib/validators/senat.js +28 -0
  129. package/lib/validators/senat.mjs +24 -0
  130. package/lib/validators/senat.ts +26 -0
  131. package/package.json +35 -4
@@ -0,0 +1,840 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ require("core-js/modules/es.symbol.js");
5
+ require("core-js/modules/es.symbol.description.js");
6
+ require("core-js/modules/es.symbol.async-iterator.js");
7
+ require("core-js/modules/es.symbol.iterator.js");
8
+ require("core-js/modules/es.symbol.to-string-tag.js");
9
+ require("core-js/modules/es.array.for-each.js");
10
+ require("core-js/modules/es.array.iterator.js");
11
+ require("core-js/modules/es.array.reverse.js");
12
+ require("core-js/modules/es.array.slice.js");
13
+ require("core-js/modules/es.function.name.js");
14
+ require("core-js/modules/es.json.to-string-tag.js");
15
+ require("core-js/modules/es.math.to-string-tag.js");
16
+ require("core-js/modules/es.object.create.js");
17
+ require("core-js/modules/es.object.define-property.js");
18
+ require("core-js/modules/es.object.get-prototype-of.js");
19
+ require("core-js/modules/es.object.set-prototype-of.js");
20
+ require("core-js/modules/es.string.iterator.js");
21
+ require("core-js/modules/web.dom-collections.for-each.js");
22
+ require("core-js/modules/web.dom-collections.iterator.js");
23
+ Object.defineProperty(exports, "__esModule", {
24
+ value: true
25
+ });
26
+ exports.getTypurls = exports.getTyptxts = exports.getTyplois = exports.getTyplecs = exports.getTypatts = exports.getTextesFromLecassidts = exports.getScrsFromCodes = exports.getRaps = exports.getRaporgsFromOrgcods = exports.getQuas = exports.getOritxts = exports.getOrgsFromRapcods = exports.getOrgs = exports.getLois = exports.getLecturesFromLoicods = exports.getLecasssFromLecidts = exports.getLecassrapsFromLecassidts = exports.getEtalois = exports.getEcrsFromTexcods = exports.getEcrsFromRapcods = exports.getDocattsFromRapcods = exports.getDenraps = exports.getDeccocs = exports.getDatesSeancesFromLecassidts = exports.getAuteurs = exports.getAudsFromLecassidts = exports.getAsss = exports.getAllLois = void 0;
27
+ require("core-js/modules/es.array.map.js");
28
+ require("core-js/modules/es.object.to-string.js");
29
+ require("core-js/modules/es.promise.js");
30
+ var _dosleg = require("../types/dosleg");
31
+ var _databases = require("../databases");
32
+ var _fields = require("../fields");
33
+ 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; }
34
+ 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); }
35
+ 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); }); }; }
36
+ var getAsss = exports.getAsss = /*#__PURE__*/function () {
37
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(ids) {
38
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
39
+ while (1) switch (_context.prev = _context.next) {
40
+ case 0:
41
+ if (!(ids.length === 0)) {
42
+ _context.next = 2;
43
+ break;
44
+ }
45
+ return _context.abrupt("return", []);
46
+ case 2:
47
+ _context.next = 4;
48
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM ass\n WHERE codass IN ($<ids:list>)\n ", {
49
+ ids: ids
50
+ });
51
+ case 4:
52
+ return _context.abrupt("return", _context.sent.map(function (ass) {
53
+ return (0, _fields.trimFieldsRight)(_dosleg.assFieldsToTrim, ass);
54
+ }));
55
+ case 5:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }, _callee);
60
+ }));
61
+ return function getAsss(_x) {
62
+ return _ref.apply(this, arguments);
63
+ };
64
+ }();
65
+ var getAudsFromLecassidts = exports.getAudsFromLecassidts = /*#__PURE__*/function () {
66
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(ids) {
67
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
68
+ while (1) switch (_context2.prev = _context2.next) {
69
+ case 0:
70
+ if (!(ids.length === 0)) {
71
+ _context2.next = 2;
72
+ break;
73
+ }
74
+ return _context2.abrupt("return", []);
75
+ case 2:
76
+ _context2.next = 4;
77
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM aud\n WHERE lecassidt IN ($<ids:list>)\n ", {
78
+ ids: ids
79
+ });
80
+ case 4:
81
+ return _context2.abrupt("return", _context2.sent.map(function (aud) {
82
+ return (0, _fields.trimFieldsRight)(_dosleg.audFieldsToTrim, aud);
83
+ }));
84
+ case 5:
85
+ case "end":
86
+ return _context2.stop();
87
+ }
88
+ }, _callee2);
89
+ }));
90
+ return function getAudsFromLecassidts(_x2) {
91
+ return _ref2.apply(this, arguments);
92
+ };
93
+ }();
94
+ var getAuteurs = exports.getAuteurs = /*#__PURE__*/function () {
95
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(ids) {
96
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
97
+ while (1) switch (_context3.prev = _context3.next) {
98
+ case 0:
99
+ if (!(ids.length === 0)) {
100
+ _context3.next = 2;
101
+ break;
102
+ }
103
+ return _context3.abrupt("return", []);
104
+ case 2:
105
+ _context3.next = 4;
106
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM auteur\n WHERE autcod IN ($<ids:list>)\n ", {
107
+ ids: ids
108
+ });
109
+ case 4:
110
+ return _context3.abrupt("return", _context3.sent.map(function (auteur) {
111
+ return (0, _fields.trimFieldsRight)(_dosleg.auteurFieldsToTrim, auteur);
112
+ }));
113
+ case 5:
114
+ case "end":
115
+ return _context3.stop();
116
+ }
117
+ }, _callee3);
118
+ }));
119
+ return function getAuteurs(_x3) {
120
+ return _ref3.apply(this, arguments);
121
+ };
122
+ }();
123
+ var getDatesSeancesFromLecassidts = exports.getDatesSeancesFromLecassidts = /*#__PURE__*/function () {
124
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(ids) {
125
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
126
+ while (1) switch (_context4.prev = _context4.next) {
127
+ case 0:
128
+ if (!(ids.length === 0)) {
129
+ _context4.next = 2;
130
+ break;
131
+ }
132
+ return _context4.abrupt("return", []);
133
+ case 2:
134
+ _context4.next = 4;
135
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM date_seance\n WHERE lecidt IN ($<ids:list>)\n ", {
136
+ ids: ids
137
+ });
138
+ case 4:
139
+ return _context4.abrupt("return", _context4.sent.map(function (dateSeance) {
140
+ return (0, _fields.trimFieldsRight)(_dosleg.dateSeanceFieldsToTrim, dateSeance);
141
+ }));
142
+ case 5:
143
+ case "end":
144
+ return _context4.stop();
145
+ }
146
+ }, _callee4);
147
+ }));
148
+ return function getDatesSeancesFromLecassidts(_x4) {
149
+ return _ref4.apply(this, arguments);
150
+ };
151
+ }();
152
+ var getDeccocs = exports.getDeccocs = /*#__PURE__*/function () {
153
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(ids) {
154
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
155
+ while (1) switch (_context5.prev = _context5.next) {
156
+ case 0:
157
+ if (!(ids.length === 0)) {
158
+ _context5.next = 2;
159
+ break;
160
+ }
161
+ return _context5.abrupt("return", []);
162
+ case 2:
163
+ _context5.next = 4;
164
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM deccoc\n WHERE deccoccod IN ($<ids:list>)\n ", {
165
+ ids: ids
166
+ });
167
+ case 4:
168
+ return _context5.abrupt("return", _context5.sent.map(function (deccoc) {
169
+ return (0, _fields.trimFieldsRight)(_dosleg.deccocFieldsToTrim, deccoc);
170
+ }));
171
+ case 5:
172
+ case "end":
173
+ return _context5.stop();
174
+ }
175
+ }, _callee5);
176
+ }));
177
+ return function getDeccocs(_x5) {
178
+ return _ref5.apply(this, arguments);
179
+ };
180
+ }();
181
+ var getDenraps = exports.getDenraps = /*#__PURE__*/function () {
182
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(ids) {
183
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
184
+ while (1) switch (_context6.prev = _context6.next) {
185
+ case 0:
186
+ if (!(ids.length === 0)) {
187
+ _context6.next = 2;
188
+ break;
189
+ }
190
+ return _context6.abrupt("return", []);
191
+ case 2:
192
+ _context6.next = 4;
193
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM denrap\n WHERE coddenrap IN ($<ids:list>)\n ", {
194
+ ids: ids
195
+ });
196
+ case 4:
197
+ return _context6.abrupt("return", _context6.sent.map(function (denrap) {
198
+ return (0, _fields.trimFieldsRight)(_dosleg.denrapFieldsToTrim, denrap);
199
+ }));
200
+ case 5:
201
+ case "end":
202
+ return _context6.stop();
203
+ }
204
+ }, _callee6);
205
+ }));
206
+ return function getDenraps(_x6) {
207
+ return _ref6.apply(this, arguments);
208
+ };
209
+ }();
210
+ var getDocattsFromRapcods = exports.getDocattsFromRapcods = /*#__PURE__*/function () {
211
+ var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(ids) {
212
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
213
+ while (1) switch (_context7.prev = _context7.next) {
214
+ case 0:
215
+ if (!(ids.length === 0)) {
216
+ _context7.next = 2;
217
+ break;
218
+ }
219
+ return _context7.abrupt("return", []);
220
+ case 2:
221
+ _context7.next = 4;
222
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM docatt\n WHERE rapcod IN($<ids:list>)\n ", {
223
+ ids: ids
224
+ });
225
+ case 4:
226
+ return _context7.abrupt("return", _context7.sent.map(function (docatt) {
227
+ return (0, _fields.parseIntFields)(_dosleg.docattFieldsToParseInt, (0, _fields.trimFieldsRight)(_dosleg.docattFieldsToTrim, docatt));
228
+ }));
229
+ case 5:
230
+ case "end":
231
+ return _context7.stop();
232
+ }
233
+ }, _callee7);
234
+ }));
235
+ return function getDocattsFromRapcods(_x7) {
236
+ return _ref7.apply(this, arguments);
237
+ };
238
+ }();
239
+ var getEcrsFromRapcods = exports.getEcrsFromRapcods = /*#__PURE__*/function () {
240
+ var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(ids) {
241
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
242
+ while (1) switch (_context8.prev = _context8.next) {
243
+ case 0:
244
+ if (!(ids.length === 0)) {
245
+ _context8.next = 2;
246
+ break;
247
+ }
248
+ return _context8.abrupt("return", []);
249
+ case 2:
250
+ _context8.next = 4;
251
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM ecr\n WHERE rapcod IN($<ids:list>)\n ", {
252
+ ids: ids
253
+ });
254
+ case 4:
255
+ return _context8.abrupt("return", _context8.sent.map(function (ecr) {
256
+ return (0, _fields.trimFieldsRight)(_dosleg.ecrFieldsToTrim, ecr);
257
+ }));
258
+ case 5:
259
+ case "end":
260
+ return _context8.stop();
261
+ }
262
+ }, _callee8);
263
+ }));
264
+ return function getEcrsFromRapcods(_x8) {
265
+ return _ref8.apply(this, arguments);
266
+ };
267
+ }();
268
+ var getEcrsFromTexcods = exports.getEcrsFromTexcods = /*#__PURE__*/function () {
269
+ var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(ids) {
270
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
271
+ while (1) switch (_context9.prev = _context9.next) {
272
+ case 0:
273
+ if (!(ids.length === 0)) {
274
+ _context9.next = 2;
275
+ break;
276
+ }
277
+ return _context9.abrupt("return", []);
278
+ case 2:
279
+ _context9.next = 4;
280
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM ecr\n WHERE texcod IN($<ids:list>)\n ", {
281
+ ids: ids
282
+ });
283
+ case 4:
284
+ return _context9.abrupt("return", _context9.sent.map(function (ecr) {
285
+ return (0, _fields.trimFieldsRight)(_dosleg.ecrFieldsToTrim, ecr);
286
+ }));
287
+ case 5:
288
+ case "end":
289
+ return _context9.stop();
290
+ }
291
+ }, _callee9);
292
+ }));
293
+ return function getEcrsFromTexcods(_x9) {
294
+ return _ref9.apply(this, arguments);
295
+ };
296
+ }();
297
+ var getEtalois = exports.getEtalois = /*#__PURE__*/function () {
298
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(ids) {
299
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
300
+ while (1) switch (_context10.prev = _context10.next) {
301
+ case 0:
302
+ if (!(ids.length === 0)) {
303
+ _context10.next = 2;
304
+ break;
305
+ }
306
+ return _context10.abrupt("return", []);
307
+ case 2:
308
+ _context10.next = 4;
309
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM etaloi\n WHERE etaloicod IN ($<ids:list>)\n ", {
310
+ ids: ids
311
+ });
312
+ case 4:
313
+ return _context10.abrupt("return", _context10.sent.map(function (etaloi) {
314
+ return (0, _fields.trimFieldsRight)(_dosleg.etaloiFieldsToTrim, etaloi);
315
+ }));
316
+ case 5:
317
+ case "end":
318
+ return _context10.stop();
319
+ }
320
+ }, _callee10);
321
+ }));
322
+ return function getEtalois(_x10) {
323
+ return _ref10.apply(this, arguments);
324
+ };
325
+ }();
326
+ var getLecasssFromLecidts = exports.getLecasssFromLecidts = /*#__PURE__*/function () {
327
+ var _ref11 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(ids) {
328
+ return _regeneratorRuntime().wrap(function _callee11$(_context11) {
329
+ while (1) switch (_context11.prev = _context11.next) {
330
+ case 0:
331
+ if (!(ids.length === 0)) {
332
+ _context11.next = 2;
333
+ break;
334
+ }
335
+ return _context11.abrupt("return", []);
336
+ case 2:
337
+ _context11.next = 4;
338
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM lecass\n WHERE lecidt IN ($<ids:list>)\n ", {
339
+ ids: ids
340
+ });
341
+ case 4:
342
+ return _context11.abrupt("return", _context11.sent.map(function (lecass) {
343
+ return (0, _fields.trimFieldsRight)(_dosleg.lecassFieldsToTrim, lecass);
344
+ }));
345
+ case 5:
346
+ case "end":
347
+ return _context11.stop();
348
+ }
349
+ }, _callee11);
350
+ }));
351
+ return function getLecasssFromLecidts(_x11) {
352
+ return _ref11.apply(this, arguments);
353
+ };
354
+ }();
355
+ var getLecassrapsFromLecassidts = exports.getLecassrapsFromLecassidts = /*#__PURE__*/function () {
356
+ var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(ids) {
357
+ return _regeneratorRuntime().wrap(function _callee12$(_context12) {
358
+ while (1) switch (_context12.prev = _context12.next) {
359
+ case 0:
360
+ if (!(ids.length === 0)) {
361
+ _context12.next = 2;
362
+ break;
363
+ }
364
+ return _context12.abrupt("return", []);
365
+ case 2:
366
+ _context12.next = 4;
367
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM lecassrap\n WHERE lecassidt IN ($<ids:list>)\n ", {
368
+ ids: ids
369
+ });
370
+ case 4:
371
+ return _context12.abrupt("return", _context12.sent.map(function (lecassrap) {
372
+ return (0, _fields.trimFieldsRight)(_dosleg.lecassrapFieldsToTrim, lecassrap);
373
+ }));
374
+ case 5:
375
+ case "end":
376
+ return _context12.stop();
377
+ }
378
+ }, _callee12);
379
+ }));
380
+ return function getLecassrapsFromLecassidts(_x12) {
381
+ return _ref12.apply(this, arguments);
382
+ };
383
+ }();
384
+ var getLecturesFromLoicods = exports.getLecturesFromLoicods = /*#__PURE__*/function () {
385
+ var _ref13 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(ids) {
386
+ return _regeneratorRuntime().wrap(function _callee13$(_context13) {
387
+ while (1) switch (_context13.prev = _context13.next) {
388
+ case 0:
389
+ if (!(ids.length === 0)) {
390
+ _context13.next = 2;
391
+ break;
392
+ }
393
+ return _context13.abrupt("return", []);
394
+ case 2:
395
+ _context13.next = 4;
396
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM lecture\n WHERE loicod IN ($<ids:list>)\n ", {
397
+ ids: ids
398
+ });
399
+ case 4:
400
+ return _context13.abrupt("return", _context13.sent.map(function (lecture) {
401
+ return (0, _fields.trimFieldsRight)(_dosleg.lectureFieldsToTrim, lecture);
402
+ }));
403
+ case 5:
404
+ case "end":
405
+ return _context13.stop();
406
+ }
407
+ }, _callee13);
408
+ }));
409
+ return function getLecturesFromLoicods(_x13) {
410
+ return _ref13.apply(this, arguments);
411
+ };
412
+ }();
413
+ var getLois = exports.getLois = /*#__PURE__*/function () {
414
+ var _ref14 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(ids) {
415
+ return _regeneratorRuntime().wrap(function _callee14$(_context14) {
416
+ while (1) switch (_context14.prev = _context14.next) {
417
+ case 0:
418
+ if (!(ids.length === 0)) {
419
+ _context14.next = 2;
420
+ break;
421
+ }
422
+ return _context14.abrupt("return", []);
423
+ case 2:
424
+ _context14.next = 4;
425
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM loi\n WHERE loicod IN ($<ids:list>)\n ", {
426
+ ids: ids
427
+ });
428
+ case 4:
429
+ return _context14.abrupt("return", _context14.sent.map(function (loi) {
430
+ return (0, _fields.trimFieldsRight)(_dosleg.loiFieldsToTrim, loi);
431
+ }));
432
+ case 5:
433
+ case "end":
434
+ return _context14.stop();
435
+ }
436
+ }, _callee14);
437
+ }));
438
+ return function getLois(_x14) {
439
+ return _ref14.apply(this, arguments);
440
+ };
441
+ }();
442
+ var getAllLois = exports.getAllLois = /*#__PURE__*/function () {
443
+ var _ref15 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15() {
444
+ return _regeneratorRuntime().wrap(function _callee15$(_context15) {
445
+ while (1) switch (_context15.prev = _context15.next) {
446
+ case 0:
447
+ _context15.next = 2;
448
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM loi\n ");
449
+ case 2:
450
+ return _context15.abrupt("return", _context15.sent.map(function (loi) {
451
+ return (0, _fields.trimFieldsRight)(_dosleg.loiFieldsToTrim, loi);
452
+ }));
453
+ case 3:
454
+ case "end":
455
+ return _context15.stop();
456
+ }
457
+ }, _callee15);
458
+ }));
459
+ return function getAllLois() {
460
+ return _ref15.apply(this, arguments);
461
+ };
462
+ }();
463
+ var getOrgs = exports.getOrgs = /*#__PURE__*/function () {
464
+ var _ref16 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(ids) {
465
+ return _regeneratorRuntime().wrap(function _callee16$(_context16) {
466
+ while (1) switch (_context16.prev = _context16.next) {
467
+ case 0:
468
+ if (!(ids.length === 0)) {
469
+ _context16.next = 2;
470
+ break;
471
+ }
472
+ return _context16.abrupt("return", []);
473
+ case 2:
474
+ _context16.next = 4;
475
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM org\n WHERE orgcod IN ($<ids:list>)\n ", {
476
+ ids: ids
477
+ });
478
+ case 4:
479
+ return _context16.abrupt("return", _context16.sent.map(function (org) {
480
+ return (0, _fields.trimFieldsRight)(_dosleg.orgFieldsToTrim, org);
481
+ }));
482
+ case 5:
483
+ case "end":
484
+ return _context16.stop();
485
+ }
486
+ }, _callee16);
487
+ }));
488
+ return function getOrgs(_x15) {
489
+ return _ref16.apply(this, arguments);
490
+ };
491
+ }();
492
+ var getOrgsFromRapcods = exports.getOrgsFromRapcods = /*#__PURE__*/function () {
493
+ var _ref17 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17(ids) {
494
+ return _regeneratorRuntime().wrap(function _callee17$(_context17) {
495
+ while (1) switch (_context17.prev = _context17.next) {
496
+ case 0:
497
+ if (!(ids.length === 0)) {
498
+ _context17.next = 2;
499
+ break;
500
+ }
501
+ return _context17.abrupt("return", []);
502
+ case 2:
503
+ _context17.next = 4;
504
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM org\n WHERE orgcod IN (\n SELECT orgcod\n FROM raporg\n WHERE rapcod IN ($<ids:list>)\n )\n ", {
505
+ ids: ids
506
+ });
507
+ case 4:
508
+ return _context17.abrupt("return", _context17.sent.map(function (org) {
509
+ return (0, _fields.trimFieldsRight)(_dosleg.orgFieldsToTrim, org);
510
+ }));
511
+ case 5:
512
+ case "end":
513
+ return _context17.stop();
514
+ }
515
+ }, _callee17);
516
+ }));
517
+ return function getOrgsFromRapcods(_x16) {
518
+ return _ref17.apply(this, arguments);
519
+ };
520
+ }();
521
+ var getRaporgsFromOrgcods = exports.getRaporgsFromOrgcods = /*#__PURE__*/function () {
522
+ var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(ids) {
523
+ return _regeneratorRuntime().wrap(function _callee18$(_context18) {
524
+ while (1) switch (_context18.prev = _context18.next) {
525
+ case 0:
526
+ if (!(ids.length === 0)) {
527
+ _context18.next = 2;
528
+ break;
529
+ }
530
+ return _context18.abrupt("return", []);
531
+ case 2:
532
+ _context18.next = 4;
533
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM raporg\n WHERE orgcod IN ($<ids:list>)\n ", {
534
+ ids: ids
535
+ });
536
+ case 4:
537
+ return _context18.abrupt("return", _context18.sent.map(function (raporg) {
538
+ return (0, _fields.trimFieldsRight)(_dosleg.raporgFieldsToTrim, raporg);
539
+ }));
540
+ case 5:
541
+ case "end":
542
+ return _context18.stop();
543
+ }
544
+ }, _callee18);
545
+ }));
546
+ return function getRaporgsFromOrgcods(_x17) {
547
+ return _ref18.apply(this, arguments);
548
+ };
549
+ }();
550
+ var getOritxts = exports.getOritxts = /*#__PURE__*/function () {
551
+ var _ref19 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(ids) {
552
+ return _regeneratorRuntime().wrap(function _callee19$(_context19) {
553
+ while (1) switch (_context19.prev = _context19.next) {
554
+ case 0:
555
+ if (!(ids.length === 0)) {
556
+ _context19.next = 2;
557
+ break;
558
+ }
559
+ return _context19.abrupt("return", []);
560
+ case 2:
561
+ _context19.next = 4;
562
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM oritxt\n WHERE oritxtcod IN ($<ids:list>)\n ", {
563
+ ids: ids
564
+ });
565
+ case 4:
566
+ return _context19.abrupt("return", _context19.sent.map(function (oritxt) {
567
+ return (0, _fields.trimFieldsRight)(_dosleg.oritxtFieldsToTrim, oritxt);
568
+ }));
569
+ case 5:
570
+ case "end":
571
+ return _context19.stop();
572
+ }
573
+ }, _callee19);
574
+ }));
575
+ return function getOritxts(_x18) {
576
+ return _ref19.apply(this, arguments);
577
+ };
578
+ }();
579
+ var getQuas = exports.getQuas = /*#__PURE__*/function () {
580
+ var _ref20 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(ids) {
581
+ return _regeneratorRuntime().wrap(function _callee20$(_context20) {
582
+ while (1) switch (_context20.prev = _context20.next) {
583
+ case 0:
584
+ if (!(ids.length === 0)) {
585
+ _context20.next = 2;
586
+ break;
587
+ }
588
+ return _context20.abrupt("return", []);
589
+ case 2:
590
+ _context20.next = 4;
591
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM qua\n WHERE quacod IN ($<ids:list>)\n ", {
592
+ ids: ids
593
+ });
594
+ case 4:
595
+ return _context20.abrupt("return", _context20.sent.map(function (qua) {
596
+ return (0, _fields.trimFieldsRight)(_dosleg.quaFieldsToTrim, qua);
597
+ }));
598
+ case 5:
599
+ case "end":
600
+ return _context20.stop();
601
+ }
602
+ }, _callee20);
603
+ }));
604
+ return function getQuas(_x19) {
605
+ return _ref20.apply(this, arguments);
606
+ };
607
+ }();
608
+ var getRaps = exports.getRaps = /*#__PURE__*/function () {
609
+ var _ref21 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(ids) {
610
+ return _regeneratorRuntime().wrap(function _callee21$(_context21) {
611
+ while (1) switch (_context21.prev = _context21.next) {
612
+ case 0:
613
+ if (!(ids.length === 0)) {
614
+ _context21.next = 2;
615
+ break;
616
+ }
617
+ return _context21.abrupt("return", []);
618
+ case 2:
619
+ _context21.next = 4;
620
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM rap\n WHERE rapcod IN ($<ids:list>)\n ", {
621
+ ids: ids
622
+ });
623
+ case 4:
624
+ return _context21.abrupt("return", _context21.sent.map(function (rap) {
625
+ return (0, _fields.parseIntFields)(_dosleg.rapFieldsToParseInt, (0, _fields.trimFieldsRight)(_dosleg.rapFieldsToTrim, rap));
626
+ }));
627
+ case 5:
628
+ case "end":
629
+ return _context21.stop();
630
+ }
631
+ }, _callee21);
632
+ }));
633
+ return function getRaps(_x20) {
634
+ return _ref21.apply(this, arguments);
635
+ };
636
+ }();
637
+ var getScrsFromCodes = exports.getScrsFromCodes = /*#__PURE__*/function () {
638
+ var _ref22 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(ids) {
639
+ return _regeneratorRuntime().wrap(function _callee22$(_context22) {
640
+ while (1) switch (_context22.prev = _context22.next) {
641
+ case 0:
642
+ if (!(ids.length === 0)) {
643
+ _context22.next = 2;
644
+ break;
645
+ }
646
+ return _context22.abrupt("return", []);
647
+ case 2:
648
+ _context22.next = 4;
649
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM scr\n WHERE code IN ($<ids:list>)\n ", {
650
+ ids: ids
651
+ });
652
+ case 4:
653
+ return _context22.abrupt("return", _context22.sent.map(function (scr) {
654
+ return (0, _fields.trimFieldsRight)(_dosleg.scrFieldsToTrim, scr);
655
+ }));
656
+ case 5:
657
+ case "end":
658
+ return _context22.stop();
659
+ }
660
+ }, _callee22);
661
+ }));
662
+ return function getScrsFromCodes(_x21) {
663
+ return _ref22.apply(this, arguments);
664
+ };
665
+ }();
666
+ var getTextesFromLecassidts = exports.getTextesFromLecassidts = /*#__PURE__*/function () {
667
+ var _ref23 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23(ids) {
668
+ return _regeneratorRuntime().wrap(function _callee23$(_context23) {
669
+ while (1) switch (_context23.prev = _context23.next) {
670
+ case 0:
671
+ if (!(ids.length === 0)) {
672
+ _context23.next = 2;
673
+ break;
674
+ }
675
+ return _context23.abrupt("return", []);
676
+ case 2:
677
+ _context23.next = 4;
678
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM texte\n WHERE lecassidt IN ($<ids:list>)\n ", {
679
+ ids: ids
680
+ });
681
+ case 4:
682
+ return _context23.abrupt("return", _context23.sent.map(function (texte) {
683
+ return (0, _fields.parseIntFields)(_dosleg.texteFieldsToParseInt, (0, _fields.trimFieldsRight)(_dosleg.texteFieldsToTrim, texte));
684
+ }));
685
+ case 5:
686
+ case "end":
687
+ return _context23.stop();
688
+ }
689
+ }, _callee23);
690
+ }));
691
+ return function getTextesFromLecassidts(_x22) {
692
+ return _ref23.apply(this, arguments);
693
+ };
694
+ }();
695
+ var getTypatts = exports.getTypatts = /*#__PURE__*/function () {
696
+ var _ref24 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee24(ids) {
697
+ return _regeneratorRuntime().wrap(function _callee24$(_context24) {
698
+ while (1) switch (_context24.prev = _context24.next) {
699
+ case 0:
700
+ if (!(ids.length === 0)) {
701
+ _context24.next = 2;
702
+ break;
703
+ }
704
+ return _context24.abrupt("return", []);
705
+ case 2:
706
+ _context24.next = 4;
707
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM typatt\n WHERE typattcod IN ($<ids:list>)\n ", {
708
+ ids: ids
709
+ });
710
+ case 4:
711
+ return _context24.abrupt("return", _context24.sent.map(function (typatt) {
712
+ return (0, _fields.trimFieldsRight)(_dosleg.typattFieldsToTrim, typatt);
713
+ }));
714
+ case 5:
715
+ case "end":
716
+ return _context24.stop();
717
+ }
718
+ }, _callee24);
719
+ }));
720
+ return function getTypatts(_x23) {
721
+ return _ref24.apply(this, arguments);
722
+ };
723
+ }();
724
+ var getTyplecs = exports.getTyplecs = /*#__PURE__*/function () {
725
+ var _ref25 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee25(ids) {
726
+ return _regeneratorRuntime().wrap(function _callee25$(_context25) {
727
+ while (1) switch (_context25.prev = _context25.next) {
728
+ case 0:
729
+ if (!(ids.length === 0)) {
730
+ _context25.next = 2;
731
+ break;
732
+ }
733
+ return _context25.abrupt("return", []);
734
+ case 2:
735
+ _context25.next = 4;
736
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM typlec\n WHERE typleccod IN ($<ids:list>)\n ", {
737
+ ids: ids
738
+ });
739
+ case 4:
740
+ return _context25.abrupt("return", _context25.sent.map(function (typlec) {
741
+ return (0, _fields.trimFieldsRight)(_dosleg.typlecFieldsToTrim, typlec);
742
+ }));
743
+ case 5:
744
+ case "end":
745
+ return _context25.stop();
746
+ }
747
+ }, _callee25);
748
+ }));
749
+ return function getTyplecs(_x24) {
750
+ return _ref25.apply(this, arguments);
751
+ };
752
+ }();
753
+ var getTyplois = exports.getTyplois = /*#__PURE__*/function () {
754
+ var _ref26 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee26(ids) {
755
+ return _regeneratorRuntime().wrap(function _callee26$(_context26) {
756
+ while (1) switch (_context26.prev = _context26.next) {
757
+ case 0:
758
+ if (!(ids.length === 0)) {
759
+ _context26.next = 2;
760
+ break;
761
+ }
762
+ return _context26.abrupt("return", []);
763
+ case 2:
764
+ _context26.next = 4;
765
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM typloi\n WHERE typloicod IN ($<ids:list>)\n ", {
766
+ ids: ids
767
+ });
768
+ case 4:
769
+ return _context26.abrupt("return", _context26.sent.map(function (typloi) {
770
+ return (0, _fields.trimFieldsRight)(_dosleg.typloiFieldsToTrim, typloi);
771
+ }));
772
+ case 5:
773
+ case "end":
774
+ return _context26.stop();
775
+ }
776
+ }, _callee26);
777
+ }));
778
+ return function getTyplois(_x25) {
779
+ return _ref26.apply(this, arguments);
780
+ };
781
+ }();
782
+ var getTyptxts = exports.getTyptxts = /*#__PURE__*/function () {
783
+ var _ref27 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee27(ids) {
784
+ return _regeneratorRuntime().wrap(function _callee27$(_context27) {
785
+ while (1) switch (_context27.prev = _context27.next) {
786
+ case 0:
787
+ if (!(ids.length === 0)) {
788
+ _context27.next = 2;
789
+ break;
790
+ }
791
+ return _context27.abrupt("return", []);
792
+ case 2:
793
+ _context27.next = 4;
794
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM typtxt\n WHERE typtxtcod IN ($<ids:list>)\n ", {
795
+ ids: ids
796
+ });
797
+ case 4:
798
+ return _context27.abrupt("return", _context27.sent.map(function (typtxt) {
799
+ return (0, _fields.trimFieldsRight)(_dosleg.typtxtFieldsToTrim, typtxt);
800
+ }));
801
+ case 5:
802
+ case "end":
803
+ return _context27.stop();
804
+ }
805
+ }, _callee27);
806
+ }));
807
+ return function getTyptxts(_x26) {
808
+ return _ref27.apply(this, arguments);
809
+ };
810
+ }();
811
+ var getTypurls = exports.getTypurls = /*#__PURE__*/function () {
812
+ var _ref28 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee28(ids) {
813
+ return _regeneratorRuntime().wrap(function _callee28$(_context28) {
814
+ while (1) switch (_context28.prev = _context28.next) {
815
+ case 0:
816
+ if (!(ids.length === 0)) {
817
+ _context28.next = 2;
818
+ break;
819
+ }
820
+ return _context28.abrupt("return", []);
821
+ case 2:
822
+ _context28.next = 4;
823
+ return _databases.dbByName.dosleg.any("\n SELECT *\n FROM typurl\n WHERE typurl IN ($<ids:list>)\n ", {
824
+ ids: ids
825
+ });
826
+ case 4:
827
+ return _context28.abrupt("return", _context28.sent.map(function (typurl) {
828
+ return (0, _fields.trimFieldsRight)(_dosleg.typurlFieldsToTrim, typurl);
829
+ }));
830
+ case 5:
831
+ case "end":
832
+ return _context28.stop();
833
+ }
834
+ }, _callee28);
835
+ }));
836
+ return function getTypurls(_x27) {
837
+ return _ref28.apply(this, arguments);
838
+ };
839
+ }();
840
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZG9zbGVnIiwicmVxdWlyZSIsIl9kYXRhYmFzZXMiLCJfZmllbGRzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImUiLCJ0IiwiciIsIk9iamVjdCIsInByb3RvdHlwZSIsIm4iLCJoYXNPd25Qcm9wZXJ0eSIsIm8iLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiaSIsIlN5bWJvbCIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiY2FsbCIsImgiLCJsIiwiZiIsInMiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsImZvckVhY2giLCJfaW52b2tlIiwiQXN5bmNJdGVyYXRvciIsImludm9rZSIsIl90eXBlb2YiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsImdldEFzc3MiLCJleHBvcnRzIiwiX3JlZiIsIl9jYWxsZWUiLCJpZHMiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiZGJCeU5hbWUiLCJkb3NsZWciLCJhbnkiLCJtYXAiLCJhc3MiLCJ0cmltRmllbGRzUmlnaHQiLCJhc3NGaWVsZHNUb1RyaW0iLCJfeCIsImdldEF1ZHNGcm9tTGVjYXNzaWR0cyIsIl9yZWYyIiwiX2NhbGxlZTIiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJhdWQiLCJhdWRGaWVsZHNUb1RyaW0iLCJfeDIiLCJnZXRBdXRldXJzIiwiX3JlZjMiLCJfY2FsbGVlMyIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsImF1dGV1ciIsImF1dGV1ckZpZWxkc1RvVHJpbSIsIl94MyIsImdldERhdGVzU2VhbmNlc0Zyb21MZWNhc3NpZHRzIiwiX3JlZjQiLCJfY2FsbGVlNCIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsImRhdGVTZWFuY2UiLCJkYXRlU2VhbmNlRmllbGRzVG9UcmltIiwiX3g0IiwiZ2V0RGVjY29jcyIsIl9yZWY1IiwiX2NhbGxlZTUiLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJkZWNjb2MiLCJkZWNjb2NGaWVsZHNUb1RyaW0iLCJfeDUiLCJnZXREZW5yYXBzIiwiX3JlZjYiLCJfY2FsbGVlNiIsIl9jYWxsZWU2JCIsIl9jb250ZXh0NiIsImRlbnJhcCIsImRlbnJhcEZpZWxkc1RvVHJpbSIsIl94NiIsImdldERvY2F0dHNGcm9tUmFwY29kcyIsIl9yZWY3IiwiX2NhbGxlZTciLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJkb2NhdHQiLCJwYXJzZUludEZpZWxkcyIsImRvY2F0dEZpZWxkc1RvUGFyc2VJbnQiLCJkb2NhdHRGaWVsZHNUb1RyaW0iLCJfeDciLCJnZXRFY3JzRnJvbVJhcGNvZHMiLCJfcmVmOCIsIl9jYWxsZWU4IiwiX2NhbGxlZTgkIiwiX2NvbnRleHQ4IiwiZWNyIiwiZWNyRmllbGRzVG9UcmltIiwiX3g4IiwiZ2V0RWNyc0Zyb21UZXhjb2RzIiwiX3JlZjkiLCJfY2FsbGVlOSIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsIl94OSIsImdldEV0YWxvaXMiLCJfcmVmMTAiLCJfY2FsbGVlMTAiLCJfY2FsbGVlMTAkIiwiX2NvbnRleHQxMCIsImV0YWxvaSIsImV0YWxvaUZpZWxkc1RvVHJpbSIsIl94MTAiLCJnZXRMZWNhc3NzRnJvbUxlY2lkdHMiLCJfcmVmMTEiLCJfY2FsbGVlMTEiLCJfY2FsbGVlMTEkIiwiX2NvbnRleHQxMSIsImxlY2FzcyIsImxlY2Fzc0ZpZWxkc1RvVHJpbSIsIl94MTEiLCJnZXRMZWNhc3NyYXBzRnJvbUxlY2Fzc2lkdHMiLCJfcmVmMTIiLCJfY2FsbGVlMTIiLCJfY2FsbGVlMTIkIiwiX2NvbnRleHQxMiIsImxlY2Fzc3JhcCIsImxlY2Fzc3JhcEZpZWxkc1RvVHJpbSIsIl94MTIiLCJnZXRMZWN0dXJlc0Zyb21Mb2ljb2RzIiwiX3JlZjEzIiwiX2NhbGxlZTEzIiwiX2NhbGxlZTEzJCIsIl9jb250ZXh0MTMiLCJsZWN0dXJlIiwibGVjdHVyZUZpZWxkc1RvVHJpbSIsIl94MTMiLCJnZXRMb2lzIiwiX3JlZjE0IiwiX2NhbGxlZTE0IiwiX2NhbGxlZTE0JCIsIl9jb250ZXh0MTQiLCJsb2kiLCJsb2lGaWVsZHNUb1RyaW0iLCJfeDE0IiwiZ2V0QWxsTG9pcyIsIl9yZWYxNSIsIl9jYWxsZWUxNSIsIl9jYWxsZWUxNSQiLCJfY29udGV4dDE1IiwiZ2V0T3JncyIsIl9yZWYxNiIsIl9jYWxsZWUxNiIsIl9jYWxsZWUxNiQiLCJfY29udGV4dDE2Iiwib3JnIiwib3JnRmllbGRzVG9UcmltIiwiX3gxNSIsImdldE9yZ3NGcm9tUmFwY29kcyIsIl9yZWYxNyIsIl9jYWxsZWUxNyIsIl9jYWxsZWUxNyQiLCJfY29udGV4dDE3IiwiX3gxNiIsImdldFJhcG9yZ3NGcm9tT3JnY29kcyIsIl9yZWYxOCIsIl9jYWxsZWUxOCIsIl9jYWxsZWUxOCQiLCJfY29udGV4dDE4IiwicmFwb3JnIiwicmFwb3JnRmllbGRzVG9UcmltIiwiX3gxNyIsImdldE9yaXR4dHMiLCJfcmVmMTkiLCJfY2FsbGVlMTkiLCJfY2FsbGVlMTkkIiwiX2NvbnRleHQxOSIsIm9yaXR4dCIsIm9yaXR4dEZpZWxkc1RvVHJpbSIsIl94MTgiLCJnZXRRdWFzIiwiX3JlZjIwIiwiX2NhbGxlZTIwIiwiX2NhbGxlZTIwJCIsIl9jb250ZXh0MjAiLCJxdWEiLCJxdWFGaWVsZHNUb1RyaW0iLCJfeDE5IiwiZ2V0UmFwcyIsIl9yZWYyMSIsIl9jYWxsZWUyMSIsIl9jYWxsZWUyMSQiLCJfY29udGV4dDIxIiwicmFwIiwicmFwRmllbGRzVG9QYXJzZUludCIsInJhcEZpZWxkc1RvVHJpbSIsIl94MjAiLCJnZXRTY3JzRnJvbUNvZGVzIiwiX3JlZjIyIiwiX2NhbGxlZTIyIiwiX2NhbGxlZTIyJCIsIl9jb250ZXh0MjIiLCJzY3IiLCJzY3JGaWVsZHNUb1RyaW0iLCJfeDIxIiwiZ2V0VGV4dGVzRnJvbUxlY2Fzc2lkdHMiLCJfcmVmMjMiLCJfY2FsbGVlMjMiLCJfY2FsbGVlMjMkIiwiX2NvbnRleHQyMyIsInRleHRlIiwidGV4dGVGaWVsZHNUb1BhcnNlSW50IiwidGV4dGVGaWVsZHNUb1RyaW0iLCJfeDIyIiwiZ2V0VHlwYXR0cyIsIl9yZWYyNCIsIl9jYWxsZWUyNCIsIl9jYWxsZWUyNCQiLCJfY29udGV4dDI0IiwidHlwYXR0IiwidHlwYXR0RmllbGRzVG9UcmltIiwiX3gyMyIsImdldFR5cGxlY3MiLCJfcmVmMjUiLCJfY2FsbGVlMjUiLCJfY2FsbGVlMjUkIiwiX2NvbnRleHQyNSIsInR5cGxlYyIsInR5cGxlY0ZpZWxkc1RvVHJpbSIsIl94MjQiLCJnZXRUeXBsb2lzIiwiX3JlZjI2IiwiX2NhbGxlZTI2IiwiX2NhbGxlZTI2JCIsIl9jb250ZXh0MjYiLCJ0eXBsb2kiLCJ0eXBsb2lGaWVsZHNUb1RyaW0iLCJfeDI1IiwiZ2V0VHlwdHh0cyIsIl9yZWYyNyIsIl9jYWxsZWUyNyIsIl9jYWxsZWUyNyQiLCJfY29udGV4dDI3IiwidHlwdHh0IiwidHlwdHh0RmllbGRzVG9UcmltIiwiX3gyNiIsImdldFR5cHVybHMiLCJfcmVmMjgiLCJfY2FsbGVlMjgiLCJfY2FsbGVlMjgkIiwiX2NvbnRleHQyOCIsInR5cHVybCIsInR5cHVybEZpZWxkc1RvVHJpbSIsIl94MjciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvZG9zbGVnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFzcywgYXNzRmllbGRzVG9UcmltLFxuICBBdWQsIGF1ZEZpZWxkc1RvVHJpbSxcbiAgQXV0ZXVyLCBhdXRldXJGaWVsZHNUb1RyaW0sXG4gIERhdGVTZWFuY2UsIGRhdGVTZWFuY2VGaWVsZHNUb1RyaW0sXG4gIERlY0NvYywgZGVjY29jRmllbGRzVG9UcmltLFxuICBEZW5SYXAsIGRlbnJhcEZpZWxkc1RvVHJpbSxcbiAgRG9jQXR0LCBkb2NhdHRGaWVsZHNUb1BhcnNlSW50LCBkb2NhdHRGaWVsZHNUb1RyaW0sXG4gIEVjciwgZWNyRmllbGRzVG9UcmltLFxuICBFdGFMb2ksIGV0YWxvaUZpZWxkc1RvVHJpbSxcbiAgTGVjQXNzLCBsZWNhc3NGaWVsZHNUb1RyaW0sXG4gIExlY0Fzc1JhcCwgbGVjYXNzcmFwRmllbGRzVG9UcmltLFxuICBMZWN0dXJlLCBsZWN0dXJlRmllbGRzVG9UcmltLFxuICBMb2ksIGxvaUZpZWxkc1RvVHJpbSxcbiAgT3JnLCBvcmdGaWVsZHNUb1RyaW0sXG4gIE9yaVR4dCwgb3JpdHh0RmllbGRzVG9UcmltLFxuICBRdWEsIHF1YUZpZWxkc1RvVHJpbSxcbiAgUmFwLCByYXBGaWVsZHNUb1BhcnNlSW50LCByYXBGaWVsZHNUb1RyaW0sXG4gIFJhcE9yZywgcmFwb3JnRmllbGRzVG9UcmltLFxuICBTY3IsIHNjckZpZWxkc1RvVHJpbSxcbiAgVGV4dGUsIHRleHRlRmllbGRzVG9QYXJzZUludCwgdGV4dGVGaWVsZHNUb1RyaW0sXG4gIFR5cEF0dCwgdHlwYXR0RmllbGRzVG9UcmltLFxuICBUeXBMZWMsIHR5cGxlY0ZpZWxkc1RvVHJpbSxcbiAgVHlwTG9pLCB0eXBsb2lGaWVsZHNUb1RyaW0sXG4gIFR5cFR4dCwgdHlwdHh0RmllbGRzVG9UcmltLFxuICBUeXBVcmwsIHR5cHVybEZpZWxkc1RvVHJpbSxcbn0gZnJvbSAnLi4vdHlwZXMvZG9zbGVnJ1xuaW1wb3J0IHsgZGJCeU5hbWUgfSBmcm9tIFwiLi4vZGF0YWJhc2VzXCJcbmltcG9ydCB7IHBhcnNlSW50RmllbGRzLCB0cmltRmllbGRzUmlnaHQgfSBmcm9tICcuLi9maWVsZHMnXG5cbmV4cG9ydCBjb25zdCBnZXRBc3NzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPEFzc1tdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gYXNzXG4gICAgICBXSEVSRSBjb2Rhc3MgSU4gKCQ8aWRzOmxpc3Q+KVxuICAgIGAsXG4gICAgICB7XG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgKVxuICApLm1hcCgoYXNzOiBBc3MpID0+IHRyaW1GaWVsZHNSaWdodChhc3NGaWVsZHNUb1RyaW0sIGFzcykpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRBdWRzRnJvbUxlY2Fzc2lkdHMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8QXVkW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSBhdWRcbiAgICAgIFdIRVJFIGxlY2Fzc2lkdCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKChhdWQ6IEF1ZCkgPT4gdHJpbUZpZWxkc1JpZ2h0KGF1ZEZpZWxkc1RvVHJpbSwgYXVkKSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldEF1dGV1cnMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8QXV0ZXVyW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSBhdXRldXJcbiAgICAgIFdIRVJFIGF1dGNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKChhdXRldXI6IEF1dGV1cikgPT4gdHJpbUZpZWxkc1JpZ2h0KGF1dGV1ckZpZWxkc1RvVHJpbSwgYXV0ZXVyKSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldERhdGVzU2VhbmNlc0Zyb21MZWNhc3NpZHRzID0gYXN5bmMgKFxuICBpZHM6IHN0cmluZ1tdLFxuKTogUHJvbWlzZTxEYXRlU2VhbmNlW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSBkYXRlX3NlYW5jZVxuICAgICAgV0hFUkUgbGVjaWR0IElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKGRhdGVTZWFuY2U6IERhdGVTZWFuY2UpID0+XG4gICAgdHJpbUZpZWxkc1JpZ2h0KGRhdGVTZWFuY2VGaWVsZHNUb1RyaW0sIGRhdGVTZWFuY2UpLFxuICApXG59XG5cbmV4cG9ydCBjb25zdCBnZXREZWNjb2NzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPERlY0NvY1tdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gZGVjY29jXG4gICAgICBXSEVSRSBkZWNjb2Njb2QgSU4gKCQ8aWRzOmxpc3Q+KVxuICAgIGAsXG4gICAgICB7XG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgKVxuICApLm1hcCgoZGVjY29jOiBEZWNDb2MpID0+IHRyaW1GaWVsZHNSaWdodChkZWNjb2NGaWVsZHNUb1RyaW0sIGRlY2NvYykpXG59XG5cbmV4cG9ydCBjb25zdCBnZXREZW5yYXBzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPERlblJhcFtdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gZGVucmFwXG4gICAgICBXSEVSRSBjb2RkZW5yYXAgSU4gKCQ8aWRzOmxpc3Q+KVxuICAgIGAsXG4gICAgICB7XG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgKVxuICApLm1hcCgoZGVucmFwOiBEZW5SYXApID0+IHRyaW1GaWVsZHNSaWdodChkZW5yYXBGaWVsZHNUb1RyaW0sIGRlbnJhcCkpXG59XG5cbmV4cG9ydCBjb25zdCBnZXREb2NhdHRzRnJvbVJhcGNvZHMgPSBhc3luYyAoXG4gIGlkczogc3RyaW5nW10sXG4pOiBQcm9taXNlPERvY0F0dFtdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gZG9jYXR0XG4gICAgICBXSEVSRSByYXBjb2QgSU4oJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKChkb2NhdHQ6IERvY0F0dCkgPT5cbiAgICBwYXJzZUludEZpZWxkcyhcbiAgICAgIGRvY2F0dEZpZWxkc1RvUGFyc2VJbnQsXG4gICAgICB0cmltRmllbGRzUmlnaHQoZG9jYXR0RmllbGRzVG9UcmltLCBkb2NhdHQpLFxuICAgICksXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGdldEVjcnNGcm9tUmFwY29kcyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxFY3JbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIGVjclxuICAgICAgV0hFUkUgcmFwY29kIElOKCQ8aWRzOmxpc3Q+KVxuICAgIGAsXG4gICAgICB7XG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgKVxuICApLm1hcCgoZWNyOiBFY3IpID0+IHRyaW1GaWVsZHNSaWdodChlY3JGaWVsZHNUb1RyaW0sIGVjcikpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRFY3JzRnJvbVRleGNvZHMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8RWNyW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSBlY3JcbiAgICAgIFdIRVJFIHRleGNvZCBJTigkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKGVjcjogRWNyKSA9PiB0cmltRmllbGRzUmlnaHQoZWNyRmllbGRzVG9UcmltLCBlY3IpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0RXRhbG9pcyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxFdGFMb2lbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIGV0YWxvaVxuICAgICAgV0hFUkUgZXRhbG9pY29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKGV0YWxvaTogRXRhTG9pKSA9PiB0cmltRmllbGRzUmlnaHQoZXRhbG9pRmllbGRzVG9UcmltLCBldGFsb2kpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0TGVjYXNzc0Zyb21MZWNpZHRzID0gYXN5bmMgKFxuICBpZHM6IHN0cmluZ1tdLFxuKTogUHJvbWlzZTxMZWNBc3NbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIGxlY2Fzc1xuICAgICAgV0hFUkUgbGVjaWR0IElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKGxlY2FzczogTGVjQXNzKSA9PiB0cmltRmllbGRzUmlnaHQobGVjYXNzRmllbGRzVG9UcmltLCBsZWNhc3MpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0TGVjYXNzcmFwc0Zyb21MZWNhc3NpZHRzID0gYXN5bmMgKFxuICBpZHM6IHN0cmluZ1tdLFxuKTogUHJvbWlzZTxMZWNBc3NSYXBbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIGxlY2Fzc3JhcFxuICAgICAgV0hFUkUgbGVjYXNzaWR0IElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKGxlY2Fzc3JhcDogTGVjQXNzUmFwKSA9PlxuICAgIHRyaW1GaWVsZHNSaWdodChsZWNhc3NyYXBGaWVsZHNUb1RyaW0sIGxlY2Fzc3JhcCksXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGdldExlY3R1cmVzRnJvbUxvaWNvZHMgPSBhc3luYyAoXG4gIGlkczogc3RyaW5nW10sXG4pOiBQcm9taXNlPExlY3R1cmVbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIGxlY3R1cmVcbiAgICAgIFdIRVJFIGxvaWNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKChsZWN0dXJlOiBMZWN0dXJlKSA9PiB0cmltRmllbGRzUmlnaHQobGVjdHVyZUZpZWxkc1RvVHJpbSwgbGVjdHVyZSkpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRMb2lzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPExvaVtdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gbG9pXG4gICAgICBXSEVSRSBsb2ljb2QgSU4gKCQ8aWRzOmxpc3Q+KVxuICAgIGAsXG4gICAgICB7XG4gICAgICAgIGlkcyxcbiAgICAgIH0sXG4gICAgKVxuICApLm1hcCgobG9pOiBMb2kpID0+IHRyaW1GaWVsZHNSaWdodChsb2lGaWVsZHNUb1RyaW0sIGxvaSkpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxMb2lzID0gYXN5bmMgKCk6IFByb21pc2U8TG9pW10+ID0+IHtcbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gbG9pXG4gICAgYFxuICAgIClcbiAgKS5tYXAoKGxvaTogTG9pKSA9PiB0cmltRmllbGRzUmlnaHQobG9pRmllbGRzVG9UcmltLCBsb2kpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0T3JncyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxPcmdbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIG9yZ1xuICAgICAgV0hFUkUgb3JnY29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKG9yZzogT3JnKSA9PiB0cmltRmllbGRzUmlnaHQob3JnRmllbGRzVG9UcmltLCBvcmcpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0T3Jnc0Zyb21SYXBjb2RzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPE9yZ1tdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gb3JnXG4gICAgICBXSEVSRSBvcmdjb2QgSU4gKFxuICAgICAgICBTRUxFQ1Qgb3JnY29kXG4gICAgICAgIEZST00gcmFwb3JnXG4gICAgICAgIFdIRVJFIHJhcGNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgICApXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKChvcmc6IE9yZykgPT4gdHJpbUZpZWxkc1JpZ2h0KG9yZ0ZpZWxkc1RvVHJpbSwgb3JnKSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJhcG9yZ3NGcm9tT3JnY29kcyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxSYXBPcmdbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIHJhcG9yZ1xuICAgICAgV0hFUkUgb3JnY29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKHJhcG9yZzogUmFwT3JnKSA9PiB0cmltRmllbGRzUmlnaHQocmFwb3JnRmllbGRzVG9UcmltLCByYXBvcmcpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0T3JpdHh0cyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxPcmlUeHRbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIG9yaXR4dFxuICAgICAgV0hFUkUgb3JpdHh0Y29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKG9yaXR4dDogT3JpVHh0KSA9PiB0cmltRmllbGRzUmlnaHQob3JpdHh0RmllbGRzVG9UcmltLCBvcml0eHQpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UXVhcyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxRdWFbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIHF1YVxuICAgICAgV0hFUkUgcXVhY29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKHF1YTogUXVhKSA9PiB0cmltRmllbGRzUmlnaHQocXVhRmllbGRzVG9UcmltLCBxdWEpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UmFwcyA9IGFzeW5jIChpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxSYXBbXT4gPT4ge1xuICBpZiAoaWRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXVxuICB9XG4gIHJldHVybiAoXG4gICAgYXdhaXQgZGJCeU5hbWUuZG9zbGVnLmFueShcbiAgICAgIGBcbiAgICAgIFNFTEVDVCAqXG4gICAgICBGUk9NIHJhcFxuICAgICAgV0hFUkUgcmFwY29kIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKHJhcDogUmFwKSA9PlxuICAgIHBhcnNlSW50RmllbGRzKHJhcEZpZWxkc1RvUGFyc2VJbnQsIHRyaW1GaWVsZHNSaWdodChyYXBGaWVsZHNUb1RyaW0sIHJhcCkpLFxuICApXG59XG5cbmV4cG9ydCBjb25zdCBnZXRTY3JzRnJvbUNvZGVzID0gYXN5bmMgKGlkczogc3RyaW5nW10pOiBQcm9taXNlPFNjcltdPiA9PiB7XG4gIGlmIChpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cbiAgcmV0dXJuIChcbiAgICBhd2FpdCBkYkJ5TmFtZS5kb3NsZWcuYW55KFxuICAgICAgYFxuICAgICAgU0VMRUNUICpcbiAgICAgIEZST00gc2NyXG4gICAgICBXSEVSRSBjb2RlIElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKHNjcjogU2NyKSA9PiB0cmltRmllbGRzUmlnaHQoc2NyRmllbGRzVG9UcmltLCBzY3IpKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0VGV4dGVzRnJvbUxlY2Fzc2lkdHMgPSBhc3luYyAoXG4gIGlkczogc3RyaW5nW10sXG4pOiBQcm9taXNlPFRleHRlW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0ZXh0ZVxuICAgICAgV0hFUkUgbGVjYXNzaWR0IElOICgkPGlkczpsaXN0PilcbiAgICBgLFxuICAgICAge1xuICAgICAgICBpZHMsXG4gICAgICB9LFxuICAgIClcbiAgKS5tYXAoKHRleHRlOiBUZXh0ZSkgPT5cbiAgICBwYXJzZUludEZpZWxkcyhcbiAgICAgIHRleHRlRmllbGRzVG9QYXJzZUludCxcbiAgICAgIHRyaW1GaWVsZHNSaWdodCh0ZXh0ZUZpZWxkc1RvVHJpbSwgdGV4dGUpLFxuICAgICksXG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGdldFR5cGF0dHMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwQXR0W10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0eXBhdHRcbiAgICAgIFdIRVJFIHR5cGF0dGNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKCh0eXBhdHQ6IFR5cEF0dCkgPT4gdHJpbUZpZWxkc1JpZ2h0KHR5cGF0dEZpZWxkc1RvVHJpbSwgdHlwYXR0KSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFR5cGxlY3MgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwTGVjW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0eXBsZWNcbiAgICAgIFdIRVJFIHR5cGxlY2NvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKCh0eXBsZWM6IFR5cExlYykgPT4gdHJpbUZpZWxkc1JpZ2h0KHR5cGxlY0ZpZWxkc1RvVHJpbSwgdHlwbGVjKSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFR5cGxvaXMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwTG9pW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0eXBsb2lcbiAgICAgIFdIRVJFIHR5cGxvaWNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKCh0eXBsb2k6IFR5cExvaSkgPT4gdHJpbUZpZWxkc1JpZ2h0KHR5cGxvaUZpZWxkc1RvVHJpbSwgdHlwbG9pKSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFR5cHR4dHMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwVHh0W10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0eXB0eHRcbiAgICAgIFdIRVJFIHR5cHR4dGNvZCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKCh0eXB0eHQ6IFR5cFR4dCkgPT4gdHJpbUZpZWxkc1JpZ2h0KHR5cHR4dEZpZWxkc1RvVHJpbSwgdHlwdHh0KSlcbn1cblxuZXhwb3J0IGNvbnN0IGdldFR5cHVybHMgPSBhc3luYyAoaWRzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwVXJsW10+ID0+IHtcbiAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW11cbiAgfVxuICByZXR1cm4gKFxuICAgIGF3YWl0IGRiQnlOYW1lLmRvc2xlZy5hbnkoXG4gICAgICBgXG4gICAgICBTRUxFQ1QgKlxuICAgICAgRlJPTSB0eXB1cmxcbiAgICAgIFdIRVJFIHR5cHVybCBJTiAoJDxpZHM6bGlzdD4pXG4gICAgYCxcbiAgICAgIHtcbiAgICAgICAgaWRzLFxuICAgICAgfSxcbiAgICApXG4gICkubWFwKCh0eXB1cmw6IFR5cFVybCkgPT4gdHJpbUZpZWxkc1JpZ2h0KHR5cHVybEZpZWxkc1RvVHJpbSwgdHlwdXJsKSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUEyQkEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQTJELFNBQUFHLG9CQUFBLGtCQTNCM0QscUpBQUFBLG1CQUFBLFlBQUFBLG9CQUFBLFdBQUFDLENBQUEsU0FBQUMsQ0FBQSxFQUFBRCxDQUFBLE9BQUFFLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxTQUFBLEVBQUFDLENBQUEsR0FBQUgsQ0FBQSxDQUFBSSxjQUFBLEVBQUFDLENBQUEsR0FBQUosTUFBQSxDQUFBSyxjQUFBLGNBQUFQLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLElBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLENBQUFPLEtBQUEsS0FBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssYUFBQSx1QkFBQUMsQ0FBQSxHQUFBTixDQUFBLENBQUFPLFdBQUEsOEJBQUFDLE9BQUFqQixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFB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