@tricoteuses/assemblee 1.4.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/bugs/acteur-00010.js +3 -3
- package/lib/bugs/agenda-00002.js +3 -3
- package/lib/bugs/agenda-00002.mjs +2 -2
- package/lib/bugs/agenda-00008.js +3 -3
- package/lib/bugs/agenda-00011.js +3 -3
- package/lib/bugs/agenda-00011.mjs +2 -2
- package/lib/bugs.js +3 -3
- package/lib/bugs.mjs +2 -2
- package/lib/datasets.d.ts +1 -0
- package/lib/datasets.js +28 -3
- package/lib/datasets.mjs +14 -3
- package/lib/dossiers_legislatifs.js +1 -1
- package/lib/dossiers_legislatifs.mjs +1 -2
- package/lib/file_systems.js +32 -26
- package/lib/file_systems.mjs +6 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/inserters.js +1 -3
- package/lib/inserters.mjs +1 -3
- package/lib/loaders.js +2 -2
- package/lib/loaders.mjs +2 -2
- package/lib/parsers/documents.js +1 -2
- package/lib/parsers/documents.mjs +1 -2
- package/lib/raw_types/acteurs_et_organes.js +2 -2
- package/lib/raw_types/agendas.js +2 -2
- package/lib/raw_types/amendements.js +2 -2
- package/lib/raw_types/debats.d.ts +5 -4
- package/lib/raw_types/debats.js +11 -7
- package/lib/raw_types/debats.mjs +9 -5
- package/lib/raw_types/dossiers_legislatifs.d.ts +3 -0
- package/lib/raw_types/dossiers_legislatifs.js +9 -6
- package/lib/raw_types/dossiers_legislatifs.mjs +7 -4
- package/lib/raw_types/questions.d.ts +1 -1
- package/lib/raw_types/questions.js +4 -4
- package/lib/raw_types/questions.mjs +2 -2
- package/lib/raw_types/scrutins.js +2 -2
- package/lib/scripts/bugs_helper.js +3 -3
- package/lib/scripts/bugs_helper.mjs +2 -2
- package/lib/scripts/clean_reorganized_data.js +13 -42
- package/lib/scripts/clean_reorganized_data.mjs +8 -18
- package/lib/scripts/document_dossiers_legislatifs.js +3 -3
- package/lib/scripts/document_dossiers_legislatifs.mjs +2 -2
- package/lib/scripts/parse_textes_lois.js +2 -1
- package/lib/scripts/reorganize_data.js +17 -46
- package/lib/scripts/reorganize_data.mjs +8 -18
- package/lib/scripts/retrieve_open_data.js +5 -5
- package/lib/scripts/retrieve_open_data.mjs +4 -4
- package/lib/scripts/retrieve_senateurs_photos.js +1 -2
- package/lib/scripts/retrieve_senateurs_photos.mjs +1 -2
- package/lib/scripts/retrieve_textes_lois.js +3 -3
- package/lib/scripts/retrieve_textes_lois.mjs +1 -1
- package/lib/scripts/validate_json.js +3 -3
- package/lib/scripts/validate_json.mjs +2 -2
- package/lib/shared_types/codes_actes.d.ts +129 -342
- package/lib/shared_types/codes_actes.js +212 -243
- package/lib/shared_types/codes_actes.mjs +211 -224
- package/lib/types/acteurs_et_organes.d.ts +32 -32
- package/lib/types/acteurs_et_organes.js +3 -3
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.d.ts +5 -5
- package/lib/types/agendas.js +3 -3
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.d.ts +1 -1
- package/lib/types/amendements.js +3 -3
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/debats.d.ts +5 -4
- package/lib/types/debats.js +11 -7
- package/lib/types/debats.mjs +9 -5
- package/lib/types/dossiers_legislatifs.d.ts +2 -0
- package/lib/types/dossiers_legislatifs.js +9 -10
- package/lib/types/dossiers_legislatifs.mjs +8 -9
- package/lib/types/questions.d.ts +1 -1
- package/lib/types/questions.js +4 -4
- package/lib/types/questions.mjs +2 -2
- package/lib/types/scrutins.js +3 -3
- package/lib/types/scrutins.mjs +1 -1
- package/package.json +2 -2
|
@@ -62,8 +62,8 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
62
62
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
63
63
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
64
64
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
65
|
-
function _toPropertyKey(
|
|
66
|
-
function _toPrimitive(
|
|
65
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
66
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
67
67
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
68
68
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
69
69
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -656,4 +656,4 @@ function main(argv) {
|
|
|
656
656
|
|
|
657
657
|
/* istanbul ignore if */
|
|
658
658
|
if (process.argv[1].endsWith("document_dossiers_legislatifs.ts")) process.exit(main(process.argv));
|
|
659
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVVc2FnZSIsIl9hc3NlcnQiLCJfZmlsZV9zeXN0ZW1zIiwiX2NsYXNzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwiciIsImwiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJlIiwibiIsInUiLCJhIiwiZiIsIm8iLCJjYWxsIiwibmV4dCIsIk9iamVjdCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiaXRlciIsImZyb20iLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsInByb3RvdHlwZSIsImNyZWF0ZSIsImNvbnN0cnVjdG9yIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl9zZXRQcm90b3R5cGVPZiIsInAiLCJzZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfY3JlYXRlU3VwZXIiLCJEZXJpdmVkIiwiaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJfY3JlYXRlU3VwZXJJbnRlcm5hbCIsIlN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwicmVzdWx0IiwiTmV3VGFyZ2V0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImFyZ3VtZW50cyIsImFwcGx5IiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJzZWxmIiwiX3R5cGVvZiIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsInNoYW0iLCJQcm94eSIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiZ2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIkNvbnN0cnVjdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJfZGVmaW5lUHJvcGVydHkiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJOdW1iZXIiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJGIiwicyIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsInN0ZXAiLCJfZTIiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJsZW4iLCJhcnIyIiwicGFyc2VBcmdzIiwiYXJndiIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImRlc2NyaXB0aW9uIiwiZGVmYXVsdE9wdGlvbiIsIm11bHRpcGxlIiwidHlwZSIsInNlY3Rpb25zIiwiaGVhZGVyIiwiY29udGVudCIsIm9wdGlvbkxpc3QiLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwiY29uc29sZSIsImVycm9yIiwiaGVscCIsInVzYWdlIiwiY29tbWFuZExpbmVVc2FnZSIsIndhcm4iLCJlcVNldCIsImFzIiwiYnMiLCJzaXplIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJoYXMiLCJDb2RlMlBhdHRlcm4iLCJwYXR0ZXJuIiwiY2hpbGRyZW4iLCJfcGF0dGVybl8iLCJfbWF0Y2hfY291bnRfIiwiYXNzaWduIiwiQ29kZTJQYXR0ZXJuQ29tRm9uZCIsIl9Db2RlMlBhdHRlcm4iLCJfc3VwZXIiLCJMZWN0dXJlTWFwcGluZyIsIlNldCIsImFkZCIsImFjdGUiLCJjb2RlcyIsImNvZGVBY3RlIiwiZ2V0VHlwZSIsImxpYmVsbGVBY3RlIiwibm9tQ2Fub25pcXVlIiwibGliZWxsZSIsInJlbWFwIiwidHlwZXMiLCJtZXJnZUNvZGVzIiwiX2kiLCJfQXJyYXkkZnJvbSIsImMiLCJwcmludEFuY2hvcnMiLCJfaTIiLCJfQXJyYXkkZnJvbTIiLCJjb2RlIiwibG9nIiwiY29uY2F0IiwiZ2V0Q29kZXMiLCJqb2luIiwiaXNMZWN0dXJlIiwibWF0Y2giLCJjb2Rlc19sZWN0dXJlX3JlZ2V4cCIsIkVycm9yIiwibWFwIiwicmVwbGFjZSIsImdldENvZGVBY3RlIiwiUmVnRXhwIiwiY29kZXNfbGVjdHVyZSIsIkxlY3R1cmVNYXBwZXIiLCJtYXBwaW5nIiwiY29sbGVjdCIsImxlY3R1cmVzIiwiQWN0ZXNEb2N1bWVudGF0aW9uIiwic2FuaXR5Q2hlY2tzIiwidmVyYm9zZSIsImxlY3R1cmUiLCJDTVAiLCJDQyIsIlBST00iLCJBTjIxIiwiQU5MVU5JIiwiUsOpc29sdXRpb24iLCJBTjIwIiwiRVUiLCJJbW11bml0w6kiLCJwcm9jZWR1cmVzIiwiY29kZTJwYXR0ZXJuIiwid2Fsa0ZpbGVzIiwiZGF0YSIsImFjdGlvbiIsIl9pdGVyYXRvcjIiLCJnZXRGaWxlcyIsIl9zdGVwMiIsImZpbGUiLCJkb3NzaWVyIiwibG9hZCIsInByb2NlZHVyZSIsInJlbWFwUHJvY2VkdXJlIiwicHJvY2VkdXJlUGFybGVtZW50YWlyZSIsImFjdGVzTGVnaXNsYXRpZnMiLCJjb2xsZWN0RmlsZXMiLCJfdGhpcyIsIl9hY3RlcyIsIl9jMnAiLCJfcGFyZW50IiwicHJvY2Vzc0ZpbGVzIiwiX3RoaXMyIiwiYWN0ZXMiLCJjMnAiLCJwYXJlbnQiLCJtZXJnZSIsInZhbGlkYXRlIiwicmVtYXBBY3RlcyIsInJlc3VsdHMiLCJfaXRlcmF0b3IzIiwiX3N0ZXAzIiwibGVjdHVyZU1hcHBlciIsImNvbGxlY3RBY3RlcyIsIl9pdGVyYXRvcjQiLCJfc3RlcDQiLCJtZXJnZV9wcm9jZWR1cmVzIiwiTWFwIiwicmVtYXBwZWRQcm9jZWR1cmVzIiwiZ2V0Iiwib3JkZXJlZENvZGVzIiwib3JkZXJlZCIsIngiLCJhc3NlcnQiLCJ2YWxpZGF0ZUNocm9ub2xvZ3kiLCJzZXF1ZW5jZSIsIm1lcmdlQWN0ZSIsInNob3J0Q29kZSIsInhzaVR5cGUiLCJfaXRlcmF0b3I1IiwiX3N0ZXA1IiwiX2l0ZXJhdG9yNiIsIl9zdGVwNiIsInZhbGlkYXRlTGV2ZWwiLCJwYXRoIiwiX2kzIiwiX2FyciIsImVudHJpZXMiLCJfYXJyJF9pIiwicHJpbnRFbnRyeSIsImVudHJ5IiwidGl0bGUiLCJ1bmRlcmxpbmUiLCJhZGRBbmNob3JzIiwiYW5jaG9yc1ByaW50ZWQiLCJhbmNob3JzIiwicmVuYW1lQ01QIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwicHJpbnRMZXZlbCIsImtleXMiLCJfaXRlcmF0b3I3IiwiX3N0ZXA3Iiwic3Vic3RyaW5nIiwicHJpbnRDb2RlcyIsIl9pNCIsIl9PYmplY3Qka2V5cyIsInByaW50QW5jaG9yc0luZGV4IiwiX2k1IiwiX0FycmF5JGZyb20zIiwiZ2V0QWdncmVnYXRlZCIsInJlbWFwcGVkIiwicHJpbnQiLCJfaTYiLCJfYXJyMiIsIl9hcnIyJF9pIiwiYWdncmVnYXRlZCIsIm1haW4iLCJkb2MiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2RvY3VtZW50X2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBjb21tYW5kTGluZVVzYWdlIGZyb20gXCJjb21tYW5kLWxpbmUtdXNhZ2VcIlxuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcbmltcG9ydCB7IGxvYWQsIGdldEZpbGVzIH0gZnJvbSBcIi4uL2ZpbGVfc3lzdGVtc1wiXG5cbmZ1bmN0aW9uIHBhcnNlQXJncyhhcmd2OiBzdHJpbmdbXSk6IGFueSB7XG4gIGNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgICB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJwYXRobmFtZSB0byBhIEpTT04gZmlsZSBvciBhIGdsb2IgcGF0dGVybiB0byBKU09OIGZpbGVzXCIsXG4gICAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICBuYW1lOiBcImRhdGFcIixcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwibm8tc2FuaXR5LWNoZWNrc1wiLFxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkRvIG5vdCBwZXJmb3JtIHNhbml0eSBjaGVja3MuXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcInZlcmJvc2VcIixcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBkZXNjcmlwdGlvbjogXCJpbmNyZWFzZSB2ZXJib3NpdHlcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiaGVscFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUHJpbnQgdGhpcyB1c2FnZSBndWlkZS5cIixcbiAgICB9LFxuICBdXG4gIGNvbnN0IHNlY3Rpb25zID0gW1xuICAgIHtcbiAgICAgIGhlYWRlcjogXCJBaWRlIMOgIGxhIGRvY3VtZW50YXRpb24gZHUgZG9zc2llciBsw6lnaXNsYXRpZlwiLFxuICAgICAgY29udGVudDogXCJHw6luw6hyZSB1bmUgaGnDqXJhcmNoaWUgZGVzIGFjdGVzIGzDqWdpc2xhdGlmc1wiLFxuICAgIH0sXG4gICAge1xuICAgICAgaGVhZGVyOiBcIk9wdGlvbnNcIixcbiAgICAgIG9wdGlvbkxpc3Q6IG9wdGlvbnNEZWZpbml0aW9ucyxcbiAgICB9LFxuICBdXG4gIGNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zLCB7XG4gICAgYXJndjogYXJndixcbiAgfSlcbiAgaWYgKCEoXCJoZWxwXCIgaW4gb3B0aW9ucykgJiYgIShcImRhdGFcIiBpbiBvcHRpb25zKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCItLWRhdGEgaXMgbWFuZGF0b3J5XCIpXG4gICAgb3B0aW9ucy5oZWxwID0gdHJ1ZVxuICB9XG4gIGlmIChcImhlbHBcIiBpbiBvcHRpb25zKSB7XG4gICAgY29uc3QgdXNhZ2UgPSBjb21tYW5kTGluZVVzYWdlKHNlY3Rpb25zKVxuICAgIGNvbnNvbGUud2Fybih1c2FnZSlcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbmZ1bmN0aW9uIGVxU2V0KGFzOiBTZXQ8c3RyaW5nPiwgYnM6IFNldDxzdHJpbmc+KTogYm9vbGVhbiB7XG4gIGlmIChhcy5zaXplICE9PSBicy5zaXplKSByZXR1cm4gZmFsc2VcbiAgZm9yICh2YXIgYSBvZiBhcykgaWYgKCFicy5oYXMoYSkpIHJldHVybiBmYWxzZVxuICByZXR1cm4gdHJ1ZVxufVxuXG5jbGFzcyBDb2RlMlBhdHRlcm4ge1xuICBfcGF0dGVybl86IGFueVxuICBfbWF0Y2hfY291bnRfOiBudW1iZXJcbiAgY29uc3RydWN0b3IocGF0dGVybjogYW55LCBjaGlsZHJlbjogYW55KSB7XG4gICAgdGhpcy5fcGF0dGVybl8gPSBwYXR0ZXJuXG4gICAgdGhpcy5fbWF0Y2hfY291bnRfID0gMFxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgY2hpbGRyZW4pXG4gIH1cbn1cblxuY2xhc3MgQ29kZTJQYXR0ZXJuQ29tRm9uZCBleHRlbmRzIENvZGUyUGF0dGVybiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiXi9TQUlTSUUvKC9OT01JTi8pKigvUkVVTklPTi8pKigvUkFQUE9SVC8pKiRcIiwge30pXG4gIH1cbn1cblxuY2xhc3MgTGVjdHVyZU1hcHBpbmcge1xuICBsaWJlbGxlOiBhbnkgPSB7fVxuICBjb2RlczogYW55ID0gbmV3IFNldCgpXG5cbiAgc3RhdGljIGNvZGVzX2xlY3R1cmU6IHN0cmluZ1tdID0gW1xuICAgIFwiQU4xXCIsXG4gICAgXCJTTjFcIixcbiAgICBcIkFOTkxFQ1wiLFxuICAgIFwiU05OTEVDXCIsXG4gICAgXCJBTkxERUZcIixcbiAgICBcIkFOMlwiLFxuICAgIFwiU04yXCIsXG4gICAgXCJTTjNcIixcbiAgXVxuICBzdGF0aWMgY29kZXNfbGVjdHVyZV9yZWdleHA6IGFueSA9IG5ldyBSZWdFeHAoXG4gICAgXCJeKD86XCIgKyBMZWN0dXJlTWFwcGluZy5jb2Rlc19sZWN0dXJlLmpvaW4oXCJ8XCIpICsgXCIpKC0uKik/JFwiLFxuICApXG5cbiAgc3RhdGljIGlzTGVjdHVyZShhY3RlOiBhbnkpIHtcbiAgICByZXR1cm4gYWN0ZS5jb2RlQWN0ZS5tYXRjaChMZWN0dXJlTWFwcGluZy5jb2Rlc19sZWN0dXJlX3JlZ2V4cClcbiAgfVxuXG4gIHN0YXRpYyBnZXRUeXBlKGFjdGU6IGFueSkge1xuICAgIGlmIChhY3RlLmNvZGVBY3RlLm1hdGNoKC9eQU4vKSkgcmV0dXJuIFwiQU5cIlxuICAgIGVsc2UgaWYgKGFjdGUuY29kZUFjdGUubWF0Y2goL15TTi8pKSByZXR1cm4gXCJTTlwiXG4gICAgZWxzZSB0aHJvdyBFcnJvcihgJHthY3RlLmNvZGVBY3RlfSBkb2VzIG5vdCBzdGFydCB3aXRoIEFOIG9yIFNOYClcbiAgfVxuXG4gIHN0YXRpYyBtYXAoY29kZUFjdGU6IGFueSkge1xuICAgIHJldHVybiBjb2RlQWN0ZS5yZXBsYWNlKExlY3R1cmVNYXBwaW5nLmNvZGVzX2xlY3R1cmVfcmVnZXhwLCBgbGVjdHVyZSQxYClcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2RlQWN0ZShhY3RlOiBhbnkpIHtcbiAgICBpZiAoIUxlY3R1cmVNYXBwaW5nLmlzTGVjdHVyZShhY3RlKSkgcmV0dXJuXG5cbiAgICByZXR1cm4gTGVjdHVyZU1hcHBpbmcubWFwKGFjdGUuY29kZUFjdGUpXG4gIH1cblxuICBhZGQoYWN0ZTogYW55KSB7XG4gICAgdGhpcy5jb2Rlcy5hZGQoYWN0ZS5jb2RlQWN0ZSlcblxuICAgIGNvbnN0IHR5cGUgPSBMZWN0dXJlTWFwcGluZy5nZXRUeXBlKGFjdGUpXG5cbiAgICBpZiAoIShhY3RlLmxpYmVsbGVBY3RlLm5vbUNhbm9uaXF1ZSBpbiB0aGlzLmxpYmVsbGUpKVxuICAgICAgdGhpcy5saWJlbGxlW2FjdGUubGliZWxsZUFjdGUubm9tQ2Fub25pcXVlXSA9IG5ldyBTZXQoKVxuICAgIHRoaXMubGliZWxsZVthY3RlLmxpYmVsbGVBY3RlLm5vbUNhbm9uaXF1ZV0uYWRkKHR5cGUpXG4gIH1cblxuICByZW1hcChhY3RlOiBhbnksIGNvZGVBY3RlOiBzdHJpbmcpIHtcbiAgICBhY3RlLmNvZGVBY3RlID0gY29kZUFjdGVcblxuICAgIGxldCB0eXBlcyA9IHRoaXMubGliZWxsZVthY3RlLmxpYmVsbGVBY3RlLm5vbUNhbm9uaXF1ZV1cbiAgICBpZiAoISh0eXBlcy5oYXMoXCJTTlwiKSAmJiB0eXBlcy5oYXMoXCJBTlwiKSkpIHtcbiAgICAgIGlmICh0eXBlcy5oYXMoXCJTTlwiKSkgYWN0ZS5saWJlbGxlQWN0ZS5ub21DYW5vbmlxdWUgKz0gXCIgKFPDqW5hdClcIlxuICAgICAgZWxzZSBpZiAodHlwZXMuaGFzKFwiQU5cIikpXG4gICAgICAgIGFjdGUubGliZWxsZUFjdGUubm9tQ2Fub25pcXVlICs9IFwiIChBc3NlbWJsw6llIE5hdGlvbmFsZSlcIlxuICAgIH1cbiAgfVxuXG4gIG1lcmdlQ29kZXMoY29kZXM6IGFueSkge1xuICAgIGZvciAoY29uc3QgYyBvZiBBcnJheS5mcm9tKHRoaXMuY29kZXMpKSBjb2Rlcy5hZGQoYylcbiAgfVxuXG4gIHByaW50QW5jaG9ycygpIHtcbiAgICBmb3IgKGNvbnN0IGNvZGUgb2YgQXJyYXkuZnJvbSh0aGlzLmNvZGVzKSkgY29uc29sZS5sb2coYC4uIF8ke2NvZGV9OmApXG4gIH1cblxuICBnZXRDb2RlcygpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNvZGVzKS5qb2luKFwiLFwiKVxuICB9XG59XG5cbmNsYXNzIExlY3R1cmVNYXBwZXIge1xuICBtYXBwaW5nOiBhbnkgPSB7fVxuXG4gIGhhcyhjb2RlQWN0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvZGVBY3RlIGluIHRoaXMubWFwcGluZ1xuICB9XG5cbiAgY29sbGVjdChhY3RlOiBhbnkpIHtcbiAgICBjb25zdCBjb2RlQWN0ZSA9IExlY3R1cmVNYXBwaW5nLmdldENvZGVBY3RlKGFjdGUpXG4gICAgaWYgKGNvZGVBY3RlICE9IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGxlY3R1cmVzID0gdGhpcy5tYXBwaW5nXG4gICAgICBpZiAoIShjb2RlQWN0ZSBpbiBsZWN0dXJlcykpIGxlY3R1cmVzW2NvZGVBY3RlXSA9IG5ldyBMZWN0dXJlTWFwcGluZygpXG4gICAgICBsZWN0dXJlc1tjb2RlQWN0ZV0uYWRkKGFjdGUpXG4gICAgfVxuICB9XG5cbiAgcmVtYXAoYWN0ZTogYW55KSB7XG4gICAgY29uc3QgY29kZUFjdGUgPSBMZWN0dXJlTWFwcGluZy5nZXRDb2RlQWN0ZShhY3RlKVxuICAgIGlmIChjb2RlQWN0ZSAhPSB1bmRlZmluZWQpIHRoaXMubWFwcGluZ1tjb2RlQWN0ZV0ucmVtYXAoYWN0ZSwgY29kZUFjdGUpXG4gIH1cblxuICBtZXJnZUNvZGVzKGNvZGVzOiBhbnksIGNvZGVBY3RlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1hcHBpbmdbY29kZUFjdGVdLm1lcmdlQ29kZXMoY29kZXMpXG4gIH1cblxuICBwcmludEFuY2hvcnMoY29kZUFjdGU6IHN0cmluZykge1xuICAgIHRoaXMubWFwcGluZ1tjb2RlQWN0ZV0ucHJpbnRBbmNob3JzKClcbiAgfVxuXG4gIGdldENvZGVzKGNvZGVBY3RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5tYXBwaW5nW2NvZGVBY3RlXS5nZXRDb2RlcygpXG4gIH1cbn1cblxuY2xhc3MgQWN0ZXNEb2N1bWVudGF0aW9uIHtcbiAgdmVyYm9zZTogYm9vbGVhblxuICBzYW5pdHlDaGVja3M6IGJvb2xlYW5cbiAgbGVjdHVyZU1hcHBlcjogYW55ID0gbmV3IExlY3R1cmVNYXBwZXIoKVxuICByZW1hcHBlZFByb2NlZHVyZXM6IGFueSA9IHt9XG4gIGFuY2hvcnNQcmludGVkOiBhbnkgPSB7fVxuICBhbmNob3JzOiBhbnkgPSBuZXcgU2V0KClcbiAgY29kZXM6IGFueSA9IHt9XG4gIHByb2NlZHVyZXM6IGFueSA9IG51bGxcbiAgY29kZTJwYXR0ZXJuOiBhbnkgPSBuZXcgQ29kZTJQYXR0ZXJuKG51bGwsIHtcbiAgICBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICBcIl4oKCgvbGVjdHVyZS8pKyl8KCgvbGVjdHVyZS8pKy9DTVAvKC9sZWN0dXJlLykqKSkoL0NDLyk/KC9QUk9NLyk/KC9BTi1BUFBMSS8pPyRcIixcbiAgICAgIHtcbiAgICAgICAgbGVjdHVyZTogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICBcIl4oL0RFUE9ULyk/KC9EUFRMRVRUUkVDVC8pPygvRVRJLyk/KC9BVkNFLyk/KC9ER1ZULyk/KC9BQ0lOLyk/KC9NT1RJT04vKSooL1BST0NBQ0MvKT8oL0NPTS8pPygoL0RFQkFUUy8pKyk/KC9SVFJJTkkvKT8kXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJsZWN0dXJlLUNPTVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvRk9ORC98L0FWSVMvKSskXCIsIHtcbiAgICAgICAgICAgICAgXCJsZWN0dXJlLUNPTS1GT05EXCI6IG5ldyBDb2RlMlBhdHRlcm5Db21Gb25kKCksXG4gICAgICAgICAgICAgIFwibGVjdHVyZS1DT00tQVZJU1wiOiBuZXcgQ29kZTJQYXR0ZXJuQ29tRm9uZCgpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBcImxlY3R1cmUtREVCQVRTXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgICAgIFwiXigvU0VBTkNFLykqKCgvTU9USU9OLyk/KC9NT1RJT04tVk9URS8pKyk/KC9ERUMvKT8kXCIsXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICApLFxuICAgICAgICBDTVA6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgXCJeKC9ERVBPVC98L1NBSVNJRS8pezEsMn0oL0NPTS8pPygvREVDLyk/KC9ERUJBVFMtQU4vL0RFQkFUUy1TTi8pP1wiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiQ01QLUNPTVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgICAgICAgICBcIl4oL05PTUlOLyk/KC9SQVBQT1JULUFOL3wvUkFQUE9SVC1TTi8pezJ9JFwiLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBcIkNNUC1ERUJBVFMtQU5cIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1NFQU5DRS8pKigvREVDLyk/JFwiLCB7fSksXG4gICAgICAgICAgICBcIkNNUC1ERUJBVFMtU05cIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1NFQU5DRS8pKigvREVDLyk/JFwiLCB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgKSxcbiAgICAgICAgQ0M6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9TQUlTSUUvKSsoL0NPTkNMVVNJT04vKT8kXCIsIHt9KSxcbiAgICAgICAgUFJPTTogbmV3IENvZGUyUGF0dGVybihcIl4oL1BVQi8pPyRcIiwge30pLFxuICAgICAgICBcIkFOLUFQUExJXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9SQVBQT1JULyk/JFwiLCB7fSksXG4gICAgICB9LFxuICAgICksXG4gICAgXCJBbGxvY3V0aW9uIGR1IFByw6lzaWRlbnQgZGUgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgXCJeL0FOMjEvJFwiLFxuICAgICAge1xuICAgICAgICBBTjIxOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvQVBBTi8pPyRcIiwge30pLFxuICAgICAgfSxcbiAgICApLFxuICAgIFwiUsOpc29sdXRpb24gQXJ0aWNsZSAzNC0xXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9BTkxVTkkvKT8kXCIsIHtcbiAgICAgIEFOTFVOSTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFUE9ULyk/KC9ERUJBVFMvKT8oL1JUUklOSS8pPyRcIiwge1xuICAgICAgICBcIkFOTFVOSS1ERUJBVFNcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1NFQU5DRS8pKygvREVDLyk/JFwiLCB7fSksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBSw6lzb2x1dGlvbjogbmV3IENvZGUyUGF0dGVybihcIl4oL0FOTFVOSS8pPygvQ0MvKT8kXCIsIHtcbiAgICAgIEFOTFVOSTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFUE9ULyk/KC9DT00vKT8oL0RFQkFUUy98L1JUUklOSS8pPyRcIiwge1xuICAgICAgICBcIkFOTFVOSS1DT01cIjogbmV3IENvZGUyUGF0dGVybihcIl4oL0NBRS8pPygvRk9ORC8pPyRcIiwge1xuICAgICAgICAgIFwiQU5MVU5JLUNPTS1GT05EXCI6IG5ldyBDb2RlMlBhdHRlcm5Db21Gb25kKCksXG4gICAgICAgICAgXCJBTkxVTkktQ09NLUNBRVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgICAgICAgXCJeKC9TQUlTSUUvKT8oL05PTUlOLyk/KC9SRVVOSU9OLyk/KC9SQVBQT1JULyk/KC9ERUMvKT8kXCIsXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApLFxuICAgICAgICB9KSxcbiAgICAgICAgXCJBTkxVTkktREVCQVRTXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9TRUFOQ0UvKSooL0RFQy8pPyRcIiwge30pLFxuICAgICAgfSksXG4gICAgICBDQzogbmV3IENvZGUyUGF0dGVybihcIl4oL1NBSVNJRS8pPygvQ09OQ0xVU0lPTi8pPyRcIiwge30pLFxuICAgIH0pLFxuICAgIFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uIHNhbnMgbWlzc2lvblwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgXCJeKC9BTjIwLyk/KC9FVS8pPyRcIixcbiAgICAgIHtcbiAgICAgICAgQU4yMDogbmV3IENvZGUyUGF0dGVybihcIl4oL1JBUFBPUlQvKT8kXCIsIHt9KSxcbiAgICAgICAgRVU6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9ERUMvKSskXCIsIHt9KSxcbiAgICAgIH0sXG4gICAgKSxcbiAgICBcIk1pc3Npb24gZCdpbmZvcm1hdGlvblwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvQU4yMC8pPyRcIiwge1xuICAgICAgQU4yMDogbmV3IENvZGUyUGF0dGVybihcIl4oL01JU0lORi8pPyRcIiwge1xuICAgICAgICBcIkFOMjAtTUlTSU5GXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgXCJeKC9DUkVBLyk/KC9OT01JTi8pPygvUkFQUE9SVC8pPyRcIixcbiAgICAgICAgICB7fSxcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIFwiQ29tbWlzc2lvbiBkJ2VucXXDqnRlXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9BTjIwLyk/JFwiLCB7XG4gICAgICBBTjIwOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvQ09NRU5RLyk/JFwiLCB7XG4gICAgICAgIFwiQU4yMC1DT01FTlFcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICBcIl4oL0NSRUEvKT8oL05PTUlOLyk/KC9SQVBQT1JULyk/JFwiLFxuICAgICAgICAgIHt9LFxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgfSksXG4gICAgXCJFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgIFwiXi9BTjIxLyRcIixcbiAgICAgIHtcbiAgICAgICAgQU4yMTogbmV3IENvZGUyUGF0dGVybihcIl4oKCgvTU9USU9OLykqL0RFQkFUUy8pfCgvREdWVC8pKXsxLDJ9JFwiLCB7XG4gICAgICAgICAgXCJBTjIxLURFQkFUU1wiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvU0VBTkNFLykqKC9NT1RJT04tVk9URS8pKiRcIiwge30pLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgKSxcbiAgICBcIk1vdGlvbiByw6lmw6lyZW5kYWlyZVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvbGVjdHVyZS8pKyRcIiwge1xuICAgICAgbGVjdHVyZTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFUE9ULyk/KC9DT00vKT8oL0RFQkFUUy8pPyRcIiwge1xuICAgICAgICBcImxlY3R1cmUtQ09NXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9GT05ELyk/JFwiLCB7XG4gICAgICAgICAgXCJsZWN0dXJlLUNPTS1GT05EXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgICBcIl4oL1NBSVNJRS8pPygvTk9NSU4vKSooL1JBUFBPUlQvKSokXCIsXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApLFxuICAgICAgICB9KSxcbiAgICAgICAgXCJsZWN0dXJlLURFQkFUU1wiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVDLyk/JFwiLCB7fSksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBJbW11bml0w6k6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9BTkxVTkkvKSskXCIsIHtcbiAgICAgIEFOTFVOSTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFUE9ULyk/KC9DT00vKT8oL0RFQkFUUy8pPygvUlRSSU5JLyk/JFwiLCB7XG4gICAgICAgIFwiQU5MVU5JLUNPTVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvRk9ORC8pPyRcIiwge1xuICAgICAgICAgIFwiQU5MVU5JLUNPTS1GT05EXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgICBcIl4oL1NBSVNJRS8pPygvTk9NSU4vKSooL1JBUFBPUlQvKSokXCIsXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApLFxuICAgICAgICB9KSxcbiAgICAgICAgXCJBTkxVTkktREVCQVRTXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9TRUFOQ0UvKT8oL0RFQy8pJFwiLCB7fSksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBcIlJlc3BvbnNhYmlsaXTDqSBww6luYWxlIGR1IHByw6lzaWRlbnQgZGUgbGEgcsOpcHVibGlxdWVcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgIFwiXi9sZWN0dXJlLyRcIixcbiAgICAgIHtcbiAgICAgICAgbGVjdHVyZTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFUE9ULyk/KC9SRUNCVVJFQVUvKT8kXCIsIHt9KSxcbiAgICAgIH0sXG4gICAgKSxcbiAgICBcIlByb3Bvc2l0aW9uIGRlIGxvaSBwcsOpc2VudMOpZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTEgZGUgbGEgQ29uc3RpdHV0aW9uXCI6XG4gICAgICBuZXcgQ29kZTJQYXR0ZXJuKFwiXi9sZWN0dXJlLyRcIiwge1xuICAgICAgICBsZWN0dXJlOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8kXCIsIHt9KSxcbiAgICAgIH0pLFxuICB9KVxuXG4gIGNvbnN0cnVjdG9yKHNhbml0eUNoZWNrczogYm9vbGVhbiwgdmVyYm9zZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgdGhpcy52ZXJib3NlID0gdmVyYm9zZVxuICAgIHRoaXMuc2FuaXR5Q2hlY2tzID0gc2FuaXR5Q2hlY2tzXG4gICAgdGhpcy5wcm9jZWR1cmVzID0ge31cbiAgICB0aGlzLmNvZGUycGF0dGVybi5fbWF0Y2hfY291bnRfKytcbiAgfVxuXG4gIHdhbGtGaWxlcyhkYXRhOiBzdHJpbmdbXSwgYWN0aW9uOiBhbnkpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZ2V0RmlsZXMoZGF0YSkpIHtcbiAgICAgIGNvbnN0IGRvc3NpZXIgPSBsb2FkKGZpbGUpXG4gICAgICBsZXQgcHJvY2VkdXJlOiBzdHJpbmcgPSB0aGlzLnJlbWFwUHJvY2VkdXJlKFxuICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUubGliZWxsZSxcbiAgICAgIClcbiAgICAgIGlmICghKHByb2NlZHVyZSBpbiB0aGlzLnByb2NlZHVyZXMpKSB0aGlzLnByb2NlZHVyZXNbcHJvY2VkdXJlXSA9IHt9XG4gICAgICBhY3Rpb24oXG4gICAgICAgIHRoaXMucHJvY2VkdXJlc1twcm9jZWR1cmVdLFxuICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMsXG4gICAgICAgIHRoaXMuY29kZTJwYXR0ZXJuW3Byb2NlZHVyZV0sXG4gICAgICAgIG51bGwsXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY29sbGVjdEZpbGVzKGRhdGE6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy53YWxrRmlsZXMoXG4gICAgICBkYXRhLFxuICAgICAgKF9hY3RlczogYW55LCBhY3Rlc0xlZ2lzbGF0aWZzOiBhbnksIF9jMnA6IGFueSwgX3BhcmVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuY29sbGVjdChhY3Rlc0xlZ2lzbGF0aWZzKVxuICAgICAgfSxcbiAgICApXG4gIH1cblxuICBwcm9jZXNzRmlsZXMoZGF0YTogc3RyaW5nW10pIHtcbiAgICB0aGlzLndhbGtGaWxlcyhcbiAgICAgIGRhdGEsXG4gICAgICAoYWN0ZXM6IGFueSwgYWN0ZXNMZWdpc2xhdGlmczogYW55LCBjMnA6IGFueSwgcGFyZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5tZXJnZShhY3RlcywgYWN0ZXNMZWdpc2xhdGlmcywgYzJwLCBwYXJlbnQpXG4gICAgICB9LFxuICAgIClcbiAgICBpZiAodGhpcy5zYW5pdHlDaGVja3MpIHRoaXMudmFsaWRhdGUoKVxuICB9XG5cbiAgcmVtYXBBY3RlcyhhY3RlczogYW55KTogYW55IHtcbiAgICBsZXQgcmVzdWx0cyA9IFtdXG4gICAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgICB0aGlzLmxlY3R1cmVNYXBwZXIucmVtYXAoYWN0ZSlcblxuICAgICAgLy8gQ0MtU0FJU0lFLSBzdWZmaXggZG9lcyBub3QgaW1wbHkgYSBoaWVyYXJjaHlcbiAgICAgIGFjdGUuY29kZUFjdGUgPSBhY3RlLmNvZGVBY3RlLnJlcGxhY2UoL15DQy1TQUlTSUUuKi8sIFwiQ0MtU0FJU0lFXCIpXG5cbiAgICAgIHJlc3VsdHMucHVzaChhY3RlKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgY29sbGVjdEFjdGVzKGFjdGVzOiBhbnkpOiBhbnkge1xuICAgIGxldCByZXN1bHRzID0gW11cbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgYWN0ZXMpIHtcbiAgICAgIHRoaXMubGVjdHVyZU1hcHBlci5jb2xsZWN0KGFjdGUpXG5cbiAgICAgIHJlc3VsdHMucHVzaChhY3RlKVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgcmVtYXBQcm9jZWR1cmUocHJvY2VkdXJlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1lcmdlX3Byb2NlZHVyZXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKFtcbiAgICAgIFtcIlByb3Bvc2l0aW9uIGRlIGxvaSBvcmRpbmFpcmVcIiwgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiXSxcbiAgICAgIFtcIlByb2pldCBkZSBsb2kgb3JkaW5haXJlXCIsIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIl0sXG4gICAgICBbXG4gICAgICAgIFwiUHJvamV0IGRlIHJhdGlmaWNhdGlvbiBkZXMgdHJhaXTDqXMgZXQgY29udmVudGlvbnNcIixcbiAgICAgICAgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiLFxuICAgICAgXSxcbiAgICAgIFtcIlByb2pldCBvdSBwcm9wb3NpdGlvbiBkZSBsb2kgb3JnYW5pcXVlXCIsIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIl0sXG4gICAgICBbXG4gICAgICAgIFwiUHJvamV0IG91IHByb3Bvc2l0aW9uIGRlIGxvaSBjb25zdGl0dXRpb25uZWxsZVwiLFxuICAgICAgICBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCIsXG4gICAgICBdLFxuICAgICAgW1wiUHJvamV0IGRlIGxvaSBkZSBmaW5hbmNlcyBkZSBsJ2FubsOpZVwiLCBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCJdLFxuICAgICAgW1wiUHJvamV0IGRlIGxvaSBkZSBmaW5hbmNlcyByZWN0aWZpY2F0aXZlXCIsIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIl0sXG4gICAgICBbXG4gICAgICAgIFwiUHJvamV0IGRlIGxvaSBkZSBmaW5hbmNlbWVudCBkZSBsYSBzw6ljdXJpdMOpIHNvY2lhbGVcIixcbiAgICAgICAgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiLFxuICAgICAgXSxcbiAgICBdKVxuICAgIGlmIChtZXJnZV9wcm9jZWR1cmVzLmhhcyhwcm9jZWR1cmUpKSB7XG4gICAgICB0aGlzLnJlbWFwcGVkUHJvY2VkdXJlc1twcm9jZWR1cmVdID0gbnVsbFxuICAgICAgcmV0dXJuIG1lcmdlX3Byb2NlZHVyZXMuZ2V0KHByb2NlZHVyZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHByb2NlZHVyZVxuICAgIH1cbiAgfVxuXG4gIC8vIHJldHVybiB0aGUgY29kZUFjdGVzIGluIHRoZSBzYW1lIG9yZGVyIHRoZXkgYXBwZWFyIGluIHRoZSByZWdleHBcbiAgb3JkZXJlZENvZGVzKGNvZGVzOiBhbnksIGMycDogYW55LCBwYXJlbnQ6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICBjb2RlcyA9IG5ldyBTZXQoY29kZXMpXG4gICAgaWYgKCF0aGlzLnNhbml0eUNoZWNrcykgcmV0dXJuIGNvZGVzXG4gICAgbGV0IG9yZGVyZWQgPSBjMnBbXCJfcGF0dGVybl9cIl0ubWF0Y2gobmV3IFJlZ0V4cChcIi8uKj8vXCIsIFwiZ1wiKSlcbiAgICBvcmRlcmVkID0gb3JkZXJlZC5tYXAoKHg6IHN0cmluZykgPT4geC5yZXBsYWNlKG5ldyBSZWdFeHAoXCIvKC4qKS9cIiksIFwiJDFcIikpXG4gICAgaWYgKHBhcmVudCAhPSBudWxsKSBvcmRlcmVkID0gb3JkZXJlZC5tYXAoKHg6IHN0cmluZykgPT4gYCR7cGFyZW50fS0ke3h9YClcbiAgICBvcmRlcmVkID0gbmV3IFNldChvcmRlcmVkKVxuICAgIGFzc2VydChlcVNldChvcmRlcmVkLCBjb2RlcyksIGAke1suLi5vcmRlcmVkXX0gIT0gJHtbLi4uY29kZXNdfWApXG4gICAgcmV0dXJuIG9yZGVyZWRcbiAgfVxuXG4gIHZhbGlkYXRlQ2hyb25vbG9neShhY3Rlc0xlZ2lzbGF0aWZzOiBhbnksIGMycDogYW55LCBwYXJlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHBhdHRlcm4gPSBjMnBbXCJfcGF0dGVybl9cIl1cbiAgICBjb25zdCBzZXF1ZW5jZSA9IGFjdGVzTGVnaXNsYXRpZnNcbiAgICAgIC5tYXAoKHg6IGFueSkgPT4gYC8ke3guY29kZUFjdGV9L2AucmVwbGFjZShgLyR7cGFyZW50fS1gLCBcIi9cIikpXG4gICAgICAuam9pbihcIlwiKVxuICAgIGFzc2VydChcbiAgICAgIHNlcXVlbmNlLm1hdGNoKG5ldyBSZWdFeHAocGF0dGVybikpLFxuICAgICAgYCR7cGF0dGVybn0gZG9lcyBub3QgbWF0Y2ggJHtzZXF1ZW5jZX1gLFxuICAgIClcbiAgICBjMnAuX21hdGNoX2NvdW50XysrXG4gIH1cblxuICBtZXJnZUFjdGUoYWN0ZXM6IGFueSwgYWN0ZTogYW55LCBjMnA6IGFueSwgcGFyZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgY29kZTogc3RyaW5nID0gYWN0ZS5jb2RlQWN0ZVxuICAgIGxldCBzaG9ydENvZGU6IHN0cmluZyA9IGNvZGUucmVwbGFjZShuZXcgUmVnRXhwKGBeJHtwYXJlbnR9LWApLCBcIlwiKVxuICAgIHNob3J0Q29kZSA9IHNob3J0Q29kZS5yZXBsYWNlKC8tKEFOfFNOKSQvLCBcIlwiKVxuICAgIHRoaXMuY29kZXNbc2hvcnRDb2RlXSA9IG51bGxcbiAgICBsZXQgbmFtZTogc3RyaW5nID0gYWN0ZS5saWJlbGxlQWN0ZS5ub21DYW5vbmlxdWVcbiAgICBpZiAoIShjb2RlIGluIGFjdGVzKSkge1xuICAgICAgYWN0ZXNbY29kZV0gPSB7XG4gICAgICAgIHR5cGU6IGFjdGUueHNpVHlwZSxcbiAgICAgICAgbmFtZTogbmV3IFNldChbbmFtZV0pLFxuICAgICAgICBzaG9ydENvZGU6IHNob3J0Q29kZSxcbiAgICAgICAgYWN0ZXM6IHt9LFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rlc1tjb2RlXS5uYW1lLmFkZChuYW1lKVxuICAgIH1cbiAgICBpZiAoXCJhY3Rlc0xlZ2lzbGF0aWZzXCIgaW4gYWN0ZSlcbiAgICAgIHRoaXMubWVyZ2UoYWN0ZXNbY29kZV0uYWN0ZXMsIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcywgYzJwW2NvZGVdLCBjb2RlKVxuICB9XG5cbiAgbWVyZ2UoYWN0ZXM6IGFueSwgYWN0ZXNMZWdpc2xhdGlmczogYW55LCBjMnA6IGFueSwgcGFyZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBsID0gdGhpcy5yZW1hcEFjdGVzKGFjdGVzTGVnaXNsYXRpZnMpXG4gICAgdGhpcy52YWxpZGF0ZUNocm9ub2xvZ3kobCwgYzJwLCBwYXJlbnQpXG4gICAgZm9yIChjb25zdCBhY3RlIG9mIGwpIHRoaXMubWVyZ2VBY3RlKGFjdGVzLCBhY3RlLCBjMnAsIHBhcmVudClcbiAgfVxuXG4gIGNvbGxlY3QoYWN0ZXNMZWdpc2xhdGlmczogYW55KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBhY3RlIG9mIHRoaXMuY29sbGVjdEFjdGVzKGFjdGVzTGVnaXNsYXRpZnMpKVxuICAgICAgaWYgKFwiYWN0ZXNMZWdpc2xhdGlmc1wiIGluIGFjdGUpIHRoaXMuY29sbGVjdChhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gIH1cblxuICB2YWxpZGF0ZUxldmVsKGMycDogYW55LCBwYXRoOiBhbnkpIHtcbiAgICBhc3NlcnQoYzJwLl9tYXRjaF9jb3VudF8gPiAwLCBgJHtwYXRofSBpcyBuZXZlciB1c2VkYClcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhjMnApIGFzIFtzdHJpbmcsIGFueV1bXSkge1xuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUuY29uc3RydWN0b3IubmFtZSA9PSBcIkNvZGUyUGF0dGVyblwiKVxuICAgICAgICB0aGlzLnZhbGlkYXRlTGV2ZWwodmFsdWUsIHBhdGguY29uY2F0KFtrZXldKSlcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZSgpIHtcbiAgICB0aGlzLnZhbGlkYXRlTGV2ZWwodGhpcy5jb2RlMnBhdHRlcm4sIFtdKVxuICB9XG5cbiAgcHJpbnRFbnRyeShzZWN0aW9uczogc3RyaW5nLCBlbnRyeTogc3RyaW5nLCBjb2Rlczogc3RyaW5nKSB7XG4gICAgY29uc3QgdGl0bGUgPSBgXFxgJHtlbnRyeX1cXGBfX2BcbiAgICBjb25zb2xlLmxvZyh0aXRsZSlcbiAgICBjb25zdCB1bmRlcmxpbmUgPSBuZXcgQXJyYXkodGl0bGUubGVuZ3RoICsgMSkuam9pbihzZWN0aW9uc1swXSlcbiAgICBjb25zb2xlLmxvZyh1bmRlcmxpbmUpXG4gICAgY29uc29sZS5sb2coY29kZXMpXG4gIH1cblxuICBhZGRBbmNob3JzKGtleTogc3RyaW5nKSB7XG4gICAgaWYgKGtleSBpbiB0aGlzLmFuY2hvcnNQcmludGVkKSByZXR1cm5cbiAgICBpZiAodGhpcy5sZWN0dXJlTWFwcGVyLmhhcyhrZXkpKVxuICAgICAgdGhpcy5sZWN0dXJlTWFwcGVyLm1lcmdlQ29kZXModGhpcy5hbmNob3JzLCBrZXkpXG4gICAgZWxzZSB0aGlzLmFuY2hvcnMuYWRkKGtleSlcbiAgfVxuXG4gIHByaW50QW5jaG9ycyhrZXk6IHN0cmluZykge1xuICAgIGlmIChrZXkgaW4gdGhpcy5hbmNob3JzUHJpbnRlZCkgcmV0dXJuXG4gICAgdGhpcy5hbmNob3JzUHJpbnRlZFtrZXldID0gbnVsbFxuICAgIGlmICh0aGlzLmxlY3R1cmVNYXBwZXIuaGFzKGtleSkpIHRoaXMubGVjdHVyZU1hcHBlci5wcmludEFuY2hvcnMoa2V5KVxuICAgIGVsc2UgY29uc29sZS5sb2coYC4uIF8ke2tleX06YClcbiAgfVxuXG4gIGdldENvZGVzKGtleTogc3RyaW5nLCBzaG9ydENvZGU6IHN0cmluZykge1xuICAgIGlmIChrZXkgaW4gdGhpcy5hbmNob3JzUHJpbnRlZCkgcmV0dXJuIGBjZiBcXFxcKiR7c2hvcnRDb2RlfVxcXFwqYFxuICAgIGlmICh0aGlzLmxlY3R1cmVNYXBwZXIuaGFzKGtleSkpIHJldHVybiB0aGlzLmxlY3R1cmVNYXBwZXIuZ2V0Q29kZXMoa2V5KVxuICAgIGVsc2UgcmV0dXJuIGtleVxuICB9XG5cbiAgcmVuYW1lQ01QKGtleTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoXCJDTVBcIikpIHtcbiAgICAgIGlmIChrZXkuZW5kc1dpdGgoXCItU05cIikpIHJldHVybiBgJHtuYW1lfSAoU8OpbmF0KWBcbiAgICAgIGVsc2UgaWYgKGtleS5lbmRzV2l0aChcIi1BTlwiKSkgcmV0dXJuIGAke25hbWV9IChBc3NlbWJsw6llIE5hdGlvbmFsZSlgXG4gICAgICBlbHNlIHJldHVybiBuYW1lXG4gICAgfSBlbHNlIHJldHVybiBuYW1lXG4gIH1cblxuICBwcmludExldmVsKGFjdGVzOiBhbnksIHNlY3Rpb25zOiBzdHJpbmcsIGMycDogYW55LCBwYXJlbnQ6IGFueSkge1xuICAgIGNvbnN0IGtleXM6IFNldDxzdHJpbmc+ID0gdGhpcy5vcmRlcmVkQ29kZXMoT2JqZWN0LmtleXMoYWN0ZXMpLCBjMnAsIHBhcmVudClcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGFjdGVzW2tleV1cbiAgICAgIGxldCBuYW1lID0gQXJyYXkuZnJvbSh2YWx1ZS5uYW1lKS5qb2luKFwiLCBcIilcbiAgICAgIG5hbWUgPSB0aGlzLnJlbmFtZUNNUChrZXksIG5hbWUpXG4gICAgICBjb25zdCBjb2RlcyA9IHRoaXMuZ2V0Q29kZXMoa2V5LCB2YWx1ZS5zaG9ydENvZGUpXG4gICAgICB0aGlzLmFkZEFuY2hvcnMoa2V5KVxuICAgICAgdGhpcy5wcmludEFuY2hvcnMoa2V5KVxuICAgICAgY29uc29sZS5sb2coXCJcIilcbiAgICAgIHRoaXMucHJpbnRFbnRyeShzZWN0aW9ucywgYCR7bmFtZX0gPCR7dmFsdWUuc2hvcnRDb2RlfVRPQ18+YCwgY29kZXMpXG4gICAgICBjb25zb2xlLmxvZyhcIlwiKVxuICAgICAgaWYgKE9iamVjdC5rZXlzKHZhbHVlLmFjdGVzKS5sZW5ndGggPiAwKVxuICAgICAgICB0aGlzLnByaW50TGV2ZWwodmFsdWUuYWN0ZXMsIHNlY3Rpb25zLnN1YnN0cmluZygxKSwgYzJwW2tleV0sIGtleSlcbiAgICB9XG4gIH1cblxuICBwcmludENvZGVzKCkge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuY29kZXMpKVxuICAgICAgY29uc29sZS5sb2coYC4uIF8ke2tleX1UT0M6IGh0dHA6Ly9gKVxuICB9XG5cbiAgcHJpbnRBbmNob3JzSW5kZXgoKSB7XG4gICAgZm9yIChjb25zdCBjb2RlIG9mIEFycmF5LmZyb20odGhpcy5hbmNob3JzKSlcbiAgICAgIGNvbnNvbGUubG9nKGAqIDpyZWY6XFxgJHtjb2RlfSA8JHtjb2RlfT5cXGBgKVxuICB9XG5cbiAgZ2V0QWdncmVnYXRlZChwcm9jZWR1cmU6IHN0cmluZykge1xuICAgIGlmIChwcm9jZWR1cmUgPT0gXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiKSB7XG4gICAgICBjb25zdCByZW1hcHBlZCA9IE9iamVjdC5rZXlzKHRoaXMucmVtYXBwZWRQcm9jZWR1cmVzKS5qb2luKFwiLCBcIilcbiAgICAgIHJldHVybiBgIChhZ3LDqWdhdGlvbiBkZSAke3JlbWFwcGVkfSlgXG4gICAgfSBlbHNlIHJldHVybiBcIlwiXG4gIH1cblxuICBwcmludCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuY2hvcnNQcmludGVkID0ge31cbiAgICBmb3IgKGNvbnN0IFtrZXksIGFjdGVzXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnByb2NlZHVyZXMpIGFzIFtcbiAgICAgIHN0cmluZyxcbiAgICAgIGFueSxcbiAgICBdW10pIHtcbiAgICAgIGNvbnN0IGNvZGUgPSBrZXkucmVwbGFjZSgvICsvZywgXCJfXCIpXG4gICAgICB0aGlzLmNvZGVzW2NvZGVdID0gbnVsbFxuICAgICAgY29uc3QgYWdncmVnYXRlZCA9IHRoaXMuZ2V0QWdncmVnYXRlZChrZXkpXG4gICAgICBjb25zdCB0aXRsZSA9IGBcXGAke2tleX0gPCR7Y29kZX1UT0NfPlxcYF9fJHthZ2dyZWdhdGVkfWBcbiAgICAgIGNvbnNvbGUubG9nKHRpdGxlKVxuICAgICAgY29uc3QgdW5kZXJsaW5lID0gbmV3IEFycmF5KHRpdGxlLmxlbmd0aCArIDEpLmpvaW4oXCI9XCIpXG4gICAgICBjb25zb2xlLmxvZyh1bmRlcmxpbmUpXG4gICAgICB0aGlzLnByaW50TGV2ZWwoYWN0ZXMsIFwiLX4uJ1wiLCB0aGlzLmNvZGUycGF0dGVybltrZXldLCBudWxsKVxuICAgIH1cbiAgICB0aGlzLnByaW50Q29kZXMoKVxuICAgIHRoaXMucHJpbnRBbmNob3JzSW5kZXgoKVxuICB9XG59XG5cbmZ1bmN0aW9uIG1haW4oYXJndjogYW55KTogbnVtYmVyIHtcbiAgY29uc3Qgb3B0aW9ucyA9IHBhcnNlQXJncyhhcmd2KVxuICBpZiAob3B0aW9ucyA9PT0gbnVsbCkgcmV0dXJuIDFcbiAgbGV0IGRvYyA9IG5ldyBBY3Rlc0RvY3VtZW50YXRpb24oXG4gICAgIW9wdGlvbnNbXCJuby1zYW5pdHktY2hlY2tzXCJdLFxuICAgIG9wdGlvbnMudmVyYm9zZSxcbiAgKVxuICBkb2MuY29sbGVjdEZpbGVzKG9wdGlvbnMuZGF0YSlcbiAgZG9jLnByb2Nlc3NGaWxlcyhvcHRpb25zLmRhdGEpXG4gIGRvYy5wcmludCgpXG4gIHJldHVybiAwXG59XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKHByb2Nlc3MuYXJndlsxXS5lbmRzV2l0aChcImRvY3VtZW50X2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzXCIpKVxuICBwcm9jZXNzLmV4aXQobWFpbihwcm9jZXNzLmFyZ3YpKVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxnQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUFnRCxJQUFBSSxPQUFBO0FBQUEsU0FBQUwsdUJBQUFNLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxnQkFBQUEsR0FBQTtBQUFBLFNBQUFFLGVBQUFDLEdBQUEsRUFBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFGLEdBQUEsS0FBQUcscUJBQUEsQ0FBQUgsR0FBQSxFQUFBQyxDQUFBLEtBQUFHLDJCQUFBLENBQUFKLEdBQUEsRUFBQUMsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBSCxzQkFBQUksQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsV0FBQUYsQ0FBQSxnQ0FBQUcsTUFBQSxJQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLDRCQUFBRSxDQUFBLFFBQUFHLENBQUEsRUFBQUMsQ0FBQSxFQUFBWixDQUFBLEVBQUFhLENBQUEsRUFBQUMsQ0FBQSxPQUFBQyxDQUFBLE9BQUFDLENBQUEsaUJBQUFoQixDQUFBLElBQUFRLENBQUEsR0FBQUEsQ0FBQSxDQUFBUyxJ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
|
|
659
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVVc2FnZSIsIl9hc3NlcnQiLCJfZmlsZV9zeXN0ZW1zIiwiX2NsYXNzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwiciIsImwiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJlIiwibiIsInUiLCJhIiwiZiIsIm8iLCJjYWxsIiwibmV4dCIsIk9iamVjdCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiaXRlciIsImZyb20iLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsInByb3RvdHlwZSIsImNyZWF0ZSIsImNvbnN0cnVjdG9yIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJkZWZpbmVQcm9wZXJ0eSIsIl9zZXRQcm90b3R5cGVPZiIsInAiLCJzZXRQcm90b3R5cGVPZiIsImJpbmQiLCJfX3Byb3RvX18iLCJfY3JlYXRlU3VwZXIiLCJEZXJpdmVkIiwiaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJfY3JlYXRlU3VwZXJJbnRlcm5hbCIsIlN1cGVyIiwiX2dldFByb3RvdHlwZU9mIiwicmVzdWx0IiwiTmV3VGFyZ2V0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImFyZ3VtZW50cyIsImFwcGx5IiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4iLCJzZWxmIiwiX3R5cGVvZiIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJSZWZlcmVuY2VFcnJvciIsInNoYW0iLCJQcm94eSIsIkJvb2xlYW4iLCJ2YWx1ZU9mIiwiZ2V0UHJvdG90eXBlT2YiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIkNvbnN0cnVjdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJfZGVmaW5lUHJvcGVydHkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsIk51bWJlciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkYiLCJzIiwiX2UiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwic3RlcCIsIl9lMiIsIm1pbkxlbiIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsImxlbiIsImFycjIiLCJwYXJzZUFyZ3MiLCJhcmd2Iiwib3B0aW9uc0RlZmluaXRpb25zIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0T3B0aW9uIiwibXVsdGlwbGUiLCJ0eXBlIiwic2VjdGlvbnMiLCJoZWFkZXIiLCJjb250ZW50Iiwib3B0aW9uTGlzdCIsIm9wdGlvbnMiLCJjb21tYW5kTGluZUFyZ3MiLCJjb25zb2xlIiwiZXJyb3IiLCJoZWxwIiwidXNhZ2UiLCJjb21tYW5kTGluZVVzYWdlIiwid2FybiIsImVxU2V0IiwiYXMiLCJicyIsInNpemUiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImhhcyIsIkNvZGUyUGF0dGVybiIsInBhdHRlcm4iLCJjaGlsZHJlbiIsIl9wYXR0ZXJuXyIsIl9tYXRjaF9jb3VudF8iLCJhc3NpZ24iLCJDb2RlMlBhdHRlcm5Db21Gb25kIiwiX0NvZGUyUGF0dGVybiIsIl9zdXBlciIsIkxlY3R1cmVNYXBwaW5nIiwiU2V0IiwiYWRkIiwiYWN0ZSIsImNvZGVzIiwiY29kZUFjdGUiLCJnZXRUeXBlIiwibGliZWxsZUFjdGUiLCJub21DYW5vbmlxdWUiLCJsaWJlbGxlIiwicmVtYXAiLCJ0eXBlcyIsIm1lcmdlQ29kZXMiLCJfaSIsIl9BcnJheSRmcm9tIiwiYyIsInByaW50QW5jaG9ycyIsIl9pMiIsIl9BcnJheSRmcm9tMiIsImNvZGUiLCJsb2ciLCJjb25jYXQiLCJnZXRDb2RlcyIsImpvaW4iLCJpc0xlY3R1cmUiLCJtYXRjaCIsImNvZGVzX2xlY3R1cmVfcmVnZXhwIiwiRXJyb3IiLCJtYXAiLCJyZXBsYWNlIiwiZ2V0Q29kZUFjdGUiLCJSZWdFeHAiLCJjb2Rlc19sZWN0dXJlIiwiTGVjdHVyZU1hcHBlciIsIm1hcHBpbmciLCJjb2xsZWN0IiwidW5kZWZpbmVkIiwibGVjdHVyZXMiLCJBY3Rlc0RvY3VtZW50YXRpb24iLCJzYW5pdHlDaGVja3MiLCJ2ZXJib3NlIiwibGVjdHVyZSIsIkNNUCIsIkNDIiwiUFJPTSIsIkFOMjEiLCJBTkxVTkkiLCJSw6lzb2x1dGlvbiIsIkFOMjAiLCJFVSIsIkltbXVuaXTDqSIsInByb2NlZHVyZXMiLCJjb2RlMnBhdHRlcm4iLCJ3YWxrRmlsZXMiLCJkYXRhIiwiYWN0aW9uIiwiX2l0ZXJhdG9yMiIsImdldEZpbGVzIiwiX3N0ZXAyIiwiZmlsZSIsImRvc3NpZXIiLCJsb2FkIiwicHJvY2VkdXJlIiwicmVtYXBQcm9jZWR1cmUiLCJwcm9jZWR1cmVQYXJsZW1lbnRhaXJlIiwiYWN0ZXNMZWdpc2xhdGlmcyIsImNvbGxlY3RGaWxlcyIsIl90aGlzIiwiX2FjdGVzIiwiX2MycCIsIl9wYXJlbnQiLCJwcm9jZXNzRmlsZXMiLCJfdGhpczIiLCJhY3RlcyIsImMycCIsInBhcmVudCIsIm1lcmdlIiwidmFsaWRhdGUiLCJyZW1hcEFjdGVzIiwicmVzdWx0cyIsIl9pdGVyYXRvcjMiLCJfc3RlcDMiLCJsZWN0dXJlTWFwcGVyIiwiY29sbGVjdEFjdGVzIiwiX2l0ZXJhdG9yNCIsIl9zdGVwNCIsIm1lcmdlX3Byb2NlZHVyZXMiLCJNYXAiLCJyZW1hcHBlZFByb2NlZHVyZXMiLCJnZXQiLCJvcmRlcmVkQ29kZXMiLCJvcmRlcmVkIiwieCIsImFzc2VydCIsInZhbGlkYXRlQ2hyb25vbG9neSIsInNlcXVlbmNlIiwibWVyZ2VBY3RlIiwic2hvcnRDb2RlIiwieHNpVHlwZSIsIl9pdGVyYXRvcjUiLCJfc3RlcDUiLCJfaXRlcmF0b3I2IiwiX3N0ZXA2IiwidmFsaWRhdGVMZXZlbCIsInBhdGgiLCJfaTMiLCJfYXJyIiwiZW50cmllcyIsIl9hcnIkX2kiLCJwcmludEVudHJ5IiwiZW50cnkiLCJ0aXRsZSIsInVuZGVybGluZSIsImFkZEFuY2hvcnMiLCJhbmNob3JzUHJpbnRlZCIsImFuY2hvcnMiLCJyZW5hbWVDTVAiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJwcmludExldmVsIiwia2V5cyIsIl9pdGVyYXRvcjciLCJfc3RlcDciLCJzdWJzdHJpbmciLCJwcmludENvZGVzIiwiX2k0IiwiX09iamVjdCRrZXlzIiwicHJpbnRBbmNob3JzSW5kZXgiLCJfaTUiLCJfQXJyYXkkZnJvbTMiLCJnZXRBZ2dyZWdhdGVkIiwicmVtYXBwZWQiLCJwcmludCIsIl9pNiIsIl9hcnIyIiwiX2FycjIkX2kiLCJhZ2dyZWdhdGVkIiwibWFpbiIsImRvYyIsInByb2Nlc3MiLCJleGl0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvZG9jdW1lbnRfZG9zc2llcnNfbGVnaXNsYXRpZnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGNvbW1hbmRMaW5lVXNhZ2UgZnJvbSBcImNvbW1hbmQtbGluZS11c2FnZVwiXG5pbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgbG9hZCwgZ2V0RmlsZXMgfSBmcm9tIFwiLi4vZmlsZV9zeXN0ZW1zXCJcblxuZnVuY3Rpb24gcGFyc2VBcmdzKGFyZ3Y6IHN0cmluZ1tdKTogYW55IHtcbiAgY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICAgIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcInBhdGhuYW1lIHRvIGEgSlNPTiBmaWxlIG9yIGEgZ2xvYiBwYXR0ZXJuIHRvIEpTT04gZmlsZXNcIixcbiAgICAgIGRlZmF1bHRPcHRpb246IHRydWUsXG4gICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgIG5hbWU6IFwiZGF0YVwiLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJuby1zYW5pdHktY2hlY2tzXCIsXG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgZGVzY3JpcHRpb246IFwiRG8gbm90IHBlcmZvcm0gc2FuaXR5IGNoZWNrcy5cIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwidmVyYm9zZVwiLFxuICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgIGRlc2NyaXB0aW9uOiBcImluY3JlYXNlIHZlcmJvc2l0eVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJoZWxwXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJQcmludCB0aGlzIHVzYWdlIGd1aWRlLlwiLFxuICAgIH0sXG4gIF1cbiAgY29uc3Qgc2VjdGlvbnMgPSBbXG4gICAge1xuICAgICAgaGVhZGVyOiBcIkFpZGUgw6AgbGEgZG9jdW1lbnRhdGlvbiBkdSBkb3NzaWVyIGzDqWdpc2xhdGlmXCIsXG4gICAgICBjb250ZW50OiBcIkfDqW7DqHJlIHVuZSBoacOpcmFyY2hpZSBkZXMgYWN0ZXMgbMOpZ2lzbGF0aWZzXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBoZWFkZXI6IFwiT3B0aW9uc1wiLFxuICAgICAgb3B0aW9uTGlzdDogb3B0aW9uc0RlZmluaXRpb25zLFxuICAgIH0sXG4gIF1cbiAgY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMsIHtcbiAgICBhcmd2OiBhcmd2LFxuICB9KVxuICBpZiAoIShcImhlbHBcIiBpbiBvcHRpb25zKSAmJiAhKFwiZGF0YVwiIGluIG9wdGlvbnMpKSB7XG4gICAgY29uc29sZS5lcnJvcihcIi0tZGF0YSBpcyBtYW5kYXRvcnlcIilcbiAgICBvcHRpb25zLmhlbHAgPSB0cnVlXG4gIH1cbiAgaWYgKFwiaGVscFwiIGluIG9wdGlvbnMpIHtcbiAgICBjb25zdCB1c2FnZSA9IGNvbW1hbmRMaW5lVXNhZ2Uoc2VjdGlvbnMpXG4gICAgY29uc29sZS53YXJuKHVzYWdlKVxuICAgIHJldHVybiBudWxsXG4gIH1cbiAgcmV0dXJuIG9wdGlvbnNcbn1cblxuZnVuY3Rpb24gZXFTZXQoYXM6IFNldDxzdHJpbmc+LCBiczogU2V0PHN0cmluZz4pOiBib29sZWFuIHtcbiAgaWYgKGFzLnNpemUgIT09IGJzLnNpemUpIHJldHVybiBmYWxzZVxuICBmb3IgKHZhciBhIG9mIGFzKSBpZiAoIWJzLmhhcyhhKSkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB0cnVlXG59XG5cbmNsYXNzIENvZGUyUGF0dGVybiB7XG4gIF9wYXR0ZXJuXzogYW55XG4gIF9tYXRjaF9jb3VudF86IG51bWJlclxuICBjb25zdHJ1Y3RvcihwYXR0ZXJuOiBhbnksIGNoaWxkcmVuOiBhbnkpIHtcbiAgICB0aGlzLl9wYXR0ZXJuXyA9IHBhdHRlcm5cbiAgICB0aGlzLl9tYXRjaF9jb3VudF8gPSAwXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBjaGlsZHJlbilcbiAgfVxufVxuXG5jbGFzcyBDb2RlMlBhdHRlcm5Db21Gb25kIGV4dGVuZHMgQ29kZTJQYXR0ZXJuIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJeL1NBSVNJRS8oL05PTUlOLykqKC9SRVVOSU9OLykqKC9SQVBQT1JULykqJFwiLCB7fSlcbiAgfVxufVxuXG5jbGFzcyBMZWN0dXJlTWFwcGluZyB7XG4gIGxpYmVsbGU6IGFueSA9IHt9XG4gIGNvZGVzOiBhbnkgPSBuZXcgU2V0KClcblxuICBzdGF0aWMgY29kZXNfbGVjdHVyZTogc3RyaW5nW10gPSBbXG4gICAgXCJBTjFcIixcbiAgICBcIlNOMVwiLFxuICAgIFwiQU5OTEVDXCIsXG4gICAgXCJTTk5MRUNcIixcbiAgICBcIkFOTERFRlwiLFxuICAgIFwiQU4yXCIsXG4gICAgXCJTTjJcIixcbiAgICBcIlNOM1wiLFxuICBdXG4gIHN0YXRpYyBjb2Rlc19sZWN0dXJlX3JlZ2V4cDogYW55ID0gbmV3IFJlZ0V4cChcbiAgICBcIl4oPzpcIiArIExlY3R1cmVNYXBwaW5nLmNvZGVzX2xlY3R1cmUuam9pbihcInxcIikgKyBcIikoLS4qKT8kXCIsXG4gIClcblxuICBzdGF0aWMgaXNMZWN0dXJlKGFjdGU6IGFueSkge1xuICAgIHJldHVybiBhY3RlLmNvZGVBY3RlLm1hdGNoKExlY3R1cmVNYXBwaW5nLmNvZGVzX2xlY3R1cmVfcmVnZXhwKVxuICB9XG5cbiAgc3RhdGljIGdldFR5cGUoYWN0ZTogYW55KSB7XG4gICAgaWYgKGFjdGUuY29kZUFjdGUubWF0Y2goL15BTi8pKSByZXR1cm4gXCJBTlwiXG4gICAgZWxzZSBpZiAoYWN0ZS5jb2RlQWN0ZS5tYXRjaCgvXlNOLykpIHJldHVybiBcIlNOXCJcbiAgICBlbHNlIHRocm93IEVycm9yKGAke2FjdGUuY29kZUFjdGV9IGRvZXMgbm90IHN0YXJ0IHdpdGggQU4gb3IgU05gKVxuICB9XG5cbiAgc3RhdGljIG1hcChjb2RlQWN0ZTogYW55KSB7XG4gICAgcmV0dXJuIGNvZGVBY3RlLnJlcGxhY2UoTGVjdHVyZU1hcHBpbmcuY29kZXNfbGVjdHVyZV9yZWdleHAsIGBsZWN0dXJlJDFgKVxuICB9XG5cbiAgc3RhdGljIGdldENvZGVBY3RlKGFjdGU6IGFueSkge1xuICAgIGlmICghTGVjdHVyZU1hcHBpbmcuaXNMZWN0dXJlKGFjdGUpKSByZXR1cm5cblxuICAgIHJldHVybiBMZWN0dXJlTWFwcGluZy5tYXAoYWN0ZS5jb2RlQWN0ZSlcbiAgfVxuXG4gIGFkZChhY3RlOiBhbnkpIHtcbiAgICB0aGlzLmNvZGVzLmFkZChhY3RlLmNvZGVBY3RlKVxuXG4gICAgY29uc3QgdHlwZSA9IExlY3R1cmVNYXBwaW5nLmdldFR5cGUoYWN0ZSlcblxuICAgIGlmICghKGFjdGUubGliZWxsZUFjdGUubm9tQ2Fub25pcXVlIGluIHRoaXMubGliZWxsZSkpXG4gICAgICB0aGlzLmxpYmVsbGVbYWN0ZS5saWJlbGxlQWN0ZS5ub21DYW5vbmlxdWVdID0gbmV3IFNldCgpXG4gICAgdGhpcy5saWJlbGxlW2FjdGUubGliZWxsZUFjdGUubm9tQ2Fub25pcXVlXS5hZGQodHlwZSlcbiAgfVxuXG4gIHJlbWFwKGFjdGU6IGFueSwgY29kZUFjdGU6IHN0cmluZykge1xuICAgIGFjdGUuY29kZUFjdGUgPSBjb2RlQWN0ZVxuXG4gICAgbGV0IHR5cGVzID0gdGhpcy5saWJlbGxlW2FjdGUubGliZWxsZUFjdGUubm9tQ2Fub25pcXVlXVxuICAgIGlmICghKHR5cGVzLmhhcyhcIlNOXCIpICYmIHR5cGVzLmhhcyhcIkFOXCIpKSkge1xuICAgICAgaWYgKHR5cGVzLmhhcyhcIlNOXCIpKSBhY3RlLmxpYmVsbGVBY3RlLm5vbUNhbm9uaXF1ZSArPSBcIiAoU8OpbmF0KVwiXG4gICAgICBlbHNlIGlmICh0eXBlcy5oYXMoXCJBTlwiKSlcbiAgICAgICAgYWN0ZS5saWJlbGxlQWN0ZS5ub21DYW5vbmlxdWUgKz0gXCIgKEFzc2VtYmzDqWUgTmF0aW9uYWxlKVwiXG4gICAgfVxuICB9XG5cbiAgbWVyZ2VDb2Rlcyhjb2RlczogYW55KSB7XG4gICAgZm9yIChjb25zdCBjIG9mIEFycmF5LmZyb20odGhpcy5jb2RlcykpIGNvZGVzLmFkZChjKVxuICB9XG5cbiAgcHJpbnRBbmNob3JzKCkge1xuICAgIGZvciAoY29uc3QgY29kZSBvZiBBcnJheS5mcm9tKHRoaXMuY29kZXMpKSBjb25zb2xlLmxvZyhgLi4gXyR7Y29kZX06YClcbiAgfVxuXG4gIGdldENvZGVzKCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY29kZXMpLmpvaW4oXCIsXCIpXG4gIH1cbn1cblxuY2xhc3MgTGVjdHVyZU1hcHBlciB7XG4gIG1hcHBpbmc6IGFueSA9IHt9XG5cbiAgaGFzKGNvZGVBY3RlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gY29kZUFjdGUgaW4gdGhpcy5tYXBwaW5nXG4gIH1cblxuICBjb2xsZWN0KGFjdGU6IGFueSkge1xuICAgIGNvbnN0IGNvZGVBY3RlID0gTGVjdHVyZU1hcHBpbmcuZ2V0Q29kZUFjdGUoYWN0ZSlcbiAgICBpZiAoY29kZUFjdGUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgbGVjdHVyZXMgPSB0aGlzLm1hcHBpbmdcbiAgICAgIGlmICghKGNvZGVBY3RlIGluIGxlY3R1cmVzKSkgbGVjdHVyZXNbY29kZUFjdGVdID0gbmV3IExlY3R1cmVNYXBwaW5nKClcbiAgICAgIGxlY3R1cmVzW2NvZGVBY3RlXS5hZGQoYWN0ZSlcbiAgICB9XG4gIH1cblxuICByZW1hcChhY3RlOiBhbnkpIHtcbiAgICBjb25zdCBjb2RlQWN0ZSA9IExlY3R1cmVNYXBwaW5nLmdldENvZGVBY3RlKGFjdGUpXG4gICAgaWYgKGNvZGVBY3RlICE9IHVuZGVmaW5lZCkgdGhpcy5tYXBwaW5nW2NvZGVBY3RlXS5yZW1hcChhY3RlLCBjb2RlQWN0ZSlcbiAgfVxuXG4gIG1lcmdlQ29kZXMoY29kZXM6IGFueSwgY29kZUFjdGU6IHN0cmluZykge1xuICAgIHRoaXMubWFwcGluZ1tjb2RlQWN0ZV0ubWVyZ2VDb2Rlcyhjb2RlcylcbiAgfVxuXG4gIHByaW50QW5jaG9ycyhjb2RlQWN0ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXBwaW5nW2NvZGVBY3RlXS5wcmludEFuY2hvcnMoKVxuICB9XG5cbiAgZ2V0Q29kZXMoY29kZUFjdGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm1hcHBpbmdbY29kZUFjdGVdLmdldENvZGVzKClcbiAgfVxufVxuXG5jbGFzcyBBY3Rlc0RvY3VtZW50YXRpb24ge1xuICB2ZXJib3NlOiBib29sZWFuXG4gIHNhbml0eUNoZWNrczogYm9vbGVhblxuICBsZWN0dXJlTWFwcGVyOiBhbnkgPSBuZXcgTGVjdHVyZU1hcHBlcigpXG4gIHJlbWFwcGVkUHJvY2VkdXJlczogYW55ID0ge31cbiAgYW5jaG9yc1ByaW50ZWQ6IGFueSA9IHt9XG4gIGFuY2hvcnM6IGFueSA9IG5ldyBTZXQoKVxuICBjb2RlczogYW55ID0ge31cbiAgcHJvY2VkdXJlczogYW55ID0gbnVsbFxuICBjb2RlMnBhdHRlcm46IGFueSA9IG5ldyBDb2RlMlBhdHRlcm4obnVsbCwge1xuICAgIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgIFwiXigoKC9sZWN0dXJlLykrKXwoKC9sZWN0dXJlLykrL0NNUC8oL2xlY3R1cmUvKSopKSgvQ0MvKT8oL1BST00vKT8oL0FOLUFQUExJLyk/JFwiLFxuICAgICAge1xuICAgICAgICBsZWN0dXJlOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgICAgIFwiXigvREVQT1QvKT8oL0RQVExFVFRSRUNULyk/KC9FVEkvKT8oL0FWQ0UvKT8oL0RHVlQvKT8oL0FDSU4vKT8oL01PVElPTi8pKigvUFJPQ0FDQy8pPygvQ09NLyk/KCgvREVCQVRTLykrKT8oL1JUUklOSS8pPyRcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImxlY3R1cmUtQ09NXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9GT05EL3wvQVZJUy8pKyRcIiwge1xuICAgICAgICAgICAgICBcImxlY3R1cmUtQ09NLUZPTkRcIjogbmV3IENvZGUyUGF0dGVybkNvbUZvbmQoKSxcbiAgICAgICAgICAgICAgXCJsZWN0dXJlLUNPTS1BVklTXCI6IG5ldyBDb2RlMlBhdHRlcm5Db21Gb25kKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIFwibGVjdHVyZS1ERUJBVFNcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICAgICAgXCJeKC9TRUFOQ0UvKSooKC9NT1RJT04vKT8oL01PVElPTi1WT1RFLykrKT8oL0RFQy8pPyRcIixcbiAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICksXG4gICAgICAgIENNUDogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICBcIl4oL0RFUE9UL3wvU0FJU0lFLyl7MSwyfSgvQ09NLyk/KC9ERUMvKT8oL0RFQkFUUy1BTi8vREVCQVRTLVNOLyk/XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJDTVAtQ09NXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgICAgIFwiXigvTk9NSU4vKT8oL1JBUFBPUlQtQU4vfC9SQVBQT1JULVNOLyl7Mn0kXCIsXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIFwiQ01QLURFQkFUUy1BTlwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvU0VBTkNFLykqKC9ERUMvKT8kXCIsIHt9KSxcbiAgICAgICAgICAgIFwiQ01QLURFQkFUUy1TTlwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvU0VBTkNFLykqKC9ERUMvKT8kXCIsIHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICApLFxuICAgICAgICBDQzogbmV3IENvZGUyUGF0dGVybihcIl4oL1NBSVNJRS8pKygvQ09OQ0xVU0lPTi8pPyRcIiwge30pLFxuICAgICAgICBQUk9NOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvUFVCLyk/JFwiLCB7fSksXG4gICAgICAgIFwiQU4tQVBQTElcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1JBUFBPUlQvKT8kXCIsIHt9KSxcbiAgICAgIH0sXG4gICAgKSxcbiAgICBcIkFsbG9jdXRpb24gZHUgUHLDqXNpZGVudCBkZSBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICBcIl4vQU4yMS8kXCIsXG4gICAgICB7XG4gICAgICAgIEFOMjE6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9BUEFOLyk/JFwiLCB7fSksXG4gICAgICB9LFxuICAgICksXG4gICAgXCJSw6lzb2x1dGlvbiBBcnRpY2xlIDM0LTFcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL0FOTFVOSS8pPyRcIiwge1xuICAgICAgQU5MVU5JOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8oL0RFQkFUUy8pPygvUlRSSU5JLyk/JFwiLCB7XG4gICAgICAgIFwiQU5MVU5JLURFQkFUU1wiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvU0VBTkNFLykrKC9ERUMvKT8kXCIsIHt9KSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIFLDqXNvbHV0aW9uOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvQU5MVU5JLyk/KC9DQy8pPyRcIiwge1xuICAgICAgQU5MVU5JOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8oL0NPTS8pPygvREVCQVRTL3wvUlRSSU5JLyk/JFwiLCB7XG4gICAgICAgIFwiQU5MVU5JLUNPTVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvQ0FFLyk/KC9GT05ELyk/JFwiLCB7XG4gICAgICAgICAgXCJBTkxVTkktQ09NLUZPTkRcIjogbmV3IENvZGUyUGF0dGVybkNvbUZvbmQoKSxcbiAgICAgICAgICBcIkFOTFVOSS1DT00tQ0FFXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICAgICAgICBcIl4oL1NBSVNJRS8pPygvTk9NSU4vKT8oL1JFVU5JT04vKT8oL1JBUFBPUlQvKT8oL0RFQy8pPyRcIixcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICksXG4gICAgICAgIH0pLFxuICAgICAgICBcIkFOTFVOSS1ERUJBVFNcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1NFQU5DRS8pKigvREVDLyk/JFwiLCB7fSksXG4gICAgICB9KSxcbiAgICAgIENDOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvU0FJU0lFLyk/KC9DT05DTFVTSU9OLyk/JFwiLCB7fSksXG4gICAgfSksXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb24gc2FucyBtaXNzaW9uXCI6IG5ldyBDb2RlMlBhdHRlcm4oXG4gICAgICBcIl4oL0FOMjAvKT8oL0VVLyk/JFwiLFxuICAgICAge1xuICAgICAgICBBTjIwOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvUkFQUE9SVC8pPyRcIiwge30pLFxuICAgICAgICBFVTogbmV3IENvZGUyUGF0dGVybihcIl4oL0RFQy8pKyRcIiwge30pLFxuICAgICAgfSxcbiAgICApLFxuICAgIFwiTWlzc2lvbiBkJ2luZm9ybWF0aW9uXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9BTjIwLyk/JFwiLCB7XG4gICAgICBBTjIwOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvTUlTSU5GLyk/JFwiLCB7XG4gICAgICAgIFwiQU4yMC1NSVNJTkZcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICBcIl4oL0NSRUEvKT8oL05PTUlOLyk/KC9SQVBQT1JULyk/JFwiLFxuICAgICAgICAgIHt9LFxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgfSksXG4gICAgXCJDb21taXNzaW9uIGQnZW5xdcOqdGVcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL0FOMjAvKT8kXCIsIHtcbiAgICAgIEFOMjA6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9DT01FTlEvKT8kXCIsIHtcbiAgICAgICAgXCJBTjIwLUNPTUVOUVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgICAgIFwiXigvQ1JFQS8pPygvTk9NSU4vKT8oL1JBUFBPUlQvKT8kXCIsXG4gICAgICAgICAge30sXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBcIkVuZ2FnZW1lbnQgZGUgbGEgcmVzcG9uc2FiaWxpdMOpIGdvdXZlcm5lbWVudGFsZVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgXCJeL0FOMjEvJFwiLFxuICAgICAge1xuICAgICAgICBBTjIxOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigoKC9NT1RJT04vKSovREVCQVRTLyl8KC9ER1ZULykpezEsMn0kXCIsIHtcbiAgICAgICAgICBcIkFOMjEtREVCQVRTXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9TRUFOQ0UvKSooL01PVElPTi1WT1RFLykqJFwiLCB7fSksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICApLFxuICAgIFwiTW90aW9uIHLDqWbDqXJlbmRhaXJlXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9sZWN0dXJlLykrJFwiLCB7XG4gICAgICBsZWN0dXJlOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8oL0NPTS8pPygvREVCQVRTLyk/JFwiLCB7XG4gICAgICAgIFwibGVjdHVyZS1DT01cIjogbmV3IENvZGUyUGF0dGVybihcIl4oL0ZPTkQvKT8kXCIsIHtcbiAgICAgICAgICBcImxlY3R1cmUtQ09NLUZPTkRcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICAgIFwiXigvU0FJU0lFLyk/KC9OT01JTi8pKigvUkFQUE9SVC8pKiRcIixcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICksXG4gICAgICAgIH0pLFxuICAgICAgICBcImxlY3R1cmUtREVCQVRTXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9ERUMvKT8kXCIsIHt9KSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIEltbXVuaXTDqTogbmV3IENvZGUyUGF0dGVybihcIl4oL0FOTFVOSS8pKyRcIiwge1xuICAgICAgQU5MVU5JOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8oL0NPTS8pPygvREVCQVRTLyk/KC9SVFJJTkkvKT8kXCIsIHtcbiAgICAgICAgXCJBTkxVTkktQ09NXCI6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9GT05ELyk/JFwiLCB7XG4gICAgICAgICAgXCJBTkxVTkktQ09NLUZPTkRcIjogbmV3IENvZGUyUGF0dGVybihcbiAgICAgICAgICAgIFwiXigvU0FJU0lFLyk/KC9OT01JTi8pKigvUkFQUE9SVC8pKiRcIixcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICksXG4gICAgICAgIH0pLFxuICAgICAgICBcIkFOTFVOSS1ERUJBVFNcIjogbmV3IENvZGUyUGF0dGVybihcIl4oL1NFQU5DRS8pPygvREVDLykkXCIsIHt9KSxcbiAgICAgIH0pLFxuICAgIH0pLFxuICAgIFwiUmVzcG9uc2FiaWxpdMOpIHDDqW5hbGUgZHUgcHLDqXNpZGVudCBkZSBsYSByw6lwdWJsaXF1ZVwiOiBuZXcgQ29kZTJQYXR0ZXJuKFxuICAgICAgXCJeL2xlY3R1cmUvJFwiLFxuICAgICAge1xuICAgICAgICBsZWN0dXJlOiBuZXcgQ29kZTJQYXR0ZXJuKFwiXigvREVQT1QvKT8oL1JFQ0JVUkVBVS8pPyRcIiwge30pLFxuICAgICAgfSxcbiAgICApLFxuICAgIFwiUHJvcG9zaXRpb24gZGUgbG9pIHByw6lzZW50w6llIGVuIGFwcGxpY2F0aW9uIGRlIGwnYXJ0aWNsZSAxMSBkZSBsYSBDb25zdGl0dXRpb25cIjpcbiAgICAgIG5ldyBDb2RlMlBhdHRlcm4oXCJeL2xlY3R1cmUvJFwiLCB7XG4gICAgICAgIGxlY3R1cmU6IG5ldyBDb2RlMlBhdHRlcm4oXCJeKC9ERVBPVC8pPyRcIiwge30pLFxuICAgICAgfSksXG4gIH0pXG5cbiAgY29uc3RydWN0b3Ioc2FuaXR5Q2hlY2tzOiBib29sZWFuLCB2ZXJib3NlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICB0aGlzLnZlcmJvc2UgPSB2ZXJib3NlXG4gICAgdGhpcy5zYW5pdHlDaGVja3MgPSBzYW5pdHlDaGVja3NcbiAgICB0aGlzLnByb2NlZHVyZXMgPSB7fVxuICAgIHRoaXMuY29kZTJwYXR0ZXJuLl9tYXRjaF9jb3VudF8rK1xuICB9XG5cbiAgd2Fsa0ZpbGVzKGRhdGE6IHN0cmluZ1tdLCBhY3Rpb246IGFueSkge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBnZXRGaWxlcyhkYXRhKSkge1xuICAgICAgY29uc3QgZG9zc2llciA9IGxvYWQoZmlsZSlcbiAgICAgIGxldCBwcm9jZWR1cmU6IHN0cmluZyA9IHRoaXMucmVtYXBQcm9jZWR1cmUoXG4gICAgICAgIGRvc3NpZXIucHJvY2VkdXJlUGFybGVtZW50YWlyZS5saWJlbGxlLFxuICAgICAgKVxuICAgICAgaWYgKCEocHJvY2VkdXJlIGluIHRoaXMucHJvY2VkdXJlcykpIHRoaXMucHJvY2VkdXJlc1twcm9jZWR1cmVdID0ge31cbiAgICAgIGFjdGlvbihcbiAgICAgICAgdGhpcy5wcm9jZWR1cmVzW3Byb2NlZHVyZV0sXG4gICAgICAgIGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcyxcbiAgICAgICAgdGhpcy5jb2RlMnBhdHRlcm5bcHJvY2VkdXJlXSxcbiAgICAgICAgbnVsbCxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb2xsZWN0RmlsZXMoZGF0YTogc3RyaW5nW10pIHtcbiAgICB0aGlzLndhbGtGaWxlcyhcbiAgICAgIGRhdGEsXG4gICAgICAoX2FjdGVzOiBhbnksIGFjdGVzTGVnaXNsYXRpZnM6IGFueSwgX2MycDogYW55LCBfcGFyZW50OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5jb2xsZWN0KGFjdGVzTGVnaXNsYXRpZnMpXG4gICAgICB9LFxuICAgIClcbiAgfVxuXG4gIHByb2Nlc3NGaWxlcyhkYXRhOiBzdHJpbmdbXSkge1xuICAgIHRoaXMud2Fsa0ZpbGVzKFxuICAgICAgZGF0YSxcbiAgICAgIChhY3RlczogYW55LCBhY3Rlc0xlZ2lzbGF0aWZzOiBhbnksIGMycDogYW55LCBwYXJlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLm1lcmdlKGFjdGVzLCBhY3Rlc0xlZ2lzbGF0aWZzLCBjMnAsIHBhcmVudClcbiAgICAgIH0sXG4gICAgKVxuICAgIGlmICh0aGlzLnNhbml0eUNoZWNrcykgdGhpcy52YWxpZGF0ZSgpXG4gIH1cblxuICByZW1hcEFjdGVzKGFjdGVzOiBhbnkpOiBhbnkge1xuICAgIGxldCByZXN1bHRzID0gW11cbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgYWN0ZXMpIHtcbiAgICAgIHRoaXMubGVjdHVyZU1hcHBlci5yZW1hcChhY3RlKVxuXG4gICAgICAvLyBDQy1TQUlTSUUtIHN1ZmZpeCBkb2VzIG5vdCBpbXBseSBhIGhpZXJhcmNoeVxuICAgICAgYWN0ZS5jb2RlQWN0ZSA9IGFjdGUuY29kZUFjdGUucmVwbGFjZSgvXkNDLVNBSVNJRS4qLywgXCJDQy1TQUlTSUVcIilcblxuICAgICAgcmVzdWx0cy5wdXNoKGFjdGUpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuICBjb2xsZWN0QWN0ZXMoYWN0ZXM6IGFueSk6IGFueSB7XG4gICAgbGV0IHJlc3VsdHMgPSBbXVxuICAgIGZvciAoY29uc3QgYWN0ZSBvZiBhY3Rlcykge1xuICAgICAgdGhpcy5sZWN0dXJlTWFwcGVyLmNvbGxlY3QoYWN0ZSlcblxuICAgICAgcmVzdWx0cy5wdXNoKGFjdGUpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuICByZW1hcFByb2NlZHVyZShwcm9jZWR1cmU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWVyZ2VfcHJvY2VkdXJlczogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXAoW1xuICAgICAgW1wiUHJvcG9zaXRpb24gZGUgbG9pIG9yZGluYWlyZVwiLCBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCJdLFxuICAgICAgW1wiUHJvamV0IGRlIGxvaSBvcmRpbmFpcmVcIiwgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiXSxcbiAgICAgIFtcbiAgICAgICAgXCJQcm9qZXQgZGUgcmF0aWZpY2F0aW9uIGRlcyB0cmFpdMOpcyBldCBjb252ZW50aW9uc1wiLFxuICAgICAgICBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCIsXG4gICAgICBdLFxuICAgICAgW1wiUHJvamV0IG91IHByb3Bvc2l0aW9uIGRlIGxvaSBvcmdhbmlxdWVcIiwgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiXSxcbiAgICAgIFtcbiAgICAgICAgXCJQcm9qZXQgb3UgcHJvcG9zaXRpb24gZGUgbG9pIGNvbnN0aXR1dGlvbm5lbGxlXCIsXG4gICAgICAgIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIixcbiAgICAgIF0sXG4gICAgICBbXCJQcm9qZXQgZGUgbG9pIGRlIGZpbmFuY2VzIGRlIGwnYW5uw6llXCIsIFwiUHJvY8OpZHVyZSBsw6lnaXNsYXRpdmVcIl0sXG4gICAgICBbXCJQcm9qZXQgZGUgbG9pIGRlIGZpbmFuY2VzIHJlY3RpZmljYXRpdmVcIiwgXCJQcm9jw6lkdXJlIGzDqWdpc2xhdGl2ZVwiXSxcbiAgICAgIFtcbiAgICAgICAgXCJQcm9qZXQgZGUgbG9pIGRlIGZpbmFuY2VtZW50IGRlIGxhIHPDqWN1cml0w6kgc29jaWFsZVwiLFxuICAgICAgICBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCIsXG4gICAgICBdLFxuICAgIF0pXG4gICAgaWYgKG1lcmdlX3Byb2NlZHVyZXMuaGFzKHByb2NlZHVyZSkpIHtcbiAgICAgIHRoaXMucmVtYXBwZWRQcm9jZWR1cmVzW3Byb2NlZHVyZV0gPSBudWxsXG4gICAgICByZXR1cm4gbWVyZ2VfcHJvY2VkdXJlcy5nZXQocHJvY2VkdXJlKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcHJvY2VkdXJlXG4gICAgfVxuICB9XG5cbiAgLy8gcmV0dXJuIHRoZSBjb2RlQWN0ZXMgaW4gdGhlIHNhbWUgb3JkZXIgdGhleSBhcHBlYXIgaW4gdGhlIHJlZ2V4cFxuICBvcmRlcmVkQ29kZXMoY29kZXM6IGFueSwgYzJwOiBhbnksIHBhcmVudDogc3RyaW5nKTogU2V0PHN0cmluZz4ge1xuICAgIGNvZGVzID0gbmV3IFNldChjb2RlcylcbiAgICBpZiAoIXRoaXMuc2FuaXR5Q2hlY2tzKSByZXR1cm4gY29kZXNcbiAgICBsZXQgb3JkZXJlZCA9IGMycFtcIl9wYXR0ZXJuX1wiXS5tYXRjaChuZXcgUmVnRXhwKFwiLy4qPy9cIiwgXCJnXCIpKVxuICAgIG9yZGVyZWQgPSBvcmRlcmVkLm1hcCgoeDogc3RyaW5nKSA9PiB4LnJlcGxhY2UobmV3IFJlZ0V4cChcIi8oLiopL1wiKSwgXCIkMVwiKSlcbiAgICBpZiAocGFyZW50ICE9IG51bGwpIG9yZGVyZWQgPSBvcmRlcmVkLm1hcCgoeDogc3RyaW5nKSA9PiBgJHtwYXJlbnR9LSR7eH1gKVxuICAgIG9yZGVyZWQgPSBuZXcgU2V0KG9yZGVyZWQpXG4gICAgYXNzZXJ0KGVxU2V0KG9yZGVyZWQsIGNvZGVzKSwgYCR7Wy4uLm9yZGVyZWRdfSAhPSAke1suLi5jb2Rlc119YClcbiAgICByZXR1cm4gb3JkZXJlZFxuICB9XG5cbiAgdmFsaWRhdGVDaHJvbm9sb2d5KGFjdGVzTGVnaXNsYXRpZnM6IGFueSwgYzJwOiBhbnksIHBhcmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0dGVybiA9IGMycFtcIl9wYXR0ZXJuX1wiXVxuICAgIGNvbnN0IHNlcXVlbmNlID0gYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgLm1hcCgoeDogYW55KSA9PiBgLyR7eC5jb2RlQWN0ZX0vYC5yZXBsYWNlKGAvJHtwYXJlbnR9LWAsIFwiL1wiKSlcbiAgICAgIC5qb2luKFwiXCIpXG4gICAgYXNzZXJ0KFxuICAgICAgc2VxdWVuY2UubWF0Y2gobmV3IFJlZ0V4cChwYXR0ZXJuKSksXG4gICAgICBgJHtwYXR0ZXJufSBkb2VzIG5vdCBtYXRjaCAke3NlcXVlbmNlfWAsXG4gICAgKVxuICAgIGMycC5fbWF0Y2hfY291bnRfKytcbiAgfVxuXG4gIG1lcmdlQWN0ZShhY3RlczogYW55LCBhY3RlOiBhbnksIGMycDogYW55LCBwYXJlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBjb2RlOiBzdHJpbmcgPSBhY3RlLmNvZGVBY3RlXG4gICAgbGV0IHNob3J0Q29kZTogc3RyaW5nID0gY29kZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF4ke3BhcmVudH0tYCksIFwiXCIpXG4gICAgc2hvcnRDb2RlID0gc2hvcnRDb2RlLnJlcGxhY2UoLy0oQU58U04pJC8sIFwiXCIpXG4gICAgdGhpcy5jb2Rlc1tzaG9ydENvZGVdID0gbnVsbFxuICAgIGxldCBuYW1lOiBzdHJpbmcgPSBhY3RlLmxpYmVsbGVBY3RlLm5vbUNhbm9uaXF1ZVxuICAgIGlmICghKGNvZGUgaW4gYWN0ZXMpKSB7XG4gICAgICBhY3Rlc1tjb2RlXSA9IHtcbiAgICAgICAgdHlwZTogYWN0ZS54c2lUeXBlLFxuICAgICAgICBuYW1lOiBuZXcgU2V0KFtuYW1lXSksXG4gICAgICAgIHNob3J0Q29kZTogc2hvcnRDb2RlLFxuICAgICAgICBhY3Rlczoge30sXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdGVzW2NvZGVdLm5hbWUuYWRkKG5hbWUpXG4gICAgfVxuICAgIGlmIChcImFjdGVzTGVnaXNsYXRpZnNcIiBpbiBhY3RlKVxuICAgICAgdGhpcy5tZXJnZShhY3Rlc1tjb2RlXS5hY3RlcywgYWN0ZS5hY3Rlc0xlZ2lzbGF0aWZzLCBjMnBbY29kZV0sIGNvZGUpXG4gIH1cblxuICBtZXJnZShhY3RlczogYW55LCBhY3Rlc0xlZ2lzbGF0aWZzOiBhbnksIGMycDogYW55LCBwYXJlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGwgPSB0aGlzLnJlbWFwQWN0ZXMoYWN0ZXNMZWdpc2xhdGlmcylcbiAgICB0aGlzLnZhbGlkYXRlQ2hyb25vbG9neShsLCBjMnAsIHBhcmVudClcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgbCkgdGhpcy5tZXJnZUFjdGUoYWN0ZXMsIGFjdGUsIGMycCwgcGFyZW50KVxuICB9XG5cbiAgY29sbGVjdChhY3Rlc0xlZ2lzbGF0aWZzOiBhbnkpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgdGhpcy5jb2xsZWN0QWN0ZXMoYWN0ZXNMZWdpc2xhdGlmcykpXG4gICAgICBpZiAoXCJhY3Rlc0xlZ2lzbGF0aWZzXCIgaW4gYWN0ZSkgdGhpcy5jb2xsZWN0KGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgfVxuXG4gIHZhbGlkYXRlTGV2ZWwoYzJwOiBhbnksIHBhdGg6IGFueSkge1xuICAgIGFzc2VydChjMnAuX21hdGNoX2NvdW50XyA+IDAsIGAke3BhdGh9IGlzIG5ldmVyIHVzZWRgKVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGMycCkgYXMgW3N0cmluZywgYW55XVtdKSB7XG4gICAgICBpZiAodmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lID09IFwiQ29kZTJQYXR0ZXJuXCIpXG4gICAgICAgIHRoaXMudmFsaWRhdGVMZXZlbCh2YWx1ZSwgcGF0aC5jb25jYXQoW2tleV0pKVxuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRoaXMudmFsaWRhdGVMZXZlbCh0aGlzLmNvZGUycGF0dGVybiwgW10pXG4gIH1cblxuICBwcmludEVudHJ5KHNlY3Rpb25zOiBzdHJpbmcsIGVudHJ5OiBzdHJpbmcsIGNvZGVzOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0aXRsZSA9IGBcXGAke2VudHJ5fVxcYF9fYFxuICAgIGNvbnNvbGUubG9nKHRpdGxlKVxuICAgIGNvbnN0IHVuZGVybGluZSA9IG5ldyBBcnJheSh0aXRsZS5sZW5ndGggKyAxKS5qb2luKHNlY3Rpb25zWzBdKVxuICAgIGNvbnNvbGUubG9nKHVuZGVybGluZSlcbiAgICBjb25zb2xlLmxvZyhjb2RlcylcbiAgfVxuXG4gIGFkZEFuY2hvcnMoa2V5OiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5IGluIHRoaXMuYW5jaG9yc1ByaW50ZWQpIHJldHVyblxuICAgIGlmICh0aGlzLmxlY3R1cmVNYXBwZXIuaGFzKGtleSkpXG4gICAgICB0aGlzLmxlY3R1cmVNYXBwZXIubWVyZ2VDb2Rlcyh0aGlzLmFuY2hvcnMsIGtleSlcbiAgICBlbHNlIHRoaXMuYW5jaG9ycy5hZGQoa2V5KVxuICB9XG5cbiAgcHJpbnRBbmNob3JzKGtleTogc3RyaW5nKSB7XG4gICAgaWYgKGtleSBpbiB0aGlzLmFuY2hvcnNQcmludGVkKSByZXR1cm5cbiAgICB0aGlzLmFuY2hvcnNQcmludGVkW2tleV0gPSBudWxsXG4gICAgaWYgKHRoaXMubGVjdHVyZU1hcHBlci5oYXMoa2V5KSkgdGhpcy5sZWN0dXJlTWFwcGVyLnByaW50QW5jaG9ycyhrZXkpXG4gICAgZWxzZSBjb25zb2xlLmxvZyhgLi4gXyR7a2V5fTpgKVxuICB9XG5cbiAgZ2V0Q29kZXMoa2V5OiBzdHJpbmcsIHNob3J0Q29kZTogc3RyaW5nKSB7XG4gICAgaWYgKGtleSBpbiB0aGlzLmFuY2hvcnNQcmludGVkKSByZXR1cm4gYGNmIFxcXFwqJHtzaG9ydENvZGV9XFxcXCpgXG4gICAgaWYgKHRoaXMubGVjdHVyZU1hcHBlci5oYXMoa2V5KSkgcmV0dXJuIHRoaXMubGVjdHVyZU1hcHBlci5nZXRDb2RlcyhrZXkpXG4gICAgZWxzZSByZXR1cm4ga2V5XG4gIH1cblxuICByZW5hbWVDTVAoa2V5OiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGlmIChrZXkuc3RhcnRzV2l0aChcIkNNUFwiKSkge1xuICAgICAgaWYgKGtleS5lbmRzV2l0aChcIi1TTlwiKSkgcmV0dXJuIGAke25hbWV9IChTw6luYXQpYFxuICAgICAgZWxzZSBpZiAoa2V5LmVuZHNXaXRoKFwiLUFOXCIpKSByZXR1cm4gYCR7bmFtZX0gKEFzc2VtYmzDqWUgTmF0aW9uYWxlKWBcbiAgICAgIGVsc2UgcmV0dXJuIG5hbWVcbiAgICB9IGVsc2UgcmV0dXJuIG5hbWVcbiAgfVxuXG4gIHByaW50TGV2ZWwoYWN0ZXM6IGFueSwgc2VjdGlvbnM6IHN0cmluZywgYzJwOiBhbnksIHBhcmVudDogYW55KSB7XG4gICAgY29uc3Qga2V5czogU2V0PHN0cmluZz4gPSB0aGlzLm9yZGVyZWRDb2RlcyhPYmplY3Qua2V5cyhhY3RlcyksIGMycCwgcGFyZW50KVxuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gYWN0ZXNba2V5XVxuICAgICAgbGV0IG5hbWUgPSBBcnJheS5mcm9tKHZhbHVlLm5hbWUpLmpvaW4oXCIsIFwiKVxuICAgICAgbmFtZSA9IHRoaXMucmVuYW1lQ01QKGtleSwgbmFtZSlcbiAgICAgIGNvbnN0IGNvZGVzID0gdGhpcy5nZXRDb2RlcyhrZXksIHZhbHVlLnNob3J0Q29kZSlcbiAgICAgIHRoaXMuYWRkQW5jaG9ycyhrZXkpXG4gICAgICB0aGlzLnByaW50QW5jaG9ycyhrZXkpXG4gICAgICBjb25zb2xlLmxvZyhcIlwiKVxuICAgICAgdGhpcy5wcmludEVudHJ5KHNlY3Rpb25zLCBgJHtuYW1lfSA8JHt2YWx1ZS5zaG9ydENvZGV9VE9DXz5gLCBjb2RlcylcbiAgICAgIGNvbnNvbGUubG9nKFwiXCIpXG4gICAgICBpZiAoT2JqZWN0LmtleXModmFsdWUuYWN0ZXMpLmxlbmd0aCA+IDApXG4gICAgICAgIHRoaXMucHJpbnRMZXZlbCh2YWx1ZS5hY3Rlcywgc2VjdGlvbnMuc3Vic3RyaW5nKDEpLCBjMnBba2V5XSwga2V5KVxuICAgIH1cbiAgfVxuXG4gIHByaW50Q29kZXMoKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5jb2RlcykpXG4gICAgICBjb25zb2xlLmxvZyhgLi4gXyR7a2V5fVRPQzogaHR0cDovL2ApXG4gIH1cblxuICBwcmludEFuY2hvcnNJbmRleCgpIHtcbiAgICBmb3IgKGNvbnN0IGNvZGUgb2YgQXJyYXkuZnJvbSh0aGlzLmFuY2hvcnMpKVxuICAgICAgY29uc29sZS5sb2coYCogOnJlZjpcXGAke2NvZGV9IDwke2NvZGV9PlxcYGApXG4gIH1cblxuICBnZXRBZ2dyZWdhdGVkKHByb2NlZHVyZTogc3RyaW5nKSB7XG4gICAgaWYgKHByb2NlZHVyZSA9PSBcIlByb2PDqWR1cmUgbMOpZ2lzbGF0aXZlXCIpIHtcbiAgICAgIGNvbnN0IHJlbWFwcGVkID0gT2JqZWN0LmtleXModGhpcy5yZW1hcHBlZFByb2NlZHVyZXMpLmpvaW4oXCIsIFwiKVxuICAgICAgcmV0dXJuIGAgKGFncsOpZ2F0aW9uIGRlICR7cmVtYXBwZWR9KWBcbiAgICB9IGVsc2UgcmV0dXJuIFwiXCJcbiAgfVxuXG4gIHByaW50KCk6IHZvaWQge1xuICAgIHRoaXMuYW5jaG9yc1ByaW50ZWQgPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgYWN0ZXNdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucHJvY2VkdXJlcykgYXMgW1xuICAgICAgc3RyaW5nLFxuICAgICAgYW55LFxuICAgIF1bXSkge1xuICAgICAgY29uc3QgY29kZSA9IGtleS5yZXBsYWNlKC8gKy9nLCBcIl9cIilcbiAgICAgIHRoaXMuY29kZXNbY29kZV0gPSBudWxsXG4gICAgICBjb25zdCBhZ2dyZWdhdGVkID0gdGhpcy5nZXRBZ2dyZWdhdGVkKGtleSlcbiAgICAgIGNvbnN0IHRpdGxlID0gYFxcYCR7a2V5fSA8JHtjb2RlfVRPQ18+XFxgX18ke2FnZ3JlZ2F0ZWR9YFxuICAgICAgY29uc29sZS5sb2codGl0bGUpXG4gICAgICBjb25zdCB1bmRlcmxpbmUgPSBuZXcgQXJyYXkodGl0bGUubGVuZ3RoICsgMSkuam9pbihcIj1cIilcbiAgICAgIGNvbnNvbGUubG9nKHVuZGVybGluZSlcbiAgICAgIHRoaXMucHJpbnRMZXZlbChhY3RlcywgXCItfi4nXCIsIHRoaXMuY29kZTJwYXR0ZXJuW2tleV0sIG51bGwpXG4gICAgfVxuICAgIHRoaXMucHJpbnRDb2RlcygpXG4gICAgdGhpcy5wcmludEFuY2hvcnNJbmRleCgpXG4gIH1cbn1cblxuZnVuY3Rpb24gbWFpbihhcmd2OiBhbnkpOiBudW1iZXIge1xuICBjb25zdCBvcHRpb25zID0gcGFyc2VBcmdzKGFyZ3YpXG4gIGlmIChvcHRpb25zID09PSBudWxsKSByZXR1cm4gMVxuICBsZXQgZG9jID0gbmV3IEFjdGVzRG9jdW1lbnRhdGlvbihcbiAgICAhb3B0aW9uc1tcIm5vLXNhbml0eS1jaGVja3NcIl0sXG4gICAgb3B0aW9ucy52ZXJib3NlLFxuICApXG4gIGRvYy5jb2xsZWN0RmlsZXMob3B0aW9ucy5kYXRhKVxuICBkb2MucHJvY2Vzc0ZpbGVzKG9wdGlvbnMuZGF0YSlcbiAgZG9jLnByaW50KClcbiAgcmV0dXJuIDBcbn1cblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAocHJvY2Vzcy5hcmd2WzFdLmVuZHNXaXRoKFwiZG9jdW1lbnRfZG9zc2llcnNfbGVnaXNsYXRpZnMudHNcIikpXG4gIHByb2Nlc3MuZXhpdChtYWluKHByb2Nlc3MuYXJndikpXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQWdELElBQUFJLE9BQUE7QUFBQSxTQUFBTCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsZUFBQUMsR0FBQSxFQUFBQyxDQUFBLFdBQUFDLGVBQUEsQ0FBQUYsR0FBQSxLQUFBRyxxQkFBQSxDQUFBSCxHQUFBLEVBQUFDLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUosR0FBQSxFQUFBQyxDQUFBLEtBQUFJLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQUMsU0FBQTtBQUFBLFNBQUFILHNCQUFBSSxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxXQUFBRixDQUFBLGdDQUFBRyxNQUFBLElBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEsNEJBQUFFLENBQUEsUUFBQUcsQ0FBQSxFQUFBQyxDQUFBLEVBQUFaLENBQUEsRUFBQWEsQ0FBQSxFQUFBQyxDQUFBLE9BQUFDLENBQUEsT0FBQUMsQ0FBQSxpQkFBQWhCLENBQUEsSUFBQVEsQ0FBQSxHQUFBQSxDQUFBLENBQUFTLElBQUEsQ0FBQVgsQ0FBQSxHQUFBWSxJQUFBLFFBQUFYLENB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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _class2;
|
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
|
-
function _toPropertyKey(
|
|
4
|
-
function _toPrimitive(
|
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
4
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
5
|
import commandLineArgs from "command-line-args";
|
|
6
6
|
import commandLineUsage from "command-line-usage";
|
|
7
7
|
import assert from "assert";
|
|
@@ -31,6 +31,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
31
31
|
// import { loadAssembleeData } from "../loaders"
|
|
32
32
|
// import { Document, TypeDocument } from "../types/dossiers_legislatifs"
|
|
33
33
|
// import { DocumentUrlFormat, urlFromDocument } from "../urls"
|
|
34
|
+
|
|
34
35
|
var optionsDefinitions = [{
|
|
35
36
|
alias: "c",
|
|
36
37
|
help: "commit split files",
|
|
@@ -197,4 +198,4 @@ function parseTextesLois() {
|
|
|
197
198
|
return 0;
|
|
198
199
|
}
|
|
199
200
|
process.exit(parseTextesLois());
|
|
200
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kb2N1bWVudHMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJUeXBlRXJyb3IiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJhcnIiLCJsZW4iLCJhcnIyIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwidHlwZSIsIkJvb2xlYW4iLCJTdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicGFyc2VUZXh0ZXNMb2lzIiwiYXNzZXJ0IiwiY29tbWl0IiwiZmlsZW5hbWUiLCJkYXRhRGlyIiwidGV4dGVzTG9pc0RpciIsInBhdGgiLCJqb2luIiwibGVnaXNsYXR1cmUiLCJfaXRlcmF0b3IiLCJmcyIsInJlYWRkaXJTeW5jIiwiX3N0ZXAiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJ0ZXh0ZUxvaVBhdGgiLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwidGV4dGVMb2lQYWdlIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ0ZXh0ZUxvaVVybCIsInRleHRlTG9pUGFyc2VkIiwicGFyc2VUZXh0ZUxvaSIsInZlcmJvc2UiLCJKU09OIiwic3RyaW5naWZ5Iiwic3ViZGl2aXNpb25zIiwiZXJyb3IiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3BhcnNlX3RleHRlc19sb2lzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG4vLyBpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG4vLyBpbXBvcnQgeyBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuLy8gaW1wb3J0IHsgbG9hZEFzc2VtYmxlZURhdGEgfSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQgeyBwYXJzZVRleHRlTG9pIH0gZnJvbSBcIi4uL3BhcnNlcnMvZG9jdW1lbnRzXCJcbi8vIGltcG9ydCB7IERvY3VtZW50LCBUeXBlRG9jdW1lbnQgfSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuLy8gaW1wb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQsIHVybEZyb21Eb2N1bWVudCB9IGZyb20gXCIuLi91cmxzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IHNwbGl0IGZpbGVzXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiZlwiLFxuICAgIGhlbHA6IFwiRmlsZW5hbWUgb2YgQXNzZW1ibMOpZSdzIGRvY3VtZW50IHRvIHBhcnNlXCIsXG4gICAgbmFtZTogXCJmaWxlbmFtZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImxcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwiMTZcIixcbiAgICBuYW1lOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiclwiLFxuICAgIGhlbHA6IFwicHVzaCBjb21taXQgdG8gZ2l2ZW4gcmVtb3RlXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJyZW1vdGVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJzXCIsXG4gICAgaGVscDogXCJkb24ndCBsb2cgYW55dGhpbmdcIixcbiAgICBuYW1lOiBcInNpbGVudFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ2XCIsXG4gICAgaGVscDogXCJ2ZXJib3NlIGxvZ3NcIixcbiAgICBuYW1lOiBcInZlcmJvc2VcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmZ1bmN0aW9uIHBhcnNlVGV4dGVzTG9pcygpOiBudW1iZXIge1xuICBhc3NlcnQoXG4gICAgIW9wdGlvbnMuY29tbWl0IHx8IG9wdGlvbnMuZmlsZW5hbWUsXG4gICAgJ09wdGlvbnMgXCJjb21taXRcIiAmIFwiZmlsZW5hbWVcIiBhcmUgaW5jb21wYXRpYmxlJyxcbiAgKVxuXG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgLy8gY29uc3QgeyBkb2N1bWVudEJ5VWlkIH0gPSBsb2FkQXNzZW1ibGVlRGF0YShcbiAgLy8gICBkYXRhRGlyLFxuICAvLyAgIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICAvLyAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gIC8vIClcblxuICBjb25zdCB0ZXh0ZXNMb2lzRGlyID0gcGF0aC5qb2luKFxuICAgIGRhdGFEaXIsXG4gICAgXCJ3d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mclwiLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgXCJ0ZXh0ZXNcIixcbiAgKVxuICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKHRleHRlc0xvaXNEaXIpKSB7XG4gICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKCFmaWxlbmFtZS5lbmRzV2l0aChcIi5hc3BcIikpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmZpbGVuYW1lICYmICFmaWxlbmFtZS5zdGFydHNXaXRoKG9wdGlvbnMuZmlsZW5hbWUpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCB0ZXh0ZUxvaVBhdGggPSBwYXRoLmpvaW4odGV4dGVzTG9pc0RpciwgZmlsZW5hbWUpXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYFBhcnNpbmcgXCJ0ZXh0ZSBkZSBsb2lcIiAke3RleHRlTG9pUGF0aH3igKZgKVxuICAgIH1cbiAgICBjb25zdCB0ZXh0ZUxvaVBhZ2UgPSBmcy5yZWFkRmlsZVN5bmModGV4dGVMb2lQYXRoLCB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSlcbiAgICBjb25zdCB0ZXh0ZUxvaVVybCA9IGBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvJHtvcHRpb25zLmxlZ2lzbGF0dXJlfS90ZXh0ZXMvJHtmaWxlbmFtZX1gXG4gICAgY29uc3QgdGV4dGVMb2lQYXJzZWQgPSBwYXJzZVRleHRlTG9pKHRleHRlTG9pVXJsLCB0ZXh0ZUxvaVBhZ2UpXG4gICAgaWYgKG9wdGlvbnMuZmlsZW5hbWUgJiYgb3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0ZXh0ZUxvaVBhcnNlZC5zdWJkaXZpc2lvbnMsIG51bGwsIDIpKVxuICAgIH1cbiAgICBjb25zdCB7IGVycm9yIH0gPSB0ZXh0ZUxvaVBhcnNlZFxuICAgIGlmIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYCAgRXJyb3Igd2hpbGUgcGFyc2luZyBwYWdlIFwiJHt0ZXh0ZUxvaVBhdGh9XCI6XFxuXFxuRXJyb3I6XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIDIsXG4gICAgICAgICl9YCxcbiAgICAgIClcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICB9XG5cbiAgLy8gZnMuZW5zdXJlRGlyU3luYyh0ZXh0ZXNMb2lzRGlyKVxuICAvLyBpZiAoIW9wdGlvbnMudWlkKSB7XG4gIC8vICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmcy5yZWFkZGlyU3luYyh0ZXh0ZXNMb2lzRGlyKSkge1xuICAvLyAgICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgICAgZnMucmVtb3ZlU3luYyhwYXRoLmpvaW4odGV4dGVzTG9pc0RpciwgZmlsZW5hbWUpKVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIGNvbnN0IHRleHRlc0xvaXMgPSBPYmplY3QudmFsdWVzKGRvY3VtZW50QnlVaWQpXG4gIC8vICAgLmZpbHRlcihkb2N1bWVudCA9PiBkb2N1bWVudC54c2lUeXBlID09PSBUeXBlRG9jdW1lbnQuVGV4dGVMb2lUeXBlKVxuICAvLyAgIC5maWx0ZXIoXG4gIC8vICAgICBkb2N1bWVudCA9PiBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBJT05BTlwiKSB8fCBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBSSkxBTlwiKSxcbiAgLy8gICApXG4gIC8vICAgLm1hcChkb2N1bWVudCA9PiB7XG4gIC8vICAgICByZXR1cm4ge1xuICAvLyAgICAgICAuLi5kb2N1bWVudCxcbiAgLy8gICAgICAgcmF3RG9jdW1lbnRBc3NlbWJsZWVVcmw6IHVybEZyb21Eb2N1bWVudChkb2N1bWVudCwgRG9jdW1lbnRVcmxGb3JtYXQuUmF3SHRtbCksXG4gIC8vICAgICB9XG4gIC8vICAgfSlcbiAgLy8gICAuc29ydCgoYSwgYikgPT5cbiAgLy8gICAgIGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgLy8gICAgICAgPyAtMVxuICAvLyAgICAgICA6IGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgLy8gICAgICAgPyAxXG4gIC8vICAgICAgIDogYS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybC5sb2NhbGVDb21wYXJlKGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpLFxuICAvLyAgIClcblxuICAvLyBjb25zdCBmaXJzdFVpZCA9IG9wdGlvbnMudWlkXG4gIC8vIGxldCBza2lwID0gISFmaXJzdFVpZFxuICAvLyBmb3IgKGNvbnN0IHRleHRlTG9pIG9mIHRleHRlc0xvaXMpIHtcbiAgLy8gICBpZiAoc2tpcCkge1xuICAvLyAgICAgaWYgKHRleHRlTG9pLnVpZCA9PT0gZmlyc3RVaWQpIHtcbiAgLy8gICAgICAgc2tpcCA9IGZhbHNlXG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gIC8vICAgICBjb25zb2xlLmxvZyhcbiAgLy8gICAgICAgYFJldHJpZXZpbmcgYmlsbCAke3RleHRlTG9pLnVpZH0gYXQgJHt0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybH1gLFxuICAvLyAgICAgKVxuICAvLyAgIH1cbiAgLy8gICBpZiAodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGwpIHtcbiAgLy8gICAgIGNvbnRpbnVlXG4gIC8vICAgfVxuICAvLyAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpXG4gIC8vICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YURpciwgdXJsLmhvc3RuYW1lLCAuLi51cmwucGF0aG5hbWUuc3BsaXQoXCIvXCIpKVxuICAvLyAgIGFzc2VydC5zdHJpY3RFcXVhbCh0ZXh0ZXNMb2lzRGlyLCBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKVxuXG4gIC8vICAgbGV0IHBhZ2UgPSB1bmRlZmluZWRcbiAgLy8gICB0cnkge1xuICAvLyAgICAgcGFnZSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG4gIC8vICAgfSBjYXRjaCAoZSkge1xuICAvLyAgICAgaWYgKGUuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgICAgdGhyb3cgZVxuICAvLyAgIH1cblxuICAvLyAgIGlmIChvcHRpb25zLnBhcnNlKSB7XG4gIC8vICAgICBjb25zdCB0ZXh0ZUxvaVBhcnNlZCA9IHBhcnNlVGV4dGVMb2kodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwsIHBhZ2UpXG4gIC8vICAgICBjb25zdCB7IGVycm9yIH0gPSB0ZXh0ZUxvaVBhcnNlZFxuICAvLyAgICAgaWYgKGVycm9yKSB7XG4gIC8vICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gIC8vICAgICAgICAgYEVycm9yIHdoaWxlIHBhcnNpbmcgcGFnZSBcIiR7dGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmx9XCIgKHVpZDogJHtcbiAgLy8gICAgICAgICAgIHRleHRlTG9pLnVpZFxuICAvLyAgICAgICAgIH0pOlxcblxcbkVycm9yOlxcbiR7SlNPTi5zdHJpbmdpZnkoZXJyb3IsIG51bGwsIDIpfWAsXG4gIC8vICAgICAgIClcbiAgLy8gICAgICAgY29udGludWVcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cbiAgLy8gaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gIC8vICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHRleHRlc0xvaXNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgLy8gfVxuICByZXR1cm4gMFxufVxuXG5wcm9jZXNzLmV4aXQocGFyc2VUZXh0ZXNMb2lzKCkpXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUlBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUFvRCxTQUFBRCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFBQSxDQUFBLENBQUFRLE1BQUEscUJBQUFOLEVBQUEsRUFBQUYsQ0FBQSxHQUFBRSxFQUFBLE1BQUFPLENBQUEsVUFBQUMsQ0FB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
|
|
201
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ZzRXh0cmEiLCJfcGF0aCIsIl9kb2N1bWVudHMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJvIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJUeXBlRXJyb3IiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiZnJvbSIsInRlc3QiLCJhcnIiLCJsZW4iLCJhcnIyIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwidHlwZSIsIkJvb2xlYW4iLCJTdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJtdWx0aXBsZSIsImRlZmF1bHRPcHRpb24iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwicGFyc2VUZXh0ZXNMb2lzIiwiYXNzZXJ0IiwiY29tbWl0IiwiZmlsZW5hbWUiLCJkYXRhRGlyIiwidGV4dGVzTG9pc0RpciIsInBhdGgiLCJqb2luIiwibGVnaXNsYXR1cmUiLCJfaXRlcmF0b3IiLCJmcyIsInJlYWRkaXJTeW5jIiwiX3N0ZXAiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJ0ZXh0ZUxvaVBhdGgiLCJzaWxlbnQiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwidGV4dGVMb2lQYWdlIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJ0ZXh0ZUxvaVVybCIsInRleHRlTG9pUGFyc2VkIiwicGFyc2VUZXh0ZUxvaSIsInZlcmJvc2UiLCJKU09OIiwic3RyaW5naWZ5Iiwic3ViZGl2aXNpb25zIiwiZXJyb3IiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3BhcnNlX3RleHRlc19sb2lzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG4vLyBpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG4vLyBpbXBvcnQgeyBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuLy8gaW1wb3J0IHsgbG9hZEFzc2VtYmxlZURhdGEgfSBmcm9tIFwiLi4vbG9hZGVyc1wiXG5pbXBvcnQgeyBwYXJzZVRleHRlTG9pIH0gZnJvbSBcIi4uL3BhcnNlcnMvZG9jdW1lbnRzXCJcbi8vIGltcG9ydCB7IERvY3VtZW50LCBUeXBlRG9jdW1lbnQgfSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuLy8gaW1wb3J0IHsgRG9jdW1lbnRVcmxGb3JtYXQsIHVybEZyb21Eb2N1bWVudCB9IGZyb20gXCIuLi91cmxzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwiY1wiLFxuICAgIGhlbHA6IFwiY29tbWl0IHNwbGl0IGZpbGVzXCIsXG4gICAgbmFtZTogXCJjb21taXRcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiZlwiLFxuICAgIGhlbHA6IFwiRmlsZW5hbWUgb2YgQXNzZW1ibMOpZSdzIGRvY3VtZW50IHRvIHBhcnNlXCIsXG4gICAgbmFtZTogXCJmaWxlbmFtZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImxcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwiMTZcIixcbiAgICBuYW1lOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiclwiLFxuICAgIGhlbHA6IFwicHVzaCBjb21taXQgdG8gZ2l2ZW4gcmVtb3RlXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJyZW1vdGVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJzXCIsXG4gICAgaGVscDogXCJkb24ndCBsb2cgYW55dGhpbmdcIixcbiAgICBuYW1lOiBcInNpbGVudFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ2XCIsXG4gICAgaGVscDogXCJ2ZXJib3NlIGxvZ3NcIixcbiAgICBuYW1lOiBcInZlcmJvc2VcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmZ1bmN0aW9uIHBhcnNlVGV4dGVzTG9pcygpOiBudW1iZXIge1xuICBhc3NlcnQoXG4gICAgIW9wdGlvbnMuY29tbWl0IHx8IG9wdGlvbnMuZmlsZW5hbWUsXG4gICAgJ09wdGlvbnMgXCJjb21taXRcIiAmIFwiZmlsZW5hbWVcIiBhcmUgaW5jb21wYXRpYmxlJyxcbiAgKVxuXG4gIGNvbnN0IGRhdGFEaXIgPSBvcHRpb25zLmRhdGFEaXJcbiAgLy8gY29uc3QgeyBkb2N1bWVudEJ5VWlkIH0gPSBsb2FkQXNzZW1ibGVlRGF0YShcbiAgLy8gICBkYXRhRGlyLFxuICAvLyAgIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICAvLyAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gIC8vIClcblxuICBjb25zdCB0ZXh0ZXNMb2lzRGlyID0gcGF0aC5qb2luKFxuICAgIGRhdGFEaXIsXG4gICAgXCJ3d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mclwiLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgXCJ0ZXh0ZXNcIixcbiAgKVxuICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZzLnJlYWRkaXJTeW5jKHRleHRlc0xvaXNEaXIpKSB7XG4gICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKCFmaWxlbmFtZS5lbmRzV2l0aChcIi5hc3BcIikpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChvcHRpb25zLmZpbGVuYW1lICYmICFmaWxlbmFtZS5zdGFydHNXaXRoKG9wdGlvbnMuZmlsZW5hbWUpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCB0ZXh0ZUxvaVBhdGggPSBwYXRoLmpvaW4odGV4dGVzTG9pc0RpciwgZmlsZW5hbWUpXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coYFBhcnNpbmcgXCJ0ZXh0ZSBkZSBsb2lcIiAke3RleHRlTG9pUGF0aH3igKZgKVxuICAgIH1cbiAgICBjb25zdCB0ZXh0ZUxvaVBhZ2UgPSBmcy5yZWFkRmlsZVN5bmModGV4dGVMb2lQYXRoLCB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSlcbiAgICBjb25zdCB0ZXh0ZUxvaVVybCA9IGBodHRwOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvJHtvcHRpb25zLmxlZ2lzbGF0dXJlfS90ZXh0ZXMvJHtmaWxlbmFtZX1gXG4gICAgY29uc3QgdGV4dGVMb2lQYXJzZWQgPSBwYXJzZVRleHRlTG9pKHRleHRlTG9pVXJsLCB0ZXh0ZUxvaVBhZ2UpXG4gICAgaWYgKG9wdGlvbnMuZmlsZW5hbWUgJiYgb3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0ZXh0ZUxvaVBhcnNlZC5zdWJkaXZpc2lvbnMsIG51bGwsIDIpKVxuICAgIH1cbiAgICBjb25zdCB7IGVycm9yIH0gPSB0ZXh0ZUxvaVBhcnNlZFxuICAgIGlmIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYCAgRXJyb3Igd2hpbGUgcGFyc2luZyBwYWdlIFwiJHt0ZXh0ZUxvaVBhdGh9XCI6XFxuXFxuRXJyb3I6XFxuJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIDIsXG4gICAgICAgICl9YCxcbiAgICAgIClcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICB9XG5cbiAgLy8gZnMuZW5zdXJlRGlyU3luYyh0ZXh0ZXNMb2lzRGlyKVxuICAvLyBpZiAoIW9wdGlvbnMudWlkKSB7XG4gIC8vICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmcy5yZWFkZGlyU3luYyh0ZXh0ZXNMb2lzRGlyKSkge1xuICAvLyAgICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgICAgZnMucmVtb3ZlU3luYyhwYXRoLmpvaW4odGV4dGVzTG9pc0RpciwgZmlsZW5hbWUpKVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIGNvbnN0IHRleHRlc0xvaXMgPSBPYmplY3QudmFsdWVzKGRvY3VtZW50QnlVaWQpXG4gIC8vICAgLmZpbHRlcihkb2N1bWVudCA9PiBkb2N1bWVudC54c2lUeXBlID09PSBUeXBlRG9jdW1lbnQuVGV4dGVMb2lUeXBlKVxuICAvLyAgIC5maWx0ZXIoXG4gIC8vICAgICBkb2N1bWVudCA9PiBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBJT05BTlwiKSB8fCBkb2N1bWVudC51aWQuc3RhcnRzV2l0aChcIlBSSkxBTlwiKSxcbiAgLy8gICApXG4gIC8vICAgLm1hcChkb2N1bWVudCA9PiB7XG4gIC8vICAgICByZXR1cm4ge1xuICAvLyAgICAgICAuLi5kb2N1bWVudCxcbiAgLy8gICAgICAgcmF3RG9jdW1lbnRBc3NlbWJsZWVVcmw6IHVybEZyb21Eb2N1bWVudChkb2N1bWVudCwgRG9jdW1lbnRVcmxGb3JtYXQuUmF3SHRtbCksXG4gIC8vICAgICB9XG4gIC8vICAgfSlcbiAgLy8gICAuc29ydCgoYSwgYikgPT5cbiAgLy8gICAgIGEucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgLy8gICAgICAgPyAtMVxuICAvLyAgICAgICA6IGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGxcbiAgLy8gICAgICAgPyAxXG4gIC8vICAgICAgIDogYS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybC5sb2NhbGVDb21wYXJlKGIucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpLFxuICAvLyAgIClcblxuICAvLyBjb25zdCBmaXJzdFVpZCA9IG9wdGlvbnMudWlkXG4gIC8vIGxldCBza2lwID0gISFmaXJzdFVpZFxuICAvLyBmb3IgKGNvbnN0IHRleHRlTG9pIG9mIHRleHRlc0xvaXMpIHtcbiAgLy8gICBpZiAoc2tpcCkge1xuICAvLyAgICAgaWYgKHRleHRlTG9pLnVpZCA9PT0gZmlyc3RVaWQpIHtcbiAgLy8gICAgICAgc2tpcCA9IGZhbHNlXG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gIC8vICAgICBjb25zb2xlLmxvZyhcbiAgLy8gICAgICAgYFJldHJpZXZpbmcgYmlsbCAke3RleHRlTG9pLnVpZH0gYXQgJHt0ZXh0ZUxvaS5yYXdEb2N1bWVudEFzc2VtYmxlZVVybH1gLFxuICAvLyAgICAgKVxuICAvLyAgIH1cbiAgLy8gICBpZiAodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwgPT09IG51bGwpIHtcbiAgLy8gICAgIGNvbnRpbnVlXG4gIC8vICAgfVxuICAvLyAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwpXG4gIC8vICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oZGF0YURpciwgdXJsLmhvc3RuYW1lLCAuLi51cmwucGF0aG5hbWUuc3BsaXQoXCIvXCIpKVxuICAvLyAgIGFzc2VydC5zdHJpY3RFcXVhbCh0ZXh0ZXNMb2lzRGlyLCBwYXRoLmRpcm5hbWUoZmlsZVBhdGgpKVxuXG4gIC8vICAgbGV0IHBhZ2UgPSB1bmRlZmluZWRcbiAgLy8gICB0cnkge1xuICAvLyAgICAgcGFnZSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG4gIC8vICAgfSBjYXRjaCAoZSkge1xuICAvLyAgICAgaWYgKGUuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAvLyAgICAgICBjb250aW51ZVxuICAvLyAgICAgfVxuICAvLyAgICAgdGhyb3cgZVxuICAvLyAgIH1cblxuICAvLyAgIGlmIChvcHRpb25zLnBhcnNlKSB7XG4gIC8vICAgICBjb25zdCB0ZXh0ZUxvaVBhcnNlZCA9IHBhcnNlVGV4dGVMb2kodGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmwsIHBhZ2UpXG4gIC8vICAgICBjb25zdCB7IGVycm9yIH0gPSB0ZXh0ZUxvaVBhcnNlZFxuICAvLyAgICAgaWYgKGVycm9yKSB7XG4gIC8vICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gIC8vICAgICAgICAgYEVycm9yIHdoaWxlIHBhcnNpbmcgcGFnZSBcIiR7dGV4dGVMb2kucmF3RG9jdW1lbnRBc3NlbWJsZWVVcmx9XCIgKHVpZDogJHtcbiAgLy8gICAgICAgICAgIHRleHRlTG9pLnVpZFxuICAvLyAgICAgICAgIH0pOlxcblxcbkVycm9yOlxcbiR7SlNPTi5zdHJpbmdpZnkoZXJyb3IsIG51bGwsIDIpfWAsXG4gIC8vICAgICAgIClcbiAgLy8gICAgICAgY29udGludWVcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cbiAgLy8gaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gIC8vICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHRleHRlc0xvaXNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgLy8gfVxuICByZXR1cm4gMFxufVxuXG5wcm9jZXNzLmV4aXQocGFyc2VUZXh0ZXNMb2lzKCkpXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUlBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUFvRCxTQUFBRCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsMkJBQUFDLENBQUEsRUFBQUMsY0FBQSxRQUFBQyxFQUFBLFVBQUFDLE1BQUEsb0JBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLEVBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsRUFBQSxHQUFBSywyQkFBQSxDQUFBUCxDQUFBLE1BQUFDLGNBQUEsSUFBQUQsQ0FBQSxXQUFBQSxDQUFBLENBQUFRLE1BQUEscUJBQUFOLEVBQUEsRUFBQUYsQ0FBQSxHQUFBRSxFQUFBLE1BQUFPLENBQUEsVUFBQUMsQ0FB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
|