@tricoteuses/assemblee 0.25.1 → 0.26.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 +3 -0
- package/lib/bugs/acteur-00010.js +9 -7
- package/lib/bugs/agenda-00002.js +6 -6
- package/lib/bugs/agenda-00002.mjs +1 -1
- package/lib/bugs/agenda-00008.js +6 -6
- package/lib/bugs/agenda-00011.js +5 -5
- package/lib/bugs.js +7 -5
- package/lib/cleaners/actes_legislatifs.js +3 -1
- package/lib/cleaners/acteurs.js +43 -4
- package/lib/cleaners/acteurs.mjs +25 -1
- package/lib/cleaners/amendements.js +2 -2
- package/lib/cleaners/amendements.mjs +3 -7
- package/lib/cleaners/documents.js +3 -1
- package/lib/cleaners/dossiers_legislatifs.js +3 -1
- package/lib/cleaners/organes.js +19 -2
- package/lib/cleaners/organes.mjs +18 -1
- package/lib/cleaners/reunions.js +3 -3
- package/lib/cleaners/scrutins.js +5 -3
- package/lib/cleaners/xml.js +3 -1
- package/lib/datasets.js +1 -1
- package/lib/datasets.mjs +1 -1
- package/lib/dates.js +1 -1
- package/lib/dates.mjs +1 -1
- package/lib/dossiers_legislatifs.js +3 -1
- package/lib/file_systems.js +11 -5
- package/lib/git.js +3 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -2
- package/lib/index.mjs +3 -2
- package/lib/inserters.js +3 -1
- package/lib/inserters.mjs +1 -1
- package/lib/loaders.js +1 -1
- package/lib/loaders.mjs +1 -1
- package/lib/parsers/documents.js +2 -2
- package/lib/parsers/documents.mjs +2 -2
- package/lib/parsers/recherche_amendements.js +4 -2
- package/lib/raw_types/acteurs_et_organes.d.ts +181 -13
- package/lib/raw_types/acteurs_et_organes.js +329 -62
- package/lib/raw_types/acteurs_et_organes.mjs +318 -55
- package/lib/raw_types/agendas.d.ts +2 -1
- package/lib/raw_types/agendas.js +8 -7
- package/lib/raw_types/agendas.mjs +4 -3
- package/lib/raw_types/amendements.d.ts +2 -2
- package/lib/raw_types/amendements.js +7 -7
- package/lib/raw_types/amendements.mjs +3 -3
- package/lib/raw_types/dossiers_legislatifs.d.ts +73 -714
- package/lib/raw_types/dossiers_legislatifs.js +177 -1666
- package/lib/raw_types/dossiers_legislatifs.mjs +169 -1640
- package/lib/raw_types/scrutins.js +4 -4
- package/lib/scripts/bugs_helper.js +2 -2
- package/lib/scripts/clean_data.js +4 -4
- package/lib/scripts/clean_data.mjs +2 -2
- package/lib/scripts/clean_reorganized_data.js +4 -4
- package/lib/scripts/clean_reorganized_data.mjs +1 -1
- package/lib/scripts/diff_amendements.js +2 -2
- package/lib/scripts/document_dossiers_legislatifs.js +10 -10
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/merge_scrutins.js +3 -1
- package/lib/scripts/parse_textes_lois.js +3 -1
- package/lib/scripts/raw_types_from_amendements.js +3 -1
- package/lib/scripts/raw_types_from_amendements.mjs +1 -1
- package/lib/scripts/reorganize_data.js +199 -140
- package/lib/scripts/reorganize_data.mjs +46 -2
- package/lib/scripts/retrieve_deputes_photos.js +4 -4
- package/lib/scripts/retrieve_documents.js +5 -3
- package/lib/scripts/retrieve_open_data.js +4 -2
- package/lib/scripts/retrieve_open_data.mjs +2 -2
- package/lib/scripts/retrieve_pending_amendments.js +168 -155
- package/lib/scripts/retrieve_senateurs_photos.js +2 -2
- package/lib/scripts/retrieve_textes_lois.js +6 -6
- package/lib/scripts/test_load.js +4 -2
- package/lib/scripts/test_load.mjs +2 -2
- package/lib/scripts/test_load_big_files.js +4 -2
- package/lib/scripts/test_load_big_files.mjs +2 -2
- package/lib/scripts/validate_json.js +2 -2
- package/lib/shared_types/codes_actes.d.ts +413 -0
- package/lib/shared_types/codes_actes.js +262 -0
- package/lib/shared_types/codes_actes.mjs +227 -0
- package/lib/types/acteurs_et_organes.d.ts +48 -27
- package/lib/types/acteurs_et_organes.js +134 -41
- package/lib/types/acteurs_et_organes.mjs +128 -35
- package/lib/types/agendas.js +4 -4
- package/lib/types/amendements.js +4 -4
- package/lib/types/dossiers_legislatifs.d.ts +1 -413
- package/lib/types/dossiers_legislatifs.js +14 -264
- package/lib/types/dossiers_legislatifs.mjs +6 -231
- package/lib/types/scrutins.js +4 -4
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +6 -6
|
@@ -244,7 +244,7 @@ export function parseTexteLoi(assembleeUrl, page) {
|
|
|
244
244
|
state = "firstAlineaElement";
|
|
245
245
|
} else {
|
|
246
246
|
// <P/> is for footnotes
|
|
247
|
-
assert(["BR", "HR", "P"].includes(bodyChild.tagName),
|
|
247
|
+
assert(["BR", "HR", "P"].includes(bodyChild.tagName), `Unexpected tag name "${bodyChild.tagName}" for body child`); // Stay in the same state to go to next bodyChild.
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -430,4 +430,4 @@ export async function retrieveTexteLoiParsed(fetch, assembleeUrl) {
|
|
|
430
430
|
|
|
431
431
|
return parseTexteLoi(assembleeUrl, page);
|
|
432
432
|
}
|
|
433
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL2RvY3VtZW50cy50cyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlVGV4dGVMb2kiLCJhc3NlbWJsZWVVcmwiLCJwYWdlIiwicGFnZVNlZ21lbnRzIiwic3BsaXQiLCJzdHJpY3RFcXVhbCIsImxlbmd0aCIsImh0bWwiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic3Vic3RyaW5nIiwid2luZG93IiwiZG9jdW1lbnQiLCJjaGlsZHJlbiIsImh0bWxFbGVtZW50IiwiYm9keUVsZW1lbnQiLCJkaXZFbGVtZW50IiwidGFnTmFtZSIsIm5ld0RpdkVsZW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVFbGVtZW50IiwiZGl2Q2hpbGQiLCJnZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsImJvZHlDaGlsZCIsImFsaW5lYUVsZW1lbnQiLCJpc011bHRpTGluZXNIZWFkZXIiLCJsZXZlbCIsImxldmVscyIsImxpbmVFbGVtZW50cyIsIm5leHRQYXJlbnRTdGF0ZSIsInBhcmFncmFwaENoaWxkIiwicGFyYWdyYXBoRWxlbWVudCIsInN0YXRlIiwic3ViQWxpbmVhRWxlbWVudCIsInN1YmRpdmlzaW9ucyIsInN1YmRpdmlzaW9uQWxpbmVhc0h0bWwiLCJzdWJkaXZpc2lvbkFsaW5lYXNUZXh0Iiwic3ViZGl2aXNpb25IZWFkZXJzSHRtbCIsInN1YmRpdmlzaW9uSGVhZGVyc1RleHQiLCJ1bmRlZmluZWQiLCJoZWFkZXJUZXh0IiwidGV4dENvbnRlbnQiLCJuYW1lQ29tcHV0ZWQiLCJub3JtYWxpemUiLCJyZXBsYWNlIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJtYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJwb3AiLCJwdXNoIiwiYWxpbmVhcyIsImhlYWRlcnMiLCJpZCIsInJlbGF0aXZlTGV2ZWwiLCJ0ZXh0IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaW5jbHVkZXMiLCJsaW5lVGV4dCIsIm1hcCIsImVsZW1lbnQiLCJqb2luIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJjbGFzc05hbWUiLCJ1cmwiLCJyZXRyaWV2ZVRleHRlTG9pUGFyc2VkIiwiZmV0Y2giLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBUCxNQUFtQixRQUFuQjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsT0FBdEI7QUFFQSxPQUFPLFNBQVNDLGFBQVQsQ0FBdUJDLFlBQXZCLEVBQTZDQyxJQUE3QyxFQUEyRDtBQUNoRTtBQUNBLFFBQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxLQUFMLENBQVcsVUFBWCxDQUFyQjtBQUNBTixFQUFBQSxNQUFNLENBQUNPLFdBQVAsQ0FBbUJGLFlBQVksQ0FBQ0csTUFBaEMsRUFBd0MsQ0FBeEMsRUFBMkNKLElBQTNDO0FBQ0EsTUFBSUssSUFBSSxHQUFHSixZQUFZLENBQUMsQ0FBRCxDQUFaLENBQWdCSyxJQUFoQixFQUFYO0FBQ0FWLEVBQUFBLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDRSxVQUFMLENBQWdCLE1BQWhCLENBQUQsQ0FBTjtBQUNBWCxFQUFBQSxNQUFNLENBQUNTLElBQUksQ0FBQ0csUUFBTCxDQUFjLFFBQWQsQ0FBRCxDQUFOO0FBQ0FILEVBQUFBLElBQUksR0FBSSxRQUFPQSxJQUFJLENBQUNJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCSixJQUFJLENBQUNELE1BQUwsR0FBYyxDQUFoQyxDQUFtQyxTQUFsRCxDQVBnRSxDQVNoRTs7QUFDQSxRQUFNO0FBQUVNLElBQUFBO0FBQUYsTUFBYSxJQUFJYixLQUFKLENBQVVRLElBQVYsQ0FBbkI7QUFDQSxRQUFNO0FBQUVNLElBQUFBO0FBQUYsTUFBZUQsTUFBckI7QUFDQWQsRUFBQUEsTUFBTSxDQUFDTyxXQUFQLENBQW1CUSxRQUFRLENBQUNDLFFBQVQsQ0FBa0JSLE1BQXJDLEVBQTZDLENBQTdD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b0MsUUFBQUEsS0FBSyxHQUFHLHNCQUFSO0FBQ0E7O0FBQ0Y7QUFDRSxjQUFPLHFCQUFvQkEsS0FBTSxFQUFqQztBQTVVSjtBQThVRDs7QUFFRDFCLEVBQUFBLE1BQU0sQ0FBQ2EsS0FBUCxHQTlZZ0UsQ0E4WWpEOztBQUVmLFNBQU87QUFDTEMsSUFBQUEsS0FBSyxFQUFFLElBREY7QUFFTG5CLElBQUFBLElBRks7QUFHTEwsSUFBQUEsSUFISztBQUlMc0MsSUFBQUEsWUFKSztBQUtMaUMsSUFBQUEsR0FBRyxFQUFFeEU7QUFMQSxHQUFQO0FBT0Q7QUFFRCxPQUFPLGVBQWV5RSxzQkFBZixDQUNMQyxLQURLLEVBS0wxRSxZQUxLLEVBTUw7QUFDQSxRQUFNMkUsUUFBUSxHQUFHLE1BQU1ELEtBQUssQ0FBQzFFLFlBQUQsQ0FBNUI7QUFDQSxRQUFNQyxJQUFJLEdBQUcsTUFBTTBFLFFBQVEsQ0FBQ2IsSUFBVCxFQUFuQjs7QUFDQSxNQUFJLENBQUNhLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtBQUNoQixXQUFPO0FBQ0xuRCxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFaUQsUUFBUSxDQUFDRSxNQUFqQjtBQUF5QmxELFFBQUFBLE9BQU8sRUFBRWdELFFBQVEsQ0FBQ0c7QUFBM0MsT0FERjtBQUVMN0UsTUFBQUE7QUFGSyxLQUFQO0FBSUQ7O0FBQ0QsU0FBT0YsYUFBYSxDQUFDQyxZQUFELEVBQWVDLElBQWYsQ0FBcEI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgeyBKU0RPTSB9IGZyb20gXCJqc2RvbVwiXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRleHRlTG9pKGFzc2VtYmxlZVVybDogc3RyaW5nLCBwYWdlOiBzdHJpbmcpIHtcbiAgLy8gUmVwYWlyIEhUTUwuXG4gIGNvbnN0IHBhZ2VTZWdtZW50cyA9IHBhZ2Uuc3BsaXQoXCI8L3N0eWxlPlwiKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwocGFnZVNlZ21lbnRzLmxlbmd0aCwgMiwgcGFnZSlcbiAgbGV0IGh0bWwgPSBwYWdlU2VnbWVudHNbMV0udHJpbSgpXG4gIGFzc2VydChodG1sLnN0YXJ0c1dpdGgoXCI8ZGl2XCIpKVxuICBhc3NlcnQoaHRtbC5lbmRzV2l0aChcIjwvZGl2PlwiKSlcbiAgaHRtbCA9IGA8aHRtbCR7aHRtbC5zdWJzdHJpbmcoNCwgaHRtbC5sZW5ndGggLSA2KX08L2h0bWw+YFxuXG4gIC8vIEV4dHJhY3Qgc3ViZGl2aXNpb25zIGZyb20gSFRNTC5cbiAgY29uc3QgeyB3aW5kb3cgfSA9IG5ldyBKU0RPTShodG1sKVxuICBjb25zdCB7IGRvY3VtZW50IH0gPSB3aW5kb3dcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGRvY3VtZW50LmNoaWxkcmVuLmxlbmd0aCwgMSlcbiAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5jaGlsZHJlblswXVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAyKVxuICBjb25zdCBib2R5RWxlbWVudCA9IGh0bWxFbGVtZW50LmNoaWxkcmVuWzFdXG4gIGlmIChhc3NlbWJsZWVVcmwgPT09IFwiaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc1LmFzcFwiKSB7XG4gICAgLy8gUmVwYWlyIGRvY3VtZW50LlxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChib2R5RWxlbWVudC5jaGlsZHJlbi5sZW5ndGgsIDEpXG4gICAgY29uc3QgZGl2RWxlbWVudCA9IGJvZHlFbGVtZW50LmNoaWxkcmVuWzBdXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRpdkVsZW1lbnQudGFnTmFtZSwgXCJESVZcIilcbiAgICBjb25zdCBuZXdEaXZFbGVtZW50ID0gYm9keUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxcbiAgICAgIGRpdkVsZW1lbnQsXG4gICAgKVxuICAgIGJvZHlFbGVtZW50Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnJcIiksIGRpdkVsZW1lbnQpXG4gICAgZm9yIChjb25zdCBkaXZDaGlsZCBvZiBbLi4uZGl2RWxlbWVudC5jaGlsZHJlbl0pIHtcbiAgICAgIGlmIChkaXZDaGlsZC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKSA9PT0gXCJhOUFydGljbGVOdW1cIikge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgbmV3RGl2RWxlbWVudC5hcHBlbmRDaGlsZChkaXZDaGlsZClcbiAgICB9XG4gIH1cbiAgaWYgKGJvZHlFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA8IDMpIHtcbiAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wMzI2LmFzcC5cbiAgICB3aW5kb3cuY2xvc2UoKSAvLyBGcmVlIG1lbW9yeS5cbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IHsgY29kZTogLTEsIG1lc3NhZ2U6IFwiVGV4dGUgZGUgbG9pIHNhbnMgY29udGVudVwiIH0sXG4gICAgICBodG1sLFxuICAgICAgcGFnZSxcbiAgICB9XG4gIH1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGJvZHlFbGVtZW50LmNoaWxkcmVuWzBdLnRhZ05hbWUsIFwiRElWXCIpXG4gIC8vIEZpcnN0IGNoaWxkIGlzIGEgRElWIGRlc2NyaWJpbmcgdGhlIGRvY3VtZW50IChBc3NlbWJsw6llJ3MgaGVhZGVyKS4gU2tpcCBpdCBmb3Igbm93LlxuICBsZXQgYm9keUNoaWxkID0gYm9keUVsZW1lbnQuY2hpbGRyZW5bMV1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGJvZHlDaGlsZC50YWdOYW1lLCBcIkJSXCIpXG4gIGxldCBhbGluZWFFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IGlzTXVsdGlMaW5lc0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBsZXZlbDogbnVtYmVyIHwgbnVsbCA9IG51bGxcbiAgbGV0IGxldmVsczogbnVtYmVyW10gPSBbXVxuICBsZXQgbGluZUVsZW1lbnRzOiBFbGVtZW50W10gfCBudWxsID0gbnVsbFxuICBsZXQgbmV4dFBhcmVudFN0YXRlID0gbnVsbFxuICBsZXQgcGFyYWdyYXBoQ2hpbGQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgcGFyYWdyYXBoRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBzdGF0ZTogc3RyaW5nIHwgbnVsbCA9IFwibmV4dEJvZHlDaGlsZFwiXG4gIGxldCBzdWJBbGluZWFFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgY29uc3Qgc3ViZGl2aXNpb25zID0gW11cbiAgbGV0IHN1YmRpdmlzaW9uQWxpbmVhc0h0bWw6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uQWxpbmVhc1RleHQ6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uSGVhZGVyc0h0bWw6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uSGVhZGVyc1RleHQ6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgd2hpbGUgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgc3dpdGNoIChzdGF0ZSkge1xuICAgICAgY2FzZSBcImFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3dpdGNoIChhbGluZWFFbGVtZW50IS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIkRJVlwiOlxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0U3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJINFwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBwYXJhZ3JhcGhFbGVtZW50ID0gYWxpbmVhRWxlbWVudFxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiUFwiOlxuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBwYXJhZ3JhcGhFbGVtZW50ID0gYWxpbmVhRWxlbWVudFxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiT0xcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJUQUJMRVwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIGFsaW5lYSBlbGVtZW50OiAke1xuICAgICAgICAgICAgICAgICAgYWxpbmVhRWxlbWVudCEudGFnTmFtZVxuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiZmlyc3RBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIGFsaW5lYUVsZW1lbnQgPSBib2R5Q2hpbGQuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKGFsaW5lYUVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIGFsaW5lYSBpbiBjdXJyZW50IGJvZHlDaGlsZDogZ28gdG8gbmV4dCBib2R5Q2hpbGQuXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJhbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIjpcbiAgICAgICAgcGFyYWdyYXBoQ2hpbGQgPSBwYXJhZ3JhcGhFbGVtZW50IS5jaGlsZHJlblswXVxuICAgICAgICBpZiAocGFyYWdyYXBoQ2hpbGQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIGNoaWxkIGluIGN1cnJlbnQgcGFyYWdyYXBoOiBnbyB0byBuZXh0IHBhcmVudCBlbGVtZW50LlxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVyVGV4dCA9IHBhcmFncmFwaEVsZW1lbnQhLnRleHRDb250ZW50XG4gICAgICAgICAgY29uc3QgbmFtZUNvbXB1dGVkID0gKGhlYWRlclRleHQgfHwgXCJcIilcbiAgICAgICAgICAgIC5ub3JtYWxpemUoXCJORkRcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKG5vdXZlYXVcXCkvLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKFBvdXIgY29vcmRpbmF0aW9uXFwpLywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChTdXBwcmltw6lzP1xcKS8sIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvwqAvZywgXCIgXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcLSwu4oCmXS9nLCBcIlwiKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyB7MSx9L2csIFwiX1wiKVxuICAgICAgICAgIGNvbnN0IG5hbWVVcHBlciA9IG5hbWVDb21wdXRlZC50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgaWYgKG5hbWVVcHBlciA9PT0gXCJcIikge1xuICAgICAgICAgICAgLy8gT2NjdXJzIGluOlxuICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA0NDUuYXNwXG4gICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDYyNi5hc3BcbiAgICAgICAgICAgIC8vIFNraXAgcGFyYWdyYXBoLlxuICAgICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG5leHRMZXZlbCA9XG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL14oUkFQUE9SVF8pP0FOTkVYRShffCQpLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVUQVRfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eVE9NRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15QQVJUSUVfLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goXG4gICAgICAgICAgICAgICAgICAvXihQUkVNSUVSRXxTRUNPTkRFfERFVVhJRU1FfFRST0lTSUVNRXxRVUFUUklFTUUpX1BBUlRJRShffCQpLyxcbiAgICAgICAgICAgICAgICApICE9PSBudWxsXG4gICAgICAgICAgICAgID8gMlxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXkxJVlJFXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gM1xuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlRJVFJFXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gNFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlNPVVNUSVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDVcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15DSEFQSVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDZcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15TRUNUSU9OXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gN1xuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlNPVVNTRUNUSU9OXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXkFSVElDTEVTP18vKSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgbXVzdCBiZSBhdCB0aGUgc2FtZSBsZXZlbCBhcyBhcnRpY2xlLlxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgd2l0aG91dCBjb250ZW50OlxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNzAyLmFzcFxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgd2l0aCBjb250ZW50OlxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xMzI2LmFzcFxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xNjEwLmFzcFxuICAgICAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVYUE9TRV9ERVNfTU9USUZTJC8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gOVxuICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICBpZiAobmV4dExldmVsID09PSBudWxsICYmIHN1YmRpdmlzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGlmIChuYW1lVXBwZXIubWF0Y2goL14oUFJPSkVUfFBST1BPU0lUSU9OKV9ERV9MT0koX3wkKS8pICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIE9jY3VycyBpbjpcbiAgICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzAyMzIuYXNwXG4gICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjI2LmFzcFxuICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3Ni5hc3BcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgIG5hbWVVcHBlciA9PT0gXCJKRVVYX09MWU1QSVFVRVNfRVRfUEFSQUxZTVBJUVVFU19ERV8yMDI0XCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc2LmFzcFxuICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lVXBwZXIgPT09IFwiVEVYVEVfREVfTEFfQ09NTUlTU0lPTl9NSVhURV9QQVJJVEFJUkVcIikge1xuICAgICAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xMjk0LmFzcFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgYFVuZXhwZWN0ZWQgbmFtZVVwcGVyID0gXCIke25hbWVVcHBlcn1cIiBhdCBiZWdpbm5pbmcgb2YgXCJ0ZXh0ZSBkZSBsb2lcIiBhdCAke2Fzc2VtYmxlZVVybH1gLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTa2lwIHBhcmFncmFwaC5cbiAgICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobmV4dExldmVsICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXZlbCA9IG5leHRMZXZlbFxuICAgICAgICAgICAgd2hpbGUgKGxldmVscy5sZW5ndGggPiAwICYmIGxldmVsIDwgbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgICBsZXZlbHMucG9wKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZXZlbHMubGVuZ3RoID09PSAwIHx8IGxldmVsID4gbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgICBsZXZlbHMucHVzaChsZXZlbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFydGljbGVzICYgXCJFeHBvc8OpIGRlcyBtb3RpZnNcIiBhcmUgdGhlIG9ubHkgZGl2aXNpb25zIHdpdGhvdXQgc2Vjb25kIHRpdGxlLlxuICAgICAgICAgICAgaXNNdWx0aUxpbmVzSGVhZGVyID1cbiAgICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eQVJUSUNMRVM/Xy8pID09PSBudWxsICYmXG4gICAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVYUE9TRV9ERVNfTU9USUZTJC8pID09PSBudWxsXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQgPSBbXVxuICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCA9IFtdXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0ID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgaHRtbDoge1xuICAgICAgICAgICAgICAgIGFsaW5lYXM6IHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogc3ViZGl2aXNpb25IZWFkZXJzSHRtbCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaWQ6IFwiRF9cIiArIG5hbWVDb21wdXRlZCxcbiAgICAgICAgICAgICAgbGV2ZWw6IGxldmVsICsgMSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVMZXZlbDogbGV2ZWxzLmxlbmd0aCxcbiAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgIGFsaW5lYXM6IHN1YmRpdmlzaW9uQWxpbmVhc1RleHQsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogc3ViZGl2aXNpb25IZWFkZXJzVGV4dCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIGxpbmVFbGVtZW50cyA9IFtdXG4gICAgICAgICAgc3RhdGUgPSBcInBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0U3ViQWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzdWJBbGluZWFFbGVtZW50ID0gYWxpbmVhRWxlbWVudCEuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKHN1YkFsaW5lYUVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIHN1Yi1hbGluZWEgaW4gY3VycmVudCBhbGluZWE6IGdvIHRvIG5leHQgYWxpbmVhLlxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcInN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwibmV4dEFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgYWxpbmVhRWxlbWVudCA9IGFsaW5lYUVsZW1lbnQhLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICBpZiAoYWxpbmVhRWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBib2R5Q2hpbGQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLiBHbyB0byBuZXh0IGJvZHlDaGlsZFxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwiYWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0Qm9keUNoaWxkXCI6XG4gICAgICAgIGlmIChib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGRvY3VtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC5cbiAgICAgICAgICBzdGF0ZSA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBib2R5Q2hpbGQgPSBib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgICAgaWYgKGJvZHlDaGlsZC50YWdOYW1lID09PSBcIkRJVlwiKSB7XG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gPFAvPiBpcyBmb3IgZm9vdG5vdGVzXG4gICAgICAgICAgICBhc3NlcnQoXG4gICAgICAgICAgICAgIFtcIkJSXCIsIFwiSFJcIiwgXCJQXCJdLmluY2x1ZGVzKGJvZHlDaGlsZC50YWdOYW1lKSxcbiAgICAgICAgICAgICAgYMOZbmV4cGVjdGVkIHRhZyBuYW1lIFwiJHtib2R5Q2hpbGQudGFnTmFtZX1cIiBmb3IgYm9keSBjaGlsZGAsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBTdGF5IGluIHRoZSBzYW1lIHN0YXRlIHRvIGdvIHRvIG5leHQgYm9keUNoaWxkLlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRQYXJhZ3JhcGhDaGlsZFwiOlxuICAgICAgICBwYXJhZ3JhcGhDaGlsZCA9IHBhcmFncmFwaENoaWxkIS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgaWYgKHBhcmFncmFwaENoaWxkID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIHBhcmFncmFwaCBlbGVtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC4gR28gdG8gbmV4dCBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgICBjb25zdCBsaW5lVGV4dCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQudGV4dENvbnRlbnQpXG4gICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIGlmIChsaW5lVGV4dCkge1xuICAgICAgICAgICAgY29uc3QgbGluZUh0bWwgPSBsaW5lRWxlbWVudHMhXG4gICAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQub3V0ZXJIVE1MKVxuICAgICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgKGlzTXVsdGlMaW5lc0hlYWRlciAmJiBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0IS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLnB1c2gobGluZVRleHQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25IZWFkZXJzVGV4dCEubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgIGlzTXVsdGlMaW5lc0hlYWRlciA9IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICAgIGxpbmVFbGVtZW50cyA9IG51bGxcbiAgICAgICAgICBzdGF0ZSA9IG5leHRQYXJlbnRTdGF0ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJwYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0U3ViQWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzdWJBbGluZWFFbGVtZW50ID0gc3ViQWxpbmVhRWxlbWVudCEubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgIGlmIChzdWJBbGluZWFFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGFsaW5lYUVsZW1lbnQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLiBHbyB0byBuZXh0IGFsaW5lYUVsZW1lbnQuXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwic3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJwYXJhZ3JhcGhDaGlsZFwiOlxuICAgICAgICBzd2l0Y2ggKHBhcmFncmFwaENoaWxkIS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIkFcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJCUlwiOiB7XG4gICAgICAgICAgICBjb25zdCBsaW5lVGV4dCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgICAgLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC50ZXh0Q29udGVudClcbiAgICAgICAgICAgICAgLmpvaW4oXCJcIilcbiAgICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgaWYgKGxpbmVUZXh0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVIdG1sID0gbGluZUVsZW1lbnRzIVxuICAgICAgICAgICAgICAgIC5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQub3V0ZXJIVE1MKVxuICAgICAgICAgICAgICAgIC5qb2luKFwiXCIpXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgICAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5wdXNoKGxpbmVUZXh0KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwhLnB1c2gobGluZUh0bWwpXG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZUVsZW1lbnRzID0gW11cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJERUxcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJJTUdcIjoge1xuICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJTUEFOXCI6IHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHBhcmFncmFwaENoaWxkIS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKVxuICAgICAgICAgICAgc3dpdGNoIChjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgY2FzZSBcImFFbG9pUGFzdGlsbGVcIjoge1xuICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdGlsbMOpIFNQQU4uXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjYXNlIFwiYUVsb2lQYXN0aWxsZTBcIjoge1xuICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdGlsbMOpIFNQQU4uXG4gICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGxpbmVFbGVtZW50cyEucHVzaChwYXJhZ3JhcGhDaGlsZCEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiAtMyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCB0YWcgbmFtZSBmb3IgcGFyYWdyYXBoIGNoaWxkOiAke1xuICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoQ2hpbGQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdGF0ZSA9IFwibmV4dFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJzdWJBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN3aXRjaCAoc3ViQWxpbmVhRWxlbWVudCEudGFnTmFtZSkge1xuICAgICAgICAgIGNhc2UgXCJQXCI6XG4gICAgICAgICAgICBuZXh0UGFyZW50U3RhdGUgPSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIHBhcmFncmFwaEVsZW1lbnQgPSBzdWJBbGluZWFFbGVtZW50XG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RQYXJhZ3JhcGhDaGlsZFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJUQUJMRVwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTQsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIHN1YiBhbGluZWEgZWxlbWVudDogJHtcbiAgICAgICAgICAgICAgICAgIHN1YkFsaW5lYUVsZW1lbnQhLnRhZ05hbWVcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgICBzdGF0ZSA9IFwibmV4dFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgYFVuZXhwZWN0ZWQgc3RhdGU6ICR7c3RhdGV9YFxuICAgIH1cbiAgfVxuXG4gIHdpbmRvdy5jbG9zZSgpIC8vIEZyZWUgbWVtb3J5LlxuXG4gIHJldHVybiB7XG4gICAgZXJyb3I6IG51bGwsXG4gICAgaHRtbCxcbiAgICBwYWdlLFxuICAgIHN1YmRpdmlzaW9ucyxcbiAgICB1cmw6IGFzc2VtYmxlZVVybCxcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV0cmlldmVUZXh0ZUxvaVBhcnNlZChcbiAgZmV0Y2g6IChcbiAgICB1cmw6IHN0cmluZyB8IFJlcXVlc3QsXG4gICAgaW5pdD86IFJlcXVlc3RJbml0IHwgdW5kZWZpbmVkLFxuICApID0+IFByb21pc2U8UmVzcG9uc2U+LFxuICBhc3NlbWJsZWVVcmw6IHN0cmluZyxcbikge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGFzc2VtYmxlZVVybClcbiAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yOiB7IGNvZGU6IHJlc3BvbnNlLnN0YXR1cywgbWVzc2FnZTogcmVzcG9uc2Uuc3RhdHVzVGV4dCB9LFxuICAgICAgcGFnZSxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnNlVGV4dGVMb2koYXNzZW1ibGVlVXJsLCBwYWdlKVxufVxuIl19
|
|
433
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL2RvY3VtZW50cy50cyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJKU0RPTSIsInBhcnNlVGV4dGVMb2kiLCJhc3NlbWJsZWVVcmwiLCJwYWdlIiwicGFnZVNlZ21lbnRzIiwic3BsaXQiLCJzdHJpY3RFcXVhbCIsImxlbmd0aCIsImh0bWwiLCJ0cmltIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic3Vic3RyaW5nIiwid2luZG93IiwiZG9jdW1lbnQiLCJjaGlsZHJlbiIsImh0bWxFbGVtZW50IiwiYm9keUVsZW1lbnQiLCJkaXZFbGVtZW50IiwidGFnTmFtZSIsIm5ld0RpdkVsZW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVFbGVtZW50IiwiZGl2Q2hpbGQiLCJnZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsImNsb3NlIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsImJvZHlDaGlsZCIsImFsaW5lYUVsZW1lbnQiLCJpc011bHRpTGluZXNIZWFkZXIiLCJsZXZlbCIsImxldmVscyIsImxpbmVFbGVtZW50cyIsIm5leHRQYXJlbnRTdGF0ZSIsInBhcmFncmFwaENoaWxkIiwicGFyYWdyYXBoRWxlbWVudCIsInN0YXRlIiwic3ViQWxpbmVhRWxlbWVudCIsInN1YmRpdmlzaW9ucyIsInN1YmRpdmlzaW9uQWxpbmVhc0h0bWwiLCJzdWJkaXZpc2lvbkFsaW5lYXNUZXh0Iiwic3ViZGl2aXNpb25IZWFkZXJzSHRtbCIsInN1YmRpdmlzaW9uSGVhZGVyc1RleHQiLCJ1bmRlZmluZWQiLCJoZWFkZXJUZXh0IiwidGV4dENvbnRlbnQiLCJuYW1lQ29tcHV0ZWQiLCJub3JtYWxpemUiLCJyZXBsYWNlIiwibmFtZVVwcGVyIiwidG9VcHBlckNhc2UiLCJuZXh0TGV2ZWwiLCJtYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJwb3AiLCJwdXNoIiwiYWxpbmVhcyIsImhlYWRlcnMiLCJpZCIsInJlbGF0aXZlTGV2ZWwiLCJ0ZXh0IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaW5jbHVkZXMiLCJsaW5lVGV4dCIsIm1hcCIsImVsZW1lbnQiLCJqb2luIiwibGluZUh0bWwiLCJvdXRlckhUTUwiLCJjbGFzc05hbWUiLCJ1cmwiLCJyZXRyaWV2ZVRleHRlTG9pUGFyc2VkIiwiZmV0Y2giLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBUCxNQUFtQixRQUFuQjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsT0FBdEI7QUFFQSxPQUFPLFNBQVNDLGFBQVQsQ0FBdUJDLFlBQXZCLEVBQTZDQyxJQUE3QyxFQUEyRDtBQUNoRTtBQUNBLFFBQU1DLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxLQUFMLENBQVcsVUFBWCxDQUFyQjtBQUNBTixFQUFBQSxNQUFNLENBQUNPLFdBQVAsQ0FBbUJGLFlBQVksQ0FBQ0csTUFBaEMsRUFBd0MsQ0FBeEMsRUFBMkNKLElBQTNDO0FBQ0EsTUFBSUssSUFBSSxHQUFHSixZQUFZLENBQUMsQ0FBRCxDQUFaLENBQWdCSyxJQUFoQixFQUFYO0FBQ0FWLEVBQUFBLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDRSxVQUFMLENBQWdCLE1BQWhCLENBQUQsQ0FBTjtBQUNBWCxFQUFBQSxNQUFNLENBQUNTLElBQUksQ0FBQ0csUUFBTCxDQUFjLFFBQWQsQ0FBRCxDQUFOO0FBQ0FILEVBQUFBLElBQUksR0FBSSxRQUFPQSxJQUFJLENBQUNJLFNBQUwsQ0FBZSxDQUFmLEVBQWtCSixJQUFJLENBQUNELE1BQUwsR0FBYyxDQUFoQyxDQUFtQyxTQUFsRCxDQVBnRSxDQVNoRTs7QUFDQSxRQUFNO0FBQUVNLElBQUFBO0FBQUYsTUFBYSxJQUFJYixLQUFKLENBQVVRLElBQVYsQ0FBbkI7QUFDQSxRQUFNO0FBQUVNLElBQUFBO0FBQUYsTUFBZUQsTUFBckI7QUFDQWQsRUFBQUEsTUFBTSxDQUFDTyxXQUFQLENBQW1CUSxRQUFRLENBQUNDLFFBQVQsQ0FBa0JSLE1BQXJDLEVBQTZDLENBQTdD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b0MsUUFBQUEsS0FBSyxHQUFHLHNCQUFSO0FBQ0E7O0FBQ0Y7QUFDRSxjQUFPLHFCQUFvQkEsS0FBTSxFQUFqQztBQTVVSjtBQThVRDs7QUFFRDFCLEVBQUFBLE1BQU0sQ0FBQ2EsS0FBUCxHQTlZZ0UsQ0E4WWpEOztBQUVmLFNBQU87QUFDTEMsSUFBQUEsS0FBSyxFQUFFLElBREY7QUFFTG5CLElBQUFBLElBRks7QUFHTEwsSUFBQUEsSUFISztBQUlMc0MsSUFBQUEsWUFKSztBQUtMaUMsSUFBQUEsR0FBRyxFQUFFeEU7QUFMQSxHQUFQO0FBT0Q7QUFFRCxPQUFPLGVBQWV5RSxzQkFBZixDQUNMQyxLQURLLEVBS0wxRSxZQUxLLEVBTUw7QUFDQSxRQUFNMkUsUUFBUSxHQUFHLE1BQU1ELEtBQUssQ0FBQzFFLFlBQUQsQ0FBNUI7QUFDQSxRQUFNQyxJQUFJLEdBQUcsTUFBTTBFLFFBQVEsQ0FBQ2IsSUFBVCxFQUFuQjs7QUFDQSxNQUFJLENBQUNhLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtBQUNoQixXQUFPO0FBQ0xuRCxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFaUQsUUFBUSxDQUFDRSxNQUFqQjtBQUF5QmxELFFBQUFBLE9BQU8sRUFBRWdELFFBQVEsQ0FBQ0c7QUFBM0MsT0FERjtBQUVMN0UsTUFBQUE7QUFGSyxLQUFQO0FBSUQ7O0FBQ0QsU0FBT0YsYUFBYSxDQUFDQyxZQUFELEVBQWVDLElBQWYsQ0FBcEI7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgeyBKU0RPTSB9IGZyb20gXCJqc2RvbVwiXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRleHRlTG9pKGFzc2VtYmxlZVVybDogc3RyaW5nLCBwYWdlOiBzdHJpbmcpIHtcbiAgLy8gUmVwYWlyIEhUTUwuXG4gIGNvbnN0IHBhZ2VTZWdtZW50cyA9IHBhZ2Uuc3BsaXQoXCI8L3N0eWxlPlwiKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwocGFnZVNlZ21lbnRzLmxlbmd0aCwgMiwgcGFnZSlcbiAgbGV0IGh0bWwgPSBwYWdlU2VnbWVudHNbMV0udHJpbSgpXG4gIGFzc2VydChodG1sLnN0YXJ0c1dpdGgoXCI8ZGl2XCIpKVxuICBhc3NlcnQoaHRtbC5lbmRzV2l0aChcIjwvZGl2PlwiKSlcbiAgaHRtbCA9IGA8aHRtbCR7aHRtbC5zdWJzdHJpbmcoNCwgaHRtbC5sZW5ndGggLSA2KX08L2h0bWw+YFxuXG4gIC8vIEV4dHJhY3Qgc3ViZGl2aXNpb25zIGZyb20gSFRNTC5cbiAgY29uc3QgeyB3aW5kb3cgfSA9IG5ldyBKU0RPTShodG1sKVxuICBjb25zdCB7IGRvY3VtZW50IH0gPSB3aW5kb3dcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGRvY3VtZW50LmNoaWxkcmVuLmxlbmd0aCwgMSlcbiAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5jaGlsZHJlblswXVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoaHRtbEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoLCAyKVxuICBjb25zdCBib2R5RWxlbWVudCA9IGh0bWxFbGVtZW50LmNoaWxkcmVuWzFdXG4gIGlmIChhc3NlbWJsZWVVcmwgPT09IFwiaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc1LmFzcFwiKSB7XG4gICAgLy8gUmVwYWlyIGRvY3VtZW50LlxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChib2R5RWxlbWVudC5jaGlsZHJlbi5sZW5ndGgsIDEpXG4gICAgY29uc3QgZGl2RWxlbWVudCA9IGJvZHlFbGVtZW50LmNoaWxkcmVuWzBdXG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRpdkVsZW1lbnQudGFnTmFtZSwgXCJESVZcIilcbiAgICBjb25zdCBuZXdEaXZFbGVtZW50ID0gYm9keUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxuICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxcbiAgICAgIGRpdkVsZW1lbnQsXG4gICAgKVxuICAgIGJvZHlFbGVtZW50Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYnJcIiksIGRpdkVsZW1lbnQpXG4gICAgZm9yIChjb25zdCBkaXZDaGlsZCBvZiBbLi4uZGl2RWxlbWVudC5jaGlsZHJlbl0pIHtcbiAgICAgIGlmIChkaXZDaGlsZC5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKSA9PT0gXCJhOUFydGljbGVOdW1cIikge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgbmV3RGl2RWxlbWVudC5hcHBlbmRDaGlsZChkaXZDaGlsZClcbiAgICB9XG4gIH1cbiAgaWYgKGJvZHlFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA8IDMpIHtcbiAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wMzI2LmFzcC5cbiAgICB3aW5kb3cuY2xvc2UoKSAvLyBGcmVlIG1lbW9yeS5cbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IHsgY29kZTogLTEsIG1lc3NhZ2U6IFwiVGV4dGUgZGUgbG9pIHNhbnMgY29udGVudVwiIH0sXG4gICAgICBodG1sLFxuICAgICAgcGFnZSxcbiAgICB9XG4gIH1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGJvZHlFbGVtZW50LmNoaWxkcmVuWzBdLnRhZ05hbWUsIFwiRElWXCIpXG4gIC8vIEZpcnN0IGNoaWxkIGlzIGEgRElWIGRlc2NyaWJpbmcgdGhlIGRvY3VtZW50IChBc3NlbWJsw6llJ3MgaGVhZGVyKS4gU2tpcCBpdCBmb3Igbm93LlxuICBsZXQgYm9keUNoaWxkID0gYm9keUVsZW1lbnQuY2hpbGRyZW5bMV1cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGJvZHlDaGlsZC50YWdOYW1lLCBcIkJSXCIpXG4gIGxldCBhbGluZWFFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgbGV0IGlzTXVsdGlMaW5lc0hlYWRlcjogYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBsZXZlbDogbnVtYmVyIHwgbnVsbCA9IG51bGxcbiAgbGV0IGxldmVsczogbnVtYmVyW10gPSBbXVxuICBsZXQgbGluZUVsZW1lbnRzOiBFbGVtZW50W10gfCBudWxsID0gbnVsbFxuICBsZXQgbmV4dFBhcmVudFN0YXRlID0gbnVsbFxuICBsZXQgcGFyYWdyYXBoQ2hpbGQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbFxuICBsZXQgcGFyYWdyYXBoRWxlbWVudDogRWxlbWVudCB8IG51bGwgPSBudWxsXG4gIGxldCBzdGF0ZTogc3RyaW5nIHwgbnVsbCA9IFwibmV4dEJvZHlDaGlsZFwiXG4gIGxldCBzdWJBbGluZWFFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGxcbiAgY29uc3Qgc3ViZGl2aXNpb25zID0gW11cbiAgbGV0IHN1YmRpdmlzaW9uQWxpbmVhc0h0bWw6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uQWxpbmVhc1RleHQ6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uSGVhZGVyc0h0bWw6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgbGV0IHN1YmRpdmlzaW9uSGVhZGVyc1RleHQ6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGxcbiAgd2hpbGUgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgc3dpdGNoIChzdGF0ZSkge1xuICAgICAgY2FzZSBcImFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3dpdGNoIChhbGluZWFFbGVtZW50IS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIkRJVlwiOlxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0U3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJINFwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBwYXJhZ3JhcGhFbGVtZW50ID0gYWxpbmVhRWxlbWVudFxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiUFwiOlxuICAgICAgICAgICAgbmV4dFBhcmVudFN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBwYXJhZ3JhcGhFbGVtZW50ID0gYWxpbmVhRWxlbWVudFxuICAgICAgICAgICAgc3RhdGUgPSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlIFwiT0xcIjpcbiAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgXCJUQUJMRVwiOlxuICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgc3RhdGUgPSBcIm5leHRBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgICAgICAgY29kZTogLTIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgdGFnIG5hbWUgZm9yIGFsaW5lYSBlbGVtZW50OiAke1xuICAgICAgICAgICAgICAgICAgYWxpbmVhRWxlbWVudCEudGFnTmFtZVxuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiZmlyc3RBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIGFsaW5lYUVsZW1lbnQgPSBib2R5Q2hpbGQuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKGFsaW5lYUVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIGFsaW5lYSBpbiBjdXJyZW50IGJvZHlDaGlsZDogZ28gdG8gbmV4dCBib2R5Q2hpbGQuXG4gICAgICAgICAgc3RhdGUgPSBcIm5leHRCb2R5Q2hpbGRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJhbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0UGFyYWdyYXBoQ2hpbGRcIjpcbiAgICAgICAgcGFyYWdyYXBoQ2hpbGQgPSBwYXJhZ3JhcGhFbGVtZW50IS5jaGlsZHJlblswXVxuICAgICAgICBpZiAocGFyYWdyYXBoQ2hpbGQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIGNoaWxkIGluIGN1cnJlbnQgcGFyYWdyYXBoOiBnbyB0byBuZXh0IHBhcmVudCBlbGVtZW50LlxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaGVhZGVyVGV4dCA9IHBhcmFncmFwaEVsZW1lbnQhLnRleHRDb250ZW50XG4gICAgICAgICAgY29uc3QgbmFtZUNvbXB1dGVkID0gKGhlYWRlclRleHQgfHwgXCJcIilcbiAgICAgICAgICAgIC5ub3JtYWxpemUoXCJORkRcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKG5vdXZlYXVcXCkvLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKFBvdXIgY29vcmRpbmF0aW9uXFwpLywgXCJcIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXChTdXBwcmltw6lzP1xcKS8sIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvwqAvZywgXCIgXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcLSwu4oCmXS9nLCBcIlwiKVxuICAgICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyB7MSx9L2csIFwiX1wiKVxuICAgICAgICAgIGNvbnN0IG5hbWVVcHBlciA9IG5hbWVDb21wdXRlZC50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgaWYgKG5hbWVVcHBlciA9PT0gXCJcIikge1xuICAgICAgICAgICAgLy8gT2NjdXJzIGluOlxuICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzA0NDUuYXNwXG4gICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDYyNi5hc3BcbiAgICAgICAgICAgIC8vIFNraXAgcGFyYWdyYXBoLlxuICAgICAgICAgICAgc3RhdGUgPSBuZXh0UGFyZW50U3RhdGVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG5leHRMZXZlbCA9XG4gICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goL14oUkFQUE9SVF8pP0FOTkVYRShffCQpLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVUQVRfLykgIT09IG51bGxcbiAgICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICAgIDogbmFtZVVwcGVyLm1hdGNoKC9eVE9NRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15QQVJUSUVfLykgIT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICBuYW1lVXBwZXIubWF0Y2goXG4gICAgICAgICAgICAgICAgICAvXihQUkVNSUVSRXxTRUNPTkRFfERFVVhJRU1FfFRST0lTSUVNRXxRVUFUUklFTUUpX1BBUlRJRShffCQpLyxcbiAgICAgICAgICAgICAgICApICE9PSBudWxsXG4gICAgICAgICAgICAgID8gMlxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXkxJVlJFXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gM1xuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlRJVFJFXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gNFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlNPVVNUSVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDVcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15DSEFQSVRSRV8vKSAhPT0gbnVsbFxuICAgICAgICAgICAgICA/IDZcbiAgICAgICAgICAgICAgOiBuYW1lVXBwZXIubWF0Y2goL15TRUNUSU9OXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gN1xuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXlNPVVNTRUNUSU9OXy8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICA6IG5hbWVVcHBlci5tYXRjaCgvXkFSVElDTEVTP18vKSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgbXVzdCBiZSBhdCB0aGUgc2FtZSBsZXZlbCBhcyBhcnRpY2xlLlxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgd2l0aG91dCBjb250ZW50OlxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNzAyLmFzcFxuICAgICAgICAgICAgICAgIC8vIFwiRXhwb3PDqSBkZXMgbW90aWZzXCIgd2l0aCBjb250ZW50OlxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xMzI2LmFzcFxuICAgICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xNjEwLmFzcFxuICAgICAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVYUE9TRV9ERVNfTU9USUZTJC8pICE9PSBudWxsXG4gICAgICAgICAgICAgID8gOVxuICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICBpZiAobmV4dExldmVsID09PSBudWxsICYmIHN1YmRpdmlzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGlmIChuYW1lVXBwZXIubWF0Y2goL14oUFJPSkVUfFBST1BPU0lUSU9OKV9ERV9MT0koX3wkKS8pICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIE9jY3VycyBpbjpcbiAgICAgICAgICAgICAgLy8gKiBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvMTUvdGV4dGVzLzAyMzIuYXNwXG4gICAgICAgICAgICAgIC8vICogaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjI2LmFzcFxuICAgICAgICAgICAgICAvLyAqIGh0dHA6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci8xNS90ZXh0ZXMvMDY3Ni5hc3BcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgIG5hbWVVcHBlciA9PT0gXCJKRVVYX09MWU1QSVFVRVNfRVRfUEFSQUxZTVBJUVVFU19ERV8yMDI0XCJcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8wNjc2LmFzcFxuICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lVXBwZXIgPT09IFwiVEVYVEVfREVfTEFfQ09NTUlTU0lPTl9NSVhURV9QQVJJVEFJUkVcIikge1xuICAgICAgICAgICAgICAvLyBPY2N1cnMgaW4gaHR0cDovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyLzE1L3RleHRlcy8xMjk0LmFzcFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgYFVuZXhwZWN0ZWQgbmFtZVVwcGVyID0gXCIke25hbWVVcHBlcn1cIiBhdCBiZWdpbm5pbmcgb2YgXCJ0ZXh0ZSBkZSBsb2lcIiBhdCAke2Fzc2VtYmxlZVVybH1gLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTa2lwIHBhcmFncmFwaC5cbiAgICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobmV4dExldmVsICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsZXZlbCA9IG5leHRMZXZlbFxuICAgICAgICAgICAgd2hpbGUgKGxldmVscy5sZW5ndGggPiAwICYmIGxldmVsIDwgbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgICBsZXZlbHMucG9wKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZXZlbHMubGVuZ3RoID09PSAwIHx8IGxldmVsID4gbGV2ZWxzW2xldmVscy5sZW5ndGggLSAxXSkge1xuICAgICAgICAgICAgICBsZXZlbHMucHVzaChsZXZlbClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFydGljbGVzICYgXCJFeHBvc8OpIGRlcyBtb3RpZnNcIiBhcmUgdGhlIG9ubHkgZGl2aXNpb25zIHdpdGhvdXQgc2Vjb25kIHRpdGxlLlxuICAgICAgICAgICAgaXNNdWx0aUxpbmVzSGVhZGVyID1cbiAgICAgICAgICAgICAgbmFtZVVwcGVyLm1hdGNoKC9eQVJUSUNMRVM/Xy8pID09PSBudWxsICYmXG4gICAgICAgICAgICAgIG5hbWVVcHBlci5tYXRjaCgvXkVYUE9TRV9ERVNfTU9USUZTJC8pID09PSBudWxsXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNIdG1sID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQgPSBbXVxuICAgICAgICAgICAgc3ViZGl2aXNpb25IZWFkZXJzSHRtbCA9IFtdXG4gICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0ID0gW11cbiAgICAgICAgICAgIHN1YmRpdmlzaW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgaHRtbDoge1xuICAgICAgICAgICAgICAgIGFsaW5lYXM6IHN1YmRpdmlzaW9uQWxpbmVhc0h0bWwsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogc3ViZGl2aXNpb25IZWFkZXJzSHRtbCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaWQ6IFwiRF9cIiArIG5hbWVDb21wdXRlZCxcbiAgICAgICAgICAgICAgbGV2ZWw6IGxldmVsICsgMSxcbiAgICAgICAgICAgICAgcmVsYXRpdmVMZXZlbDogbGV2ZWxzLmxlbmd0aCxcbiAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgIGFsaW5lYXM6IHN1YmRpdmlzaW9uQWxpbmVhc1RleHQsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogc3ViZGl2aXNpb25IZWFkZXJzVGV4dCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAgIGxpbmVFbGVtZW50cyA9IFtdXG4gICAgICAgICAgc3RhdGUgPSBcInBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcImZpcnN0U3ViQWxpbmVhRWxlbWVudFwiOlxuICAgICAgICBzdWJBbGluZWFFbGVtZW50ID0gYWxpbmVhRWxlbWVudCEuY2hpbGRyZW5bMF1cbiAgICAgICAgaWYgKHN1YkFsaW5lYUVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE5vIHN1Yi1hbGluZWEgaW4gY3VycmVudCBhbGluZWE6IGdvIHRvIG5leHQgYWxpbmVhLlxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0QWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcInN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwibmV4dEFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgYWxpbmVhRWxlbWVudCA9IGFsaW5lYUVsZW1lbnQhLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICBpZiAoYWxpbmVhRWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoZSBib2R5Q2hpbGQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLiBHbyB0byBuZXh0IGJvZHlDaGlsZFxuICAgICAgICAgIHN0YXRlID0gXCJuZXh0Qm9keUNoaWxkXCJcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZSA9IFwiYWxpbmVhRWxlbWVudFwiXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJuZXh0Qm9keUNoaWxkXCI6XG4gICAgICAgIGlmIChib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVGhlIGRvY3VtZW50IGhhcyBiZWVuIGZ1bGx5IHBhcnNlZC5cbiAgICAgICAgICBzdGF0ZSA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBib2R5Q2hpbGQgPSBib2R5Q2hpbGQubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgICAgICAgaWYgKGJvZHlDaGlsZC50YWdOYW1lID09PSBcIkRJVlwiKSB7XG4gICAgICAgICAgICBzdGF0ZSA9IFwiZmlyc3RBbGluZWFFbGVtZW50XCJcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gPFAvPiBpcyBmb3IgZm9vdG5vdGVzXG4gICAgICAgICAgICBhc3NlcnQoXG4gICAgICAgICAgICAgIFtcIkJSXCIsIFwiSFJcIiwgXCJQXCJdLmluY2x1ZGVzKGJvZHlDaGlsZC50YWdOYW1lKSxcbiAgICAgICAgICAgICAgYFVuZXhwZWN0ZWQgdGFnIG5hbWUgXCIke2JvZHlDaGlsZC50YWdOYW1lfVwiIGZvciBib2R5IGNoaWxkYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC8vIFN0YXkgaW4gdGhlIHNhbWUgc3RhdGUgdG8gZ28gdG8gbmV4dCBib2R5Q2hpbGQuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwibmV4dFBhcmFncmFwaENoaWxkXCI6XG4gICAgICAgIHBhcmFncmFwaENoaWxkID0gcGFyYWdyYXBoQ2hpbGQhLm5leHRFbGVtZW50U2libGluZ1xuICAgICAgICBpZiAocGFyYWdyYXBoQ2hpbGQgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgcGFyYWdyYXBoIGVsZW1lbnQgaGFzIGJlZW4gZnVsbHkgcGFyc2VkLiBHbyB0byBuZXh0IHBhcmVudCBlbGVtZW50LlxuICAgICAgICAgIGNvbnN0IGxpbmVUZXh0ID0gbGluZUVsZW1lbnRzIVxuICAgICAgICAgICAgLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC50ZXh0Q29udGVudClcbiAgICAgICAgICAgIC5qb2luKFwiXCIpXG4gICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgaWYgKGxpbmVUZXh0KSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lSHRtbCA9IGxpbmVFbGVtZW50cyFcbiAgICAgICAgICAgICAgLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC5vdXRlckhUTUwpXG4gICAgICAgICAgICAgIC5qb2luKFwiXCIpXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQhLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgICAgICAoaXNNdWx0aUxpbmVzSGVhZGVyICYmIHN1YmRpdmlzaW9uQWxpbmVhc1RleHQhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sIS5wdXNoKGxpbmVIdG1sKVxuICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5wdXNoKGxpbmVUZXh0KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzVGV4dCEucHVzaChsaW5lVGV4dClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzTXVsdGlMaW5lc0hlYWRlciAmJiBzdWJkaXZpc2lvbkhlYWRlcnNUZXh0IS5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgaXNNdWx0aUxpbmVzSGVhZGVyID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgICAgbGluZUVsZW1lbnRzID0gbnVsbFxuICAgICAgICAgIHN0YXRlID0gbmV4dFBhcmVudFN0YXRlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBcInBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcIm5leHRTdWJBbGluZWFFbGVtZW50XCI6XG4gICAgICAgIHN1YkFsaW5lYUVsZW1lbnQgPSBzdWJBbGluZWFFbGVtZW50IS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgICAgaWYgKHN1YkFsaW5lYUVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgYWxpbmVhRWxlbWVudCBoYXMgYmVlbiBmdWxseSBwYXJzZWQuIEdvIHRvIG5leHQgYWxpbmVhRWxlbWVudC5cbiAgICAgICAgICBzdGF0ZSA9IFwibmV4dEFsaW5lYUVsZW1lbnRcIlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlID0gXCJzdWJBbGluZWFFbGVtZW50XCJcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcInBhcmFncmFwaENoaWxkXCI6XG4gICAgICAgIHN3aXRjaCAocGFyYWdyYXBoQ2hpbGQhLnRhZ05hbWUpIHtcbiAgICAgICAgICBjYXNlIFwiQVwiOiB7XG4gICAgICAgICAgICBsaW5lRWxlbWVudHMhLnB1c2gocGFyYWdyYXBoQ2hpbGQhKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcIkJSXCI6IHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVUZXh0ID0gbGluZUVsZW1lbnRzIVxuICAgICAgICAgICAgICAubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LnRleHRDb250ZW50KVxuICAgICAgICAgICAgICAuam9pbihcIlwiKVxuICAgICAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgICBpZiAobGluZVRleHQpIHtcbiAgICAgICAgICAgICAgY29uc3QgbGluZUh0bWwgPSBsaW5lRWxlbWVudHMhXG4gICAgICAgICAgICAgICAgLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC5vdXRlckhUTUwpXG4gICAgICAgICAgICAgICAgLmpvaW4oXCJcIilcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQhLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgICAgICAgICAgIChpc011bHRpTGluZXNIZWFkZXIgJiYgc3ViZGl2aXNpb25BbGluZWFzVGV4dCEubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkhlYWRlcnNIdG1sIS5wdXNoKGxpbmVIdG1sKVxuICAgICAgICAgICAgICAgIHN1YmRpdmlzaW9uSGVhZGVyc1RleHQhLnB1c2gobGluZVRleHQpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3ViZGl2aXNpb25BbGluZWFzSHRtbCEucHVzaChsaW5lSHRtbClcbiAgICAgICAgICAgICAgICBzdWJkaXZpc2lvbkFsaW5lYXNUZXh0IS5wdXNoKGxpbmVUZXh0KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5lRWxlbWVudHMgPSBbXVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcIkRFTFwiOiB7XG4gICAgICAgICAgICBsaW5lRWxlbWVudHMhLnB1c2gocGFyYWdyYXBoQ2hpbGQhKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcIklNR1wiOiB7XG4gICAgICAgICAgICBsaW5lRWxlbWVudHMhLnB1c2gocGFyYWdyYXBoQ2hpbGQhKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcIlNQQU5cIjoge1xuICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gcGFyYWdyYXBoQ2hpbGQhLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpXG4gICAgICAgICAgICBzd2l0Y2ggKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgICBjYXNlIFwiYUVsb2lQYXN0aWxsZVwiOiB7XG4gICAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0aWxsw6kgU1BBTi5cbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNhc2UgXCJhRWxvaVBhc3RpbGxlMFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gU2tpcCBwYXN0aWxsw6kgU1BBTi5cbiAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgbGluZUVsZW1lbnRzIS5wdXNoKHBhcmFncmFwaENoaWxkISlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICAgIGNvZGU6IC0zLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkIHRhZyBuYW1lIGZvciBwYXJhZ3JhcGggY2hpbGQ6ICR7XG4gICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhDaGlsZCEudGFnTmFtZVxuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN0YXRlID0gXCJuZXh0UGFyYWdyYXBoQ2hpbGRcIlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBcInN1YkFsaW5lYUVsZW1lbnRcIjpcbiAgICAgICAgc3dpdGNoIChzdWJBbGluZWFFbGVtZW50IS50YWdOYW1lKSB7XG4gICAgICAgICAgY2FzZSBcIlBcIjpcbiAgICAgICAgICAgIG5leHRQYXJlbnRTdGF0ZSA9IFwibmV4dFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgcGFyYWdyYXBoRWxlbWVudCA9IHN1YkFsaW5lYUVsZW1lbnRcbiAgICAgICAgICAgIHN0YXRlID0gXCJmaXJzdFBhcmFncmFwaENoaWxkXCJcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSBcIlRBQkxFXCI6XG4gICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICBzdGF0ZSA9IFwibmV4dFN1YkFsaW5lYUVsZW1lbnRcIlxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICAgICAgICBjb2RlOiAtNCxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgVW5leHBlY3RlZCB0YWcgbmFtZSBmb3Igc3ViIGFsaW5lYSBlbGVtZW50OiAke1xuICAgICAgICAgICAgICAgICAgc3ViQWxpbmVhRWxlbWVudCEudGFnTmFtZVxuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICAgIHN0YXRlID0gXCJuZXh0U3ViQWxpbmVhRWxlbWVudFwiXG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBgVW5leHBlY3RlZCBzdGF0ZTogJHtzdGF0ZX1gXG4gICAgfVxuICB9XG5cbiAgd2luZG93LmNsb3NlKCkgLy8gRnJlZSBtZW1vcnkuXG5cbiAgcmV0dXJuIHtcbiAgICBlcnJvcjogbnVsbCxcbiAgICBodG1sLFxuICAgIHBhZ2UsXG4gICAgc3ViZGl2aXNpb25zLFxuICAgIHVybDogYXNzZW1ibGVlVXJsLFxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXRyaWV2ZVRleHRlTG9pUGFyc2VkKFxuICBmZXRjaDogKFxuICAgIHVybDogc3RyaW5nIHwgUmVxdWVzdCxcbiAgICBpbml0PzogUmVxdWVzdEluaXQgfCB1bmRlZmluZWQsXG4gICkgPT4gUHJvbWlzZTxSZXNwb25zZT4sXG4gIGFzc2VtYmxlZVVybDogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYXNzZW1ibGVlVXJsKVxuICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IHsgY29kZTogcmVzcG9uc2Uuc3RhdHVzLCBtZXNzYWdlOiByZXNwb25zZS5zdGF0dXNUZXh0IH0sXG4gICAgICBwYWdlLFxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyc2VUZXh0ZUxvaShhc3NlbWJsZWVVcmwsIHBhZ2UpXG59XG4iXX0=
|
|
@@ -130,7 +130,9 @@ _AsyncGenerator.prototype["return"] = function (arg) { return this._invoke("retu
|
|
|
130
130
|
|
|
131
131
|
function _AwaitValue(value) { this.wrapped = value; }
|
|
132
132
|
|
|
133
|
-
function _asyncIterator(iterable) { var method
|
|
133
|
+
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
134
|
+
|
|
135
|
+
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(value) { var ret = this.s["return"]; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, "throw": function _throw(value) { var thr = this.s["return"]; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
134
136
|
|
|
135
137
|
function iterRechercheAmendements(_x, _x2, _x3, _x4, _x5) {
|
|
136
138
|
return _iterRechercheAmendements.apply(this, arguments);
|
|
@@ -607,4 +609,4 @@ function _iterRechercheRawAmendements() {
|
|
|
607
609
|
}));
|
|
608
610
|
return _iterRechercheRawAmendements.apply(this, arguments);
|
|
609
611
|
}
|
|
610
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL3JlY2hlcmNoZV9hbWVuZGVtZW50cy50cyJdLCJuYW1lcyI6WyJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsIkFtZW5kZW1lbnRzQ29udmVydCIsInRvQW1lbmRlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJmcyIsImVuc3VyZURpciIsImFzc2VydCIsInN0cmljdEVxdWFsIiwiZXhlYyIsIm5vdFN0cmljdEVxdWFsIiwiaW5jbHVkZXMiLCJhbWVuZGVtZW50TnVtYmVyIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInRleHQiLCJwYWdlIiwiaHRtbCIsInF1ZXJ5U2VsZWN0b3IiLCJhbWVuZGVtZW50c0NvdW50RGl2IiwiYW1lbmRlbWVudHNDb3VudCIsInBhcnNlSW50IiwiYW1lbmRlbWVudHNEaXYiLCJhbWVuZGVtZW50c1RhYmxlIiwidGZvb3RUciIsInRmb290VHJDZWxscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJtYXAiLCJjZWxsIiwiYW1lbmRlbWVudHNUciIsImxlbmd0aCIsImFtZW5kZW1lbnRUciIsImFtZW5kZW1lbnRUZExpc3QiLCJvdXRlckhUTUwiLCJkYXRlRGVwb3RUZCIsImRhdGVEZXBvdCIsIkRhdGUiLCJsb2NhbGUiLCJmciIsInJlcHJlc2VudGF0aW9uIiwiZGF0ZUV4YW1lblRkIiwiZGF0ZUV4YW1lbiIsImdldEF0dHJpYnV0ZSIsInVuZGVmaW5lZCIsImFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQiLCJzcGxpdCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoIiwicGF0aCIsImpvaW4iLCJzbGljZSIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEZpbGUiLCJleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImFtZW5kZW1lbnRUck91dGVySHRtbCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImpzWWFtbCIsImR1bXAiLCJwb3NpdGlvbiIsInNlYXJjaCIsInJlcGxhY2UiLCJzb3J0S2V5cyIsImJvZHkiLCJhbWVuZGVtZW50SHRtbFVybCIsIlVSTCIsInRvU3RyaW5nIiwiYW1lbmRlbWVudEh0bWxSZXNwb25zZSIsImFtZW5kZW1lbnRIdG1sUGFnZSIsImFtZW5kZW1lbnRIdG1sIiwiZm9ybWF0c0xpIiwianNvbkxpIiwiZmluZCIsImZvcm1hdExpIiwiZm9ybWF0U3BhbiIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwianNvbiIsIndyaXRlRmlsZSIsInBhZ2luYXRpb25BIiwidXJsUGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBRXVCQSx3Qjs7Ozs7d0ZBQWhCLGlCQUNMQyx5QkFESyxFQUVMQyxHQUZLLEVBR0xDLFdBSEssRUFJTEMsWUFKSyxFQUtMQyxhQUxLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNTEMsWUFBQUEsT0FOSywyREFNOEMsRUFOOUM7QUFBQTtBQUFBO0FBQUE7QUFBQSx1Q0FXQUMsMkJBQTJCLENBQzlC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O0FBQUE7O0FBQUE7QUFvUUdDLFlBQUFBLE9BcFFILEdBb1FhRCxXQUFXLENBQUN0QyxZQUFaLENBQXlCLE1BQXpCLENBcFFiOztBQXFRSHhDLCtCQUFPRyxjQUFQLENBQXNCNEUsT0FBdEIsRUFBK0J0QyxTQUEvQjs7QUFDQXZELFlBQUFBLEdBQUcsR0FBRyxJQUFJNEUsR0FBSixDQUFRaUIsT0FBUixFQUFrQixxQ0FBbEIsRUFBeURoQixRQUF6RCxFQUFOO0FBdFFHO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgZm9ybWF0SVNPIGZyb20gXCJkYXRlLWZucy9mb3JtYXRJU09cIlxuaW1wb3J0IHsgZnIgfSBmcm9tIFwiZGF0ZS1mbnMvbG9jYWxlXCJcbmltcG9ydCBwYXJzZURhdGUgZnJvbSBcImRhdGUtZm5zL3BhcnNlXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgZnJvbnRNYXR0ZXIgZnJvbSBcImZyb250LW1hdHRlclwiXG5pbXBvcnQganNZYW1sIGZyb20gXCJqcy15YW1sXCJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZUh0bWwgfSBmcm9tIFwibm9kZS1odG1sLXBhcnNlclwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IGNsZWFuQW1lbmRlbWVudCB9IGZyb20gXCIuLi9jbGVhbmVyc1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50IGFzIFJhd0FtZW5kZW1lbnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL2FtZW5kZW1lbnRzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQsIENvbnZlcnQgYXMgQW1lbmRlbWVudHNDb252ZXJ0IH0gZnJvbSBcIi4uL3R5cGVzL2FtZW5kZW1lbnRzXCJcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMoXG4gIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXI6IHN0cmluZyxcbiAgdXJsOiBzdHJpbmcsXG4gIGluY3JlbWVudGFsOiBib29sZWFuLFxuICBtaW5EYXRlRGVwb3Q/OiBzdHJpbmcgfCBudWxsLFxuICBtaW5EYXRlRXhhbWVuPzogc3RyaW5nIHwgbnVsbCxcbiAgb3B0aW9uczogeyBzaWxlbnQ/OiBib29sZWFuOyB2ZXJib3NlPzogYm9vbGVhbiB9ID0ge30sXG4pOiBBc3luY0dlbmVyYXRvcjxbc3RyaW5nLCBBbWVuZGVtZW50XSwgdm9pZCwgdW5rbm93bj4ge1xuICBmb3IgYXdhaXQgKGNvbnN0IFtcbiAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICBhbWVuZGVtZW50LFxuICBdIG9mIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgIHVybCxcbiAgICBpbmNyZW1lbnRhbCxcbiAgICBtaW5EYXRlRGVwb3QsXG4gICAgbWluRGF0ZUV4YW1lbixcbiAgICBvcHRpb25zLFxuICApKSB7XG4gICAgY2xlYW5BbWVuZGVtZW50KGFtZW5kZW1lbnQpXG4gICAgLy8gRG91YmxlIGNvbnZlcnNpb24sIHRvIGNvbnZlcnQgc3RyaW5ncyB0byBkYXRlcy5cbiAgICB5aWVsZCBbXG4gICAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICAgIEFtZW5kZW1lbnRzQ29udmVydC50b0FtZW5kZW1lbnQoSlNPTi5zdHJpbmdpZnkoYW1lbmRlbWVudCkpLFxuICAgIF1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcjogc3RyaW5nLFxuICB1cmw6IHN0cmluZyxcbiAgaW5jcmVtZW50YWw6IGJvb2xlYW4sXG4gIG1pbkRhdGVEZXBvdD86IHN0cmluZyB8IG51bGwsXG4gIG1pbkRhdGVFeGFtZW4/OiBzdHJpbmcgfCBudWxsLFxuICBvcHRpb25zOiB7IHNpbGVudD86IGJvb2xlYW47IHZlcmJvc2U/OiBib29sZWFuIH0gPSB7fSxcbik6IEFzeW5jR2VuZXJhdG9yPFtzdHJpbmcsIFJhd0FtZW5kZW1lbnRdLCB2b2lkLCB1bmtub3duPiB7XG4gIGF3YWl0IGZzLmVuc3VyZURpcihhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyKVxuXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXWRhdGVfZGVwb3Q9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgZGVwb3NpdCBkYXRlYCxcbiAgKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1vcmRlcj0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBzb3J0IG9yZGVyYCxcbiAgKVxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1wYWdlPS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIHBhZ2UgbnVtYmVyYCxcbiAgKVxuICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAvWz8mXWV0YXQ9Ly5leGVjKHVybCksXG4gICAgICBudWxsLFxuICAgICAgYEluIGluY3JlbWVudGFsIG1vZGUsIFVSTCAke3VybH0gbXVzdCBjb250YWluIGFuIFwiZXRhdFwiIHF1ZXJ5IHBhcmFtZXRlcmAsXG4gICAgKVxuICB9XG4gIHVybCArPSAodXJsLmluY2x1ZGVzKFwiP1wiKSA/IFwiJlwiIDogXCI/XCIpICsgXCJvcmRlcj1kYXRlX2RlcG90LGRlc2MmcGFnZT0xXCJcblxuICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwpIHtcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAvXFxkezR9LVxcZHsyfS1cXGR7Mn0vLmV4ZWMobWluRGF0ZURlcG90KSxcbiAgICAgIG51bGwsXG4gICAgICBgSW52YWxpZCBmb3JtYXQgZm9yIG1pbmltdW0gZGF0ZTogJHttaW5EYXRlRGVwb3R9YCxcbiAgICApXG4gIH1cblxuICBsZXQgYW1lbmRlbWVudE51bWJlciA9IDBcbiAgaXRlclNlYXJjaFBhZ2VzOiB3aGlsZSAodHJ1ZSkge1xuICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBGZXRjaGluZyBhbWVuZGVtZW50cyBzZWFyY2ggcGFnZSBhdCAke3VybH3igKZgKVxuICAgIH1cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybClcbiAgICBhc3NlcnQoXG4gICAgICByZXNwb25zZS5vayxcbiAgICAgIGBSZXRyaWV2YWwgb2Ygc2VhcmNoIHBhZ2UgYXQgJHt1cmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke3Jlc3BvbnNlLnN0YXR1c30gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgKVxuICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KClcbiAgICBjb25zdCBodG1sID0gcGFyc2VIdG1sKHBhZ2UpXG4gICAgaWYgKGh0bWwucXVlcnlTZWxlY3RvcihcImRpdi5uby1yZXN1bHRcIikgIT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzQ291bnREaXYgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXCJkaXYubWlycm9yLWNhcmQtc3VidGl0bGVcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNDb3VudERpdiwgbnVsbClcbiAgICBjb25zdCBhbWVuZGVtZW50c0NvdW50ID0gcGFyc2VJbnQoL1xcZCsvLmV4ZWMoYW1lbmRlbWVudHNDb3VudERpdiEudGV4dCkhWzBdKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzRGl2ID0gaHRtbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJkaXYuYW1lbmRlbWVudC1saXN0LS1yZXN1bHRzLXRhYmxlXCIsXG4gICAgKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c0RpdiwgbnVsbClcbiAgICBjb25zdCBhbWVuZGVtZW50c1RhYmxlID0gYW1lbmRlbWVudHNEaXYhLnF1ZXJ5U2VsZWN0b3IoXCJ0YWJsZVwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c1RhYmxlLCBudWxsKVxuICAgIGNvbnN0IHRmb290VHIgPSBhbWVuZGVtZW50c1RhYmxlIS5xdWVyeVNlbGVjdG9yKFwidGZvb3QgPiB0clwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh0Zm9vdFRyLCBudWxsKVxuICAgIGNvbnN0IHRmb290VHJDZWxscyA9IHRmb290VHIhXG4gICAgICAucXVlcnlTZWxlY3RvckFsbChcInRkLCB0aFwiKVxuICAgICAgLm1hcCgoY2VsbCkgPT4gY2VsbC50ZXh0KVxuICAgIGFzc2VydChcbiAgICAgIGRlZXBFcXVhbCh0Zm9vdFRyQ2VsbHMsIFtcbiAgICAgICAgXCJcIixcbiAgICAgICAgXCJuwrBcIixcbiAgICAgICAgXCJEb3NzaWVyIGzDqWdpc2xhdGlmXCIsXG4gICAgICAgIFwiRW1wbGFjZW1lbnRcIixcbiAgICAgICAgXCJBdXRldXJcIixcbiAgICAgICAgXCLDiXRhdFwiLFxuICAgICAgICBcIlNvcnRcIixcbiAgICAgICAgXCJEYXRlIGQnZXhhbWVuXCIsXG4gICAgICAgIFwiRXhhbWluw6kgcGFyXCIsXG4gICAgICAgIFwiVGV4dGUgdmlzw6lcIixcbiAgICAgICAgXCJEYXRlIGRlIGTDqXDDtHRcIixcbiAgICAgIF0pLFxuICAgICAgYFVuZXhwZWN0ZWQgY29sdW1ucyBpbiAke0pTT04uc3RyaW5naWZ5KHRmb290VHJDZWxscywgbnVsbCwgMil9YCxcbiAgICApXG4gICAgY29uc3QgYW1lbmRlbWVudHNUciA9IGFtZW5kZW1lbnRzVGFibGUhLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0Ym9keSA+IHRyXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzVHIubGVuZ3RoLCAwKVxuICAgIGZvciAoY29uc3QgYW1lbmRlbWVudFRyIG9mIGFtZW5kZW1lbnRzVHIpIHtcbiAgICAgIGFtZW5kZW1lbnROdW1iZXIrK1xuXG4gICAgICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwgfHwgbWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGFtZW5kZW1lbnRUZExpc3QgPSBhbWVuZGVtZW50VHIucXVlcnlTZWxlY3RvckFsbChcInRkXCIpXG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgICBhbWVuZGVtZW50VGRMaXN0Lmxlbmd0aCxcbiAgICAgICAgICAxMSxcbiAgICAgICAgICBgVW5leHBlY3RlZCBudW1iZXIgb2YgY29sdW1ucyBpbiBhbWVuZG1lbnQgcm93OiAke2FtZW5kZW1lbnRUci5vdXRlckhUTUx9YCxcbiAgICAgICAgKVxuICAgICAgICBpZiAobWluRGF0ZURlcG90ICE9IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBkYXRlRGVwb3RUZCA9IGFtZW5kZW1lbnRUZExpc3RbMTBdXG4gICAgICAgICAgY29uc3QgZGF0ZURlcG90ID0gZm9ybWF0SVNPKFxuICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVEZXBvdFRkLnRleHQsIFwiZCBNTU1NIHlcIiwgbmV3IERhdGUoKSwgeyBsb2NhbGU6IGZyIH0pLFxuICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGRhdGVEZXBvdCA8IG1pbkRhdGVEZXBvdCkge1xuICAgICAgICAgICAgLy8gU2luY2UgdGhlIGFtZW5kbWVudHMgYXJlIHNvcnRlZCBieSBkZXBvc2l0IGRhdGUsIG9uY2UgYW4gYW1lbmRtZW50XG4gICAgICAgICAgICAvLyB3aXRoIGFuIG9sZCBkZXBvc2l0IGRhdGUgaXMgZW5jb3VudGVyZWQsIHRoZSBmdWxsIHNlYXJjaCBjYW4gYmUgc3RvcHBlZC5cbiAgICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZUV4YW1lblRkID0gYW1lbmRlbWVudFRkTGlzdFs3XVxuICAgICAgICAgIGlmIChkYXRlRXhhbWVuVGQudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUV4YW1lbiA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVFeGFtZW5UZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGZyLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkYXRlRXhhbWVuIDwgbWluRGF0ZUV4YW1lbikge1xuICAgICAgICAgICAgICAvLyBUaGlzIGFtZW5kbWVudCBoYXMgYmVlbiBkaXNjdXNzZWQgc2luY2UgYSBmZXcgZGF5cy5cbiAgICAgICAgICAgICAgLy8gPT4gSWdub3JlIGl0LCBiZWNhdXNlIGl0IHNob3VsZCBiZSBpbiBBc3NlbWJsw6llIG9wZW4gZGF0YS5cbiAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGggPSBhbWVuZGVtZW50VHIuZ2V0QXR0cmlidXRlKFwiZGF0YS1ocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudFVybFBhdGgsIHVuZGVmaW5lZClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMF0sXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMV0sXG4gICAgICAgIFwiZHluXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgICAgICAgIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMiksXG4gICAgICAgICkgKyBcIi5odG1sXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICApKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRGaWxlKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICAgICAgOiBudWxsXG4gICAgICBjb25zdCBhbWVuZGVtZW50VHJPdXRlckh0bWwgPSBhbWVuZGVtZW50VHIub3V0ZXJIVE1MXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSBgLS0tXFxuJHtqc1lhbWwuZHVtcChcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiBhbWVuZGVtZW50c0NvdW50IC0gYW1lbmRlbWVudE51bWJlcixcbiAgICAgICAgICBzZWFyY2g6IHVybC5yZXBsYWNlKC8mcGFnZT1bXFxkXSsvLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNvcnRLZXlzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKX0tLS1cXG5cXG4ke2FtZW5kZW1lbnRUck91dGVySHRtbH1gXG4gICAgICBpZiAoYW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkge1xuICAgICAgICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUgYW5kIGluIHRoZSBzYW1lIHBvc2l0aW9uLlxuICAgICAgICAgIC8vIEFzc3VtZSB0aGF0IGZvbGxvd2luZyBhbWVuZG1lbnRzIGFyZSBub3QgY2hhbmdlZCBhbmQgc3RvcCBsb29raW5nXG4gICAgICAgICAgLy8gZm9yIGFtZW5kbWVudHMgdG8gdXBzZXJ0LlxuICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlICE9PSBudWxsICYmXG4gICAgICAgIGZyb250TWF0dGVyKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKS5ib2R5ID09PVxuICAgICAgICAgIGFtZW5kZW1lbnRUck91dGVySHRtbFxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSwgYnV0IGluIGEgZGlmZmVyZW50IHBvc2l0aW9uLlxuICAgICAgICAvLyBBc3N1bWUgdGhlIGFtZW5kbWVudCBpcyB1bmNoYW5nZWQuXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYEFkZGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxVcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxSZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRIdG1sVXJsKVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSFRNTCBwYWdlIGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxQYWdlID0gYXdhaXQgYW1lbmRlbWVudEh0bWxSZXNwb25zZS50ZXh0KClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sID0gcGFyc2VIdG1sKGFtZW5kZW1lbnRIdG1sUGFnZSlcbiAgICAgIGNvbnN0IGZvcm1hdHNMaSA9IGFtZW5kZW1lbnRIdG1sLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgIFwibGkubWlycm9yLWNhcmQtaGVhZGVyLS1vcHRpb25zLS1jb250ZW50LS1pdGVtXCIsXG4gICAgICApXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoZm9ybWF0c0xpLmxlbmd0aCwgMClcbiAgICAgIGNvbnN0IGpzb25MaSA9IGZvcm1hdHNMaS5maW5kKChmb3JtYXRMaSkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRTcGFuID0gZm9ybWF0TGkucXVlcnlTZWxlY3RvcihcImEgPiBzcGFuXCIpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXRTcGFuLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgYE5vIDxzcGFuPiBpbiA8YT4gZm91bmQgaW4gJHtmb3JtYXRMaS50b1N0cmluZygpfWAsXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIGZvcm1hdFNwYW4hLnRleHQgPT09IFwiVmVyc2lvbiBKU09OXCJcbiAgICAgIH0pXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25MaSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gSlNPTiB2ZXJzaW9uIGZvdW5kIGZvciBhbWVuZGVtZW50IGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGpzb25BID0ganNvbkxpIS5xdWVyeVNlbGVjdG9yKFwiYVwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uQSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgYE5vIDxhPiBmb3VuZCBpbiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmxQYXRoID0ganNvbkEhLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBVUkwgZm91bmQgZm9yIEpTT04gdmVyc2lvbiBvZiBhbWVuZGVtZW50OiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SnNvblVybClcbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEpzb25SZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEpTT04gcGFnZSBhdCAke2FtZW5kZW1lbnRKc29uVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnQgPSBhd2FpdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlLmpzb24oKVxuICAgICAgeWllbGQgW2FtZW5kZW1lbnRVcmxQYXRoISwgYW1lbmRlbWVudF1cblxuICAgICAgLy8gU2VhcmNoQ2FjaGUgbXVzdCBiZSB3cml0dGVuIGF0IHRoZSBlbmQgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBpbiBhIGNvbnNpc3RlbnQgc3RhdGUsXG4gICAgICAvLyBldmVuIGlmIHNjcmlwdCBmYWlscyBhYnJ1cHRseS5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZSxcbiAgICAgICAgXCJ1dGY4XCIsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgcGFnaW5hdGlvbkEgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbi1wYWdpbmF0aW9uLS1pdGVtID4gaS5hbi1pY29ucy1jaGV2cm9uLXJpZ2h0IH4gYVwiLFxuICAgIClcbiAgICBpZiAocGFnaW5hdGlvbkEgPT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IHVybFBhdGggPSBwYWdpbmF0aW9uQS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHVybFBhdGgsIHVuZGVmaW5lZClcbiAgICB1cmwgPSBuZXcgVVJMKHVybFBhdGghLCBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIpLnRvU3RyaW5nKClcbiAgfVxufVxuIl19
|
|
612
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL3JlY2hlcmNoZV9hbWVuZGVtZW50cy50cyJdLCJuYW1lcyI6WyJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsIkFtZW5kZW1lbnRzQ29udmVydCIsInRvQW1lbmRlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJmcyIsImVuc3VyZURpciIsImFzc2VydCIsInN0cmljdEVxdWFsIiwiZXhlYyIsIm5vdFN0cmljdEVxdWFsIiwiaW5jbHVkZXMiLCJhbWVuZGVtZW50TnVtYmVyIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJyZXNwb25zZSIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInRleHQiLCJwYWdlIiwiaHRtbCIsInF1ZXJ5U2VsZWN0b3IiLCJhbWVuZGVtZW50c0NvdW50RGl2IiwiYW1lbmRlbWVudHNDb3VudCIsInBhcnNlSW50IiwiYW1lbmRlbWVudHNEaXYiLCJhbWVuZGVtZW50c1RhYmxlIiwidGZvb3RUciIsInRmb290VHJDZWxscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJtYXAiLCJjZWxsIiwiYW1lbmRlbWVudHNUciIsImxlbmd0aCIsImFtZW5kZW1lbnRUciIsImFtZW5kZW1lbnRUZExpc3QiLCJvdXRlckhUTUwiLCJkYXRlRGVwb3RUZCIsImRhdGVEZXBvdCIsIkRhdGUiLCJsb2NhbGUiLCJmciIsInJlcHJlc2VudGF0aW9uIiwiZGF0ZUV4YW1lblRkIiwiZGF0ZUV4YW1lbiIsImdldEF0dHJpYnV0ZSIsInVuZGVmaW5lZCIsImFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQiLCJzcGxpdCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoIiwicGF0aCIsImpvaW4iLCJzbGljZSIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEZpbGUiLCJleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImFtZW5kZW1lbnRUck91dGVySHRtbCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImpzWWFtbCIsImR1bXAiLCJwb3NpdGlvbiIsInNlYXJjaCIsInJlcGxhY2UiLCJzb3J0S2V5cyIsImJvZHkiLCJhbWVuZGVtZW50SHRtbFVybCIsIlVSTCIsInRvU3RyaW5nIiwiYW1lbmRlbWVudEh0bWxSZXNwb25zZSIsImFtZW5kZW1lbnRIdG1sUGFnZSIsImFtZW5kZW1lbnRIdG1sIiwiZm9ybWF0c0xpIiwianNvbkxpIiwiZmluZCIsImZvcm1hdExpIiwiZm9ybWF0U3BhbiIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwianNvbiIsIndyaXRlRmlsZSIsInBhZ2luYXRpb25BIiwidXJsUGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0FFdUJBLHdCOzs7Ozt3RkFBaEIsaUJBQ0xDLHlCQURLLEVBRUxDLEdBRkssRUFHTEMsV0FISyxFQUlMQyxZQUpLLEVBS0xDLGFBTEs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1MQyxZQUFBQSxPQU5LLDJEQU04QyxFQU45QztBQUFBO0FBQUE7QUFBQTtBQUFBLHVDQVdBQywyQkFBMkIsQ0FD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QTs7QUFBQTs7QUFBQTtBQW9RR0MsWUFBQUEsT0FwUUgsR0FvUWFELFdBQVcsQ0FBQ3RDLFlBQVosQ0FBeUIsTUFBekIsQ0FwUWI7O0FBcVFIeEMsK0JBQU9HLGNBQVAsQ0FBc0I0RSxPQUF0QixFQUErQnRDLFNBQS9COztBQUNBdkQsWUFBQUEsR0FBRyxHQUFHLElBQUk0RSxHQUFKLENBQVFpQixPQUFSLEVBQWtCLHFDQUFsQixFQUF5RGhCLFFBQXpELEVBQU47QUF0UUc7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCBmb3JtYXRJU08gZnJvbSBcImRhdGUtZm5zL2Zvcm1hdElTT1wiXG5pbXBvcnQgeyBmciB9IGZyb20gXCJkYXRlLWZucy9sb2NhbGVcIlxuaW1wb3J0IHBhcnNlRGF0ZSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2VcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBmcm9udE1hdHRlciBmcm9tIFwiZnJvbnQtbWF0dGVyXCJcbmltcG9ydCBqc1lhbWwgZnJvbSBcImpzLXlhbWxcIlxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCJcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlSHRtbCB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgY2xlYW5BbWVuZGVtZW50IH0gZnJvbSBcIi4uL2NsZWFuZXJzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQgYXMgUmF3QW1lbmRlbWVudCB9IGZyb20gXCIuLi9yYXdfdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCwgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGl0ZXJSZWNoZXJjaGVBbWVuZGVtZW50cyhcbiAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcjogc3RyaW5nLFxuICB1cmw6IHN0cmluZyxcbiAgaW5jcmVtZW50YWw6IGJvb2xlYW4sXG4gIG1pbkRhdGVEZXBvdD86IHN0cmluZyB8IG51bGwsXG4gIG1pbkRhdGVFeGFtZW4/OiBzdHJpbmcgfCBudWxsLFxuICBvcHRpb25zOiB7IHNpbGVudD86IGJvb2xlYW47IHZlcmJvc2U/OiBib29sZWFuIH0gPSB7fSxcbik6IEFzeW5jR2VuZXJhdG9yPFtzdHJpbmcsIEFtZW5kZW1lbnRdLCB2b2lkLCB1bmtub3duPiB7XG4gIGZvciBhd2FpdCAoY29uc3QgW1xuICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgIGFtZW5kZW1lbnQsXG4gIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIsXG4gICAgdXJsLFxuICAgIGluY3JlbWVudGFsLFxuICAgIG1pbkRhdGVEZXBvdCxcbiAgICBtaW5EYXRlRXhhbWVuLFxuICAgIG9wdGlvbnMsXG4gICkpIHtcbiAgICBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudClcbiAgICAvLyBEb3VibGUgY29udmVyc2lvbiwgdG8gY29udmVydCBzdHJpbmdzIHRvIGRhdGVzLlxuICAgIHlpZWxkIFtcbiAgICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgICAgQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudChKU09OLnN0cmluZ2lmeShhbWVuZGVtZW50KSksXG4gICAgXVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgUmF3QW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIpXG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdZGF0ZV9kZXBvdD0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBkZXBvc2l0IGRhdGVgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXW9yZGVyPS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIHNvcnQgb3JkZXJgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXXBhZ2U9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgcGFnZSBudW1iZXJgLFxuICApXG4gIGlmIChpbmNyZW1lbnRhbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9bPyZdZXRhdD0vLmV4ZWModXJsKSxcbiAgICAgIG51bGwsXG4gICAgICBgSW4gaW5jcmVtZW50YWwgbW9kZSwgVVJMICR7dXJsfSBtdXN0IGNvbnRhaW4gYW4gXCJldGF0XCIgcXVlcnkgcGFyYW1ldGVyYCxcbiAgICApXG4gIH1cbiAgdXJsICs9ICh1cmwuaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIikgKyBcIm9yZGVyPWRhdGVfZGVwb3QsZGVzYyZwYWdlPTFcIlxuXG4gIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9cXGR7NH0tXFxkezJ9LVxcZHsyfS8uZXhlYyhtaW5EYXRlRGVwb3QpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbnZhbGlkIGZvcm1hdCBmb3IgbWluaW11bSBkYXRlOiAke21pbkRhdGVEZXBvdH1gLFxuICAgIClcbiAgfVxuXG4gIGxldCBhbWVuZGVtZW50TnVtYmVyID0gMFxuICBpdGVyU2VhcmNoUGFnZXM6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coYEZldGNoaW5nIGFtZW5kZW1lbnRzIHNlYXJjaCBwYWdlIGF0ICR7dXJsfeKApmApXG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKVxuICAgIGFzc2VydChcbiAgICAgIHJlc3BvbnNlLm9rLFxuICAgICAgYFJldHJpZXZhbCBvZiBzZWFyY2ggcGFnZSBhdCAke3VybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICApXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICAgIGNvbnN0IGh0bWwgPSBwYXJzZUh0bWwocGFnZSlcbiAgICBpZiAoaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm5vLXJlc3VsdFwiKSAhPT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudERpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcImRpdi5taXJyb3ItY2FyZC1zdWJ0aXRsZVwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c0NvdW50RGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzQ291bnQgPSBwYXJzZUludCgvXFxkKy8uZXhlYyhhbWVuZGVtZW50c0NvdW50RGl2IS50ZXh0KSFbMF0pXG4gICAgY29uc3QgYW1lbmRlbWVudHNEaXYgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbWVuZGVtZW50LWxpc3QtLXJlc3VsdHMtdGFibGVcIixcbiAgICApXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzRGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVGFibGUgPSBhbWVuZGVtZW50c0RpdiEucXVlcnlTZWxlY3RvcihcInRhYmxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzVGFibGUsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUciA9IGFtZW5kZW1lbnRzVGFibGUhLnF1ZXJ5U2VsZWN0b3IoXCJ0Zm9vdCA+IHRyXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHRmb290VHIsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUckNlbGxzID0gdGZvb3RUciFcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKFwidGQsIHRoXCIpXG4gICAgICAubWFwKChjZWxsKSA9PiBjZWxsLnRleHQpXG4gICAgYXNzZXJ0KFxuICAgICAgZGVlcEVxdWFsKHRmb290VHJDZWxscywgW1xuICAgICAgICBcIlwiLFxuICAgICAgICBcIm7CsFwiLFxuICAgICAgICBcIkRvc3NpZXIgbMOpZ2lzbGF0aWZcIixcbiAgICAgICAgXCJFbXBsYWNlbWVudFwiLFxuICAgICAgICBcIkF1dGV1clwiLFxuICAgICAgICBcIsOJdGF0XCIsXG4gICAgICAgIFwiU29ydFwiLFxuICAgICAgICBcIkRhdGUgZCdleGFtZW5cIixcbiAgICAgICAgXCJFeGFtaW7DqSBwYXJcIixcbiAgICAgICAgXCJUZXh0ZSB2aXPDqVwiLFxuICAgICAgICBcIkRhdGUgZGUgZMOpcMO0dFwiLFxuICAgICAgXSksXG4gICAgICBgVW5leHBlY3RlZCBjb2x1bW5zIGluICR7SlNPTi5zdHJpbmdpZnkodGZvb3RUckNlbGxzLCBudWxsLCAyKX1gLFxuICAgIClcbiAgICBjb25zdCBhbWVuZGVtZW50c1RyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvckFsbChcInRib2R5ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUci5sZW5ndGgsIDApXG4gICAgZm9yIChjb25zdCBhbWVuZGVtZW50VHIgb2YgYW1lbmRlbWVudHNUcikge1xuICAgICAgYW1lbmRlbWVudE51bWJlcisrXG5cbiAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCB8fCBtaW5EYXRlRXhhbWVuICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudFRkTGlzdCA9IGFtZW5kZW1lbnRUci5xdWVyeVNlbGVjdG9yQWxsKFwidGRcIilcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGFtZW5kZW1lbnRUZExpc3QubGVuZ3RoLFxuICAgICAgICAgIDExLFxuICAgICAgICAgIGBVbmV4cGVjdGVkIG51bWJlciBvZiBjb2x1bW5zIGluIGFtZW5kbWVudCByb3c6ICR7YW1lbmRlbWVudFRyLm91dGVySFRNTH1gLFxuICAgICAgICApXG4gICAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdFRkID0gYW1lbmRlbWVudFRkTGlzdFsxMF1cbiAgICAgICAgICBjb25zdCBkYXRlRGVwb3QgPSBmb3JtYXRJU08oXG4gICAgICAgICAgICBwYXJzZURhdGUoZGF0ZURlcG90VGQudGV4dCwgXCJkIE1NTU0geVwiLCBuZXcgRGF0ZSgpLCB7IGxvY2FsZTogZnIgfSksXG4gICAgICAgICAgICB7IHJlcHJlc2VudGF0aW9uOiBcImRhdGVcIiB9LFxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAoZGF0ZURlcG90IDwgbWluRGF0ZURlcG90KSB7XG4gICAgICAgICAgICAvLyBTaW5jZSB0aGUgYW1lbmRtZW50cyBhcmUgc29ydGVkIGJ5IGRlcG9zaXQgZGF0ZSwgb25jZSBhbiBhbWVuZG1lbnRcbiAgICAgICAgICAgIC8vIHdpdGggYW4gb2xkIGRlcG9zaXQgZGF0ZSBpcyBlbmNvdW50ZXJlZCwgdGhlIGZ1bGwgc2VhcmNoIGNhbiBiZSBzdG9wcGVkLlxuICAgICAgICAgICAgYnJlYWsgaXRlclNlYXJjaFBhZ2VzXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtaW5EYXRlRXhhbWVuICE9IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBkYXRlRXhhbWVuVGQgPSBhbWVuZGVtZW50VGRMaXN0WzddXG4gICAgICAgICAgaWYgKGRhdGVFeGFtZW5UZC50ZXh0KSB7XG4gICAgICAgICAgICBjb25zdCBkYXRlRXhhbWVuID0gZm9ybWF0SVNPKFxuICAgICAgICAgICAgICBwYXJzZURhdGUoZGF0ZUV4YW1lblRkLnRleHQsIFwiZCBNTU1NIHlcIiwgbmV3IERhdGUoKSwge1xuICAgICAgICAgICAgICAgIGxvY2FsZTogZnIsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7IHJlcHJlc2VudGF0aW9uOiBcImRhdGVcIiB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGRhdGVFeGFtZW4gPCBtaW5EYXRlRXhhbWVuKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgYW1lbmRtZW50IGhhcyBiZWVuIGRpc2N1c3NlZCBzaW5jZSBhIGZldyBkYXlzLlxuICAgICAgICAgICAgICAvLyA9PiBJZ25vcmUgaXQsIGJlY2F1c2UgaXQgc2hvdWxkIGJlIGluIEFzc2VtYmzDqWUgb3BlbiBkYXRhLlxuICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aCA9IGFtZW5kZW1lbnRUci5nZXRBdHRyaWJ1dGUoXCJkYXRhLWhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50VXJsUGF0aCwgdW5kZWZpbmVkKVxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCA9IGFtZW5kZW1lbnRVcmxQYXRoIS5zcGxpdChcIi9cIilcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZFswXSxcbiAgICAgICAgXCJcIixcbiAgICAgICAgYFVuZXhwZWN0ZWQgVVJMIHBhdGggZm9yIGFtZW5kZW1lbnQ6ICR7YW1lbmRlbWVudFVybFBhdGh9YCxcbiAgICAgIClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZFsxXSxcbiAgICAgICAgXCJkeW5cIixcbiAgICAgICAgYFVuZXhwZWN0ZWQgVVJMIHBhdGggZm9yIGFtZW5kZW1lbnQ6ICR7YW1lbmRlbWVudFVybFBhdGh9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoID1cbiAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIsXG4gICAgICAgICAgLi4uYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZC5zbGljZSgyKSxcbiAgICAgICAgKSArIFwiLmh0bWxcIlxuICAgICAgYXdhaXQgZnMuZW5zdXJlRGlyKHBhdGguZGlybmFtZShhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9IChhd2FpdCBmcy5wYXRoRXhpc3RzKFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCxcbiAgICAgICkpXG4gICAgICAgID8gYXdhaXQgZnMucmVhZEZpbGUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsIFwidXRmOFwiKVxuICAgICAgICA6IG51bGxcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRUck91dGVySHRtbCA9IGFtZW5kZW1lbnRUci5vdXRlckhUTUxcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRTZWFyY2hDYWNoZSA9IGAtLS1cXG4ke2pzWWFtbC5kdW1wKFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246IGFtZW5kZW1lbnRzQ291bnQgLSBhbWVuZGVtZW50TnVtYmVyLFxuICAgICAgICAgIHNlYXJjaDogdXJsLnJlcGxhY2UoLyZwYWdlPVtcXGRdKy8sIFwiXCIpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc29ydEtleXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICApfS0tLVxcblxcbiR7YW1lbmRlbWVudFRyT3V0ZXJIdG1sfWBcbiAgICAgIGlmIChhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPT09IGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKSB7XG4gICAgICAgIGlmIChpbmNyZW1lbnRhbCkge1xuICAgICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSBhbmQgaW4gdGhlIHNhbWUgcG9zaXRpb24uXG4gICAgICAgICAgLy8gQXNzdW1lIHRoYXQgZm9sbG93aW5nIGFtZW5kbWVudHMgYXJlIG5vdCBjaGFuZ2VkIGFuZCBzdG9wIGxvb2tpbmdcbiAgICAgICAgICAvLyBmb3IgYW1lbmRtZW50cyB0byB1cHNlcnQuXG4gICAgICAgICAgYnJlYWsgaXRlclNlYXJjaFBhZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgIT09IG51bGwgJiZcbiAgICAgICAgZnJvbnRNYXR0ZXIoZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUpLmJvZHkgPT09XG4gICAgICAgICAgYW1lbmRlbWVudFRyT3V0ZXJIdG1sXG4gICAgICApIHtcbiAgICAgICAgLy8gVGhlIHNhbWUgPHRyPiBpcyBhbHJlYWR5IGluIGNhY2hlLCBidXQgaW4gYSBkaWZmZXJlbnQgcG9zaXRpb24uXG4gICAgICAgIC8vIEFzc3VtZSB0aGUgYW1lbmRtZW50IGlzIHVuY2hhbmdlZC5cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgaWYgKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICBgQWRkaW5nIGFtZW5kZW1lbnQgc2VhcmNoIGNhY2hlOiAke2FtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRofeKApmAsXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYFVwZGF0aW5nIGFtZW5kZW1lbnQgc2VhcmNoIGNhY2hlOiAke2FtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRofeKApmAsXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFVybCA9IG5ldyBVUkwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoISxcbiAgICAgICAgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiLFxuICAgICAgKS50b1N0cmluZygpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYW1lbmRlbWVudEh0bWxVcmwpXG4gICAgICBhc3NlcnQoXG4gICAgICAgIGFtZW5kZW1lbnRIdG1sUmVzcG9uc2Uub2ssXG4gICAgICAgIGBSZXRyaWV2YWwgb2YgYW1lbmRlbWVudCBIVE1MIHBhZ2UgYXQgJHthbWVuZGVtZW50SHRtbFVybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7YW1lbmRlbWVudEh0bWxSZXNwb25zZS5zdGF0dXN9ICR7YW1lbmRlbWVudEh0bWxSZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbFBhZ2UgPSBhd2FpdCBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLnRleHQoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWwgPSBwYXJzZUh0bWwoYW1lbmRlbWVudEh0bWxQYWdlKVxuICAgICAgY29uc3QgZm9ybWF0c0xpID0gYW1lbmRlbWVudEh0bWwucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgXCJsaS5taXJyb3ItY2FyZC1oZWFkZXItLW9wdGlvbnMtLWNvbnRlbnQtLWl0ZW1cIixcbiAgICAgIClcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChmb3JtYXRzTGkubGVuZ3RoLCAwKVxuICAgICAgY29uc3QganNvbkxpID0gZm9ybWF0c0xpLmZpbmQoKGZvcm1hdExpKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdFNwYW4gPSBmb3JtYXRMaS5xdWVyeVNlbGVjdG9yKFwiYSA+IHNwYW5cIilcbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICAgIGZvcm1hdFNwYW4sXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBgTm8gPHNwYW4+IGluIDxhPiBmb3VuZCBpbiAke2Zvcm1hdExpLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgKVxuICAgICAgICByZXR1cm4gZm9ybWF0U3BhbiEudGV4dCA9PT0gXCJWZXJzaW9uIEpTT05cIlxuICAgICAgfSlcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAganNvbkxpLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBKU09OIHZlcnNpb24gZm91bmQgZm9yIGFtZW5kZW1lbnQgYXQgJHthbWVuZGVtZW50SHRtbFVybH1gLFxuICAgICAgKVxuICAgICAgY29uc3QganNvbkEgPSBqc29uTGkhLnF1ZXJ5U2VsZWN0b3IoXCJhXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25BLFxuICAgICAgICBudWxsLFxuICAgICAgICBgTm8gPGE+IGZvdW5kIGluICR7anNvbkxpIS50b1N0cmluZygpfWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblVybFBhdGggPSBqc29uQSEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGgsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYE5vIFVSTCBmb3VuZCBmb3IgSlNPTiB2ZXJzaW9uIG9mIGFtZW5kZW1lbnQ6ICR7anNvbkxpIS50b1N0cmluZygpfWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblVybCA9IG5ldyBVUkwoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uVXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25SZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRKc29uVXJsKVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SnNvblJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSlNPTiBwYWdlIGF0ICR7YW1lbmRlbWVudEpzb25Vcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRKc29uUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRKc29uUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudCA9IGF3YWl0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UuanNvbigpXG4gICAgICB5aWVsZCBbYW1lbmRlbWVudFVybFBhdGghLCBhbWVuZGVtZW50XVxuXG4gICAgICAvLyBTZWFyY2hDYWNoZSBtdXN0IGJlIHdyaXR0ZW4gYXQgdGhlIGVuZCB0byBlbnN1cmUgdGhhdCBldmVyeXRoaW5nIGlzIGluIGEgY29uc2lzdGVudCBzdGF0ZSxcbiAgICAgIC8vIGV2ZW4gaWYgc2NyaXB0IGZhaWxzIGFicnVwdGx5LlxuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCxcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlLFxuICAgICAgICBcInV0ZjhcIixcbiAgICAgIClcbiAgICB9XG5cbiAgICBjb25zdCBwYWdpbmF0aW9uQSA9IGh0bWwucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2LmFuLXBhZ2luYXRpb24tLWl0ZW0gPiBpLmFuLWljb25zLWNoZXZyb24tcmlnaHQgfiBhXCIsXG4gICAgKVxuICAgIGlmIChwYWdpbmF0aW9uQSA9PT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgdXJsUGF0aCA9IHBhZ2luYXRpb25BLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwodXJsUGF0aCwgdW5kZWZpbmVkKVxuICAgIHVybCA9IG5ldyBVUkwodXJsUGF0aCEsIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIikudG9TdHJpbmcoKVxuICB9XG59XG4iXX0=
|
|
@@ -43,9 +43,123 @@ export declare enum Civ {
|
|
|
43
43
|
export interface PurpleInfoNaissance {
|
|
44
44
|
dateNais: UriHatvpClass | Date | null;
|
|
45
45
|
villeNais: UriHatvpClass | null | string;
|
|
46
|
-
depNais: UriHatvpClass |
|
|
46
|
+
depNais: UriHatvpClass | DepNais | null;
|
|
47
47
|
paysNais: UriHatvpClass | PaysNaisEnum | null;
|
|
48
48
|
}
|
|
49
|
+
export declare enum DepNais {
|
|
50
|
+
Ain = "Ain",
|
|
51
|
+
Aisne = "Aisne",
|
|
52
|
+
Allier = "Allier",
|
|
53
|
+
AlpesDeHauteProvence = "Alpes-de-Haute-Provence",
|
|
54
|
+
AlpesMaritimes = "Alpes-Maritimes",
|
|
55
|
+
Ardennes = "Ardennes",
|
|
56
|
+
Ardèche = "Ard\u00E8che",
|
|
57
|
+
Ariège = "Ari\u00E8ge",
|
|
58
|
+
Aube = "Aube",
|
|
59
|
+
Aude = "Aude",
|
|
60
|
+
Aveyron = "Aveyron",
|
|
61
|
+
BasRhin = "Bas-Rhin",
|
|
62
|
+
BouchesDuRhône = "Bouches-du-Rh\u00F4ne",
|
|
63
|
+
Calvados = "Calvados",
|
|
64
|
+
Cantal = "Cantal",
|
|
65
|
+
Charente = "Charente",
|
|
66
|
+
CharenteMaritime = "Charente-Maritime",
|
|
67
|
+
Cher = "Cher",
|
|
68
|
+
Comores = "Comores",
|
|
69
|
+
Corrèze = "Corr\u00E8ze",
|
|
70
|
+
Corse = "Corse",
|
|
71
|
+
CorseDuSud = "Corse-du-Sud",
|
|
72
|
+
Creuse = "Creuse",
|
|
73
|
+
CôteDOr = "C\u00F4te-d'Or",
|
|
74
|
+
CôtesDArmor = "C\u00F4tes-d'Armor",
|
|
75
|
+
CôtesDuNord = "C\u00F4tes-du-Nord",
|
|
76
|
+
DeuxSèvres = "Deux-S\u00E8vres",
|
|
77
|
+
Dordogne = "Dordogne",
|
|
78
|
+
Doubs = "Doubs",
|
|
79
|
+
Drôme = "Dr\u00F4me",
|
|
80
|
+
Essonne = "Essonne",
|
|
81
|
+
Eure = "Eure",
|
|
82
|
+
EureEtLoir = "Eure-et-Loir",
|
|
83
|
+
Finistère = "Finist\u00E8re",
|
|
84
|
+
FrançaisÉtablisHorsDeFrance = "Fran\u00E7ais \u00E9tablis hors de France",
|
|
85
|
+
Gard = "Gard",
|
|
86
|
+
Gers = "Gers",
|
|
87
|
+
Gironde = "Gironde",
|
|
88
|
+
Guadeloupe = "Guadeloupe",
|
|
89
|
+
Guyane = "Guyane",
|
|
90
|
+
HautRhin = "Haut-Rhin",
|
|
91
|
+
HauteCorse = "Haute-Corse",
|
|
92
|
+
HauteGaronne = "Haute-Garonne",
|
|
93
|
+
HauteLoire = "Haute-Loire",
|
|
94
|
+
HauteMarne = "Haute-Marne",
|
|
95
|
+
HauteSavoie = "Haute-Savoie",
|
|
96
|
+
HauteSaône = "Haute-Sa\u00F4ne",
|
|
97
|
+
HauteVienne = "Haute-Vienne",
|
|
98
|
+
HautesAlpes = "Hautes-Alpes",
|
|
99
|
+
HautesPyrénées = "Hautes-Pyr\u00E9n\u00E9es",
|
|
100
|
+
HautsDeSeine = "Hauts-de-Seine",
|
|
101
|
+
Hérault = "H\u00E9rault",
|
|
102
|
+
IlleEtVilaine = "Ille-et-Vilaine",
|
|
103
|
+
Indre = "Indre",
|
|
104
|
+
IndreEtLoire = "Indre-et-Loire",
|
|
105
|
+
Isère = "Is\u00E8re",
|
|
106
|
+
Jura = "Jura",
|
|
107
|
+
Landes = "Landes",
|
|
108
|
+
LoirEtCher = "Loir-et-Cher",
|
|
109
|
+
Loire = "Loire",
|
|
110
|
+
LoireAtlantique = "Loire-Atlantique",
|
|
111
|
+
Loiret = "Loiret",
|
|
112
|
+
Lot = "Lot",
|
|
113
|
+
LotEtGaronne = "Lot-et-Garonne",
|
|
114
|
+
Lozère = "Loz\u00E8re",
|
|
115
|
+
MaineEtLoire = "Maine-et-Loire",
|
|
116
|
+
Manche = "Manche",
|
|
117
|
+
Marne = "Marne",
|
|
118
|
+
Martinique = "Martinique",
|
|
119
|
+
Mayenne = "Mayenne",
|
|
120
|
+
Mayotte = "Mayotte",
|
|
121
|
+
MeurtheEtMoselle = "Meurthe-et-Moselle",
|
|
122
|
+
Meuse = "Meuse",
|
|
123
|
+
Morbihan = "Morbihan",
|
|
124
|
+
Moselle = "Moselle",
|
|
125
|
+
Nièvre = "Ni\u00E8vre",
|
|
126
|
+
Nord = "Nord",
|
|
127
|
+
NouvelleCalédonie = "Nouvelle-Cal\u00E9donie",
|
|
128
|
+
Oise = "Oise",
|
|
129
|
+
Orne = "Orne",
|
|
130
|
+
Paris = "Paris",
|
|
131
|
+
PasDeCalais = "Pas-de-Calais",
|
|
132
|
+
PolynésieFrançaise = "Polyn\u00E9sie Fran\u00E7aise",
|
|
133
|
+
PuyDeDôme = "Puy-de-D\u00F4me",
|
|
134
|
+
PyrénéesAtlantiques = "Pyr\u00E9n\u00E9es-Atlantiques",
|
|
135
|
+
PyrénéesOrientales = "Pyr\u00E9n\u00E9es-Orientales",
|
|
136
|
+
Rhône = "Rh\u00F4ne",
|
|
137
|
+
Réunion = "R\u00E9union",
|
|
138
|
+
SaintBarthélemyEtSaintMartin = "Saint-Barth\u00E9lemy et Saint-Martin",
|
|
139
|
+
SaintMartin = "Saint-Martin",
|
|
140
|
+
SaintPierreEtMiquelon = "Saint-Pierre-et-Miquelon",
|
|
141
|
+
Sarthe = "Sarthe",
|
|
142
|
+
Savoie = "Savoie",
|
|
143
|
+
SaôneEtLoire = "Sa\u00F4ne-et-Loire",
|
|
144
|
+
SeineEtMarne = "Seine-et-Marne",
|
|
145
|
+
SeineInférieure = "Seine-Inf\u00E9rieure",
|
|
146
|
+
SeineMaritime = "Seine-Maritime",
|
|
147
|
+
SeineSaintDenis = "Seine-Saint-Denis",
|
|
148
|
+
Somme = "Somme",
|
|
149
|
+
Tarn = "Tarn",
|
|
150
|
+
TarnEtGaronne = "Tarn-et-Garonne",
|
|
151
|
+
TerritoireDeBelfort = "Territoire de Belfort",
|
|
152
|
+
ValDOise = "Val-d'Oise",
|
|
153
|
+
ValDeMarne = "Val-de-Marne",
|
|
154
|
+
Var = "Var",
|
|
155
|
+
Vaucluse = "Vaucluse",
|
|
156
|
+
Vendée = "Vend\u00E9e",
|
|
157
|
+
Vienne = "Vienne",
|
|
158
|
+
Vosges = "Vosges",
|
|
159
|
+
WallisEtFutuna = "Wallis-et-Futuna",
|
|
160
|
+
Yonne = "Yonne",
|
|
161
|
+
Yvelines = "Yvelines"
|
|
162
|
+
}
|
|
49
163
|
export declare enum PaysNaisEnum {
|
|
50
164
|
Algérie = "Alg\u00E9rie",
|
|
51
165
|
Allemagne = "Allemagne",
|
|
@@ -114,7 +228,7 @@ export interface PurpleMandat {
|
|
|
114
228
|
chambre?: null;
|
|
115
229
|
election?: PurpleElection;
|
|
116
230
|
mandature?: Mandature;
|
|
117
|
-
collaborateurs?: null[] |
|
|
231
|
+
collaborateurs?: null[] | Collaborateurs | null;
|
|
118
232
|
}
|
|
119
233
|
export declare enum MandatXsiType {
|
|
120
234
|
MandatAvecSuppleantType = "MandatAvecSuppleant_Type",
|
|
@@ -122,7 +236,7 @@ export declare enum MandatXsiType {
|
|
|
122
236
|
MandatParlementaireType = "MandatParlementaire_type",
|
|
123
237
|
MandatSimpleType = "MandatSimple_Type"
|
|
124
238
|
}
|
|
125
|
-
export interface
|
|
239
|
+
export interface Collaborateurs {
|
|
126
240
|
collaborateur: CollaborateurElement[] | CollaborateurElement;
|
|
127
241
|
}
|
|
128
242
|
export interface CollaborateurElement {
|
|
@@ -133,18 +247,18 @@ export interface CollaborateurElement {
|
|
|
133
247
|
dateFin: null;
|
|
134
248
|
}
|
|
135
249
|
export interface PurpleElection {
|
|
136
|
-
lieu:
|
|
250
|
+
lieu: ElectionLieu;
|
|
137
251
|
causeMandat: null | string;
|
|
138
252
|
refCirconscription?: null | string;
|
|
139
253
|
}
|
|
140
|
-
export interface
|
|
141
|
-
region:
|
|
142
|
-
regionType:
|
|
143
|
-
departement:
|
|
254
|
+
export interface ElectionLieu {
|
|
255
|
+
region: Libelle | null;
|
|
256
|
+
regionType: Type | null;
|
|
257
|
+
departement: DepNais | null;
|
|
144
258
|
numDepartement: null | string;
|
|
145
259
|
numCirco: null | string;
|
|
146
260
|
}
|
|
147
|
-
export declare enum
|
|
261
|
+
export declare enum Libelle {
|
|
148
262
|
AuvergneRhôneAlpes = "Auvergne-Rh\u00F4ne-Alpes",
|
|
149
263
|
BourgogneFrancheComté = "Bourgogne-Franche-Comt\u00E9",
|
|
150
264
|
Bretagne = "Bretagne",
|
|
@@ -170,7 +284,7 @@ export declare enum Region {
|
|
|
170
284
|
SaintPierreEtMiquelon = "Saint-Pierre-et-Miquelon",
|
|
171
285
|
WallisEtFutuna = "Wallis-et-Futuna"
|
|
172
286
|
}
|
|
173
|
-
export declare enum
|
|
287
|
+
export declare enum Type {
|
|
174
288
|
CollectivitésDOutreMerEtNouvelleCalédonie = "Collectivit\u00E9s d'outre-mer et Nouvelle-Cal\u00E9donie",
|
|
175
289
|
Dom = "Dom",
|
|
176
290
|
FrançaisÉtablisHorsDeFrance = "Fran\u00E7ais \u00E9tablis hors de France",
|
|
@@ -187,6 +301,7 @@ export interface Mandature {
|
|
|
187
301
|
premiereElection: null | string;
|
|
188
302
|
placeHemicycle: null | string;
|
|
189
303
|
mandatRemplaceRef?: null | string;
|
|
304
|
+
matriculeVote?: null | string;
|
|
190
305
|
}
|
|
191
306
|
export interface PurpleOrganes {
|
|
192
307
|
organeRef: string[] | string;
|
|
@@ -202,6 +317,7 @@ export interface Suppleant {
|
|
|
202
317
|
export declare enum CodeType {
|
|
203
318
|
Api = "API",
|
|
204
319
|
Assemblee = "ASSEMBLEE",
|
|
320
|
+
Circonscription = "CIRCONSCRIPTION",
|
|
205
321
|
Cjr = "CJR",
|
|
206
322
|
Cmp = "CMP",
|
|
207
323
|
Cnpe = "CNPE",
|
|
@@ -283,6 +399,33 @@ export interface PurpleUid {
|
|
|
283
399
|
export declare enum UidXsiType {
|
|
284
400
|
IdActeurType = "IdActeur_type"
|
|
285
401
|
}
|
|
402
|
+
export interface Deport {
|
|
403
|
+
deport: DeportClass;
|
|
404
|
+
}
|
|
405
|
+
export interface DeportClass {
|
|
406
|
+
"@xmlns": string;
|
|
407
|
+
"@xmlns:xsi": string;
|
|
408
|
+
uid: string;
|
|
409
|
+
chronotag: string;
|
|
410
|
+
legislature: string;
|
|
411
|
+
refActeur: string;
|
|
412
|
+
dateCreation: Date;
|
|
413
|
+
datePublication: Date;
|
|
414
|
+
portee: Instance;
|
|
415
|
+
lecture: Instance;
|
|
416
|
+
instance: Instance;
|
|
417
|
+
cible: Cible;
|
|
418
|
+
explication: null | string;
|
|
419
|
+
}
|
|
420
|
+
export interface Cible {
|
|
421
|
+
type: Instance;
|
|
422
|
+
referenceTextuelle: string;
|
|
423
|
+
references: null;
|
|
424
|
+
}
|
|
425
|
+
export interface Instance {
|
|
426
|
+
code: string;
|
|
427
|
+
libelle: string;
|
|
428
|
+
}
|
|
286
429
|
export interface Organe {
|
|
287
430
|
organe: OrganeOrgane;
|
|
288
431
|
}
|
|
@@ -305,6 +448,8 @@ export interface OrganeOrgane {
|
|
|
305
448
|
siteInternet?: null | string;
|
|
306
449
|
nombreReunionsAnnuelles?: null | string;
|
|
307
450
|
secretariat?: Secretariat;
|
|
451
|
+
numero?: null | string;
|
|
452
|
+
lieu?: OrganeLieu;
|
|
308
453
|
positionPolitique?: PositionPolitique | null;
|
|
309
454
|
preseance?: null | string;
|
|
310
455
|
couleurAssociee?: null | string;
|
|
@@ -312,11 +457,31 @@ export interface OrganeOrgane {
|
|
|
312
457
|
}
|
|
313
458
|
export declare enum OrganeXsiType {
|
|
314
459
|
GroupePolitiqueType = "GroupePolitique_type",
|
|
460
|
+
OrganeCirconscriptionType = "OrganeCirconscription_type",
|
|
315
461
|
OrganeExterneType = "OrganeExterne_Type",
|
|
316
462
|
OrganeExtraParlementaireType = "OrganeExtraParlementaire_type",
|
|
317
463
|
OrganeParlementaireInternational = "OrganeParlementaireInternational",
|
|
318
464
|
OrganeParlementaireType = "OrganeParlementaire_Type"
|
|
319
465
|
}
|
|
466
|
+
export interface OrganeLieu {
|
|
467
|
+
region: Region;
|
|
468
|
+
departement: Departement;
|
|
469
|
+
}
|
|
470
|
+
export interface Departement {
|
|
471
|
+
codeNatureDep: CodeNatureDep | null;
|
|
472
|
+
code: null | string;
|
|
473
|
+
libelle: DepNais | null;
|
|
474
|
+
}
|
|
475
|
+
export declare enum CodeNatureDep {
|
|
476
|
+
H = "H",
|
|
477
|
+
M = "M",
|
|
478
|
+
O = "O",
|
|
479
|
+
T = "T"
|
|
480
|
+
}
|
|
481
|
+
export interface Region {
|
|
482
|
+
type: Type | null;
|
|
483
|
+
libelle: Libelle | null;
|
|
484
|
+
}
|
|
320
485
|
export interface ListePays {
|
|
321
486
|
paysRef: string;
|
|
322
487
|
}
|
|
@@ -356,6 +521,7 @@ export declare enum PositionPolitique {
|
|
|
356
521
|
export declare enum Regime {
|
|
357
522
|
AssembléeConsultativeProvisoire = "Assembl\u00E9e consultative provisoire",
|
|
358
523
|
AssembléesNationalesConstituantes = "Assembl\u00E9es nationales constituantes",
|
|
524
|
+
The3ÈmeRépublique = "3\u00E8me R\u00E9publique",
|
|
359
525
|
The4ÈmeRépublique = "4\u00E8me R\u00E9publique",
|
|
360
526
|
The5ÈmeRépublique = "5\u00E8me R\u00E9publique"
|
|
361
527
|
}
|
|
@@ -388,7 +554,7 @@ export interface TentacledMandat {
|
|
|
388
554
|
chambre?: null;
|
|
389
555
|
election?: PurpleElection;
|
|
390
556
|
mandature?: Mandature;
|
|
391
|
-
collaborateurs?:
|
|
557
|
+
collaborateurs?: Collaborateurs | null;
|
|
392
558
|
libelle?: null | string;
|
|
393
559
|
missionSuivanteRef?: null | string;
|
|
394
560
|
missionPrecedenteRef?: null | string;
|
|
@@ -425,7 +591,7 @@ export interface FluffyIdent {
|
|
|
425
591
|
export interface FluffyInfoNaissance {
|
|
426
592
|
dateNais: Date;
|
|
427
593
|
villeNais: null | string;
|
|
428
|
-
depNais:
|
|
594
|
+
depNais: DepNais | null;
|
|
429
595
|
paysNais: PaysNaisEnum | null;
|
|
430
596
|
}
|
|
431
597
|
export interface FluffyMandats {
|
|
@@ -474,7 +640,7 @@ export interface IndigoMandat {
|
|
|
474
640
|
mandature: Mandature;
|
|
475
641
|
}
|
|
476
642
|
export interface FluffyElection {
|
|
477
|
-
lieu:
|
|
643
|
+
lieu: ElectionLieu;
|
|
478
644
|
causeMandat: null;
|
|
479
645
|
}
|
|
480
646
|
export interface FluffyUid {
|
|
@@ -502,6 +668,8 @@ export interface OrganeElement {
|
|
|
502
668
|
export declare class Convert {
|
|
503
669
|
static toActeur(json: string): Acteur;
|
|
504
670
|
static acteurToJson(value: Acteur): string;
|
|
671
|
+
static toDeport(json: string): Deport;
|
|
672
|
+
static deportToJson(value: Deport): string;
|
|
505
673
|
static toOrgane(json: string): Organe;
|
|
506
674
|
static organeToJson(value: Organe): string;
|
|
507
675
|
static toMandat(json: string): Mandat;
|