@tricoteuses/assemblee 1.9.13 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -5
- package/lib/api.js +1 -1
- package/lib/api.mjs +1 -1
- package/lib/bugs/acteur-00010/plugin.test.js +5 -5
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +17 -18
- package/lib/bugs/acteur-00010.mjs +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +6 -6
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00002.js +31 -32
- package/lib/bugs/agenda-00002.mjs +3 -3
- package/lib/bugs/agenda-00008/plugin.test.js +5 -5
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +17 -18
- package/lib/bugs/agenda-00008.mjs +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +10 -10
- package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00011.js +28 -29
- package/lib/bugs/agenda-00011.mjs +3 -3
- package/lib/bugs.js +27 -29
- package/lib/bugs.mjs +3 -3
- package/lib/cleaners/actes_legislatifs.js +5 -5
- package/lib/cleaners/actes_legislatifs.mjs +1 -1
- package/lib/cleaners/acteurs.js +5 -5
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +5 -5
- package/lib/cleaners/amendements.mjs +1 -1
- package/lib/cleaners/debats.js +1 -1
- package/lib/cleaners/debats.mjs +1 -1
- package/lib/cleaners/documents.js +5 -5
- package/lib/cleaners/documents.mjs +1 -1
- package/lib/cleaners/dossiers_legislatifs.js +5 -5
- package/lib/cleaners/dossiers_legislatifs.mjs +1 -1
- package/lib/cleaners/index.d.ts +0 -1
- package/lib/cleaners/index.js +1 -8
- package/lib/cleaners/index.mjs +1 -2
- package/lib/cleaners/organes.js +2 -2
- package/lib/cleaners/organes.mjs +1 -1
- package/lib/cleaners/questions.js +1 -1
- package/lib/cleaners/questions.mjs +1 -1
- package/lib/cleaners/reunions.js +5 -5
- package/lib/cleaners/reunions.mjs +1 -1
- package/lib/cleaners/scrutins.js +8 -8
- package/lib/cleaners/scrutins.mjs +1 -1
- package/lib/cleaners/xml.js +8 -8
- package/lib/cleaners/xml.mjs +1 -1
- package/lib/datasets.d.ts +1 -13
- package/lib/datasets.js +10 -29
- package/lib/datasets.mjs +2 -21
- package/lib/dates.js +3 -4
- package/lib/dates.mjs +1 -1
- package/lib/dossiers_legislatifs.js +8 -8
- package/lib/dossiers_legislatifs.mjs +1 -1
- package/lib/file_systems.js +15 -14
- package/lib/file_systems.mjs +3 -3
- package/lib/git.js +5 -5
- package/lib/git.mjs +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +8 -1
- package/lib/index.mjs +2 -1
- package/lib/inserters.js +4 -4
- package/lib/inserters.mjs +1 -1
- package/lib/loaders.d.ts +0 -5
- package/lib/loaders.js +255 -299
- package/lib/loaders.mjs +1 -13
- package/lib/logger.js +1 -1
- package/lib/logger.mjs +1 -1
- package/lib/organes.js +1 -1
- package/lib/organes.mjs +1 -1
- package/lib/parsers/documents.js +11 -11
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/index.d.ts +1 -0
- package/lib/parsers/index.js +8 -1
- package/lib/parsers/index.mjs +2 -1
- package/lib/parsers/recherche_amendements.js +17 -15
- package/lib/parsers/recherche_amendements.mjs +1 -1
- package/lib/parsers/textes_lois.d.ts +22 -15
- package/lib/parsers/textes_lois.js +264 -752
- package/lib/parsers/textes_lois.mjs +249 -597
- package/lib/raw_types/acteurs_et_organes.js +9 -9
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.d.ts +1 -0
- package/lib/raw_types/agendas.js +11 -10
- package/lib/raw_types/agendas.mjs +3 -2
- package/lib/raw_types/amendements.js +9 -9
- package/lib/raw_types/amendements.mjs +1 -1
- package/lib/raw_types/debats.js +9 -9
- package/lib/raw_types/debats.mjs +1 -1
- package/lib/raw_types/dossiers_legislatifs.js +9 -9
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/questions.js +9 -9
- package/lib/raw_types/questions.mjs +1 -1
- package/lib/raw_types/scrutins.js +9 -9
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +25 -26
- package/lib/scripts/bugs_helper.mjs +3 -3
- package/lib/scripts/clean_reorganized_data.js +256 -245
- package/lib/scripts/clean_reorganized_data.mjs +18 -29
- package/lib/scripts/diff_amendements.js +9 -8
- package/lib/scripts/diff_amendements.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +24 -27
- package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
- package/lib/scripts/get_today_reunions.js +3 -2
- package/lib/scripts/get_today_reunions.mjs +1 -1
- package/lib/scripts/merge_scrutins.js +9 -8
- package/lib/scripts/merge_scrutins.mjs +1 -1
- package/lib/scripts/parse_textes_lois.js +6 -5
- package/lib/scripts/parse_textes_lois.mjs +1 -1
- package/lib/scripts/process_open_dataset.d.ts +0 -2
- package/lib/scripts/process_open_dataset.js +19 -19
- package/lib/scripts/process_open_dataset.mjs +3 -5
- package/lib/scripts/raw_types_from_amendements.d.ts +0 -1
- package/lib/scripts/raw_types_from_amendements.js +122 -198
- package/lib/scripts/raw_types_from_amendements.mjs +105 -60
- package/lib/scripts/reorganize_data.js +14 -15
- package/lib/scripts/reorganize_data.mjs +3 -3
- package/lib/scripts/retrieve_deputes_photos.js +40 -31
- package/lib/scripts/retrieve_deputes_photos.mjs +10 -2
- package/lib/scripts/retrieve_documents.d.ts +1 -1
- package/lib/scripts/retrieve_documents.js +230 -138
- package/lib/scripts/retrieve_documents.mjs +87 -38
- package/lib/scripts/retrieve_open_data.js +27 -30
- package/lib/scripts/retrieve_open_data.mjs +5 -8
- package/lib/scripts/retrieve_pending_amendments.js +14 -14
- package/lib/scripts/retrieve_pending_amendments.mjs +1 -1
- package/lib/scripts/retrieve_senateurs_photos.js +10 -10
- package/lib/scripts/retrieve_senateurs_photos.mjs +1 -1
- package/lib/scripts/retrieve_textes_lois.js +17 -15
- package/lib/scripts/retrieve_textes_lois.mjs +1 -1
- package/lib/scripts/shared/cli_helpers.d.ts +11 -0
- package/lib/scripts/shared/cli_helpers.js +13 -2
- package/lib/scripts/shared/cli_helpers.mjs +12 -1
- package/lib/scripts/test_iter_load.js +5 -19
- package/lib/scripts/test_iter_load.mjs +2 -9
- package/lib/scripts/test_load.js +2 -2
- package/lib/scripts/test_load.mjs +1 -1
- package/lib/scripts/test_load_big_files.js +2 -2
- package/lib/scripts/test_load_big_files.mjs +1 -1
- package/lib/scripts/validate_json.js +17 -18
- package/lib/scripts/validate_json.mjs +3 -3
- package/lib/shared_types/codes_actes.js +1 -1
- package/lib/shared_types/codes_actes.mjs +1 -1
- package/lib/strings.js +1 -1
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +9 -9
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.d.ts +1 -0
- package/lib/types/agendas.js +11 -10
- package/lib/types/agendas.mjs +3 -2
- package/lib/types/amendements.js +9 -9
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/debats.js +9 -9
- package/lib/types/debats.mjs +1 -1
- package/lib/types/dossiers_legislatifs.d.ts +13 -0
- package/lib/types/dossiers_legislatifs.js +47 -9
- package/lib/types/dossiers_legislatifs.mjs +39 -1
- package/lib/types/legislatures.js +1 -1
- package/lib/types/legislatures.mjs +1 -1
- package/lib/types/questions.js +9 -9
- package/lib/types/questions.mjs +1 -1
- package/lib/types/scrutins.js +9 -9
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +2 -2
- package/lib/urls.mjs +1 -1
- package/package.json +14 -20
- package/lib/cleaners/textes_loi.d.ts +0 -1
- package/lib/cleaners/textes_loi.js +0 -12
- package/lib/cleaners/textes_loi.mjs +0 -5
- package/lib/examples/PIONANR5L15B0020/input.d.ts +0 -2
- package/lib/examples/PIONANR5L15B0020/input.js +0 -10
- package/lib/examples/PIONANR5L15B0020/input.mjs +0 -193
- package/lib/examples/PIONANR5L15B0020/input.ts +0 -193
- package/lib/examples/PIONANR5L15B0020/loi.json +0 -26
- package/lib/examples/PIONANR5L15B0020/loi_populated.json +0 -29
- package/lib/examples/PIONANR5L15B0020/meta.json +0 -28
- package/lib/examples/PIONANR5L15B0020/motifs.json +0 -5
- package/lib/examples/PIONANR5L15B0020/motifs_populated.json +0 -6
- package/lib/examples/PIONANR5L15B0020/sommaire.json +0 -3
- package/lib/examples/PRJLANR5L16B0914/input.d.ts +0 -2
- package/lib/examples/PRJLANR5L16B0914/input.js +0 -10
- package/lib/examples/PRJLANR5L16B0914/input.mjs +0 -322
- package/lib/examples/PRJLANR5L16B0914/input.ts +0 -322
- package/lib/examples/PRJLANR5L16B0914/loi.json +0 -14
- package/lib/examples/PRJLANR5L16B0914/loi_populated.json +0 -20
- package/lib/examples/PRJLANR5L16B0914/meta.json +0 -35
- package/lib/examples/PRJLANR5L16B0914/motifs.json +0 -4
- package/lib/examples/PRJLANR5L16B0914/motifs_populated.json +0 -5
- package/lib/examples/PRJLANR5L16B0914/sommaire.json +0 -3
- package/lib/examples/PRJLANR5L16B2014/README.md +0 -2
- package/lib/examples/PRJLANR5L16B2014/input.d.ts +0 -2
- package/lib/examples/PRJLANR5L16B2014/input.js +0 -10
- package/lib/examples/PRJLANR5L16B2014/input.mjs +0 -577
- package/lib/examples/PRJLANR5L16B2014/input.ts +0 -577
- package/lib/examples/PRJLANR5L16B2014/loi.json +0 -369
- package/lib/examples/PRJLANR5L16B2014/meta.json +0 -31
- package/lib/examples/PRJLANR5L16B2014/motifs.json +0 -5
- package/lib/examples/PRJLANR5L16B2014/sommaire.json +0 -51
- package/lib/examples/PRJLANR5L16B2424/alineas.json +0 -44
- package/lib/examples/PRJLANR5L16B2424/input.d.ts +0 -2
- package/lib/examples/PRJLANR5L16B2424/input.js +0 -10
- package/lib/examples/PRJLANR5L16B2424/input.mjs +0 -322
- package/lib/examples/PRJLANR5L16B2424/input.ts +0 -322
- package/lib/examples/PRJLANR5L16B2424/loi.json +0 -74
- package/lib/examples/PRJLANR5L16B2424/loi_populated.json +0 -87
- package/lib/examples/PRJLANR5L16B2424/meta.json +0 -31
- package/lib/examples/PRJLANR5L16B2424/motifs.json +0 -4
- package/lib/examples/PRJLANR5L16B2424/motifs_populated.json +0 -5
- package/lib/examples/PRJLANR5L16B2424/sommaire.json +0 -3
- package/lib/examples/PRJLANR5L16B2462/input.d.ts +0 -2
- package/lib/examples/PRJLANR5L16B2462/input.js +0 -10
- package/lib/examples/PRJLANR5L16B2462/input.mjs +0 -1308
- package/lib/examples/PRJLANR5L16B2462/input.ts +0 -1308
- package/lib/examples/PRJLANR5L16B2462/loi.json +0 -74
- package/lib/examples/PRJLANR5L16B2462/loi_populated.json +0 -310
- package/lib/examples/PRJLANR5L16B2462/meta.json +0 -29
- package/lib/examples/PRJLANR5L16B2462/motifs.json +0 -6
- package/lib/examples/PRJLANR5L16B2462/motifs_populated.json +0 -6
- package/lib/examples/PRJLANR5L16B2462/sommaire.json +0 -50
- package/lib/examples/README.md +0 -3
- package/lib/raw_types/textes_loi.d.ts +0 -93
- package/lib/raw_types/textes_loi.js +0 -429
- package/lib/raw_types/textes_loi.mjs +0 -378
- package/lib/schemas/texte_loi/Alinea.json +0 -36
- package/lib/schemas/texte_loi/ExposeMotifs.json +0 -24
- package/lib/schemas/texte_loi/MetaDonnees.json +0 -126
- package/lib/schemas/texte_loi/ProjetLoi.json +0 -64
- package/lib/schemas/texte_loi/Sommaire.json +0 -48
- package/lib/schemas/texte_loi/TexteLoi.json +0 -225
- package/lib/schemas/texte_loi/TexteLoiPartiel.json +0 -237
- package/lib/scripts/process_textes_loi_dataset.d.ts +0 -7
- package/lib/scripts/process_textes_loi_dataset.js +0 -373
- package/lib/scripts/process_textes_loi_dataset.mjs +0 -239
- package/lib/types/textes_loi.d.ts +0 -94
- package/lib/types/textes_loi.js +0 -429
- package/lib/types/textes_loi.mjs +0 -378
package/lib/cleaners/organes.js
CHANGED
|
@@ -15,7 +15,7 @@ exports.cleanOrgane = cleanOrgane;
|
|
|
15
15
|
require("core-js/modules/es.array.is-array.js");
|
|
16
16
|
var _assert = _interopRequireDefault(require("assert"));
|
|
17
17
|
var _xml = require("./xml");
|
|
18
|
-
function _interopRequireDefault(
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
19
19
|
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); }
|
|
20
20
|
function cleanOrgane(organe) {
|
|
21
21
|
(0, _xml.cleanXmlArtefacts)(organe);
|
|
@@ -62,4 +62,4 @@ function cleanOrgane(organe) {
|
|
|
62
62
|
organe.listePays = listePays;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJjbGVhbk9yZ2FuZSIsIm9yZ2FuZSIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieHNpVHlwZSIsInVuZGVmaW5lZCIsInZpTW9EZSIsIm9yZ2FuZVBhcmVudFJlZiIsIm9yZ2FuZVBhcmVudCIsImFzc2VydCIsInN0cmljdEVxdWFsIiwiY2hhbWJyZSIsInNlY3JldGFyaWF0IiwibGlldSIsInJlZ2lvbiIsImRlcGFydGVtZW50IiwiY291bGV1ckFzc29jaWVlIiwibGlzdGVQYXlzIiwicGF5c1JlZiIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9vcmdhbmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuT3JnYW5lKG9yZ2FuZTogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcblxuICBjb25zdCB4c2lUeXBlID0gb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICBvcmdhbmUueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB2aU1vRGUgPSBvcmdhbmUudmlNb0RlXG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHZpTW9EZSlcblxuICBjb25zdCBvcmdhbmVQYXJlbnRSZWYgPSBvcmdhbmUub3JnYW5lUGFyZW50XG4gIGlmIChvcmdhbmVQYXJlbnRSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIGRlbGV0ZSBvcmdhbmUub3JnYW5lUGFyZW50XG4gICAgb3JnYW5lLm9yZ2FuZVBhcmVudFJlZiA9IG9yZ2FuZVBhcmVudFJlZlxuICB9XG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKG9yZ2FuZS5jaGFtYnJlLCB1bmRlZmluZWQpXG5cbiAgY29uc3Qgc2VjcmV0YXJpYXQgPSBvcmdhbmUuc2VjcmV0YXJpYXRcbiAgaWYgKHNlY3JldGFyaWF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhzZWNyZXRhcmlhdClcbiAgfVxuXG4gIGNvbnN0IGxpZXUgPSBvcmdhbmUubGlldVxuICBpZiAobGlldSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcblxuICAgIGNvbnN0IHJlZ2lvbiA9IGxpZXUucmVnaW9uXG4gICAgaWYgKHJlZ2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhyZWdpb24pXG4gICAgfVxuXG4gICAgY29uc3QgZGVwYXJ0ZW1lbnQgPSBsaWV1LmRlcGFydGVtZW50XG4gICAgaWYgKGRlcGFydGVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlcGFydGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvdWxldXJBc3NvY2llZSA9IG9yZ2FuZS5jb3VsZXVyQXNzb2NpZWVcbiAgaWYgKGNvdWxldXJBc3NvY2llZSA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBvcmdhbmUuY291bGV1ckFzc29jaWVlXG4gIH1cblxuICBsZXQgbGlzdGVQYXlzID0gb3JnYW5lLmxpc3RlUGF5c1xuICBpZiAobGlzdGVQYXlzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsaXN0ZVBheXMgPSBsaXN0ZVBheXMucGF5c1JlZlxuICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0ZVBheXMpKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGxpc3RlUGF5cywgXCJzdHJpbmdcIilcbiAgICAgIGxpc3RlUGF5cyA9IFtsaXN0ZVBheXNdXG4gICAgfVxuICAgIG9yZ2FuZS5saXN0ZVBheXMgPSBsaXN0ZVBheXNcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFBeUMsU0FBQUQsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBRWxDLFNBQVNLLFdBQVdBLENBQUNDLE1BQVcsRUFBUTtFQUM3QyxJQUFBQyxzQkFBaUIsRUFBQ0QsTUFBTSxDQUFDO0VBRXpCLElBQU1FLE9BQU8sR0FBR0YsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUNuQyxJQUFJRSxPQUFPLEtBQUtDLFNBQVMsRUFBRTtJQUN6QkgsTUFBTSxDQUFDRSxPQUFPLEdBQUdBLE9BQU87SUFDeEIsT0FBT0YsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUM1QjtFQUVBLElBQU1JLE1BQU0sR0FBR0osTUFBTSxDQUFDSSxNQUFNO0VBQzVCLElBQUFILHNCQUFpQixFQUFDRyxNQUFNLENBQUM7RUFFekIsSUFBTUMsZUFBZSxHQUFHTCxNQUFNLENBQUNNLFlBQVk7RUFDM0MsSUFBSUQsZUFBZSxLQUFLRixTQUFTLEVBQUU7SUFDakMsT0FBT0gsTUFBTSxDQUFDTSxZQUFZO0lBQzFCTixNQUFNLENBQUNLLGVBQWUsR0FBR0EsZUFBZTtFQUMxQztFQUVBRSxrQkFBTSxDQUFDQyxXQUFXLENBQUNSLE1BQU0sQ0FBQ1MsT0FBTyxFQUFFTixTQUFTLENBQUM7RUFFN0MsSUFBTU8sV0FBVyxHQUFHVixNQUFNLENBQUNVLFdBQVc7RUFDdEMsSUFBSUEsV0FBVyxLQUFLUCxTQUFTLEVBQUU7SUFDN0IsSUFBQUYsc0JBQWlCLEVBQUNTLFdBQVcsQ0FBQztFQUNoQztFQUVBLElBQU1DLElBQUksR0FBR1gsTUFBTSxDQUFDVyxJQUFJO0VBQ3hCLElBQUlBLElBQUksS0FBS1IsU0FBUyxFQUFFO0lBQ3RCLElBQUFGLHNCQUFpQixFQUFDVSxJQUFJLENBQUM7SUFFdkIsSUFBTUMsTUFBTSxHQUFHRCxJQUFJLENBQUNDLE1BQU07SUFDMUIsSUFBSUEsTUFBTSxLQUFLVCxTQUFTLEVBQUU7TUFDeEIsSUFBQUYsc0JBQWlCLEVBQUNXLE1BQU0sQ0FBQztJQUMzQjtJQUVBLElBQU1DLFdBQVcsR0FBR0YsSUFBSSxDQUFDRSxXQUFXO0lBQ3BDLElBQUlBLFdBQVcsS0FBS1YsU0FBUyxFQUFFO01BQzdCLElBQUFGLHNCQUFpQixFQUFDWSxXQUFXLENBQUM7SUFDaEM7RUFDRjtFQUVBLElBQU1DLGVBQWUsR0FBR2QsTUFBTSxDQUFDYyxlQUFlO0VBQzlDLElBQUlBLGVBQWUsS0FBSyxJQUFJLEVBQUU7SUFDNUIsT0FBT2QsTUFBTSxDQUFDYyxlQUFlO0VBQy9CO0VBRUEsSUFBSUMsU0FBUyxHQUFHZixNQUFNLENBQUNlLFNBQVM7RUFDaEMsSUFBSUEsU0FBUyxLQUFLWixTQUFTLEVBQUU7SUFDM0JZLFNBQVMsR0FBR0EsU0FBUyxDQUFDQyxPQUFPO0lBQzdCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILFNBQVMsQ0FBQyxFQUFFO01BQzdCUixrQkFBTSxDQUFDQyxXQUFXLENBQUFmLE9BQUEsQ0FBUXNCLFNBQVMsR0FBRSxRQUFRLENBQUM7TUFDOUNBLFNBQVMsR0FBRyxDQUFDQSxTQUFTLENBQUM7SUFDekI7SUFDQWYsTUFBTSxDQUFDZSxTQUFTLEdBQUdBLFNBQVM7RUFDOUI7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/cleaners/organes.mjs
CHANGED
|
@@ -45,4 +45,4 @@ export function cleanOrgane(organe) {
|
|
|
45
45
|
organe.listePays = listePays;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuT3JnYW5lIiwib3JnYW5lIiwieHNpVHlwZSIsInVuZGVmaW5lZCIsInZpTW9EZSIsIm9yZ2FuZVBhcmVudFJlZiIsIm9yZ2FuZVBhcmVudCIsInN0cmljdEVxdWFsIiwiY2hhbWJyZSIsInNlY3JldGFyaWF0IiwibGlldSIsInJlZ2lvbiIsImRlcGFydGVtZW50IiwiY291bGV1ckFzc29jaWVlIiwibGlzdGVQYXlzIiwicGF5c1JlZiIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9vcmdhbmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuT3JnYW5lKG9yZ2FuZTogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcblxuICBjb25zdCB4c2lUeXBlID0gb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICBvcmdhbmUueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgb3JnYW5lW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB2aU1vRGUgPSBvcmdhbmUudmlNb0RlXG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHZpTW9EZSlcblxuICBjb25zdCBvcmdhbmVQYXJlbnRSZWYgPSBvcmdhbmUub3JnYW5lUGFyZW50XG4gIGlmIChvcmdhbmVQYXJlbnRSZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIGRlbGV0ZSBvcmdhbmUub3JnYW5lUGFyZW50XG4gICAgb3JnYW5lLm9yZ2FuZVBhcmVudFJlZiA9IG9yZ2FuZVBhcmVudFJlZlxuICB9XG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKG9yZ2FuZS5jaGFtYnJlLCB1bmRlZmluZWQpXG5cbiAgY29uc3Qgc2VjcmV0YXJpYXQgPSBvcmdhbmUuc2VjcmV0YXJpYXRcbiAgaWYgKHNlY3JldGFyaWF0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhzZWNyZXRhcmlhdClcbiAgfVxuXG4gIGNvbnN0IGxpZXUgPSBvcmdhbmUubGlldVxuICBpZiAobGlldSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcblxuICAgIGNvbnN0IHJlZ2lvbiA9IGxpZXUucmVnaW9uXG4gICAgaWYgKHJlZ2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhyZWdpb24pXG4gICAgfVxuXG4gICAgY29uc3QgZGVwYXJ0ZW1lbnQgPSBsaWV1LmRlcGFydGVtZW50XG4gICAgaWYgKGRlcGFydGVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlcGFydGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvdWxldXJBc3NvY2llZSA9IG9yZ2FuZS5jb3VsZXVyQXNzb2NpZWVcbiAgaWYgKGNvdWxldXJBc3NvY2llZSA9PT0gbnVsbCkge1xuICAgIGRlbGV0ZSBvcmdhbmUuY291bGV1ckFzc29jaWVlXG4gIH1cblxuICBsZXQgbGlzdGVQYXlzID0gb3JnYW5lLmxpc3RlUGF5c1xuICBpZiAobGlzdGVQYXlzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsaXN0ZVBheXMgPSBsaXN0ZVBheXMucGF5c1JlZlxuICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0ZVBheXMpKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGxpc3RlUGF5cywgXCJzdHJpbmdcIilcbiAgICAgIGxpc3RlUGF5cyA9IFtsaXN0ZVBheXNdXG4gICAgfVxuICAgIG9yZ2FuZS5saXN0ZVBheXMgPSBsaXN0ZVBheXNcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUFBLFNBRWxCQyxpQkFBaUI7QUFFMUIsT0FBTyxTQUFTQyxXQUFXQSxDQUFDQyxNQUFXLEVBQVE7RUFDN0NGLGlCQUFpQixDQUFDRSxNQUFNLENBQUM7RUFFekIsTUFBTUMsT0FBTyxHQUFHRCxNQUFNLENBQUMsV0FBVyxDQUFDO0VBQ25DLElBQUlDLE9BQU8sS0FBS0MsU0FBUyxFQUFFO0lBQ3pCRixNQUFNLENBQUNDLE9BQU8sR0FBR0EsT0FBTztJQUN4QixPQUFPRCxNQUFNLENBQUMsV0FBVyxDQUFDO0VBQzVCO0VBRUEsTUFBTUcsTUFBTSxHQUFHSCxNQUFNLENBQUNHLE1BQU07RUFDNUJMLGlCQUFpQixDQUFDSyxNQUFNLENBQUM7RUFFekIsTUFBTUMsZUFBZSxHQUFHSixNQUFNLENBQUNLLFlBQVk7RUFDM0MsSUFBSUQsZUFBZSxLQUFLRixTQUFTLEVBQUU7SUFDakMsT0FBT0YsTUFBTSxDQUFDSyxZQUFZO0lBQzFCTCxNQUFNLENBQUNJLGVBQWUsR0FBR0EsZUFBZTtFQUMxQztFQUVBUCxNQUFNLENBQUNTLFdBQVcsQ0FBQ04sTUFBTSxDQUFDTyxPQUFPLEVBQUVMLFNBQVMsQ0FBQztFQUU3QyxNQUFNTSxXQUFXLEdBQUdSLE1BQU0sQ0FBQ1EsV0FBVztFQUN0QyxJQUFJQSxXQUFXLEtBQUtOLFNBQVMsRUFBRTtJQUM3QkosaUJBQWlCLENBQUNVLFdBQVcsQ0FBQztFQUNoQztFQUVBLE1BQU1DLElBQUksR0FBR1QsTUFBTSxDQUFDUyxJQUFJO0VBQ3hCLElBQUlBLElBQUksS0FBS1AsU0FBUyxFQUFFO0lBQ3RCSixpQkFBaUIsQ0FBQ1csSUFBSSxDQUFDO0lBRXZCLE1BQU1DLE1BQU0sR0FBR0QsSUFBSSxDQUFDQyxNQUFNO0lBQzFCLElBQUlBLE1BQU0sS0FBS1IsU0FBUyxFQUFFO01BQ3hCSixpQkFBaUIsQ0FBQ1ksTUFBTSxDQUFDO0lBQzNCO0lBRUEsTUFBTUMsV0FBVyxHQUFHRixJQUFJLENBQUNFLFdBQVc7SUFDcEMsSUFBSUEsV0FBVyxLQUFLVCxTQUFTLEVBQUU7TUFDN0JKLGlCQUFpQixDQUFDYSxXQUFXLENBQUM7SUFDaEM7RUFDRjtFQUVBLE1BQU1DLGVBQWUsR0FBR1osTUFBTSxDQUFDWSxlQUFlO0VBQzlDLElBQUlBLGVBQWUsS0FBSyxJQUFJLEVBQUU7SUFDNUIsT0FBT1osTUFBTSxDQUFDWSxlQUFlO0VBQy9CO0VBRUEsSUFBSUMsU0FBUyxHQUFHYixNQUFNLENBQUNhLFNBQVM7RUFDaEMsSUFBSUEsU0FBUyxLQUFLWCxTQUFTLEVBQUU7SUFDM0JXLFNBQVMsR0FBR0EsU0FBUyxDQUFDQyxPQUFPO0lBQzdCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILFNBQVMsQ0FBQyxFQUFFO01BQzdCaEIsTUFBTSxDQUFDUyxXQUFXLENBQUMsT0FBT08sU0FBUyxFQUFFLFFBQVEsQ0FBQztNQUM5Q0EsU0FBUyxHQUFHLENBQUNBLFNBQVMsQ0FBQztJQUN6QjtJQUNBYixNQUFNLENBQUNhLFNBQVMsR0FBR0EsU0FBUztFQUM5QjtBQUNGIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -9,4 +9,4 @@ var _xml = require("./xml");
|
|
|
9
9
|
function cleanQuestion(question) {
|
|
10
10
|
(0, _xml.cleanXmlArtefacts)(question);
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfeG1sIiwicmVxdWlyZSIsImNsZWFuUXVlc3Rpb24iLCJxdWVzdGlvbiIsImNsZWFuWG1sQXJ0ZWZhY3RzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3F1ZXN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbGVhblhtbEFydGVmYWN0cyB9IGZyb20gXCIuL3htbFwiXG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblF1ZXN0aW9uKHF1ZXN0aW9uOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMocXVlc3Rpb24pXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLE9BQUE7QUFFTyxTQUFTQyxhQUFhQSxDQUFDQyxRQUFhLEVBQVE7RUFDakQsSUFBQUMsc0JBQWlCLEVBQUNELFFBQVEsQ0FBQztBQUM3QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -2,4 +2,4 @@ import { cleanXmlArtefacts } from "./xml.mjs";
|
|
|
2
2
|
export function cleanQuestion(question) {
|
|
3
3
|
cleanXmlArtefacts(question);
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuUXVlc3Rpb24iLCJxdWVzdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5RdWVzdGlvbihxdWVzdGlvbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHF1ZXN0aW9uKVxufVxuIl0sIm1hcHBpbmdzIjoiU0FBU0EsaUJBQWlCO0FBRTFCLE9BQU8sU0FBU0MsYUFBYUEsQ0FBQ0MsUUFBYSxFQUFRO0VBQ2pERixpQkFBaUIsQ0FBQ0UsUUFBUSxDQUFDO0FBQzdCIiwiaWdub3JlTGlzdCI6W119
|
package/lib/cleaners/reunions.js
CHANGED
|
@@ -22,10 +22,10 @@ require("core-js/modules/es.string.iterator.js");
|
|
|
22
22
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
23
23
|
var _assert = _interopRequireDefault(require("assert"));
|
|
24
24
|
var _xml = require("./xml");
|
|
25
|
-
function _interopRequireDefault(
|
|
26
|
-
function _createForOfIteratorHelper(
|
|
27
|
-
function _unsupportedIterableToArray(
|
|
28
|
-
function _arrayLikeToArray(
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
26
|
+
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; } } }; }
|
|
27
|
+
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; } }
|
|
28
|
+
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; }
|
|
29
29
|
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); }
|
|
30
30
|
function cleanCycleDeVie(cycleDeVie) {
|
|
31
31
|
(0, _xml.cleanXmlArtefacts)(cycleDeVie);
|
|
@@ -309,4 +309,4 @@ function cleanReunion(reunion) {
|
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwib2JqIiwiX19lc01vZHVsZSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwibyIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsImkiLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJlIiwiX2UiLCJmIiwiVHlwZUVycm9yIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsImNhbGwiLCJzdGVwIiwibmV4dCIsIl9lMiIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiYXJyIiwibGVuIiwiYXJyMiIsIl90eXBlb2YiLCJjbGVhbkN5Y2xlRGVWaWUiLCJjeWNsZURlVmllIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJjaHJvbm8iLCJhc3NlcnQiLCJjcmVhdGlvbiIsInN0cmljdEVxdWFsIiwiRGF0ZSIsImNsb3R1cmUiLCJ1bmRlZmluZWQiLCJjbGVhblJldW5pb24iLCJyZXVuaW9uIiwiY2xlYW5Cb29sZWFuQXR0cmlidXRlIiwieHNpVHlwZSIsInRpbWVzdGFtcERlYnV0IiwidGltZVN0YW1wRGVidXQiLCJub3RTdHJpY3RFcXVhbCIsInRpbWVzdGFtcEZpbiIsInRpbWVTdGFtcEZpbiIsImxpZXUiLCJkZW1hbmRldXJzIiwiYWN0ZXVycyIsImFjdGV1ciIsIl9pdGVyYXRvciIsIl9zdGVwIiwib3JnYW5lIiwiZGVtYW5kZXVyIiwiX2kiLCJfYWN0ZXVyczIiLCJwYXJ0aWNpcGFudHMiLCJwYXJ0aWNpcGFudHNJbnRlcm5lcyIsInBhcnRpY2lwYW50SW50ZXJuZSIsInBlcnNvbm5lc0F1ZGl0aW9ubmVlcyIsInBlcnNvbm5lQXVkaXRpb25uZWUiLCJmaWx0ZXIiLCJwZXJzb25uZUF1ZGlvbm5lZSIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJ1aWQiLCJpZGVudCIsIk9ESiIsIm9kaiIsImNvbnZvY2F0aW9uT2RqIiwiY29udm9jYXRpb25PREoiLCJpdGVtIiwicmVzdW1lT2RqIiwicmVzdW1lT0RKIiwicG9pbnRzT2RqIiwicG9pbnRzT0RKIiwicG9pbnRPZGoiLCJwb2ludE9ESiIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJkZW1hbmRldXJQb2ludCIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llclJlZiIsInR5cGVQb2ludE9kaiIsInR5cGVQb2ludE9ESiIsInRleHRlc0Fzc29jaWVzIiwibmF0dXJlVHJhdmF1eE9kaiIsIm5hdHVyZVRyYXZhdXhPREoiLCJkYXRlQ29uZlByZXMiLCJzcGxpdCIsImRhdGVMZXR0cmVNaW5pc3RyZSIsImlkZW50aWZpYW50cyIsIm51bVNlYW5jZUpvIiwibnVtU2VhbmNlSk8iLCJpZEpvIiwiaWRKTyIsImRhdGVTZWFuY2UiLCJEYXRlU2VhbmNlIiwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwibGlzdGVQYXlzIiwicGF5c1JlZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9yZXVuaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQgeyBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsIGNsZWFuWG1sQXJ0ZWZhY3RzIH0gZnJvbSBcIi4veG1sXCJcblxuZnVuY3Rpb24gY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWU6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhjeWNsZURlVmllKVxuXG4gIGNvbnN0IGNocm9ubyA9IGN5Y2xlRGVWaWUuY2hyb25vXG4gIGFzc2VydChjaHJvbm8pXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhjaHJvbm8pXG5cbiAgICBsZXQgY3JlYXRpb24gPSBjaHJvbm8uY3JlYXRpb25cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGNyZWF0aW9uLCBcInN0cmluZ1wiKVxuICAgIGNyZWF0aW9uID0gbmV3IERhdGUoY3JlYXRpb24pXG4gICAgY2hyb25vLmNyZWF0aW9uID0gY3JlYXRpb25cblxuICAgIGxldCBjbG90dXJlID0gY2hyb25vLmNsb3R1cmVcbiAgICBpZiAoY2xvdHVyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGNsb3R1cmUsIFwic3RyaW5nXCIpXG4gICAgICBjbG90dXJlID0gbmV3IERhdGUoY2xvdHVyZSlcbiAgICAgIGNocm9uby5jbG90dXJlID0gY2xvdHVyZVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5SZXVuaW9uKHJldW5pb246IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhyZXVuaW9uKVxuXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcImNhcHRhdGlvblZpZGVvXCIpXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcImNvbWl0ZVNlY3JldFwiKVxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJvdXZlcnR1cmVQcmVzc2VcIilcblxuICBjb25zdCB4c2lUeXBlID0gcmV1bmlvbltcIkB4c2k6dHlwZVwiXVxuICBpZiAoeHNpVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV1bmlvbi54c2lUeXBlID0geHNpVHlwZVxuICAgIGRlbGV0ZSByZXVuaW9uW1wiQHhzaTp0eXBlXCJdXG4gIH1cblxuICBjb25zdCB0aW1lc3RhbXBEZWJ1dCA9IHJldW5pb24udGltZVN0YW1wRGVidXRcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHRpbWVzdGFtcERlYnV0LCB1bmRlZmluZWQpXG4gIHJldW5pb24udGltZXN0YW1wRGVidXQgPSB0aW1lc3RhbXBEZWJ1dFxuICBkZWxldGUgcmV1bmlvbi50aW1lU3RhbXBEZWJ1dFxuXG4gIGxldCB0aW1lc3RhbXBGaW4gPSByZXVuaW9uLnRpbWVTdGFtcEZpblxuICBpZiAodGltZXN0YW1wRmluICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHRpbWVzdGFtcEZpbiwgXCJzdHJpbmdcIilcbiAgICB0aW1lc3RhbXBGaW4gPSBuZXcgRGF0ZSh0aW1lc3RhbXBGaW4pXG4gICAgcmV1bmlvbi50aW1lc3RhbXBGaW4gPSB0aW1lc3RhbXBGaW5cbiAgICBkZWxldGUgcmV1bmlvbi50aW1lU3RhbXBGaW5cbiAgfVxuXG4gIGNvbnN0IGxpZXUgPSByZXVuaW9uLmxpZXVcbiAgaWYgKGxpZXUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZXUpXG4gIH1cblxuICBjb25zdCBjeWNsZURlVmllID0gcmV1bmlvbi5jeWNsZURlVmllXG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbChjeWNsZURlVmllLCB1bmRlZmluZWQpXG4gIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllKVxuXG4gIGNvbnN0IGRlbWFuZGV1cnMgPSByZXVuaW9uLmRlbWFuZGV1cnNcbiAgaWYgKGRlbWFuZGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBhY3RldXJzID0gZGVtYW5kZXVycy5hY3RldXJcbiAgICBpZiAoYWN0ZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0ZXVycykpIHtcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFjdGV1cnMsIG51bGwpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgYWN0ZXVycywgXCJvYmplY3RcIilcbiAgICAgICAgYWN0ZXVycyA9IFthY3RldXJzXVxuICAgICAgfVxuICAgICAgZGVtYW5kZXVycy5hY3RldXJzID0gYWN0ZXVyc1xuICAgICAgZGVsZXRlIGRlbWFuZGV1cnMuYWN0ZXVyXG5cbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyIG9mIGFjdGV1cnMpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWN0ZXVyKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9yZ2FuZSA9IGRlbWFuZGV1cnMub3JnYW5lXG4gICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvcmdhbmUpXG4gICAgfVxuICB9XG4gIGNvbnN0IGRlbWFuZGV1ciA9IHJldW5pb24uZGVtYW5kZXVyXG4gIGlmIChkZW1hbmRldXIgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXVuaW9uLmRlbWFuZGV1cnMsIHVuZGVmaW5lZClcbiAgICBkZWxldGUgcmV1bmlvbi5kZW1hbmRldXJcblxuICAgIGxldCBhY3RldXIgPSBkZW1hbmRldXIuYWN0ZXVyXG4gICAgaWYgKGFjdGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWN0ZXVyLCBudWxsKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhY3RldXIsIFwib2JqZWN0XCIpXG4gICAgICBjb25zdCBhY3RldXJzID0gW2FjdGV1cl1cbiAgICAgIGRlbWFuZGV1ci5hY3RldXJzID0gYWN0ZXVyc1xuICAgICAgZGVsZXRlIGRlbWFuZGV1ci5hY3RldXJcbiAgICAgIHJldW5pb24uZGVtYW5kZXVycyA9IGRlbWFuZGV1clxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcmdhbmUgPSBkZW1hbmRldXIub3JnYW5lXG4gICAgaWYgKG9yZ2FuZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvcmdhbmUpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgcGFydGljaXBhbnRzID0gcmV1bmlvbi5wYXJ0aWNpcGFudHNcbiAgaWYgKHBhcnRpY2lwYW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMocGFydGljaXBhbnRzKVxuXG4gICAgbGV0IHBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzLnBhcnRpY2lwYW50c0ludGVybmVzXG4gICAgaWYgKHBhcnRpY2lwYW50c0ludGVybmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzSW50ZXJuZXMucGFydGljaXBhbnRJbnRlcm5lXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGFydGljaXBhbnRzSW50ZXJuZXMpKSB7XG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChwYXJ0aWNpcGFudHNJbnRlcm5lcywgbnVsbClcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBwYXJ0aWNpcGFudHNJbnRlcm5lcywgXCJvYmplY3RcIilcbiAgICAgICAgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBbcGFydGljaXBhbnRzSW50ZXJuZXNdXG4gICAgICB9XG4gICAgICBwYXJ0aWNpcGFudHMucGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHNJbnRlcm5lc1xuICAgIH1cblxuICAgIGxldCBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXMucGVyc29ubmVBdWRpdGlvbm5lZVxuICAgICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcnNvbm5lc0F1ZGl0aW9ubmVlcykpIHtcbiAgICAgICAgICAvLyBhc3NlcnQubm90U3RyaWN0RXF1YWwocGVyc29ubmVzQXVkaXRpb25uZWVzLCBudWxsKVxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcGVyc29ubmVzQXVkaXRpb25uZWVzLCBcIm9iamVjdFwiKVxuICAgICAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IFtwZXJzb25uZXNBdWRpdGlvbm5lZXNdXG4gICAgICAgIH1cbiAgICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzLmZpbHRlcihcbiAgICAgICAgICAocGVyc29ubmVBdWRpb25uZWU6IGFueSkgPT4gcGVyc29ubmVBdWRpb25uZWUgIT09IG51bGwsXG4gICAgICAgIClcbiAgICAgICAgaWYgKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBlcnNvbm5lQXVkaW9ubmVlIG9mIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcykge1xuICAgICAgICAgIGNvbnN0IHhzaVR5cGUgPSBwZXJzb25uZUF1ZGlvbm5lZS51aWRbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICBhc3NlcnQoeHNpVHlwZSlcbiAgICAgICAgICBwZXJzb25uZUF1ZGlvbm5lZS54c2lUeXBlID0geHNpVHlwZVxuICAgICAgICAgIGNvbnN0IHVpZCA9IHBlcnNvbm5lQXVkaW9ubmVlLnVpZFtcIiN0ZXh0XCJdXG4gICAgICAgICAgYXNzZXJ0KHVpZClcbiAgICAgICAgICBwZXJzb25uZUF1ZGlvbm5lZS51aWQgPSB1aWRcblxuICAgICAgICAgIGNvbnN0IGlkZW50ID0gcGVyc29ubmVBdWRpb25uZWUuaWRlbnRcbiAgICAgICAgICBhc3NlcnQoaWRlbnQpXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoaWRlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHJldW5pb24uT0RKICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBvZGogPSByZXVuaW9uLk9ESlxuICAgIHJldW5pb24ub2RqID0gb2RqXG4gICAgZGVsZXRlIHJldW5pb24uT0RKXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob2RqKVxuXG4gICAgICBsZXQgY29udm9jYXRpb25PZGogPSBvZGouY29udm9jYXRpb25PREpcbiAgICAgIGlmIChjb252b2NhdGlvbk9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbnZvY2F0aW9uT2RqLml0ZW0pKSB7XG4gICAgICAgICAgY29udm9jYXRpb25PZGogPSBjb252b2NhdGlvbk9kai5pdGVtXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KGNvbnZvY2F0aW9uT2RqLml0ZW0pXG4gICAgICAgICAgY29udm9jYXRpb25PZGogPSBbY29udm9jYXRpb25PZGouaXRlbV1cbiAgICAgICAgfVxuICAgICAgICBvZGouY29udm9jYXRpb25PZGogPSBjb252b2NhdGlvbk9kalxuICAgICAgICBkZWxldGUgb2RqLmNvbnZvY2F0aW9uT0RKXG4gICAgICB9XG5cbiAgICAgIGxldCByZXN1bWVPZGogPSBvZGoucmVzdW1lT0RKXG4gICAgICBpZiAocmVzdW1lT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdW1lT2RqLml0ZW0pKSB7XG4gICAgICAgICAgcmVzdW1lT2RqID0gcmVzdW1lT2RqLml0ZW1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQocmVzdW1lT2RqLml0ZW0pXG4gICAgICAgICAgcmVzdW1lT2RqID0gW3Jlc3VtZU9kai5pdGVtXVxuICAgICAgICB9XG4gICAgICAgIG9kai5yZXN1bWVPZGogPSByZXN1bWVPZGpcbiAgICAgICAgZGVsZXRlIG9kai5yZXN1bWVPREpcbiAgICAgIH1cblxuICAgICAgbGV0IHBvaW50c09kaiA9IG9kai5wb2ludHNPREpcbiAgICAgIGlmIChwb2ludHNPZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsZXQgcG9pbnRPZGogPSBwb2ludHNPZGoucG9pbnRPREpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocG9pbnRPZGopKSB7XG4gICAgICAgICAgcG9pbnRzT2RqID0gcG9pbnRPZGpcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQocG9pbnRPZGopXG4gICAgICAgICAgcG9pbnRzT2RqID0gW3BvaW50T2RqXVxuICAgICAgICB9XG4gICAgICAgIG9kai5wb2ludHNPZGogPSBwb2ludHNPZGpcblxuICAgICAgICBmb3IgKGNvbnN0IHBvaW50T2RqIG9mIHBvaW50c09kaikge1xuICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHBvaW50T2RqKVxuXG4gICAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHBvaW50T2RqLCBcImNvbWl0ZVNlY3JldFwiKVxuXG4gICAgICAgICAgY29uc3QgeHNpVHlwZSA9IHBvaW50T2RqW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcG9pbnRPZGoueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgICAgIGRlbGV0ZSBwb2ludE9kaltcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGN5Y2xlRGVWaWUgPSBwb2ludE9kai5jeWNsZURlVmllXG4gICAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGN5Y2xlRGVWaWUsIHVuZGVmaW5lZClcbiAgICAgICAgICBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZSlcblxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChwb2ludE9kai5kZW1hbmRldXJQb2ludCwgdW5kZWZpbmVkKVxuXG4gICAgICAgICAgbGV0IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcbiAgICAgICAgICBpZiAoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZikpIHtcbiAgICAgICAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhc3NlcnQoZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZilcbiAgICAgICAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBbZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZl1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwb2ludE9kai50eXBlUG9pbnRPZGogPSBwb2ludE9kai50eXBlUG9pbnRPREpcbiAgICAgICAgICBkZWxldGUgcG9pbnRPZGoudHlwZVBvaW50T0RKXG5cbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocG9pbnRPZGoudGV4dGVzQXNzb2NpZXMsIHVuZGVmaW5lZClcblxuICAgICAgICAgIHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPZGogPSBwb2ludE9kai5uYXR1cmVUcmF2YXV4T0RKXG4gICAgICAgICAgZGVsZXRlIHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPREpcblxuICAgICAgICAgIGxldCBkYXRlQ29uZlByZXMgPSBwb2ludE9kai5kYXRlQ29uZlByZXNcbiAgICAgICAgICBpZiAoZGF0ZUNvbmZQcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZUNvbmZQcmVzLCBcInN0cmluZ1wiKVxuICAgICAgICAgICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVDb25mUHJlcykpXG4gICAgICAgICAgICBkYXRlQ29uZlByZXMgPSBuZXcgRGF0ZShkYXRlQ29uZlByZXMuc3BsaXQoXCIrXCIpWzBdKVxuICAgICAgICAgICAgcG9pbnRPZGouZGF0ZUNvbmZQcmVzID0gZGF0ZUNvbmZQcmVzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGRhdGVMZXR0cmVNaW5pc3RyZSA9IHBvaW50T2RqLmRhdGVMZXR0cmVNaW5pc3RyZVxuICAgICAgICAgIGlmIChkYXRlTGV0dHJlTWluaXN0cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlTGV0dHJlTWluaXN0cmUsIFwic3RyaW5nXCIpXG4gICAgICAgICAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZUxldHRyZU1pbmlzdHJlKSlcbiAgICAgICAgICAgIGRhdGVMZXR0cmVNaW5pc3RyZSA9IG5ldyBEYXRlKGRhdGVMZXR0cmVNaW5pc3RyZS5zcGxpdChcIitcIilbMF0pXG4gICAgICAgICAgICBwb2ludE9kai5kYXRlTGV0dHJlTWluaXN0cmUgPSBkYXRlTGV0dHJlTWluaXN0cmVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIG9kai5wb2ludHNPREpcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBpZGVudGlmaWFudHMgPSByZXVuaW9uLmlkZW50aWZpYW50c1xuICBpZiAoaWRlbnRpZmlhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudGlmaWFudHMpXG4gICAgY29uc3QgbnVtU2VhbmNlSm8gPSBpZGVudGlmaWFudHMubnVtU2VhbmNlSk9cbiAgICBpZiAobnVtU2VhbmNlSm8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID0gbnVtU2VhbmNlSm9cbiAgICAgIGRlbGV0ZSBpZGVudGlmaWFudHMubnVtU2VhbmNlSk9cbiAgICB9XG5cbiAgICBjb25zdCBpZEpvID0gaWRlbnRpZmlhbnRzLmlkSk9cbiAgICBpZiAoaWRKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZGVudGlmaWFudHMuaWRKbyA9IGlkSm9cbiAgICAgIGRlbGV0ZSBpZGVudGlmaWFudHMuaWRKT1xuICAgIH1cblxuICAgIGxldCBkYXRlU2VhbmNlID0gaWRlbnRpZmlhbnRzLkRhdGVTZWFuY2VcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVTZWFuY2UsIFwic3RyaW5nXCIpXG4gICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVTZWFuY2UpKVxuICAgIGRhdGVTZWFuY2UgPSBuZXcgRGF0ZShkYXRlU2VhbmNlLnNwbGl0KFwiK1wiKVswXSlcbiAgICBpZGVudGlmaWFudHMuZGF0ZVNlYW5jZSA9IGRhdGVTZWFuY2VcbiAgICBkZWxldGUgaWRlbnRpZmlhbnRzLkRhdGVTZWFuY2VcbiAgfVxuXG4gIGNvbnN0IGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSA9IHJldW5pb24uaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXG4gIGlmIChpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSlcblxuICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShcbiAgICAgIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSxcbiAgICAgIFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgKVxuXG4gICAgbGV0IGxpc3RlUGF5cyA9IGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZS5saXN0ZVBheXNcbiAgICBpZiAobGlzdGVQYXlzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxpc3RlUGF5cyA9IGxpc3RlUGF5cy5wYXlzUmVmXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlzdGVQYXlzKSkge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGxpc3RlUGF5cywgXCJzdHJpbmdcIilcbiAgICAgICAgbGlzdGVQYXlzID0gW2xpc3RlUGF5c11cbiAgICAgIH1cbiAgICAgIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZS5saXN0ZVBheXMgPSBsaXN0ZVBheXNcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUFnRSxTQUFBRCx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxD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
|
|
312
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiX3R5cGVvZiIsInByb3RvdHlwZSIsImNsZWFuQ3ljbGVEZVZpZSIsImN5Y2xlRGVWaWUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNocm9ubyIsImFzc2VydCIsImNyZWF0aW9uIiwic3RyaWN0RXF1YWwiLCJEYXRlIiwiY2xvdHVyZSIsInVuZGVmaW5lZCIsImNsZWFuUmV1bmlvbiIsInJldW5pb24iLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJ4c2lUeXBlIiwidGltZXN0YW1wRGVidXQiLCJ0aW1lU3RhbXBEZWJ1dCIsIm5vdFN0cmljdEVxdWFsIiwidGltZXN0YW1wRmluIiwidGltZVN0YW1wRmluIiwibGlldSIsImRlbWFuZGV1cnMiLCJhY3RldXJzIiwiYWN0ZXVyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJlcnIiLCJvcmdhbmUiLCJkZW1hbmRldXIiLCJfaSIsIl9hY3RldXJzMiIsInBhcnRpY2lwYW50cyIsInBhcnRpY2lwYW50c0ludGVybmVzIiwicGFydGljaXBhbnRJbnRlcm5lIiwicGVyc29ubmVzQXVkaXRpb25uZWVzIiwicGVyc29ubmVBdWRpdGlvbm5lZSIsImZpbHRlciIsInBlcnNvbm5lQXVkaW9ubmVlIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInVpZCIsImlkZW50IiwiT0RKIiwib2RqIiwiY29udm9jYXRpb25PZGoiLCJjb252b2NhdGlvbk9ESiIsIml0ZW0iLCJyZXN1bWVPZGoiLCJyZXN1bWVPREoiLCJwb2ludHNPZGoiLCJwb2ludHNPREoiLCJwb2ludE9kaiIsInBvaW50T0RKIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImRlbWFuZGV1clBvaW50IiwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMiLCJkb3NzaWVyUmVmIiwidHlwZVBvaW50T2RqIiwidHlwZVBvaW50T0RKIiwidGV4dGVzQXNzb2NpZXMiLCJuYXR1cmVUcmF2YXV4T2RqIiwibmF0dXJlVHJhdmF1eE9ESiIsImRhdGVDb25mUHJlcyIsInNwbGl0IiwiZGF0ZUxldHRyZU1pbmlzdHJlIiwiaWRlbnRpZmlhbnRzIiwibnVtU2VhbmNlSm8iLCJudW1TZWFuY2VKTyIsImlkSm8iLCJpZEpPIiwiZGF0ZVNlYW5jZSIsIkRhdGVTZWFuY2UiLCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUiLCJsaXN0ZVBheXMiLCJwYXlzUmVmIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3JldW5pb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSwgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5mdW5jdGlvbiBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZTogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGN5Y2xlRGVWaWUpXG5cbiAgY29uc3QgY2hyb25vID0gY3ljbGVEZVZpZS5jaHJvbm9cbiAgYXNzZXJ0KGNocm9ubylcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNocm9ubylcblxuICAgIGxldCBjcmVhdGlvbiA9IGNocm9uby5jcmVhdGlvblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY3JlYXRpb24sIFwic3RyaW5nXCIpXG4gICAgY3JlYXRpb24gPSBuZXcgRGF0ZShjcmVhdGlvbilcbiAgICBjaHJvbm8uY3JlYXRpb24gPSBjcmVhdGlvblxuXG4gICAgbGV0IGNsb3R1cmUgPSBjaHJvbm8uY2xvdHVyZVxuICAgIGlmIChjbG90dXJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY2xvdHVyZSwgXCJzdHJpbmdcIilcbiAgICAgIGNsb3R1cmUgPSBuZXcgRGF0ZShjbG90dXJlKVxuICAgICAgY2hyb25vLmNsb3R1cmUgPSBjbG90dXJlXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblJldW5pb24ocmV1bmlvbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHJldW5pb24pXG5cbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwiY2FwdGF0aW9uVmlkZW9cIilcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwiY29taXRlU2VjcmV0XCIpXG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShyZXVuaW9uLCBcIm91dmVydHVyZVByZXNzZVwiKVxuXG4gIGNvbnN0IHhzaVR5cGUgPSByZXVuaW9uW1wiQHhzaTp0eXBlXCJdXG4gIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXVuaW9uLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgZGVsZXRlIHJldW5pb25bXCJAeHNpOnR5cGVcIl1cbiAgfVxuXG4gIGNvbnN0IHRpbWVzdGFtcERlYnV0ID0gcmV1bmlvbi50aW1lU3RhbXBEZWJ1dFxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwodGltZXN0YW1wRGVidXQsIHVuZGVmaW5lZClcbiAgcmV1bmlvbi50aW1lc3RhbXBEZWJ1dCA9IHRpbWVzdGFtcERlYnV0XG4gIGRlbGV0ZSByZXVuaW9uLnRpbWVTdGFtcERlYnV0XG5cbiAgbGV0IHRpbWVzdGFtcEZpbiA9IHJldW5pb24udGltZVN0YW1wRmluXG4gIGlmICh0aW1lc3RhbXBGaW4gIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgdGltZXN0YW1wRmluLCBcInN0cmluZ1wiKVxuICAgIHRpbWVzdGFtcEZpbiA9IG5ldyBEYXRlKHRpbWVzdGFtcEZpbilcbiAgICByZXVuaW9uLnRpbWVzdGFtcEZpbiA9IHRpbWVzdGFtcEZpblxuICAgIGRlbGV0ZSByZXVuaW9uLnRpbWVTdGFtcEZpblxuICB9XG5cbiAgY29uc3QgbGlldSA9IHJldW5pb24ubGlldVxuICBpZiAobGlldSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMobGlldSlcbiAgfVxuXG4gIGNvbnN0IGN5Y2xlRGVWaWUgPSByZXVuaW9uLmN5Y2xlRGVWaWVcbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGN5Y2xlRGVWaWUsIHVuZGVmaW5lZClcbiAgY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWUpXG5cbiAgY29uc3QgZGVtYW5kZXVycyA9IHJldW5pb24uZGVtYW5kZXVyc1xuICBpZiAoZGVtYW5kZXVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGFjdGV1cnMgPSBkZW1hbmRldXJzLmFjdGV1clxuICAgIGlmIChhY3RldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhY3RldXJzKSkge1xuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYWN0ZXVycywgbnVsbClcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBhY3RldXJzLCBcIm9iamVjdFwiKVxuICAgICAgICBhY3RldXJzID0gW2FjdGV1cnNdXG4gICAgICB9XG4gICAgICBkZW1hbmRldXJzLmFjdGV1cnMgPSBhY3RldXJzXG4gICAgICBkZWxldGUgZGVtYW5kZXVycy5hY3RldXJcblxuICAgICAgZm9yIChjb25zdCBhY3RldXIgb2YgYWN0ZXVycykge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhY3RldXIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JnYW5lID0gZGVtYW5kZXVycy5vcmdhbmVcbiAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcbiAgICB9XG4gIH1cbiAgY29uc3QgZGVtYW5kZXVyID0gcmV1bmlvbi5kZW1hbmRldXJcbiAgaWYgKGRlbWFuZGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJldW5pb24uZGVtYW5kZXVycywgdW5kZWZpbmVkKVxuICAgIGRlbGV0ZSByZXVuaW9uLmRlbWFuZGV1clxuXG4gICAgbGV0IGFjdGV1ciA9IGRlbWFuZGV1ci5hY3RldXJcbiAgICBpZiAoYWN0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhY3RldXIsIG51bGwpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGFjdGV1ciwgXCJvYmplY3RcIilcbiAgICAgIGNvbnN0IGFjdGV1cnMgPSBbYWN0ZXVyXVxuICAgICAgZGVtYW5kZXVyLmFjdGV1cnMgPSBhY3RldXJzXG4gICAgICBkZWxldGUgZGVtYW5kZXVyLmFjdGV1clxuICAgICAgcmV1bmlvbi5kZW1hbmRldXJzID0gZGVtYW5kZXVyXG5cbiAgICAgIGZvciAoY29uc3QgYWN0ZXVyIG9mIGFjdGV1cnMpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWN0ZXVyKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9yZ2FuZSA9IGRlbWFuZGV1ci5vcmdhbmVcbiAgICBpZiAob3JnYW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9yZ2FuZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBwYXJ0aWNpcGFudHMgPSByZXVuaW9uLnBhcnRpY2lwYW50c1xuICBpZiAocGFydGljaXBhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhwYXJ0aWNpcGFudHMpXG5cbiAgICBsZXQgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHMucGFydGljaXBhbnRzSW50ZXJuZXNcbiAgICBpZiAocGFydGljaXBhbnRzSW50ZXJuZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFydGljaXBhbnRzSW50ZXJuZXMgPSBwYXJ0aWNpcGFudHNJbnRlcm5lcy5wYXJ0aWNpcGFudEludGVybmVcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJ0aWNpcGFudHNJbnRlcm5lcykpIHtcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHBhcnRpY2lwYW50c0ludGVybmVzLCBudWxsKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHBhcnRpY2lwYW50c0ludGVybmVzLCBcIm9iamVjdFwiKVxuICAgICAgICBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IFtwYXJ0aWNpcGFudHNJbnRlcm5lc11cbiAgICAgIH1cbiAgICAgIHBhcnRpY2lwYW50cy5wYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50c0ludGVybmVzXG4gICAgfVxuXG4gICAgbGV0IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5wZXJzb25uZUF1ZGl0aW9ubmVlXG4gICAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzID09PSBudWxsKSB7XG4gICAgICAgIGRlbGV0ZSBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGVyc29ubmVzQXVkaXRpb25uZWVzKSkge1xuICAgICAgICAgIC8vIGFzc2VydC5ub3RTdHJpY3RFcXVhbChwZXJzb25uZXNBdWRpdGlvbm5lZXMsIG51bGwpXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBwZXJzb25uZXNBdWRpdGlvbm5lZXMsIFwib2JqZWN0XCIpXG4gICAgICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gW3BlcnNvbm5lc0F1ZGl0aW9ubmVlc11cbiAgICAgICAgfVxuICAgICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXMuZmlsdGVyKFxuICAgICAgICAgIChwZXJzb25uZUF1ZGlvbm5lZTogYW55KSA9PiBwZXJzb25uZUF1ZGlvbm5lZSAhPT0gbnVsbCxcbiAgICAgICAgKVxuICAgICAgICBpZiAocGVyc29ubmVzQXVkaXRpb25uZWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwYXJ0aWNpcGFudHMucGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgcGVyc29ubmVBdWRpb25uZWUgb2YgcGVyc29ubmVzQXVkaXRpb25uZWVzKSB7XG4gICAgICAgICAgY29uc3QgeHNpVHlwZSA9IHBlcnNvbm5lQXVkaW9ubmVlLnVpZFtcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIGFzc2VydCh4c2lUeXBlKVxuICAgICAgICAgIHBlcnNvbm5lQXVkaW9ubmVlLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgICAgY29uc3QgdWlkID0gcGVyc29ubmVBdWRpb25uZWUudWlkW1wiI3RleHRcIl1cbiAgICAgICAgICBhc3NlcnQodWlkKVxuICAgICAgICAgIHBlcnNvbm5lQXVkaW9ubmVlLnVpZCA9IHVpZFxuXG4gICAgICAgICAgY29uc3QgaWRlbnQgPSBwZXJzb25uZUF1ZGlvbm5lZS5pZGVudFxuICAgICAgICAgIGFzc2VydChpZGVudClcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhpZGVudClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocmV1bmlvbi5PREogIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG9kaiA9IHJldW5pb24uT0RKXG4gICAgcmV1bmlvbi5vZGogPSBvZGpcbiAgICBkZWxldGUgcmV1bmlvbi5PREpcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhvZGopXG5cbiAgICAgIGxldCBjb252b2NhdGlvbk9kaiA9IG9kai5jb252b2NhdGlvbk9ESlxuICAgICAgaWYgKGNvbnZvY2F0aW9uT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29udm9jYXRpb25PZGouaXRlbSkpIHtcbiAgICAgICAgICBjb252b2NhdGlvbk9kaiA9IGNvbnZvY2F0aW9uT2RqLml0ZW1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQoY29udm9jYXRpb25PZGouaXRlbSlcbiAgICAgICAgICBjb252b2NhdGlvbk9kaiA9IFtjb252b2NhdGlvbk9kai5pdGVtXVxuICAgICAgICB9XG4gICAgICAgIG9kai5jb252b2NhdGlvbk9kaiA9IGNvbnZvY2F0aW9uT2RqXG4gICAgICAgIGRlbGV0ZSBvZGouY29udm9jYXRpb25PREpcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3VtZU9kaiA9IG9kai5yZXN1bWVPREpcbiAgICAgIGlmIChyZXN1bWVPZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bWVPZGouaXRlbSkpIHtcbiAgICAgICAgICByZXN1bWVPZGogPSByZXN1bWVPZGouaXRlbVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChyZXN1bWVPZGouaXRlbSlcbiAgICAgICAgICByZXN1bWVPZGogPSBbcmVzdW1lT2RqLml0ZW1dXG4gICAgICAgIH1cbiAgICAgICAgb2RqLnJlc3VtZU9kaiA9IHJlc3VtZU9kalxuICAgICAgICBkZWxldGUgb2RqLnJlc3VtZU9ESlxuICAgICAgfVxuXG4gICAgICBsZXQgcG9pbnRzT2RqID0gb2RqLnBvaW50c09ESlxuICAgICAgaWYgKHBvaW50c09kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBwb2ludE9kaiA9IHBvaW50c09kai5wb2ludE9ESlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwb2ludE9kaikpIHtcbiAgICAgICAgICBwb2ludHNPZGogPSBwb2ludE9kalxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChwb2ludE9kailcbiAgICAgICAgICBwb2ludHNPZGogPSBbcG9pbnRPZGpdXG4gICAgICAgIH1cbiAgICAgICAgb2RqLnBvaW50c09kaiA9IHBvaW50c09kalxuXG4gICAgICAgIGZvciAoY29uc3QgcG9pbnRPZGogb2YgcG9pbnRzT2RqKSB7XG4gICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocG9pbnRPZGopXG5cbiAgICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocG9pbnRPZGosIFwiY29taXRlU2VjcmV0XCIpXG5cbiAgICAgICAgICBjb25zdCB4c2lUeXBlID0gcG9pbnRPZGpbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICBpZiAoeHNpVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwb2ludE9kai54c2lUeXBlID0geHNpVHlwZVxuICAgICAgICAgICAgZGVsZXRlIHBvaW50T2RqW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY3ljbGVEZVZpZSA9IHBvaW50T2RqLmN5Y2xlRGVWaWVcbiAgICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoY3ljbGVEZVZpZSwgdW5kZWZpbmVkKVxuICAgICAgICAgIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllKVxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHBvaW50T2RqLmRlbWFuZGV1clBvaW50LCB1bmRlZmluZWQpXG5cbiAgICAgICAgICBsZXQgZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBwb2ludE9kai5kb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1xuICAgICAgICAgIGlmIChkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmKSkge1xuICAgICAgICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWZcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGFzc2VydChkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmKVxuICAgICAgICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IFtkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcy5kb3NzaWVyUmVmXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcG9pbnRPZGouZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMgPSBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHBvaW50T2RqLnR5cGVQb2ludE9kaiA9IHBvaW50T2RqLnR5cGVQb2ludE9ESlxuICAgICAgICAgIGRlbGV0ZSBwb2ludE9kai50eXBlUG9pbnRPREpcblxuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChwb2ludE9kai50ZXh0ZXNBc3NvY2llcywgdW5kZWZpbmVkKVxuXG4gICAgICAgICAgcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9kaiA9IHBvaW50T2RqLm5hdHVyZVRyYXZhdXhPREpcbiAgICAgICAgICBkZWxldGUgcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9ESlxuXG4gICAgICAgICAgbGV0IGRhdGVDb25mUHJlcyA9IHBvaW50T2RqLmRhdGVDb25mUHJlc1xuICAgICAgICAgIGlmIChkYXRlQ29uZlByZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlQ29uZlByZXMsIFwic3RyaW5nXCIpXG4gICAgICAgICAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZUNvbmZQcmVzKSlcbiAgICAgICAgICAgIGRhdGVDb25mUHJlcyA9IG5ldyBEYXRlKGRhdGVDb25mUHJlcy5zcGxpdChcIitcIilbMF0pXG4gICAgICAgICAgICBwb2ludE9kai5kYXRlQ29uZlByZXMgPSBkYXRlQ29uZlByZXNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgZGF0ZUxldHRyZU1pbmlzdHJlID0gcG9pbnRPZGouZGF0ZUxldHRyZU1pbmlzdHJlXG4gICAgICAgICAgaWYgKGRhdGVMZXR0cmVNaW5pc3RyZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVMZXR0cmVNaW5pc3RyZSwgXCJzdHJpbmdcIilcbiAgICAgICAgICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlTGV0dHJlTWluaXN0cmUpKVxuICAgICAgICAgICAgZGF0ZUxldHRyZU1pbmlzdHJlID0gbmV3IERhdGUoZGF0ZUxldHRyZU1pbmlzdHJlLnNwbGl0KFwiK1wiKVswXSlcbiAgICAgICAgICAgIHBvaW50T2RqLmRhdGVMZXR0cmVNaW5pc3RyZSA9IGRhdGVMZXR0cmVNaW5pc3RyZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgb2RqLnBvaW50c09ESlxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlkZW50aWZpYW50cyA9IHJldW5pb24uaWRlbnRpZmlhbnRzXG4gIGlmIChpZGVudGlmaWFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGlkZW50aWZpYW50cylcbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IGlkZW50aWZpYW50cy5udW1TZWFuY2VKT1xuICAgIGlmIChudW1TZWFuY2VKbyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgICAgZGVsZXRlIGlkZW50aWZpYW50cy5udW1TZWFuY2VKT1xuICAgIH1cblxuICAgIGNvbnN0IGlkSm8gPSBpZGVudGlmaWFudHMuaWRKT1xuICAgIGlmIChpZEpvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgICAgZGVsZXRlIGlkZW50aWZpYW50cy5pZEpPXG4gICAgfVxuXG4gICAgbGV0IGRhdGVTZWFuY2UgPSBpZGVudGlmaWFudHMuRGF0ZVNlYW5jZVxuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZVNlYW5jZSwgXCJzdHJpbmdcIilcbiAgICBhc3NlcnQoL15cXGR7NH0tXFxkezJ9LVxcZHsyfVxcK1xcZHsyfTowMCQvLnRlc3QoZGF0ZVNlYW5jZSkpXG4gICAgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGRhdGVTZWFuY2Uuc3BsaXQoXCIrXCIpWzBdKVxuICAgIGlkZW50aWZpYW50cy5kYXRlU2VhbmNlID0gZGF0ZVNlYW5jZVxuICAgIGRlbGV0ZSBpZGVudGlmaWFudHMuRGF0ZVNlYW5jZVxuICB9XG5cbiAgY29uc3QgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlID0gcmV1bmlvbi5pbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcbiAgaWYgKGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlKVxuXG4gICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKFxuICAgICAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLFxuICAgICAgXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICApXG5cbiAgICBsZXQgbGlzdGVQYXlzID0gaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLmxpc3RlUGF5c1xuICAgIGlmIChsaXN0ZVBheXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGlzdGVQYXlzID0gbGlzdGVQYXlzLnBheXNSZWZcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShsaXN0ZVBheXMpKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgbGlzdGVQYXlzLCBcInN0cmluZ1wiKVxuICAgICAgICBsaXN0ZVBheXMgPSBbbGlzdGVQYXlzXVxuICAgICAgfVxuICAgICAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlLmxpc3RlUGF5cyA9IGxpc3RlUGF5c1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBQWdFLFNBQUFELHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSwyQkFBQUMsQ0FBQSxFQUFBSCxDQUFBLFFBQUFJLENBQUEseUJBQUFDLE1BQUEsSUFBQUYsQ0FBQSxDQUFBRSxNQUFBLENBQUFDLFFBQUEsS0FBQUgsQ0FBQSxxQkFBQUMsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQUwsQ0FBQSxNQUFBQyxDQUFBLEdBQUFLLDJCQUFBLENBQUFOLENBQUEsTUFBQUgsQ0FBQSxJQUFBRyxDQUFBLHVCQUFBQSxDQUFBLENBQUFPLE1BQUEsSUFBQU4sQ0FBQSxLQUFBRCxDQUFBLEdBQUFDLENBQUEsT0FBQU8sRUFBQSxN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
|
|
@@ -252,4 +252,4 @@ export function cleanReunion(reunion) {
|
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuQ3ljbGVEZVZpZSIsImN5Y2xlRGVWaWUiLCJjaHJvbm8iLCJjcmVhdGlvbiIsInN0cmljdEVxdWFsIiwiRGF0ZSIsImNsb3R1cmUiLCJ1bmRlZmluZWQiLCJjbGVhblJldW5pb24iLCJyZXVuaW9uIiwieHNpVHlwZSIsInRpbWVzdGFtcERlYnV0IiwidGltZVN0YW1wRGVidXQiLCJub3RTdHJpY3RFcXVhbCIsInRpbWVzdGFtcEZpbiIsInRpbWVTdGFtcEZpbiIsImxpZXUiLCJkZW1hbmRldXJzIiwiYWN0ZXVycyIsImFjdGV1ciIsIkFycmF5IiwiaXNBcnJheSIsIm9yZ2FuZSIsImRlbWFuZGV1ciIsInBhcnRpY2lwYW50cyIsInBhcnRpY2lwYW50c0ludGVybmVzIiwicGFydGljaXBhbnRJbnRlcm5lIiwicGVyc29ubmVzQXVkaXRpb25uZWVzIiwicGVyc29ubmVBdWRpdGlvbm5lZSIsImZpbHRlciIsInBlcnNvbm5lQXVkaW9ubmVlIiwibGVuZ3RoIiwidWlkIiwiaWRlbnQiLCJPREoiLCJvZGoiLCJjb252b2NhdGlvbk9kaiIsImNvbnZvY2F0aW9uT0RKIiwiaXRlbSIsInJlc3VtZU9kaiIsInJlc3VtZU9ESiIsInBvaW50c09kaiIsInBvaW50c09ESiIsInBvaW50T2RqIiwicG9pbnRPREoiLCJkZW1hbmRldXJQb2ludCIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llclJlZiIsInR5cGVQb2ludE9kaiIsInR5cGVQb2ludE9ESiIsInRleHRlc0Fzc29jaWVzIiwibmF0dXJlVHJhdmF1eE9kaiIsIm5hdHVyZVRyYXZhdXhPREoiLCJkYXRlQ29uZlByZXMiLCJ0ZXN0Iiwic3BsaXQiLCJkYXRlTGV0dHJlTWluaXN0cmUiLCJpZGVudGlmaWFudHMiLCJudW1TZWFuY2VKbyIsIm51bVNlYW5jZUpPIiwiaWRKbyIsImlkSk8iLCJkYXRlU2VhbmNlIiwiRGF0ZVNlYW5jZSIsImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSIsImxpc3RlUGF5cyIsInBheXNSZWYiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMvcmV1bmlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHsgY2xlYW5Cb29sZWFuQXR0cmlidXRlLCBjbGVhblhtbEFydGVmYWN0cyB9IGZyb20gXCIuL3htbFwiXG5cbmZ1bmN0aW9uIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoY3ljbGVEZVZpZSlcblxuICBjb25zdCBjaHJvbm8gPSBjeWNsZURlVmllLmNocm9ub1xuICBhc3NlcnQoY2hyb25vKVxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY2hyb25vKVxuXG4gICAgbGV0IGNyZWF0aW9uID0gY2hyb25vLmNyZWF0aW9uXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjcmVhdGlvbiwgXCJzdHJpbmdcIilcbiAgICBjcmVhdGlvbiA9IG5ldyBEYXRlKGNyZWF0aW9uKVxuICAgIGNocm9uby5jcmVhdGlvbiA9IGNyZWF0aW9uXG5cbiAgICBsZXQgY2xvdHVyZSA9IGNocm9uby5jbG90dXJlXG4gICAgaWYgKGNsb3R1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjbG90dXJlLCBcInN0cmluZ1wiKVxuICAgICAgY2xvdHVyZSA9IG5ldyBEYXRlKGNsb3R1cmUpXG4gICAgICBjaHJvbm8uY2xvdHVyZSA9IGNsb3R1cmVcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuUmV1bmlvbihyZXVuaW9uOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMocmV1bmlvbilcblxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJjYXB0YXRpb25WaWRlb1wiKVxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJjb21pdGVTZWNyZXRcIilcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwib3V2ZXJ0dXJlUHJlc3NlXCIpXG5cbiAgY29uc3QgeHNpVHlwZSA9IHJldW5pb25bXCJAeHNpOnR5cGVcIl1cbiAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldW5pb24ueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgcmV1bmlvbltcIkB4c2k6dHlwZVwiXVxuICB9XG5cbiAgY29uc3QgdGltZXN0YW1wRGVidXQgPSByZXVuaW9uLnRpbWVTdGFtcERlYnV0XG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh0aW1lc3RhbXBEZWJ1dCwgdW5kZWZpbmVkKVxuICByZXVuaW9uLnRpbWVzdGFtcERlYnV0ID0gdGltZXN0YW1wRGVidXRcbiAgZGVsZXRlIHJldW5pb24udGltZVN0YW1wRGVidXRcblxuICBsZXQgdGltZXN0YW1wRmluID0gcmV1bmlvbi50aW1lU3RhbXBGaW5cbiAgaWYgKHRpbWVzdGFtcEZpbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiB0aW1lc3RhbXBGaW4sIFwic3RyaW5nXCIpXG4gICAgdGltZXN0YW1wRmluID0gbmV3IERhdGUodGltZXN0YW1wRmluKVxuICAgIHJldW5pb24udGltZXN0YW1wRmluID0gdGltZXN0YW1wRmluXG4gICAgZGVsZXRlIHJldW5pb24udGltZVN0YW1wRmluXG4gIH1cblxuICBjb25zdCBsaWV1ID0gcmV1bmlvbi5saWV1XG4gIGlmIChsaWV1ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhsaWV1KVxuICB9XG5cbiAgY29uc3QgY3ljbGVEZVZpZSA9IHJldW5pb24uY3ljbGVEZVZpZVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoY3ljbGVEZVZpZSwgdW5kZWZpbmVkKVxuICBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZSlcblxuICBjb25zdCBkZW1hbmRldXJzID0gcmV1bmlvbi5kZW1hbmRldXJzXG4gIGlmIChkZW1hbmRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgYWN0ZXVycyA9IGRlbWFuZGV1cnMuYWN0ZXVyXG4gICAgaWYgKGFjdGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFjdGV1cnMpKSB7XG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhY3RldXJzLCBudWxsKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGFjdGV1cnMsIFwib2JqZWN0XCIpXG4gICAgICAgIGFjdGV1cnMgPSBbYWN0ZXVyc11cbiAgICAgIH1cbiAgICAgIGRlbWFuZGV1cnMuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBkZW1hbmRldXJzLmFjdGV1clxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcmdhbmUgPSBkZW1hbmRldXJzLm9yZ2FuZVxuICAgIGlmIChvcmdhbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob3JnYW5lKVxuICAgIH1cbiAgfVxuICBjb25zdCBkZW1hbmRldXIgPSByZXVuaW9uLmRlbWFuZGV1clxuICBpZiAoZGVtYW5kZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmV1bmlvbi5kZW1hbmRldXJzLCB1bmRlZmluZWQpXG4gICAgZGVsZXRlIHJldW5pb24uZGVtYW5kZXVyXG5cbiAgICBsZXQgYWN0ZXVyID0gZGVtYW5kZXVyLmFjdGV1clxuICAgIGlmIChhY3RldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFjdGV1ciwgbnVsbClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgYWN0ZXVyLCBcIm9iamVjdFwiKVxuICAgICAgY29uc3QgYWN0ZXVycyA9IFthY3RldXJdXG4gICAgICBkZW1hbmRldXIuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBkZW1hbmRldXIuYWN0ZXVyXG4gICAgICByZXVuaW9uLmRlbWFuZGV1cnMgPSBkZW1hbmRldXJcblxuICAgICAgZm9yIChjb25zdCBhY3RldXIgb2YgYWN0ZXVycykge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhY3RldXIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JnYW5lID0gZGVtYW5kZXVyLm9yZ2FuZVxuICAgIGlmIChvcmdhbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob3JnYW5lKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhcnRpY2lwYW50cyA9IHJldW5pb24ucGFydGljaXBhbnRzXG4gIGlmIChwYXJ0aWNpcGFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHBhcnRpY2lwYW50cylcblxuICAgIGxldCBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50cy5wYXJ0aWNpcGFudHNJbnRlcm5lc1xuICAgIGlmIChwYXJ0aWNpcGFudHNJbnRlcm5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50c0ludGVybmVzLnBhcnRpY2lwYW50SW50ZXJuZVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnRpY2lwYW50c0ludGVybmVzKSkge1xuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwocGFydGljaXBhbnRzSW50ZXJuZXMsIG51bGwpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcGFydGljaXBhbnRzSW50ZXJuZXMsIFwib2JqZWN0XCIpXG4gICAgICAgIHBhcnRpY2lwYW50c0ludGVybmVzID0gW3BhcnRpY2lwYW50c0ludGVybmVzXVxuICAgICAgfVxuICAgICAgcGFydGljaXBhbnRzLnBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzSW50ZXJuZXNcbiAgICB9XG5cbiAgICBsZXQgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzLnBlcnNvbm5lQXVkaXRpb25uZWVcbiAgICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMgPT09IG51bGwpIHtcbiAgICAgICAgZGVsZXRlIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJzb25uZXNBdWRpdGlvbm5lZXMpKSB7XG4gICAgICAgICAgLy8gYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcywgbnVsbClcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcywgXCJvYmplY3RcIilcbiAgICAgICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBbcGVyc29ubmVzQXVkaXRpb25uZWVzXVxuICAgICAgICB9XG4gICAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5maWx0ZXIoXG4gICAgICAgICAgKHBlcnNvbm5lQXVkaW9ubmVlOiBhbnkpID0+IHBlcnNvbm5lQXVkaW9ubmVlICE9PSBudWxsLFxuICAgICAgICApXG4gICAgICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBwZXJzb25uZUF1ZGlvbm5lZSBvZiBwZXJzb25uZXNBdWRpdGlvbm5lZXMpIHtcbiAgICAgICAgICBjb25zdCB4c2lUeXBlID0gcGVyc29ubmVBdWRpb25uZWUudWlkW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgYXNzZXJ0KHhzaVR5cGUpXG4gICAgICAgICAgcGVyc29ubmVBdWRpb25uZWUueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgICBjb25zdCB1aWQgPSBwZXJzb25uZUF1ZGlvbm5lZS51aWRbXCIjdGV4dFwiXVxuICAgICAgICAgIGFzc2VydCh1aWQpXG4gICAgICAgICAgcGVyc29ubmVBdWRpb25uZWUudWlkID0gdWlkXG5cbiAgICAgICAgICBjb25zdCBpZGVudCA9IHBlcnNvbm5lQXVkaW9ubmVlLmlkZW50XG4gICAgICAgICAgYXNzZXJ0KGlkZW50KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGlkZW50KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXVuaW9uLk9ESiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgb2RqID0gcmV1bmlvbi5PREpcbiAgICByZXVuaW9uLm9kaiA9IG9kalxuICAgIGRlbGV0ZSByZXVuaW9uLk9ESlxuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9kailcblxuICAgICAgbGV0IGNvbnZvY2F0aW9uT2RqID0gb2RqLmNvbnZvY2F0aW9uT0RKXG4gICAgICBpZiAoY29udm9jYXRpb25PZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjb252b2NhdGlvbk9kai5pdGVtKSkge1xuICAgICAgICAgIGNvbnZvY2F0aW9uT2RqID0gY29udm9jYXRpb25PZGouaXRlbVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChjb252b2NhdGlvbk9kai5pdGVtKVxuICAgICAgICAgIGNvbnZvY2F0aW9uT2RqID0gW2NvbnZvY2F0aW9uT2RqLml0ZW1dXG4gICAgICAgIH1cbiAgICAgICAgb2RqLmNvbnZvY2F0aW9uT2RqID0gY29udm9jYXRpb25PZGpcbiAgICAgICAgZGVsZXRlIG9kai5jb252b2NhdGlvbk9ESlxuICAgICAgfVxuXG4gICAgICBsZXQgcmVzdW1lT2RqID0gb2RqLnJlc3VtZU9ESlxuICAgICAgaWYgKHJlc3VtZU9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VtZU9kai5pdGVtKSkge1xuICAgICAgICAgIHJlc3VtZU9kaiA9IHJlc3VtZU9kai5pdGVtXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KHJlc3VtZU9kai5pdGVtKVxuICAgICAgICAgIHJlc3VtZU9kaiA9IFtyZXN1bWVPZGouaXRlbV1cbiAgICAgICAgfVxuICAgICAgICBvZGoucmVzdW1lT2RqID0gcmVzdW1lT2RqXG4gICAgICAgIGRlbGV0ZSBvZGoucmVzdW1lT0RKXG4gICAgICB9XG5cbiAgICAgIGxldCBwb2ludHNPZGogPSBvZGoucG9pbnRzT0RKXG4gICAgICBpZiAocG9pbnRzT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IHBvaW50T2RqID0gcG9pbnRzT2RqLnBvaW50T0RKXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBvaW50T2RqKSkge1xuICAgICAgICAgIHBvaW50c09kaiA9IHBvaW50T2RqXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KHBvaW50T2RqKVxuICAgICAgICAgIHBvaW50c09kaiA9IFtwb2ludE9kal1cbiAgICAgICAgfVxuICAgICAgICBvZGoucG9pbnRzT2RqID0gcG9pbnRzT2RqXG5cbiAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBwb2ludHNPZGopIHtcbiAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhwb2ludE9kailcblxuICAgICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShwb2ludE9kaiwgXCJjb21pdGVTZWNyZXRcIilcblxuICAgICAgICAgIGNvbnN0IHhzaVR5cGUgPSBwb2ludE9kaltcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBvaW50T2RqLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgICAgICBkZWxldGUgcG9pbnRPZGpbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjeWNsZURlVmllID0gcG9pbnRPZGouY3ljbGVEZVZpZVxuICAgICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChjeWNsZURlVmllLCB1bmRlZmluZWQpXG4gICAgICAgICAgY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWUpXG5cbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocG9pbnRPZGouZGVtYW5kZXVyUG9pbnQsIHVuZGVmaW5lZClcblxuICAgICAgICAgIGxldCBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXG4gICAgICAgICAgaWYgKGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWYpKSB7XG4gICAgICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZlxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYXNzZXJ0KGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWYpXG4gICAgICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gW2Rvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWZdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb2ludE9kai5kb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcG9pbnRPZGoudHlwZVBvaW50T2RqID0gcG9pbnRPZGoudHlwZVBvaW50T0RKXG4gICAgICAgICAgZGVsZXRlIHBvaW50T2RqLnR5cGVQb2ludE9ESlxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHBvaW50T2RqLnRleHRlc0Fzc29jaWVzLCB1bmRlZmluZWQpXG5cbiAgICAgICAgICBwb2ludE9kai5uYXR1cmVUcmF2YXV4T2RqID0gcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9ESlxuICAgICAgICAgIGRlbGV0ZSBwb2ludE9kai5uYXR1cmVUcmF2YXV4T0RKXG5cbiAgICAgICAgICBsZXQgZGF0ZUNvbmZQcmVzID0gcG9pbnRPZGouZGF0ZUNvbmZQcmVzXG4gICAgICAgICAgaWYgKGRhdGVDb25mUHJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVDb25mUHJlcywgXCJzdHJpbmdcIilcbiAgICAgICAgICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlQ29uZlByZXMpKVxuICAgICAgICAgICAgZGF0ZUNvbmZQcmVzID0gbmV3IERhdGUoZGF0ZUNvbmZQcmVzLnNwbGl0KFwiK1wiKVswXSlcbiAgICAgICAgICAgIHBvaW50T2RqLmRhdGVDb25mUHJlcyA9IGRhdGVDb25mUHJlc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxldCBkYXRlTGV0dHJlTWluaXN0cmUgPSBwb2ludE9kai5kYXRlTGV0dHJlTWluaXN0cmVcbiAgICAgICAgICBpZiAoZGF0ZUxldHRyZU1pbmlzdHJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZUxldHRyZU1pbmlzdHJlLCBcInN0cmluZ1wiKVxuICAgICAgICAgICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVMZXR0cmVNaW5pc3RyZSkpXG4gICAgICAgICAgICBkYXRlTGV0dHJlTWluaXN0cmUgPSBuZXcgRGF0ZShkYXRlTGV0dHJlTWluaXN0cmUuc3BsaXQoXCIrXCIpWzBdKVxuICAgICAgICAgICAgcG9pbnRPZGouZGF0ZUxldHRyZU1pbmlzdHJlID0gZGF0ZUxldHRyZU1pbmlzdHJlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZSBvZGoucG9pbnRzT0RKXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaWRlbnRpZmlhbnRzID0gcmV1bmlvbi5pZGVudGlmaWFudHNcbiAgaWYgKGlkZW50aWZpYW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoaWRlbnRpZmlhbnRzKVxuICAgIGNvbnN0IG51bVNlYW5jZUpvID0gaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpPXG4gICAgaWYgKG51bVNlYW5jZUpvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9IG51bVNlYW5jZUpvXG4gICAgICBkZWxldGUgaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpPXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IGlkZW50aWZpYW50cy5pZEpPXG4gICAgaWYgKGlkSm8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWRlbnRpZmlhbnRzLmlkSm8gPSBpZEpvXG4gICAgICBkZWxldGUgaWRlbnRpZmlhbnRzLmlkSk9cbiAgICB9XG5cbiAgICBsZXQgZGF0ZVNlYW5jZSA9IGlkZW50aWZpYW50cy5EYXRlU2VhbmNlXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlU2VhbmNlLCBcInN0cmluZ1wiKVxuICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlU2VhbmNlKSlcbiAgICBkYXRlU2VhbmNlID0gbmV3IERhdGUoZGF0ZVNlYW5jZS5zcGxpdChcIitcIilbMF0pXG4gICAgaWRlbnRpZmlhbnRzLmRhdGVTZWFuY2UgPSBkYXRlU2VhbmNlXG4gICAgZGVsZXRlIGlkZW50aWZpYW50cy5EYXRlU2VhbmNlXG4gIH1cblxuICBjb25zdCBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUgPSByZXVuaW9uLmluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBpZiAoaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUpXG5cbiAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gICAgICBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUsXG4gICAgICBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgIClcblxuICAgIGxldCBsaXN0ZVBheXMgPSBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUubGlzdGVQYXlzXG4gICAgaWYgKGxpc3RlUGF5cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsaXN0ZVBheXMgPSBsaXN0ZVBheXMucGF5c1JlZlxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpc3RlUGF5cykpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBsaXN0ZVBheXMsIFwic3RyaW5nXCIpXG4gICAgICAgIGxpc3RlUGF5cyA9IFtsaXN0ZVBheXNdXG4gICAgICB9XG4gICAgICBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25h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
|
|
255
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuQ3ljbGVEZVZpZSIsImN5Y2xlRGVWaWUiLCJjaHJvbm8iLCJjcmVhdGlvbiIsInN0cmljdEVxdWFsIiwiRGF0ZSIsImNsb3R1cmUiLCJ1bmRlZmluZWQiLCJjbGVhblJldW5pb24iLCJyZXVuaW9uIiwieHNpVHlwZSIsInRpbWVzdGFtcERlYnV0IiwidGltZVN0YW1wRGVidXQiLCJub3RTdHJpY3RFcXVhbCIsInRpbWVzdGFtcEZpbiIsInRpbWVTdGFtcEZpbiIsImxpZXUiLCJkZW1hbmRldXJzIiwiYWN0ZXVycyIsImFjdGV1ciIsIkFycmF5IiwiaXNBcnJheSIsIm9yZ2FuZSIsImRlbWFuZGV1ciIsInBhcnRpY2lwYW50cyIsInBhcnRpY2lwYW50c0ludGVybmVzIiwicGFydGljaXBhbnRJbnRlcm5lIiwicGVyc29ubmVzQXVkaXRpb25uZWVzIiwicGVyc29ubmVBdWRpdGlvbm5lZSIsImZpbHRlciIsInBlcnNvbm5lQXVkaW9ubmVlIiwibGVuZ3RoIiwidWlkIiwiaWRlbnQiLCJPREoiLCJvZGoiLCJjb252b2NhdGlvbk9kaiIsImNvbnZvY2F0aW9uT0RKIiwiaXRlbSIsInJlc3VtZU9kaiIsInJlc3VtZU9ESiIsInBvaW50c09kaiIsInBvaW50c09ESiIsInBvaW50T2RqIiwicG9pbnRPREoiLCJkZW1hbmRldXJQb2ludCIsImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzIiwiZG9zc2llclJlZiIsInR5cGVQb2ludE9kaiIsInR5cGVQb2ludE9ESiIsInRleHRlc0Fzc29jaWVzIiwibmF0dXJlVHJhdmF1eE9kaiIsIm5hdHVyZVRyYXZhdXhPREoiLCJkYXRlQ29uZlByZXMiLCJ0ZXN0Iiwic3BsaXQiLCJkYXRlTGV0dHJlTWluaXN0cmUiLCJpZGVudGlmaWFudHMiLCJudW1TZWFuY2VKbyIsIm51bVNlYW5jZUpPIiwiaWRKbyIsImlkSk8iLCJkYXRlU2VhbmNlIiwiRGF0ZVNlYW5jZSIsImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSIsImxpc3RlUGF5cyIsInBheXNSZWYiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMvcmV1bmlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHsgY2xlYW5Cb29sZWFuQXR0cmlidXRlLCBjbGVhblhtbEFydGVmYWN0cyB9IGZyb20gXCIuL3htbFwiXG5cbmZ1bmN0aW9uIGNsZWFuQ3ljbGVEZVZpZShjeWNsZURlVmllOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoY3ljbGVEZVZpZSlcblxuICBjb25zdCBjaHJvbm8gPSBjeWNsZURlVmllLmNocm9ub1xuICBhc3NlcnQoY2hyb25vKVxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY2hyb25vKVxuXG4gICAgbGV0IGNyZWF0aW9uID0gY2hyb25vLmNyZWF0aW9uXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjcmVhdGlvbiwgXCJzdHJpbmdcIilcbiAgICBjcmVhdGlvbiA9IG5ldyBEYXRlKGNyZWF0aW9uKVxuICAgIGNocm9uby5jcmVhdGlvbiA9IGNyZWF0aW9uXG5cbiAgICBsZXQgY2xvdHVyZSA9IGNocm9uby5jbG90dXJlXG4gICAgaWYgKGNsb3R1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjbG90dXJlLCBcInN0cmluZ1wiKVxuICAgICAgY2xvdHVyZSA9IG5ldyBEYXRlKGNsb3R1cmUpXG4gICAgICBjaHJvbm8uY2xvdHVyZSA9IGNsb3R1cmVcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuUmV1bmlvbihyZXVuaW9uOiBhbnkpOiB2b2lkIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMocmV1bmlvbilcblxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJjYXB0YXRpb25WaWRlb1wiKVxuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUocmV1bmlvbiwgXCJjb21pdGVTZWNyZXRcIilcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHJldW5pb24sIFwib3V2ZXJ0dXJlUHJlc3NlXCIpXG5cbiAgY29uc3QgeHNpVHlwZSA9IHJldW5pb25bXCJAeHNpOnR5cGVcIl1cbiAgaWYgKHhzaVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldW5pb24ueHNpVHlwZSA9IHhzaVR5cGVcbiAgICBkZWxldGUgcmV1bmlvbltcIkB4c2k6dHlwZVwiXVxuICB9XG5cbiAgY29uc3QgdGltZXN0YW1wRGVidXQgPSByZXVuaW9uLnRpbWVTdGFtcERlYnV0XG4gIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh0aW1lc3RhbXBEZWJ1dCwgdW5kZWZpbmVkKVxuICByZXVuaW9uLnRpbWVzdGFtcERlYnV0ID0gdGltZXN0YW1wRGVidXRcbiAgZGVsZXRlIHJldW5pb24udGltZVN0YW1wRGVidXRcblxuICBsZXQgdGltZXN0YW1wRmluID0gcmV1bmlvbi50aW1lU3RhbXBGaW5cbiAgaWYgKHRpbWVzdGFtcEZpbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiB0aW1lc3RhbXBGaW4sIFwic3RyaW5nXCIpXG4gICAgdGltZXN0YW1wRmluID0gbmV3IERhdGUodGltZXN0YW1wRmluKVxuICAgIHJldW5pb24udGltZXN0YW1wRmluID0gdGltZXN0YW1wRmluXG4gICAgZGVsZXRlIHJldW5pb24udGltZVN0YW1wRmluXG4gIH1cblxuICBjb25zdCBsaWV1ID0gcmV1bmlvbi5saWV1XG4gIGlmIChsaWV1ICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhsaWV1KVxuICB9XG5cbiAgY29uc3QgY3ljbGVEZVZpZSA9IHJldW5pb24uY3ljbGVEZVZpZVxuICBhc3NlcnQubm90U3RyaWN0RXF1YWwoY3ljbGVEZVZpZSwgdW5kZWZpbmVkKVxuICBjbGVhbkN5Y2xlRGVWaWUoY3ljbGVEZVZpZSlcblxuICBjb25zdCBkZW1hbmRldXJzID0gcmV1bmlvbi5kZW1hbmRldXJzXG4gIGlmIChkZW1hbmRldXJzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgYWN0ZXVycyA9IGRlbWFuZGV1cnMuYWN0ZXVyXG4gICAgaWYgKGFjdGV1cnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFjdGV1cnMpKSB7XG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhY3RldXJzLCBudWxsKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGFjdGV1cnMsIFwib2JqZWN0XCIpXG4gICAgICAgIGFjdGV1cnMgPSBbYWN0ZXVyc11cbiAgICAgIH1cbiAgICAgIGRlbWFuZGV1cnMuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBkZW1hbmRldXJzLmFjdGV1clxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFjdGV1cilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcmdhbmUgPSBkZW1hbmRldXJzLm9yZ2FuZVxuICAgIGlmIChvcmdhbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob3JnYW5lKVxuICAgIH1cbiAgfVxuICBjb25zdCBkZW1hbmRldXIgPSByZXVuaW9uLmRlbWFuZGV1clxuICBpZiAoZGVtYW5kZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmV1bmlvbi5kZW1hbmRldXJzLCB1bmRlZmluZWQpXG4gICAgZGVsZXRlIHJldW5pb24uZGVtYW5kZXVyXG5cbiAgICBsZXQgYWN0ZXVyID0gZGVtYW5kZXVyLmFjdGV1clxuICAgIGlmIChhY3RldXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFjdGV1ciwgbnVsbClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgYWN0ZXVyLCBcIm9iamVjdFwiKVxuICAgICAgY29uc3QgYWN0ZXVycyA9IFthY3RldXJdXG4gICAgICBkZW1hbmRldXIuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBkZW1hbmRldXIuYWN0ZXVyXG4gICAgICByZXVuaW9uLmRlbWFuZGV1cnMgPSBkZW1hbmRldXJcblxuICAgICAgZm9yIChjb25zdCBhY3RldXIgb2YgYWN0ZXVycykge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhhY3RldXIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JnYW5lID0gZGVtYW5kZXVyLm9yZ2FuZVxuICAgIGlmIChvcmdhbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMob3JnYW5lKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhcnRpY2lwYW50cyA9IHJldW5pb24ucGFydGljaXBhbnRzXG4gIGlmIChwYXJ0aWNpcGFudHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHBhcnRpY2lwYW50cylcblxuICAgIGxldCBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50cy5wYXJ0aWNpcGFudHNJbnRlcm5lc1xuICAgIGlmIChwYXJ0aWNpcGFudHNJbnRlcm5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJ0aWNpcGFudHNJbnRlcm5lcyA9IHBhcnRpY2lwYW50c0ludGVybmVzLnBhcnRpY2lwYW50SW50ZXJuZVxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnRpY2lwYW50c0ludGVybmVzKSkge1xuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwocGFydGljaXBhbnRzSW50ZXJuZXMsIG51bGwpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcGFydGljaXBhbnRzSW50ZXJuZXMsIFwib2JqZWN0XCIpXG4gICAgICAgIHBhcnRpY2lwYW50c0ludGVybmVzID0gW3BhcnRpY2lwYW50c0ludGVybmVzXVxuICAgICAgfVxuICAgICAgcGFydGljaXBhbnRzLnBhcnRpY2lwYW50c0ludGVybmVzID0gcGFydGljaXBhbnRzSW50ZXJuZXNcbiAgICB9XG5cbiAgICBsZXQgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGVyc29ubmVzQXVkaXRpb25uZWVzID0gcGVyc29ubmVzQXVkaXRpb25uZWVzLnBlcnNvbm5lQXVkaXRpb25uZWVcbiAgICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMgPT09IG51bGwpIHtcbiAgICAgICAgZGVsZXRlIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJzb25uZXNBdWRpdGlvbm5lZXMpKSB7XG4gICAgICAgICAgLy8gYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHBlcnNvbm5lc0F1ZGl0aW9ubmVlcywgbnVsbClcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcywgXCJvYmplY3RcIilcbiAgICAgICAgICBwZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBbcGVyc29ubmVzQXVkaXRpb25uZWVzXVxuICAgICAgICB9XG4gICAgICAgIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcyA9IHBlcnNvbm5lc0F1ZGl0aW9ubmVlcy5maWx0ZXIoXG4gICAgICAgICAgKHBlcnNvbm5lQXVkaW9ubmVlOiBhbnkpID0+IHBlcnNvbm5lQXVkaW9ubmVlICE9PSBudWxsLFxuICAgICAgICApXG4gICAgICAgIGlmIChwZXJzb25uZXNBdWRpdGlvbm5lZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBhcnRpY2lwYW50cy5wZXJzb25uZXNBdWRpdGlvbm5lZXMgPSBwZXJzb25uZXNBdWRpdGlvbm5lZXNcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgcGFydGljaXBhbnRzLnBlcnNvbm5lc0F1ZGl0aW9ubmVlc1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBwZXJzb25uZUF1ZGlvbm5lZSBvZiBwZXJzb25uZXNBdWRpdGlvbm5lZXMpIHtcbiAgICAgICAgICBjb25zdCB4c2lUeXBlID0gcGVyc29ubmVBdWRpb25uZWUudWlkW1wiQHhzaTp0eXBlXCJdXG4gICAgICAgICAgYXNzZXJ0KHhzaVR5cGUpXG4gICAgICAgICAgcGVyc29ubmVBdWRpb25uZWUueHNpVHlwZSA9IHhzaVR5cGVcbiAgICAgICAgICBjb25zdCB1aWQgPSBwZXJzb25uZUF1ZGlvbm5lZS51aWRbXCIjdGV4dFwiXVxuICAgICAgICAgIGFzc2VydCh1aWQpXG4gICAgICAgICAgcGVyc29ubmVBdWRpb25uZWUudWlkID0gdWlkXG5cbiAgICAgICAgICBjb25zdCBpZGVudCA9IHBlcnNvbm5lQXVkaW9ubmVlLmlkZW50XG4gICAgICAgICAgYXNzZXJ0KGlkZW50KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGlkZW50KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChyZXVuaW9uLk9ESiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgb2RqID0gcmV1bmlvbi5PREpcbiAgICByZXVuaW9uLm9kaiA9IG9kalxuICAgIGRlbGV0ZSByZXVuaW9uLk9ESlxuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKG9kailcblxuICAgICAgbGV0IGNvbnZvY2F0aW9uT2RqID0gb2RqLmNvbnZvY2F0aW9uT0RKXG4gICAgICBpZiAoY29udm9jYXRpb25PZGogIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjb252b2NhdGlvbk9kai5pdGVtKSkge1xuICAgICAgICAgIGNvbnZvY2F0aW9uT2RqID0gY29udm9jYXRpb25PZGouaXRlbVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFzc2VydChjb252b2NhdGlvbk9kai5pdGVtKVxuICAgICAgICAgIGNvbnZvY2F0aW9uT2RqID0gW2NvbnZvY2F0aW9uT2RqLml0ZW1dXG4gICAgICAgIH1cbiAgICAgICAgb2RqLmNvbnZvY2F0aW9uT2RqID0gY29udm9jYXRpb25PZGpcbiAgICAgICAgZGVsZXRlIG9kai5jb252b2NhdGlvbk9ESlxuICAgICAgfVxuXG4gICAgICBsZXQgcmVzdW1lT2RqID0gb2RqLnJlc3VtZU9ESlxuICAgICAgaWYgKHJlc3VtZU9kaiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VtZU9kai5pdGVtKSkge1xuICAgICAgICAgIHJlc3VtZU9kaiA9IHJlc3VtZU9kai5pdGVtXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KHJlc3VtZU9kai5pdGVtKVxuICAgICAgICAgIHJlc3VtZU9kaiA9IFtyZXN1bWVPZGouaXRlbV1cbiAgICAgICAgfVxuICAgICAgICBvZGoucmVzdW1lT2RqID0gcmVzdW1lT2RqXG4gICAgICAgIGRlbGV0ZSBvZGoucmVzdW1lT0RKXG4gICAgICB9XG5cbiAgICAgIGxldCBwb2ludHNPZGogPSBvZGoucG9pbnRzT0RKXG4gICAgICBpZiAocG9pbnRzT2RqICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgbGV0IHBvaW50T2RqID0gcG9pbnRzT2RqLnBvaW50T0RKXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBvaW50T2RqKSkge1xuICAgICAgICAgIHBvaW50c09kaiA9IHBvaW50T2RqXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0KHBvaW50T2RqKVxuICAgICAgICAgIHBvaW50c09kaiA9IFtwb2ludE9kal1cbiAgICAgICAgfVxuICAgICAgICBvZGoucG9pbnRzT2RqID0gcG9pbnRzT2RqXG5cbiAgICAgICAgZm9yIChjb25zdCBwb2ludE9kaiBvZiBwb2ludHNPZGopIHtcbiAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhwb2ludE9kailcblxuICAgICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShwb2ludE9kaiwgXCJjb21pdGVTZWNyZXRcIilcblxuICAgICAgICAgIGNvbnN0IHhzaVR5cGUgPSBwb2ludE9kaltcIkB4c2k6dHlwZVwiXVxuICAgICAgICAgIGlmICh4c2lUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBvaW50T2RqLnhzaVR5cGUgPSB4c2lUeXBlXG4gICAgICAgICAgICBkZWxldGUgcG9pbnRPZGpbXCJAeHNpOnR5cGVcIl1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjeWNsZURlVmllID0gcG9pbnRPZGouY3ljbGVEZVZpZVxuICAgICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChjeWNsZURlVmllLCB1bmRlZmluZWQpXG4gICAgICAgICAgY2xlYW5DeWNsZURlVmllKGN5Y2xlRGVWaWUpXG5cbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocG9pbnRPZGouZGVtYW5kZXVyUG9pbnQsIHVuZGVmaW5lZClcblxuICAgICAgICAgIGxldCBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IHBvaW50T2RqLmRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXG4gICAgICAgICAgaWYgKGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWYpKSB7XG4gICAgICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gZG9zc2llcnNMZWdpc2xhdGlmc1JlZnMuZG9zc2llclJlZlxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYXNzZXJ0KGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWYpXG4gICAgICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzID0gW2Rvc3NpZXJzTGVnaXNsYXRpZnNSZWZzLmRvc3NpZXJSZWZdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwb2ludE9kai5kb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcyA9IGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcG9pbnRPZGoudHlwZVBvaW50T2RqID0gcG9pbnRPZGoudHlwZVBvaW50T0RKXG4gICAgICAgICAgZGVsZXRlIHBvaW50T2RqLnR5cGVQb2ludE9ESlxuXG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHBvaW50T2RqLnRleHRlc0Fzc29jaWVzLCB1bmRlZmluZWQpXG5cbiAgICAgICAgICBwb2ludE9kai5uYXR1cmVUcmF2YXV4T2RqID0gcG9pbnRPZGoubmF0dXJlVHJhdmF1eE9ESlxuICAgICAgICAgIGRlbGV0ZSBwb2ludE9kai5uYXR1cmVUcmF2YXV4T0RKXG5cbiAgICAgICAgICBsZXQgZGF0ZUNvbmZQcmVzID0gcG9pbnRPZGouZGF0ZUNvbmZQcmVzXG4gICAgICAgICAgaWYgKGRhdGVDb25mUHJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGRhdGVDb25mUHJlcywgXCJzdHJpbmdcIilcbiAgICAgICAgICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlQ29uZlByZXMpKVxuICAgICAgICAgICAgZGF0ZUNvbmZQcmVzID0gbmV3IERhdGUoZGF0ZUNvbmZQcmVzLnNwbGl0KFwiK1wiKVswXSlcbiAgICAgICAgICAgIHBvaW50T2RqLmRhdGVDb25mUHJlcyA9IGRhdGVDb25mUHJlc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxldCBkYXRlTGV0dHJlTWluaXN0cmUgPSBwb2ludE9kai5kYXRlTGV0dHJlTWluaXN0cmVcbiAgICAgICAgICBpZiAoZGF0ZUxldHRyZU1pbmlzdHJlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgZGF0ZUxldHRyZU1pbmlzdHJlLCBcInN0cmluZ1wiKVxuICAgICAgICAgICAgYXNzZXJ0KC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1cXCtcXGR7Mn06MDAkLy50ZXN0KGRhdGVMZXR0cmVNaW5pc3RyZSkpXG4gICAgICAgICAgICBkYXRlTGV0dHJlTWluaXN0cmUgPSBuZXcgRGF0ZShkYXRlTGV0dHJlTWluaXN0cmUuc3BsaXQoXCIrXCIpWzBdKVxuICAgICAgICAgICAgcG9pbnRPZGouZGF0ZUxldHRyZU1pbmlzdHJlID0gZGF0ZUxldHRyZU1pbmlzdHJlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZSBvZGoucG9pbnRzT0RKXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaWRlbnRpZmlhbnRzID0gcmV1bmlvbi5pZGVudGlmaWFudHNcbiAgaWYgKGlkZW50aWZpYW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoaWRlbnRpZmlhbnRzKVxuICAgIGNvbnN0IG51bVNlYW5jZUpvID0gaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpPXG4gICAgaWYgKG51bVNlYW5jZUpvICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9IG51bVNlYW5jZUpvXG4gICAgICBkZWxldGUgaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpPXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IGlkZW50aWZpYW50cy5pZEpPXG4gICAgaWYgKGlkSm8gIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWRlbnRpZmlhbnRzLmlkSm8gPSBpZEpvXG4gICAgICBkZWxldGUgaWRlbnRpZmlhbnRzLmlkSk9cbiAgICB9XG5cbiAgICBsZXQgZGF0ZVNlYW5jZSA9IGlkZW50aWZpYW50cy5EYXRlU2VhbmNlXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBkYXRlU2VhbmNlLCBcInN0cmluZ1wiKVxuICAgIGFzc2VydCgvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9XFwrXFxkezJ9OjAwJC8udGVzdChkYXRlU2VhbmNlKSlcbiAgICBkYXRlU2VhbmNlID0gbmV3IERhdGUoZGF0ZVNlYW5jZS5zcGxpdChcIitcIilbMF0pXG4gICAgaWRlbnRpZmlhbnRzLmRhdGVTZWFuY2UgPSBkYXRlU2VhbmNlXG4gICAgZGVsZXRlIGlkZW50aWZpYW50cy5EYXRlU2VhbmNlXG4gIH1cblxuICBjb25zdCBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUgPSByZXVuaW9uLmluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBpZiAoaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUpXG5cbiAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gICAgICBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUsXG4gICAgICBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgIClcblxuICAgIGxldCBsaXN0ZVBheXMgPSBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUubGlzdGVQYXlzXG4gICAgaWYgKGxpc3RlUGF5cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsaXN0ZVBheXMgPSBsaXN0ZVBheXMucGF5c1JlZlxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpc3RlUGF5cykpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBsaXN0ZVBheXMsIFwic3RyaW5nXCIpXG4gICAgICAgIGxpc3RlUGF5cyA9IFtsaXN0ZVBheXNdXG4gICAgICB9XG4gICAgICBpbmZvc1JldW5pb25zSW50ZXJuYXRpb25h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
|
package/lib/cleaners/scrutins.js
CHANGED
|
@@ -23,14 +23,14 @@ require("core-js/modules/es.object.to-string.js");
|
|
|
23
23
|
require("core-js/modules/es.object.values.js");
|
|
24
24
|
var _assert = _interopRequireDefault(require("assert"));
|
|
25
25
|
var _xml = require("./xml");
|
|
26
|
-
function _interopRequireDefault(
|
|
27
|
-
function _toConsumableArray(
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
27
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
28
28
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
-
function _iterableToArray(
|
|
30
|
-
function _arrayWithoutHoles(
|
|
31
|
-
function _createForOfIteratorHelper(
|
|
32
|
-
function _unsupportedIterableToArray(
|
|
33
|
-
function _arrayLikeToArray(
|
|
29
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
30
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
31
|
+
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; } } }; }
|
|
32
|
+
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; } }
|
|
33
|
+
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; }
|
|
34
34
|
function cleanDecompteNominatif(decompteNominatif) {
|
|
35
35
|
(0, _xml.cleanXmlArtefacts)(decompteNominatif);
|
|
36
36
|
var nonVotants = decompteNominatif.nonVotants;
|
|
@@ -337,4 +337,4 @@ function cleanVotant(votant) {
|
|
|
337
337
|
(0, _xml.cleanBooleanAttribute)(votant, "parDelegation");
|
|
338
338
|
(0, _xml.cleanIntegerAttribute)(votant, "numPlace");
|
|
339
339
|
}
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwib2JqIiwiX19lc01vZHVsZSIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiY2xlYW5EZWNvbXB0ZU5vbWluYXRpZiIsImRlY29tcHRlTm9taW5hdGlmIiwiY2xlYW5YbWxBcnRlZmFjdHMiLCJub25Wb3RhbnRzIiwidW5kZWZpbmVkIiwibm9uVm90YW50IiwiYXNzZXJ0Iiwic3RyaWN0RXF1YWwiLCJub25Wb3RhbnRzQXJyYXkiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInZvdGFudCIsIl9ub25Wb3RhbnRzIiwicHVzaCIsImFwcGx5IiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImNsZWFuVm90YW50IiwicG91ciIsInBvdXJzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsImNvbnRyZSIsImNvbnRyZXMiLCJfaXRlcmF0b3I0IiwiX3N0ZXA0IiwiYWJzdGVudGlvbnMiLCJhYnN0ZW50aW9uIiwiYWJzdGVudGlvbnNBcnJheSIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJhYnNlbnRpb25zSXRlbSIsIl9hYnN0ZW50aW9ucyIsIl9pdGVyYXRvcjYiLCJfc3RlcDYiLCJub25Wb3RhbnRzVm9sb250YWlyZXMiLCJub25Wb3RhbnRzVm9sb250YWlyZXNBcnJheSIsIl9pdGVyYXRvcjciLCJfc3RlcDciLCJfbm9uVm90YW50c1ZvbG9udGFpcmUiLCJfaXRlcmF0b3I4IiwiX3N0ZXA4IiwiY2xlYW5TY3J1dGluIiwic2NydXRpbiIsImRlbWFuZGV1ciIsInJlZmVyZW5jZUxlZ2lzbGF0aXZlIiwib2JqZXQiLCJ2ZW50aWxhdGlvblZvdGVzIiwib3JnYW5lIiwiZ3JvdXBlcyIsImdyb3VwZSIsIl9pdGVyYXRvcjkiLCJfc3RlcDkiLCJ2b3RlIiwiZGVjb21wdGVWb2l4IiwibWlzZUF1UG9pbnQiLCJkeXNmb25jdGlvbm5lbWVudCIsInZhbHVlcyIsImZpbHRlciIsImNsZWFuQm9vbGVhbkF0dHJpYnV0ZSIsImNsZWFuSW50ZWdlckF0dHJpYnV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9zY3J1dGlucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5pbXBvcnQge1xuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNsZWFuSW50ZWdlckF0dHJpYnV0ZSxcbiAgY2xlYW5YbWxBcnRlZmFjdHMsXG59IGZyb20gXCIuL3htbFwiXG5cbmZ1bmN0aW9uIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZGVjb21wdGVOb21pbmF0aWY6IGFueSkge1xuICBjbGVhblhtbEFydGVmYWN0cyhkZWNvbXB0ZU5vbWluYXRpZilcblxuICBsZXQgbm9uVm90YW50cyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNcbiAgaWYgKG5vblZvdGFudHMgPT09IHVuZGVmaW5lZCkge1xuICAgIG5vblZvdGFudHMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRcbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudCwgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChub25Wb3RhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIG5vblZvdGFudHMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChub25Wb3RhbnRzLCBcIjBcIilcbiAgICAgIG5vblZvdGFudHMgPSBbXVxuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50cykpIHtcbiAgICAgIGFzc2VydChub25Wb3RhbnRzKVxuICAgICAgbm9uVm90YW50cyA9IFtub25Wb3RhbnRzXVxuICAgIH1cbiAgICBjb25zdCBub25Wb3RhbnRzQXJyYXkgPSBub25Wb3RhbnRzXG4gICAgbm9uVm90YW50cyA9IFtdXG4gICAgZm9yIChsZXQgbm9uVm90YW50IG9mIG5vblZvdGFudHNBcnJheSkge1xuICAgICAgaWYgKG5vblZvdGFudCA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgbm9uVm90YW50ID0gbm9uVm90YW50LnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9uVm90YW50KSkge1xuICAgICAgICBub25Wb3RhbnRzLnB1c2goLi4ubm9uVm90YW50KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KG5vblZvdGFudClcbiAgICAgICAgbm9uVm90YW50cy5wdXNoKG5vblZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vblZvdGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzID0gbm9uVm90YW50c1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2Ygbm9uVm90YW50cykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHBvdXIgPSBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyXG4gIGlmIChwb3VyID09PSB1bmRlZmluZWQpIHtcbiAgICBwb3VyID0gZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYucG91cnMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAocG91ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcG91ciA9IHBvdXIudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBvdXIpKSB7XG4gICAgICBhc3NlcnQocG91cilcbiAgICAgIHBvdXIgPSBbcG91cl1cbiAgICB9XG4gICAgaWYgKHBvdXIubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91clxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyID0gcG91clxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgcG91cikge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IGNvbnRyZSA9IGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICBpZiAoY29udHJlID09PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYuY29udHJlcywgdW5kZWZpbmVkKVxuICB9XG4gIGlmIChjb250cmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnRyZSA9IGNvbnRyZS52b3RhbnRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29udHJlKSkge1xuICAgICAgYXNzZXJ0KGNvbnRyZSlcbiAgICAgIGNvbnRyZSA9IFtjb250cmVdXG4gICAgfVxuICAgIGlmIChjb250cmUubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYuY29udHJlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZSA9IGNvbnRyZVxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgY29udHJlKSB7XG4gICAgICAgIGNsZWFuVm90YW50KHZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsZXQgYWJzdGVudGlvbnMgPSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICBpZiAoYWJzdGVudGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgIGFic3RlbnRpb25zID0gZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvblxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb24sIHVuZGVmaW5lZClcbiAgfVxuICBpZiAoYWJzdGVudGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhYnN0ZW50aW9ucykpIHtcbiAgICAgIGFzc2VydChhYnN0ZW50aW9ucylcbiAgICAgIGFic3RlbnRpb25zID0gW2Fic3RlbnRpb25zXVxuICAgIH1cbiAgICBjb25zdCBhYnN0ZW50aW9uc0FycmF5ID0gYWJzdGVudGlvbnNcbiAgICBhYnN0ZW50aW9ucyA9IFtdXG4gICAgZm9yIChsZXQgYWJzZW50aW9uc0l0ZW0gb2YgYWJzdGVudGlvbnNBcnJheSkge1xuICAgICAgaWYgKGFic2VudGlvbnNJdGVtID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhYnNlbnRpb25zSXRlbSA9IGFic2VudGlvbnNJdGVtLnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWJzZW50aW9uc0l0ZW0pKSB7XG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhYnN0ZW50aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9ucyA9IGFic3RlbnRpb25zXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBhYnN0ZW50aW9ucykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50c1ZvbG9udGFpcmVzKSkge1xuICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gW25vblZvdGFudHNWb2xvbnRhaXJlc11cbiAgICB9XG4gICAgY29uc3Qgbm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBbXVxuICAgIGZvciAobGV0IGFic2VudGlvbnNJdGVtIG9mIG5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5KSB7XG4gICAgICBpZiAoYWJzZW50aW9uc0l0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFic2VudGlvbnNJdGVtID0gYWJzZW50aW9uc0l0ZW0udm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhYnNlbnRpb25zSXRlbSkpIHtcbiAgICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcy5wdXNoKGFic2VudGlvbnNJdGVtKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXMgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIG5vblZvdGFudHNWb2xvbnRhaXJlcykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblNjcnV0aW4oc2NydXRpbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHNjcnV0aW4pXG5cbiAgY29uc3QgZGVtYW5kZXVyID0gc2NydXRpbi5kZW1hbmRldXJcbiAgYXNzZXJ0KGRlbWFuZGV1cilcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlbWFuZGV1cilcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZW1hbmRldXIucmVmZXJlbmNlTGVnaXNsYXRpdmUsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IG9iamV0ID0gc2NydXRpbi5vYmpldFxuICBhc3NlcnQob2JqZXQpXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhvYmpldClcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChvYmpldC5yZWZlcmVuY2VMZWdpc2xhdGl2ZSwgdW5kZWZpbmVkKVxuICB9XG5cbiAgbGV0IHZlbnRpbGF0aW9uVm90ZXMgPSBzY3J1dGluLnZlbnRpbGF0aW9uVm90ZXNcbiAgYXNzZXJ0KHZlbnRpbGF0aW9uVm90ZXMpXG4gIHtcbiAgICB2ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlcy5vcmdhbmVcbiAgICBhc3NlcnQodmVudGlsYXRpb25Wb3RlcylcblxuICAgIGxldCBncm91cGVzID0gdmVudGlsYXRpb25Wb3Rlcy5ncm91cGVzXG4gICAgYXNzZXJ0KGdyb3VwZXMpXG4gICAge1xuICAgICAgZ3JvdXBlcyA9IGdyb3VwZXMuZ3JvdXBlXG4gICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShncm91cGVzKSlcbiAgICAgIGZvciAoY29uc3QgZ3JvdXBlIG9mIGdyb3VwZXMpIHtcbiAgICAgICAgY29uc3Qgdm90ZSA9IGdyb3VwZS52b3RlXG4gICAgICAgIGFzc2VydCh2b3RlKVxuICAgICAgICB7XG4gICAgICAgICAgY29uc3QgZGVjb21wdGVWb2l4ID0gdm90ZS5kZWNvbXB0ZVZvaXhcbiAgICAgICAgICBhc3NlcnQoZGVjb21wdGVWb2l4KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbnMsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgZGVjb21wdGVWb2l4LmFic3RlbnRpb25zID0gZGVjb21wdGVWb2l4LmFic3RlbnRpb25cbiAgICAgICAgICAgICAgZGVsZXRlIGRlY29tcHRlVm9peC5hYnN0ZW50aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXgubm9uVm90YW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlVm9peC5ub25Wb3RhbnRzLCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIGRlY29tcHRlVm9peC5ub25Wb3RhbnRzID0gZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgICBkZWxldGUgZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGRlY29tcHRlTm9taW5hdGlmID0gdm90ZS5kZWNvbXB0ZU5vbWluYXRpZlxuICAgICAgICAgIGFzc2VydChkZWNvbXB0ZU5vbWluYXRpZilcbiAgICAgICAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2ZW50aWxhdGlvblZvdGVzLmdyb3VwZXMgPSBncm91cGVzXG4gICAgfVxuXG4gICAgc2NydXRpbi52ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlc1xuICB9XG5cbiAgY29uc3QgbWlzZUF1UG9pbnQgPSBzY3J1dGluLm1pc2VBdVBvaW50XG4gIGlmIChtaXNlQXVQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihtaXNlQXVQb2ludClcblxuICAgIGxldCBkeXNmb25jdGlvbm5lbWVudCA9IG1pc2VBdVBvaW50LmR5c2ZvbmN0aW9ubmVtZW50XG4gICAgaWYgKGR5c2ZvbmN0aW9ubmVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZHlzZm9uY3Rpb25uZW1lbnQpXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZHlzZm9uY3Rpb25uZW1lbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIGRlbGV0ZSBtaXNlQXVQb2ludC5keXNmb25jdGlvbm5lbWVudFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIE9iamVjdC52YWx1ZXMobWlzZUF1UG9pbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBzY3J1dGluLm1pc2VBdVBvaW50XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuVm90YW50KHZvdGFudDogYW55KSB7XG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSh2b3RhbnQsIFwicGFyRGVsZWdhdGlvblwiKVxuICBjbGVhbkludGVnZXJBdHRyaWJ1dGUodm90YW50LCBcIm51bVBsYWNlXCIpXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBSWMsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLG1CQUFBQyxHQUFBLFdBQUFDLGtCQUFBLENBQUFELEdBQUEsS0FBQUUsZ0JBQUEsQ0FBQUYsR0FBQSxLQUFBRywyQkFBQSxDQUFBSCxHQUFBLEtBQUFJLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFILGlCQUFBSSxJQUFBLGVBQUFDLE1BQUEsb0JBQUFELElBQUEsQ0FBQUMsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLElBQUEsK0JBQUFHLEtBQUEsQ0FBQUMsSUFBQSxDQUFBSixJQUFBO0FBQUEsU0FBQUwsbUJBQUFELEdBQUEsUUFBQVMsS0FBQSxDQUFBRSxPQUFBLENBQUFYLEdBQUEsVUFBQVks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
|
|
340
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfeG1sIiwiZSIsIl9fZXNNb2R1bGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIlR5cGVFcnJvciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJ0IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwidGVzdCIsImNsZWFuRGVjb21wdGVOb21pbmF0aWYiLCJkZWNvbXB0ZU5vbWluYXRpZiIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwibm9uVm90YW50cyIsInVuZGVmaW5lZCIsIm5vblZvdGFudCIsImFzc2VydCIsInN0cmljdEVxdWFsIiwibm9uVm90YW50c0FycmF5IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2b3RhbnQiLCJfbm9uVm90YW50cyIsInB1c2giLCJhcHBseSIsImVyciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJjbGVhblZvdGFudCIsInBvdXIiLCJwb3VycyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJjb250cmUiLCJjb250cmVzIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsImFic3RlbnRpb25zIiwiYWJzdGVudGlvbiIsImFic3RlbnRpb25zQXJyYXkiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwiYWJzZW50aW9uc0l0ZW0iLCJfYWJzdGVudGlvbnMiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2Iiwibm9uVm90YW50c1ZvbG9udGFpcmVzIiwibm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3IiwiX25vblZvdGFudHNWb2xvbnRhaXJlIiwiX2l0ZXJhdG9yOCIsIl9zdGVwOCIsImNsZWFuU2NydXRpbiIsInNjcnV0aW4iLCJkZW1hbmRldXIiLCJyZWZlcmVuY2VMZWdpc2xhdGl2ZSIsIm9iamV0IiwidmVudGlsYXRpb25Wb3RlcyIsIm9yZ2FuZSIsImdyb3VwZXMiLCJncm91cGUiLCJfaXRlcmF0b3I5IiwiX3N0ZXA5Iiwidm90ZSIsImRlY29tcHRlVm9peCIsIm1pc2VBdVBvaW50IiwiZHlzZm9uY3Rpb25uZW1lbnQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhbkludGVnZXJBdHRyaWJ1dGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xlYW5lcnMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHtcbiAgY2xlYW5Cb29sZWFuQXR0cmlidXRlLFxuICBjbGVhbkludGVnZXJBdHRyaWJ1dGUsXG4gIGNsZWFuWG1sQXJ0ZWZhY3RzLFxufSBmcm9tIFwiLi94bWxcIlxuXG5mdW5jdGlvbiBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmOiBhbnkpIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoZGVjb21wdGVOb21pbmF0aWYpXG5cbiAgbGV0IG5vblZvdGFudHMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzXG4gIGlmIChub25Wb3RhbnRzID09PSB1bmRlZmluZWQpIHtcbiAgICBub25Wb3RhbnRzID0gZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50XG4gICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudFxuICB9IGVsc2Uge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnQsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAobm9uVm90YW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBub25Wb3RhbnRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwobm9uVm90YW50cywgXCIwXCIpXG4gICAgICBub25Wb3RhbnRzID0gW11cbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KG5vblZvdGFudHMpKSB7XG4gICAgICBhc3NlcnQobm9uVm90YW50cylcbiAgICAgIG5vblZvdGFudHMgPSBbbm9uVm90YW50c11cbiAgICB9XG4gICAgY29uc3Qgbm9uVm90YW50c0FycmF5ID0gbm9uVm90YW50c1xuICAgIG5vblZvdGFudHMgPSBbXVxuICAgIGZvciAobGV0IG5vblZvdGFudCBvZiBub25Wb3RhbnRzQXJyYXkpIHtcbiAgICAgIGlmIChub25Wb3RhbnQgPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIG5vblZvdGFudCA9IG5vblZvdGFudC52b3RhbnRcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vblZvdGFudCkpIHtcbiAgICAgICAgbm9uVm90YW50cy5wdXNoKC4uLm5vblZvdGFudClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydChub25Wb3RhbnQpXG4gICAgICAgIG5vblZvdGFudHMucHVzaChub25Wb3RhbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub25Wb3RhbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50cyA9IG5vblZvdGFudHNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIG5vblZvdGFudHMpIHtcbiAgICAgICAgY2xlYW5Wb3RhbnQodm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBwb3VyID0gZGVjb21wdGVOb21pbmF0aWYucG91clxuICBpZiAocG91ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcG91ciA9IGRlY29tcHRlTm9taW5hdGlmLnBvdXJzXG4gICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLnBvdXJzXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLnBvdXJzLCB1bmRlZmluZWQpXG4gIH1cbiAgaWYgKHBvdXIgIT09IHVuZGVmaW5lZCkge1xuICAgIHBvdXIgPSBwb3VyLnZvdGFudFxuICAgIGlmICghQXJyYXkuaXNBcnJheShwb3VyKSkge1xuICAgICAgYXNzZXJ0KHBvdXIpXG4gICAgICBwb3VyID0gW3BvdXJdXG4gICAgfVxuICAgIGlmIChwb3VyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLnBvdXJcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb21wdGVOb21pbmF0aWYucG91ciA9IHBvdXJcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIHBvdXIpIHtcbiAgICAgICAgY2xlYW5Wb3RhbnQodm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBjb250cmUgPSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVcbiAgaWYgKGNvbnRyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29udHJlID0gZGVjb21wdGVOb21pbmF0aWYuY29udHJlc1xuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAoY29udHJlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBjb250cmUudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbnRyZSkpIHtcbiAgICAgIGFzc2VydChjb250cmUpXG4gICAgICBjb250cmUgPSBbY29udHJlXVxuICAgIH1cbiAgICBpZiAoY29udHJlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmUgPSBjb250cmVcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIGNvbnRyZSkge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IGFic3RlbnRpb25zID0gZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvbnNcbiAgaWYgKGFic3RlbnRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICBhYnN0ZW50aW9ucyA9IGRlY29tcHRlTm9taW5hdGlmLmFic3RlbnRpb25cbiAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvblxuICB9IGVsc2Uge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uLCB1bmRlZmluZWQpXG4gIH1cbiAgaWYgKGFic3RlbnRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJzdGVudGlvbnMpKSB7XG4gICAgICBhc3NlcnQoYWJzdGVudGlvbnMpXG4gICAgICBhYnN0ZW50aW9ucyA9IFthYnN0ZW50aW9uc11cbiAgICB9XG4gICAgY29uc3QgYWJzdGVudGlvbnNBcnJheSA9IGFic3RlbnRpb25zXG4gICAgYWJzdGVudGlvbnMgPSBbXVxuICAgIGZvciAobGV0IGFic2VudGlvbnNJdGVtIG9mIGFic3RlbnRpb25zQXJyYXkpIHtcbiAgICAgIGlmIChhYnNlbnRpb25zSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYWJzZW50aW9uc0l0ZW0gPSBhYnNlbnRpb25zSXRlbS52b3RhbnRcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFic2VudGlvbnNJdGVtKSkge1xuICAgICAgICBhYnN0ZW50aW9ucy5wdXNoKC4uLmFic2VudGlvbnNJdGVtKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KGFic2VudGlvbnNJdGVtKVxuICAgICAgICBhYnN0ZW50aW9ucy5wdXNoKGFic2VudGlvbnNJdGVtKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWJzdGVudGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvbnNcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb21wdGVOb21pbmF0aWYuYWJzdGVudGlvbnMgPSBhYnN0ZW50aW9uc1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgYWJzdGVudGlvbnMpIHtcbiAgICAgICAgY2xlYW5Wb3RhbnQodm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxldCBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgaWYgKG5vblZvdGFudHNWb2xvbnRhaXJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG5vblZvdGFudHNWb2xvbnRhaXJlcykpIHtcbiAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IFtub25Wb3RhbnRzVm9sb250YWlyZXNdXG4gICAgfVxuICAgIGNvbnN0IG5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5ID0gbm9uVm90YW50c1ZvbG9udGFpcmVzXG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gW11cbiAgICBmb3IgKGxldCBhYnNlbnRpb25zSXRlbSBvZiBub25Wb3RhbnRzVm9sb250YWlyZXNBcnJheSkge1xuICAgICAgaWYgKGFic2VudGlvbnNJdGVtID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhYnNlbnRpb25zSXRlbSA9IGFic2VudGlvbnNJdGVtLnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWJzZW50aW9uc0l0ZW0pKSB7XG4gICAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcy5wdXNoKC4uLmFic2VudGlvbnNJdGVtKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KGFic2VudGlvbnNJdGVtKVxuICAgICAgICBub25Wb3RhbnRzVm9sb250YWlyZXMucHVzaChhYnNlbnRpb25zSXRlbSlcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vblZvdGFudHNWb2xvbnRhaXJlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1ZvbG9udGFpcmVzID0gbm9uVm90YW50c1ZvbG9udGFpcmVzXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBub25Wb3RhbnRzVm9sb250YWlyZXMpIHtcbiAgICAgICAgY2xlYW5Wb3RhbnQodm90YW50KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5TY3J1dGluKHNjcnV0aW46IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhzY3J1dGluKVxuXG4gIGNvbnN0IGRlbWFuZGV1ciA9IHNjcnV0aW4uZGVtYW5kZXVyXG4gIGFzc2VydChkZW1hbmRldXIpXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhkZW1hbmRldXIpXG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVtYW5kZXVyLnJlZmVyZW5jZUxlZ2lzbGF0aXZlLCB1bmRlZmluZWQpXG4gIH1cblxuICBjb25zdCBvYmpldCA9IHNjcnV0aW4ub2JqZXRcbiAgYXNzZXJ0KG9iamV0KVxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMob2JqZXQpXG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwob2JqZXQucmVmZXJlbmNlTGVnaXNsYXRpdmUsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGxldCB2ZW50aWxhdGlvblZvdGVzID0gc2NydXRpbi52ZW50aWxhdGlvblZvdGVzXG4gIGFzc2VydCh2ZW50aWxhdGlvblZvdGVzKVxuICB7XG4gICAgdmVudGlsYXRpb25Wb3RlcyA9IHZlbnRpbGF0aW9uVm90ZXMub3JnYW5lXG4gICAgYXNzZXJ0KHZlbnRpbGF0aW9uVm90ZXMpXG5cbiAgICBsZXQgZ3JvdXBlcyA9IHZlbnRpbGF0aW9uVm90ZXMuZ3JvdXBlc1xuICAgIGFzc2VydChncm91cGVzKVxuICAgIHtcbiAgICAgIGdyb3VwZXMgPSBncm91cGVzLmdyb3VwZVxuICAgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoZ3JvdXBlcykpXG4gICAgICBmb3IgKGNvbnN0IGdyb3VwZSBvZiBncm91cGVzKSB7XG4gICAgICAgIGNvbnN0IHZvdGUgPSBncm91cGUudm90ZVxuICAgICAgICBhc3NlcnQodm90ZSlcbiAgICAgICAge1xuICAgICAgICAgIGNvbnN0IGRlY29tcHRlVm9peCA9IHZvdGUuZGVjb21wdGVWb2l4XG4gICAgICAgICAgYXNzZXJ0KGRlY29tcHRlVm9peClcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoZGVjb21wdGVWb2l4LmFic3RlbnRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVWb2l4LmFic3RlbnRpb25zLCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIGRlY29tcHRlVm9peC5hYnN0ZW50aW9ucyA9IGRlY29tcHRlVm9peC5hYnN0ZW50aW9uXG4gICAgICAgICAgICAgIGRlbGV0ZSBkZWNvbXB0ZVZvaXguYWJzdGVudGlvblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGVjb21wdGVWb2l4Lm5vblZvdGFudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZVZvaXgubm9uVm90YW50cywgdW5kZWZpbmVkKVxuICAgICAgICAgICAgICBkZWNvbXB0ZVZvaXgubm9uVm90YW50cyA9IGRlY29tcHRlVm9peC5ub25Wb3RhbnRcbiAgICAgICAgICAgICAgZGVsZXRlIGRlY29tcHRlVm9peC5ub25Wb3RhbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBkZWNvbXB0ZU5vbWluYXRpZiA9IHZvdGUuZGVjb21wdGVOb21pbmF0aWZcbiAgICAgICAgICBhc3NlcnQoZGVjb21wdGVOb21pbmF0aWYpXG4gICAgICAgICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihkZWNvbXB0ZU5vbWluYXRpZilcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmVudGlsYXRpb25Wb3Rlcy5ncm91cGVzID0gZ3JvdXBlc1xuICAgIH1cblxuICAgIHNjcnV0aW4udmVudGlsYXRpb25Wb3RlcyA9IHZlbnRpbGF0aW9uVm90ZXNcbiAgfVxuXG4gIGNvbnN0IG1pc2VBdVBvaW50ID0gc2NydXRpbi5taXNlQXVQb2ludFxuICBpZiAobWlzZUF1UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYobWlzZUF1UG9pbnQpXG5cbiAgICBsZXQgZHlzZm9uY3Rpb25uZW1lbnQgPSBtaXNlQXVQb2ludC5keXNmb25jdGlvbm5lbWVudFxuICAgIGlmIChkeXNmb25jdGlvbm5lbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGR5c2ZvbmN0aW9ubmVtZW50KVxuICAgICAgaWYgKFxuICAgICAgICBPYmplY3QudmFsdWVzKGR5c2ZvbmN0aW9ubmVtZW50KS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgIC5sZW5ndGggPT09IDBcbiAgICAgICkge1xuICAgICAgICBkZWxldGUgbWlzZUF1UG9pbnQuZHlzZm9uY3Rpb25uZW1lbnRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBPYmplY3QudmFsdWVzKG1pc2VBdVBvaW50KS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICBkZWxldGUgc2NydXRpbi5taXNlQXVQb2ludFxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhblZvdGFudCh2b3RhbnQ6IGFueSkge1xuICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUodm90YW50LCBcInBhckRlbGVnYXRpb25cIilcbiAgY2xlYW5JbnRlZ2VyQXR0cmlidXRlKHZvdGFudCwgXCJudW1QbGFjZVwiKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUljLFNBQUFELHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxtQkFBQUMsQ0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxDQUFBLEtBQUFFLGdCQUFBLENBQUFGLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUgsQ0FBQSxLQUFBSSxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxpQkFBQUYsQ0FBQSw4QkFBQU0sTUFBQSxZQUFBTixDQUFBLENBQUFNLE1BQUEsQ0FBQUMsUUFBQSxhQUFBUCxDQUFBLHVCQUFBUSxLQUFBLENBQUFDLElBQUEsQ0FBQVQsQ0FBQTtBQUFBLFNBQUFDLG1CQUFBRCxDQUFBLFFBQUFRLEtBQUEsQ0FBQUUsT0FBQSxDQUFBVixDQUFBLFVBQUFXLGlCQUFBLENBQUFYLENBQUE7QUFBQSxTQUFBWSwyQkFBQVosQ0FBQSxFQUFBSCxDQUFBLFFBQUFnQixDQUFBLHlCQUFBUCxNQUFBLElBQUFOLENBQUEsQ0FBQU0sTUFBQSxDQUFBQyxRQUFBLEtBQUFQLENBQUEscUJBQUFhLENBQUEsUUFBQUwsS0FBQSxDQUFBRSxPQUFBLENBQUFWLENBQUEsTUFBQWEsQ0FBQSxHQUFBViwyQkFBQSxDQUFBSCxDQUFBLE1BQUFILENBQUEsSUFBQUcsQ0FBQSx1QkFBQUEsQ0FBQSxDQUFBYyxNQUFBLElBQUFELENBQUEsS0FBQWIsQ0FBQSxHQUFBYSxDQUFBLE9BQUFFLEVBQUEsTUFBQUMsQ0FBQSxZQUFBQSxFQUFBLGVBQUFDLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFBLEVBQUEsV0FBQUgsRUFBQSxJQUFBZixDQUFBLENBQUFjLE1BQUEsS0FBQUssSUFBQSxXQUFBQSxJQUFBLE1BQUFDLEtBQUEsRUFBQXBCLENBQUEsQ0FBQWUsRUFBQSxVQUFBbEIsQ0FBQSxXQUFBQSxFQUFBRyxDQUFBLFVBQUFBLENBQUEsS0FBQXFCLENBQUEsRUFBQUwsQ0FBQSxnQkFBQVgsU0FBQSxpSkFBQWlCLENBQUEsRUFBQUMsQ0FBQSxPQUFBQyxDQUFBLGdCQUFBUCxDQUFBLFdBQUFBLEVBQUEsSUFBQUosQ0FBQSxHQUFBQSxDQUFBLENBQUFZLElBQUEsQ0FBQXpCLENBQUEsTUFBQWtCLENBQUEsV0FBQUEsRUFBQSxRQUFBbEIsQ0FBQSxHQUFBYSxDQUFBLENBQUFhLElBQUEsV0FBQUgsQ0FBQSxHQUFBdkIsQ0FBQSxDQUFBbUIsSUFBQSxFQUFBbkIsQ0FBQSxLQUFBSCxDQUFBLFdBQUFBLEVBQUFHLENBQUEsSUFBQXdCLENBQUEsT0FBQUYsQ0FBQSxHQUFBdEIsQ0FBQSxLQUFBcUIsQ0FBQSxXQUFBQSxFQUFBLFVBQUFFLENBQUEsWUFBQVYsQ0FBQSxjQUFBQSxDQUFBLDhCQUFBVyxDQUFBLFFBQUFGLENBQUE7QUFBQSxTQUFBbkIsNEJBQUFILENBQUEsRUFBQXVCLENBQUEsUUFBQXZCLENBQUEsMkJBQUFBLENBQUEsU0FBQVcsaUJBQUEsQ0FBQVgsQ0FBQSxFQUFBdUIsQ0FBQSxPQUFBVixDQUFBLE1BQUFjLFFBQUEsQ0FBQUYsSUFBQSxDQUFBekIsQ0FBQSxFQUFBNEIsS0FBQSw2QkFBQWYsQ0FBQSxJQUFBYixDQUFBLENBQUE2QixXQUFBLEtBQUFoQixDQUFBLEdBQUFiLENBQUEsQ0FBQTZCLFdBQUEsQ0FBQUMsSUFBQSxhQUFBakIsQ0FBQSxjQUFBQSxDQUFBLEdBQUFMLEtBQUEsQ0FBQUMsSUFBQSxDQUFBVCxDQUFBLG9CQUFBYSxDQUFBLCtDQUFBa0IsSUFBQSxDQUFBbEIsQ0FBQSxJQUFBRixpQkFBQSxDQUFBWCxDQUFBLEVBQUF1QixDQUFBO0FBQUEsU0FBQVosa0JBQUFYLENBQUEsRUFBQXVCLENBQUEsYUFBQUEsQ0FBQSxJQUFBQSxDQUFBLEdBQUF2QixDQUFBLENBQUFjLE1BQUEsTUFBQVMsQ0FBQSxHQUFBdkIsQ0FBQSxDQUFBYyxNQUFBLFlBQUFqQixDQUFBLE1BQUFxQixDQUFBLEdBQUFWLEtBQUEsQ0FBQWUsQ0FBQSxHQUFBMUIsQ0FBQSxHQUFBMEIsQ0FBQSxFQUFBMUIsQ0FBQSxJQUFBcUIsQ0FBQSxDQUFBckIsQ0FBQSxJQUFBRyxDQUFBLENBQUFILENBQUEsVUFBQXFCLENBQUE7QUFFZCxTQUFTYyxzQkFBc0JBLENBQUNDLGlCQUFzQixFQUFFO0VBQ3RELElBQUFDLHNCQUFpQixFQUFDRCxpQkFBaUIsQ0FBQztFQUVwQyxJQUFJRSxVQUFVLEdBQUdGLGlCQUFpQixDQUFDRSxVQUFVO0VBQzdDLElBQUlBLFVBQVUsS0FBS0MsU0FBUyxFQUFFO0lBQzVCRCxVQUFVLEdBQUdGLGlCQUFpQixDQUFDSSxTQUFTO0lBQ3hDLE9BQU9KLGlCQUFpQixDQUFDSSxTQUFTO0VBQ3BDLENBQUMsTUFBTTtJQUNMQyxrQkFBTSxDQUFDQyxXQUFXLENBQUNOLGlCQUFpQixDQUFDSSxTQUFTLEVBQUVELFNBQVMsQ0FBQztFQUM1RDtFQUNBLElBQUlELFVBQVUsS0FBS0MsU0FBUyxFQUFFO0lBQzVCLElBQUksT0FBT0QsVUFBVSxLQUFLLFFBQVEsRUFBRTtNQUNsQ0csa0JBQU0sQ0FBQ0MsV0FBVyxDQUFDSixVQUFVLEVBQUUsR0FBRyxDQUFDO01BQ25DQSxVQUFVLEdBQUcsRUFBRTtJQUNqQixDQUFDLE1BQU0sSUFBSSxDQUFDM0IsS0FBSyxDQUFDRSxPQUFPLENBQUN5QixVQUFVLENBQUMsRUFBRTtNQUNyQyxJQUFBRyxrQkFBTSxFQUFDSCxVQUFVLENBQUM7TUFDbEJBLFVBQVUsR0FBRyxDQUFDQSxVQUFVLENBQUM7SUFDM0I7SUFDQSxJQUFNSyxlQUFlLEdBQUdMLFVBQVU7SUFDbENBLFVBQVUsR0FBRyxFQUFFO0lBQUEsSUFBQU0sU0FBQSxHQUFBN0IsMEJBQUEsQ0FDTzRCLGVBQWU7TUFBQUUsS0FBQTtJQUFBO01BQXJDLEtBQUFELFNBQUEsQ0FBQXhCLENBQUEsTUFBQXlCLEtBQUEsR0FBQUQsU0FBQSxDQUFBdkIsQ0FBQSxJQUFBQyxJQUFBLEdBQXVDO1FBQUEsSUFBOUJrQixTQUFTLEdBQUFLLEtBQUEsQ0FBQXRCLEtBQUE7UUFDaEIsSUFBSWlCLFNBQVMsS0FBSyxJQUFJLEVBQUU7VUFDdEI7UUFDRjtRQUNBQSxTQUFTLEdBQUdBLFNBQVMsQ0FBQ00sTUFBTTtRQUM1QixJQUFJbkMsS0FBSyxDQUFDRSxPQUFPLENBQUMyQixTQUFTLENBQUMsRUFBRTtVQUFBLElBQUFPLFdBQUE7VUFDNUIsQ0FBQUEsV0FBQSxHQUFBVCxVQUFVLEVBQUNVLElBQUksQ0FBQUMsS0FBQSxDQUFBRixXQUFBLEVBQUE3QyxrQkFBQSxDQUFJc0MsU0FBUyxFQUFDO1FBQy9CLENBQUMsTUFBTTtVQUNMLElBQUFDLGtCQUFNLEVBQUNELFNBQVMsQ0FBQztVQUNqQkYsVUFBVSxDQUFDVSxJQUFJLENBQUNSLFNBQVMsQ0FBQztRQUM1QjtNQUNGO0lBQUMsU0FBQVUsR0FBQTtNQUFBTixTQUFBLENBQUE1QyxDQUFBLENBQUFrRCxHQUFBO0lBQUE7TUFBQU4sU0FBQSxDQUFBcEIsQ0FBQTtJQUFBO0lBQ0QsSUFBSWMsVUFBVSxDQUFDckIsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUMzQixPQUFPbUIsaUJBQWlCLENBQUNFLFVBQVU7SUFDckMsQ0FBQyxNQUFNO01BQ0xGLGlCQUFpQixDQUFDRSxVQUFVLEdBQUdBLFVBQVU7TUFBQSxJQUFBYSxVQUFBLEdBQUFwQywwQkFBQSxDQUNwQnVCLFVBQVU7UUFBQWMsTUFBQTtNQUFBO1FBQS9CLEtBQUFELFVBQUEsQ0FBQS9CLENBQUEsTUFBQWdDLE1BQUEsR0FBQUQsVUFBQSxDQUFBOUIsQ0FBQSxJQUFBQyxJQUFBLEdBQWlDO1VBQUEsSUFBdEJ3QixNQUFNLEdBQUFNLE1BQUEsQ0FBQTdCLEtBQUE7VUFDZjhCLFdBQVcsQ0FBQ1AsTUFBTSxDQUFDO1FBQ3JCO01BQUMsU0FBQUksR0FBQTtRQUFBQyxVQUFBLENBQUFuRCxDQUFBLENBQUFrRCxHQUFBO01BQUE7UUFBQUMsVUFBQSxDQUFBM0IsQ0FBQTtNQUFBO0lBQ0g7RUFDRjtFQUVBLElBQUk4QixJQUFJLEdBQUdsQixpQkFBaUIsQ0FBQ2tCLElBQUk7RUFDakMsSUFBSUEsSUFBSSxLQUFLZixTQUFTLEVBQUU7SUFDdEJlLElBQUksR0FBR2xCLGlCQUFpQixDQUFDbUIsS0FBSztJQUM5QixPQUFPbkIsaUJBQWlCLENBQUNtQixLQUFLO0VBQ2hDLENBQUMsTUFBTTtJQUNMZCxrQkFBTSxDQUFDQyxXQUFXLENBQUNOLGlCQUFpQixDQUFDbUIsS0FBSyxFQUFFaEIsU0FBUyxDQUFDO0VBQ3hEO0VBQ0EsSUFBSWUsSUFBSSxLQUFLZixTQUFTLEVBQUU7SUFDdEJlLElBQUksR0FBR0EsSUFBSSxDQUFDUixNQUFNO0lBQ2xCLElBQUksQ0FBQ25DLEtBQUssQ0FBQ0UsT0FBTyxDQUFDeUMsSUFBSSxDQUFDLEVBQUU7TUFDeEIsSUFBQWIsa0JBQU0sRUFBQ2EsSUFBSSxDQUFDO01BQ1pBLElBQUksR0FBRyxDQUFDQSxJQUFJLENBQUM7SUFDZjtJQUNBLElBQUlBLElBQUksQ0FBQ3JDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDckIsT0FBT21CLGlCQUFpQixDQUFDa0IsSUFBSTtJQUMvQixDQUFDLE1BQU07TUFDTGxCLGlCQUFpQixDQUFDa0IsSUFBSSxHQUFHQSxJQUFJO01BQUEsSUFBQUUsVUFBQSxHQUFBekMsMEJBQUEsQ0FDUnVDLElBQUk7UUFBQUcsTUFBQTtNQUFBO1FBQXpCLEtBQUFELFVBQUEsQ0FBQXBDLENBQUEsTUFBQXFDLE1BQUEsR0FBQUQsVUFBQSxDQUFBbkMsQ0FBQSxJQUFBQyxJQUFBLEdBQTJCO1VBQUEsSUFBaEJ3QixPQUFNLEdBQUFXLE1BQUEsQ0FBQWxDLEtBQUE7VUFDZjhCLFdBQVcsQ0FBQ1AsT0FBTSxDQUFDO1FBQ3JCO01BQUMsU0FBQUksR0FBQTtRQUFBTSxVQUFBLENBQUF4RCxDQUFBLENBQUFrRCxHQUFBO01BQUE7UUFBQU0sVUFBQSxDQUFBaEMsQ0FBQTtNQUFBO0lBQ0g7RUFDRjtFQUVBLElBQUlrQyxNQUFNLEdBQUd0QixpQkFBaUIsQ0FBQ3NCLE1BQU07RUFDckMsSUFBSUEsTUFBTSxLQUFLbkIsU0FBUyxFQUFFO0lBQ3hCbUIsTUFBTSxHQUFHdEIsaUJBQWlCLENBQUN1QixPQUFPO0lBQ2xDLE9BQU92QixpQkFBaUIsQ0FBQ3VCLE9BQU87RUFDbEMsQ0FBQyxNQUFNO0lBQ0xsQixrQkFBTSxDQUFDQyxXQUFXLENBQUNOLGlCQUFpQixDQUFDdUIsT0FBTyxFQUFFcEIsU0FBUyxDQUFDO0VBQzFEO0VBQ0EsSUFBSW1CLE1BQU0sS0FBS25CLFNBQVMsRUFBRTtJQUN4Qm1CLE1BQU0sR0FBR0EsTUFBTSxDQUFDWixNQUFNO0lBQ3RCLElBQUksQ0FBQ25DLEtBQUssQ0FBQ0UsT0FBTyxDQUFDNkMsTUFBTSxDQUFDLEVBQUU7TUFDMUIsSUFBQWpCLGtCQUFNLEVBQUNpQixNQUFNLENBQUM7TUFDZEEsTUFBTSxHQUFHLENBQUNBLE1BQU0sQ0FBQztJQUNuQjtJQUNBLElBQUlBLE1BQU0sQ0FBQ3pDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDdkIsT0FBT21CLGlCQUFpQixDQUFDc0IsTUFBTTtJQUNqQyxDQUFDLE1BQU07TUFDTHRCLGlCQUFpQixDQUFDc0IsTUFBTSxHQUFHQSxNQUFNO01BQUEsSUFBQUUsVUFBQSxHQUFBN0MsMEJBQUEsQ0FDWjJDLE1BQU07UUFBQUcsTUFBQTtNQUFBO1FBQTNCLEtBQUFELFVBQUEsQ0FBQXhDLENBQUEsTUFBQXlDLE1BQUEsR0FBQUQsVUFBQSxDQUFBdkMsQ0FBQSxJQUFBQyxJQUFBLEdBQTZCO1VBQUEsSUFBbEJ3QixRQUFNLEdBQUFlLE1BQUEsQ0FBQXRDLEtBQUE7VUFDZjhCLFdBQVcsQ0FBQ1AsUUFBTSxDQUFDO1FBQ3JCO01BQUMsU0FBQUksR0FBQTtRQUFBVSxVQUFBLENBQUE1RCxDQUFBLENBQUFrRCxHQUFBO01BQUE7UUFBQVUsVUFBQSxDQUFBcEMsQ0FBQTtNQUFBO0lBQ0g7RUFDRjtFQUVBLElBQUlzQyxXQUFXLEdBQUcxQixpQkFBaUIsQ0FBQzBCLFdBQVc7RUFDL0MsSUFBSUEsV0FBVyxLQUFLdkIsU0FBUyxFQUFFO0lBQzdCdUIsV0FBVyxHQUFHMUIsaUJBQWlCLENBQUMyQixVQUFVO0lBQzFDLE9BQU8zQixpQkFBaUIsQ0FBQzJCLFVBQVU7RUFDckMsQ0FBQyxNQUFNO0lBQ0x0QixrQkFBTSxDQUFDQyxXQUFXLENBQUNOLGlCQUFpQixDQUFDMkIsVUFBVSxFQUFFeEIsU0FBUyxDQUFDO0VBQzdEO0VBQ0EsSUFBSXVCLFdBQVcsS0FBS3ZCLFNBQVMsRUFBRTtJQUM3QixJQUFJLENBQUM1QixLQUFLLENBQUNFLE9BQU8sQ0FBQ2lELFdBQVcsQ0FBQyxFQUFFO01BQy9CLElBQUFyQixrQkFBTSxFQUFDcUIsV0FBVyxDQUFDO01BQ25CQSxXQUFXLEdBQUcsQ0FBQ0EsV0FBVyxDQUFDO0lBQzdCO0lBQ0EsSUFBTUUsZ0JBQWdCLEdBQUdGLFdBQVc7SUFDcENBLFdBQVcsR0FBRyxFQUFFO0lBQUEsSUFBQUcsVUFBQSxHQUFBbEQsMEJBQUEsQ0FDV2lELGdCQUFnQjtNQUFBRSxNQUFBO0lBQUE7TUFBM0MsS0FBQUQsVUFBQSxDQUFBN0MsQ0FBQSxNQUFBOEMsTUFBQSxHQUFBRCxVQUFBLENBQUE1QyxDQUFBLElBQUFDLElBQUEsR0FBNkM7UUFBQSxJQUFwQzZDLGNBQWMsR0FBQUQsTUFBQSxDQUFBM0MsS0FBQTtRQUNyQixJQUFJNEMsY0FBYyxLQUFLLElBQUksRUFBRTtVQUMzQjtRQUNGO1FBQ0FBLGNBQWMsR0FBR0EsY0FBYyxDQUFDckIsTUFBTTtRQUN0QyxJQUFJbkMsS0FBSyxDQUFDRSxPQUFPLENBQUNzRCxjQUFjLENBQUMsRUFBRTtVQUFBLElBQUFDLFlBQUE7VUFDakMsQ0FBQUEsWUFBQSxHQUFBTixXQUFXLEVBQUNkLElBQUksQ0FBQUMsS0FBQSxDQUFBbUIsWUFBQSxFQUFBbEUsa0JBQUEsQ0FBSWlFLGNBQWMsRUFBQztRQUNyQyxDQUFDLE1BQU07VUFDTCxJQUFBMUIsa0JBQU0sRUFBQzBCLGNBQWMsQ0FBQztVQUN0QkwsV0FBVyxDQUFDZCxJQUFJLENBQUNtQixjQUFjLENBQUM7UUFDbEM7TUFDRjtJQUFDLFNBQUFqQixHQUFBO01BQUFlLFVBQUEsQ0FBQWpFLENBQUEsQ0FBQWtELEdBQUE7SUFBQTtNQUFBZSxVQUFBLENBQUF6QyxDQUFBO0lBQUE7SUFDRCxJQUFJc0MsV0FBVyxDQUFDN0MsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUM1QixPQUFPbUIsaUJBQWlCLENBQUMwQixXQUFXO0lBQ3RDLENBQUMsTUFBTTtNQUNMMUIsaUJBQWlCLENBQUMwQixXQUFXLEdBQUdBLFdBQVc7TUFBQSxJQUFBTyxVQUFBLEdBQUF0RCwwQkFBQSxDQUN0QitDLFdBQVc7UUFBQVEsTUFBQTtNQUFBO1FBQWhDLEtBQUFELFVBQUEsQ0FBQWpELENBQUEsTUFBQWtELE1BQUEsR0FBQUQsVUFBQSxDQUFBaEQsQ0FBQSxJQUFBQyxJQUFBLEdBQWtDO1VBQUEsSUFBdkJ3QixRQUFNLEdBQUF3QixNQUFBLENBQUEvQyxLQUFBO1VBQ2Y4QixXQUFXLENBQUNQLFFBQU0sQ0FBQztRQUNyQjtNQUFDLFNBQUFJLEdBQUE7UUFBQW1CLFVBQUEsQ0FBQXJFLENBQUEsQ0FBQWtELEdBQUE7TUFBQTtRQUFBbUIsVUFBQSxDQUFBN0MsQ0FBQTtNQUFBO0lBQ0g7RUFDRjtFQUVBLElBQUkrQyxxQkFBcUIsR0FBR25DLGlCQUFpQixDQUFDbUMscUJBQXFCO0VBQ25FLElBQUlBLHFCQUFxQixLQUFLaEMsU0FBUyxFQUFFO0lBQ3ZDLElBQUksQ0FBQzVCLEtBQUssQ0FBQ0UsT0FBTyxDQUFDMEQscUJBQXFCLENBQUMsRUFBRTtNQUN6Q0EscUJBQXFCLEdBQUcsQ0FBQ0EscUJBQXFCLENBQUM7SUFDakQ7SUFDQSxJQUFNQywwQkFBMEIsR0FBR0QscUJBQXFCO0lBQ3hEQSxxQkFBcUIsR0FBRyxFQUFFO0lBQUEsSUFBQUUsVUFBQSxHQUFBMUQsMEJBQUEsQ0FDQ3lELDBCQUEwQjtNQUFBRSxNQUFBO0lBQUE7TUFBckQsS0FBQUQsVUFBQSxDQUFBckQsQ0FBQSxNQUFBc0QsTUFBQSxHQUFBRCxVQUFBLENBQUFwRCxDQUFBLElBQUFDLElBQUEsR0FBdUQ7UUFBQSxJQUE5QzZDLGVBQWMsR0FBQU8sTUFBQSxDQUFBbkQsS0FBQTtRQUNyQixJQUFJNEMsZUFBYyxLQUFLLElBQUksRUFBRTtVQUMzQjtRQUNGO1FBQ0FBLGVBQWMsR0FBR0EsZUFBYyxDQUFDckIsTUFBTTtRQUN0QyxJQUFJbkMsS0FBSyxDQUFDRSxPQUFPLENBQUNzRCxlQUFjLENBQUMsRUFBRTtVQUFBLElBQUFRLHFCQUFBO1VBQ2pDLENBQUFBLHFCQUFBLEdBQUFKLHFCQUFxQixFQUFDdkIsSUFBSSxDQUFBQyxLQUFBLENBQUEwQixxQkFBQSxFQUFBekUsa0JBQUEsQ0FBSWlFLGVBQWMsRUFBQztRQUMvQyxDQUFDLE1BQU07VUFDTCxJQUFBMUIsa0JBQU0sRUFBQzBCLGVBQWMsQ0FBQztVQUN0QkkscUJBQXFCLENBQUN2QixJQUFJLENBQUNtQixlQUFjLENBQUM7UUFDNUM7TUFDRjtJQUFDLFNBQUFqQixHQUFBO01BQUF1QixVQUFBLENBQUF6RSxDQUFBLENBQUFrRCxHQUFBO0lBQUE7TUFBQXVCLFVBQUEsQ0FBQWpELENBQUE7SUFBQTtJQUNELElBQUkrQyxxQkFBcUIsQ0FBQ3RELE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDdEMsT0FBT21CLGlCQUFpQixDQUFDbUMscUJBQXFCO0lBQ2hELENBQUMsTUFBTTtNQUNMbkMsaUJBQWlCLENBQUNtQyxxQkFBcUIsR0FBR0EscUJBQXFCO01BQUEsSUFBQUssVUFBQSxHQUFBN0QsMEJBQUEsQ0FDMUN3RCxxQkFBcUI7UUFBQU0sTUFBQTtNQUFBO1FBQTFDLEtBQUFELFVBQUEsQ0FBQXhELENBQUEsTUFBQXlELE1BQUEsR0FBQUQsVUFBQSxDQUFBdkQsQ0FBQSxJQUFBQyxJQUFBLEdBQTRDO1VBQUEsSUFBakN3QixRQUFNLEdBQUErQixNQUFBLENBQUF0RCxLQUFBO1VBQ2Y4QixXQUFXLENBQUNQLFFBQU0sQ0FBQztRQUNyQjtNQUFDLFNBQUFJLEdBQUE7UUFBQTBCLFVBQUEsQ0FBQTVFLENBQUEsQ0FBQWtELEdBQUE7TUFBQTtRQUFBMEIsVUFBQSxDQUFBcEQsQ0FBQTtNQUFBO0lBQ0g7RUFDRjtBQUNGO0FBRU8sU0FBU3NELFlBQVlBLENBQUNDLE9BQVksRUFBUTtFQUMvQyxJQUFBMUMsc0JBQWlCLEVBQUMwQyxPQUFPLENBQUM7RUFFMUIsSUFBTUMsU0FBUyxHQUFHRCxPQUFPLENBQUNDLFNBQVM7RUFDbkMsSUFBQXZDLGtCQUFNLEVBQUN1QyxTQUFTLENBQUM7RUFDakI7SUFDRSxJQUFBM0Msc0JBQWlCLEVBQUMyQyxTQUFTLENBQUM7SUFFNUJ2QyxrQkFBTSxDQUFDQyxXQUFXLENBQUNzQyxTQUFTLENBQUNDLG9CQUFvQixFQUFFMUMsU0FBUyxDQUFDO0VBQy9EO0VBRUEsSUFBTTJDLEtBQUssR0FBR0gsT0FBTyxDQUFDRyxLQUFLO0VBQzNCLElBQUF6QyxrQkFBTSxFQUFDeUMsS0FBSyxDQUFDO0VBQ2I7SUFDRSxJQUFBN0Msc0JBQWlCLEVBQUM2QyxLQUFLLENBQUM7SUFFeEJ6QyxrQkFBTSxDQUFDQyxXQUFXLENBQUN3QyxLQUFLLENBQUNELG9CQUFvQixFQUFFMUMsU0FBUyxDQUFDO0VBQzNEO0VBRUEsSUFBSTRDLGdCQUFnQixHQUFHSixPQUFPLENBQUNJLGdCQUFnQjtFQUMvQyxJQUFBMUMsa0JBQU0sRUFBQzBDLGdCQUFnQixDQUFDO0VBQ3hCO0lBQ0VBLGdCQUFnQixHQUFHQSxnQkFBZ0IsQ0FBQ0MsTUFBTTtJQUMxQyxJQUFBM0Msa0JBQU0sRUFBQzBDLGdCQUFnQixDQUFDO0lBRXhCLElBQUlFLE9BQU8sR0FBR0YsZ0JBQWdCLENBQUNFLE9BQU87SUFDdEMsSUFBQTVDLGtCQUFNLEVBQUM0QyxPQUFPLENBQUM7SUFDZjtNQUNFQSxPQUFPLEdBQUdBLE9BQU8sQ0FBQ0MsTUFBTTtNQUN4QixJQUFBN0Msa0JBQU0sRUFBQzlCLEtBQUssQ0FBQ0UsT0FBTyxDQUFDd0UsT0FBTyxDQUFDLENBQUM7TUFBQSxJQUFBRSxVQUFBLEdBQUF4RSwwQkFBQSxDQUNUc0UsT0FBTztRQUFBRyxNQUFBO01BQUE7UUFBNUIsS0FBQUQsVUFBQSxDQUFBbkUsQ0FBQSxNQUFBb0UsTUFBQSxHQUFBRCxVQUFBLENBQUFsRSxDQUFBLElBQUFDLElBQUEsR0FBOEI7VUFBQSxJQUFuQmdFLE1BQU0sR0FBQUUsTUFBQSxDQUFBakUsS0FBQTtVQUNmLElBQU1rRSxJQUFJLEdBQUdILE1BQU0sQ0FBQ0csSUFBSTtVQUN4QixJQUFBaEQsa0JBQU0sRUFBQ2dELElBQUksQ0FBQztVQUNaO1lBQ0UsSUFBTUMsWUFBWSxHQUFHRCxJQUFJLENBQUNDLFlBQVk7WUFDdEMsSUFBQWpELGtCQUFNLEVBQUNpRCxZQUFZLENBQUM7WUFDcEI7Y0FDRSxJQUFJQSxZQUFZLENBQUMzQixVQUFVLEtBQUt4QixTQUFTLEVBQUU7Z0JBQ3pDRSxrQkFBTSxDQUFDQyxXQUFXLENBQUNnRCxZQUFZLENBQUM1QixXQUFXLEVBQUV2QixTQUFTLENBQUM7Z0JBQ3ZEbUQsWUFBWSxDQUFDNUIsV0FBVyxHQUFHNEIsWUFBWSxDQUFDM0IsVUFBVTtnQkFDbEQsT0FBTzJCLFlBQVksQ0FBQzNCLFVBQVU7Y0FDaEM7Y0FFQSxJQUFJMkIsWUFBWSxDQUFDbEQsU0FBUyxLQUFLRCxTQUFTLEVBQUU7Z0JBQ3hDRSxrQkFBTSxDQUFDQyxXQUFXLENBQUNnRCxZQUFZLENBQUNwRCxVQUFVLEVBQUVDLFNBQVMsQ0FBQztnQkFDdERtRCxZQUFZLENBQUNwRCxVQUFVLEdBQUdvRCxZQUFZLENBQUNsRCxTQUFTO2dCQUNoRCxPQUFPa0QsWUFBWSxDQUFDbEQsU0FBUztjQUMvQjtZQUNGO1lBRUEsSUFBTUosaUJBQWlCLEdBQUdxRCxJQUFJLENBQUNyRCxpQkFBaUI7WUFDaEQsSUFBQUssa0JBQU0sRUFBQ0wsaUJBQWlCLENBQUM7WUFDekJELHNCQUFzQixDQUFDQyxpQkFBaUIsQ0FBQztVQUMzQztRQUNGO01BQUMsU0FBQWMsR0FBQTtRQUFBcUMsVUFBQSxDQUFBdkYsQ0FBQSxDQUFBa0QsR0FBQTtNQUFBO1FBQUFxQyxVQUFBLENBQUEvRCxDQUFBO01BQUE7TUFDRDJELGdCQUFnQixDQUFDRSxPQUFPLEdBQUdBLE9BQU87SUFDcEM7SUFFQU4sT0FBTyxDQUFDSSxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0VBQzdDO0VBRUEsSUFBTVEsV0FBVyxHQUFHWixPQUFPLENBQUNZLFdBQVc7RUFDdkMsSUFBSUEsV0FBVyxLQUFLcEQsU0FBUyxFQUFFO0lBQzdCSixzQkFBc0IsQ0FBQ3dELFdBQVcsQ0FBQztJQUVuQyxJQUFJQyxpQkFBaUIsR0FBR0QsV0FBVyxDQUFDQyxpQkFBaUI7SUFDckQsSUFBSUEsaUJBQWlCLEtBQUtyRCxTQUFTLEVBQUU7TUFDbkNKLHNCQUFzQixDQUFDeUQsaUJBQWlCLENBQUM7TUFDekMsSUFDRUMsTUFBTSxDQUFDQyxNQUFNLENBQUNGLGlCQUFpQixDQUFDLENBQUNHLE1BQU0sQ0FBQyxVQUFDeEUsS0FBSztRQUFBLE9BQUtBLEtBQUssS0FBS2dCLFNBQVM7TUFBQSxFQUFDLENBQ3BFdEIsTUFBTSxLQUFLLENBQUMsRUFDZjtRQUNBLE9BQU8wRSxXQUFXLENBQUNDLGlCQUFpQjtNQUN0QztJQUNGO0lBRUEsSUFDRUMsTUFBTSxDQUFDQyxNQUFNLENBQUNILFdBQVcsQ0FBQyxDQUFDSSxNQUFNLENBQUMsVUFBQ3hFLEtBQUs7TUFBQSxPQUFLQSxLQUFLLEtBQUtnQixTQUFTO0lBQUEsRUFBQyxDQUM5RHRCLE1BQU0sS0FBSyxDQUFDLEVBQ2Y7TUFDQSxPQUFPOEQsT0FBTyxDQUFDWSxXQUFXO0lBQzVCO0VBQ0Y7QUFDRjtBQUVBLFNBQVN0QyxXQUFXQSxDQUFDUCxNQUFXLEVBQUU7RUFDaEMsSUFBQWtELDBCQUFxQixFQUFDbEQsTUFBTSxFQUFFLGVBQWUsQ0FBQztFQUM5QyxJQUFBbUQsMEJBQXFCLEVBQUNuRCxNQUFNLEVBQUUsVUFBVSxDQUFDO0FBQzNDIiwiaWdub3JlTGlzdCI6W119
|