@tricoteuses/assemblee 1.2.4 → 1.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +1 -1
  2. package/lib/api.js +5 -9
  3. package/lib/bugs/acteur-00010.js +18 -11
  4. package/lib/bugs/agenda-00002.js +35 -21
  5. package/lib/bugs/agenda-00008.js +19 -13
  6. package/lib/bugs/agenda-00011.js +58 -31
  7. package/lib/bugs.js +85 -47
  8. package/lib/cleaners/amendements.js +6 -2
  9. package/lib/cleaners/amendements.mjs +5 -2
  10. package/lib/datasets.js +4 -7
  11. package/lib/dates.js +6 -11
  12. package/lib/dossiers_legislatifs.js +3 -5
  13. package/lib/file_systems.js +2 -3
  14. package/lib/parsers/documents.js +7 -4
  15. package/lib/parsers/recherche_amendements.js +13 -6
  16. package/lib/raw_types/acteurs_et_organes.js +14 -27
  17. package/lib/raw_types/agendas.js +14 -27
  18. package/lib/raw_types/amendements.js +14 -27
  19. package/lib/raw_types/debats.d.ts +1 -0
  20. package/lib/raw_types/debats.js +7 -5
  21. package/lib/raw_types/debats.mjs +5 -1
  22. package/lib/raw_types/dossiers_legislatifs.js +17 -33
  23. package/lib/raw_types/questions.d.ts +4 -20
  24. package/lib/raw_types/questions.js +10 -41
  25. package/lib/raw_types/questions.mjs +5 -30
  26. package/lib/raw_types/scrutins.js +10 -19
  27. package/lib/scripts/bugs_helper.js +64 -34
  28. package/lib/scripts/clean_reorganized_data.js +3 -3
  29. package/lib/scripts/raw_types_from_amendements.js +9 -6
  30. package/lib/scripts/reorganize_data.js +3 -3
  31. package/lib/scripts/retrieve_deputes_photos.js +11 -8
  32. package/lib/scripts/retrieve_documents.js +11 -8
  33. package/lib/scripts/retrieve_open_data.js +7 -4
  34. package/lib/scripts/retrieve_pending_amendments.js +9 -6
  35. package/lib/scripts/retrieve_senateurs_photos.js +41 -38
  36. package/lib/scripts/retrieve_textes_lois.js +11 -8
  37. package/lib/scripts/validate_json.js +19 -12
  38. package/lib/shared_types/codes_actes.js +6 -11
  39. package/lib/types/acteurs_et_organes.js +11 -21
  40. package/lib/types/agendas.js +14 -27
  41. package/lib/types/amendements.js +14 -27
  42. package/lib/types/debats.d.ts +1 -0
  43. package/lib/types/debats.js +7 -5
  44. package/lib/types/debats.mjs +5 -1
  45. package/lib/types/dossiers_legislatifs.js +16 -31
  46. package/lib/types/legislatures.js +2 -3
  47. package/lib/types/questions.d.ts +4 -20
  48. package/lib/types/questions.js +10 -41
  49. package/lib/types/questions.mjs +5 -30
  50. package/lib/types/scrutins.js +10 -19
  51. package/lib/urls.js +2 -3
  52. package/package.json +20 -13
@@ -16,7 +16,7 @@ export interface Question {
16
16
  type: Type;
17
17
  indexationAN: IndexationAn;
18
18
  auteur: Auteur;
19
- minInt: MinInt;
19
+ minInt: Groupe;
20
20
  minAttribs: MinAttribs;
21
21
  textesQuestion?: TextesQuestion | null;
22
22
  textesReponse?: TextesReponse | null;
@@ -43,28 +43,16 @@ export interface Identite {
43
43
  mandatRef: string;
44
44
  }
45
45
  export interface Cloture {
46
- codeCloture: CodeCloture;
47
- libelleCloture: LibelleCloture;
46
+ codeCloture: string;
47
+ libelleCloture: string;
48
48
  dateCloture: string;
49
49
  infoJO: InfoJo | null;
50
50
  }
51
- export declare enum CodeCloture {
52
- Au = "AU",
53
- Fm = "FM",
54
- Id = "ID",
55
- RepPub = "REP_PUB"
56
- }
57
51
  export declare enum TypeJo {
58
52
  JoQuestion = "JO_QUESTION",
59
53
  JoLoiDecret = "JO_LOI_DECRET",
60
54
  JoDebate = "JO_DEBAT"
61
55
  }
62
- export declare enum LibelleCloture {
63
- FinDeMandat = "Fin de mandat",
64
- RetraitÀLInitiativeDeLAuteur = "Retrait \u00E0 l'initiative de l'auteur",
65
- RetraitPourCauseDeQuestionIdentique = "Retrait pour cause de question identique",
66
- RéponsePubliée = "R\u00E9ponse publi\u00E9e"
67
- }
68
56
  export interface Identifiant {
69
57
  numero: string;
70
58
  regime: string;
@@ -83,11 +71,7 @@ export interface MinAttribs {
83
71
  }
84
72
  export interface MinAttribElement {
85
73
  infoJO: InfoJo;
86
- denomination: MinInt;
87
- }
88
- export interface MinInt {
89
- abrege: string;
90
- developpe: string;
74
+ denomination: Groupe;
91
75
  }
92
76
  export interface TextesQuestion {
93
77
  texteQuestion: Texte[] | Texte;
@@ -8,7 +8,7 @@ require("core-js/modules/web.dom-collections.iterator.js");
8
8
  Object.defineProperty(exports, "__esModule", {
9
9
  value: true
10
10
  });
11
- exports.TypeJo = exports.Type = exports.QuestionXsiType = exports.LibelleCloture = exports.Convert = exports.CodeCloture = void 0;
11
+ exports.TypeJo = exports.Type = exports.QuestionXsiType = exports.Convert = void 0;
12
12
  require("core-js/modules/es.object.keys.js");
13
13
  require("core-js/modules/es.array.concat.js");
14
14
  require("core-js/modules/es.array.for-each.js");
@@ -39,45 +39,26 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
39
39
  //
40
40
  // These functions will throw an error if the JSON doesn't
41
41
  // match the expected interface, even if the JSON is valid.
42
- var QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
42
+ var QuestionXsiType = exports.QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
43
43
  QuestionXsiType["QuestionEcrite"] = "QuestionEcrite_Type";
44
44
  QuestionXsiType["QuestionGouvernement"] = "QuestionGouvernement_Type";
45
45
  QuestionXsiType["QuestionOrale"] = "QuestionOrale_Type";
46
46
  return QuestionXsiType;
47
47
  }({});
48
- exports.QuestionXsiType = QuestionXsiType;
49
- var CodeCloture = /*#__PURE__*/function (CodeCloture) {
50
- CodeCloture["Au"] = "AU";
51
- CodeCloture["Fm"] = "FM";
52
- CodeCloture["Id"] = "ID";
53
- CodeCloture["RepPub"] = "REP_PUB";
54
- return CodeCloture;
55
- }({});
56
- exports.CodeCloture = CodeCloture;
57
- var TypeJo = /*#__PURE__*/function (TypeJo) {
48
+ var TypeJo = exports.TypeJo = /*#__PURE__*/function (TypeJo) {
58
49
  TypeJo["JoQuestion"] = "JO_QUESTION";
59
50
  TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
60
51
  TypeJo["JoDebate"] = "JO_DEBAT";
61
52
  return TypeJo;
62
53
  }({});
63
- exports.TypeJo = TypeJo;
64
- var LibelleCloture = /*#__PURE__*/function (LibelleCloture) {
65
- LibelleCloture["FinDeMandat"] = "Fin de mandat";
66
- LibelleCloture["Retrait\xC0LInitiativeDeLAuteur"] = "Retrait \xE0 l'initiative de l'auteur";
67
- LibelleCloture["RetraitPourCauseDeQuestionIdentique"] = "Retrait pour cause de question identique";
68
- LibelleCloture["R\xE9ponsePubli\xE9e"] = "R\xE9ponse publi\xE9e";
69
- return LibelleCloture;
70
- }({});
71
- exports.LibelleCloture = LibelleCloture;
72
- var Type = /*#__PURE__*/function (Type) {
54
+ var Type = exports.Type = /*#__PURE__*/function (Type) {
73
55
  Type["Qe"] = "QE";
74
56
  Type["Qg"] = "QG";
75
57
  Type["Qosd"] = "QOSD";
76
58
  return Type;
77
59
  }({}); // Converts JSON strings to/from your types
78
60
  // and asserts the results of JSON.parse at runtime
79
- exports.Type = Type;
80
- var Convert = /*#__PURE__*/function () {
61
+ var Convert = exports.Convert = /*#__PURE__*/function () {
81
62
  function Convert() {
82
63
  _classCallCheck(this, Convert);
83
64
  }
@@ -104,7 +85,6 @@ var Convert = /*#__PURE__*/function () {
104
85
  }]);
105
86
  return Convert;
106
87
  }();
107
- exports.Convert = Convert;
108
88
  function invalidValue(typ, val) {
109
89
  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
110
90
  if (key) {
@@ -296,7 +276,7 @@ var typeMap = {
296
276
  }, {
297
277
  json: "minInt",
298
278
  js: "minInt",
299
- typ: r("MinInt")
279
+ typ: r("Groupe")
300
280
  }, {
301
281
  json: "minAttribs",
302
282
  js: "minAttribs",
@@ -356,11 +336,11 @@ var typeMap = {
356
336
  "Cloture": o([{
357
337
  json: "codeCloture",
358
338
  js: "codeCloture",
359
- typ: r("CodeCloture")
339
+ typ: ""
360
340
  }, {
361
341
  json: "libelleCloture",
362
342
  js: "libelleCloture",
363
- typ: r("LibelleCloture")
343
+ typ: ""
364
344
  }, {
365
345
  json: "dateCloture",
366
346
  js: "dateCloture",
@@ -413,16 +393,7 @@ var typeMap = {
413
393
  }, {
414
394
  json: "denomination",
415
395
  js: "denomination",
416
- typ: r("MinInt")
417
- }], false),
418
- "MinInt": o([{
419
- json: "abrege",
420
- js: "abrege",
421
- typ: ""
422
- }, {
423
- json: "developpe",
424
- js: "developpe",
425
- typ: ""
396
+ typ: r("Groupe")
426
397
  }], false),
427
398
  "InfoJo": o([{
428
399
  json: "typeJO",
@@ -492,9 +463,7 @@ var typeMap = {
492
463
  typ: r("InfoJo")
493
464
  }], false),
494
465
  "QuestionXsiType": ["QuestionEcrite_Type", "QuestionGouvernement_Type", "QuestionOrale_Type"],
495
- "CodeCloture": ["AU", "FM", "ID", "REP_PUB"],
496
466
  "TypeJo": ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
497
- "LibelleCloture": ["Fin de mandat", "Retrait à l'initiative de l'auteur", "Retrait pour cause de question identique", "Réponse publiée"],
498
467
  "Type": ["QE", "QG", "QOSD"]
499
468
  };
500
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJleHBvcnRzIiwiQ29kZUNsb3R1cmUiLCJUeXBlSm8iLCJMaWJlbGxlQ2xvdHVyZSIsIlR5cGUiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b1F1ZXN0aW9ucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInF1ZXN0aW9uc1RvSnNvbiIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvUXVlc3Rpb25XcmFwcGVyIiwicXVlc3Rpb25XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvcXVlc3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFF1ZXN0aW9ucywgUXVlc3Rpb25XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgcXVlc3Rpb25zID0gQ29udmVydC50b1F1ZXN0aW9uc2pzb24pO1xuLy8gICBjb25zdCBxdWVzdGlvbldyYXBwZXIgPSBDb252ZXJ0LnRvUXVlc3Rpb25XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zIHtcbiAgICBxdWVzdGlvbnM6IFF1ZXN0aW9uc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uc0NsYXNzIHtcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbldyYXBwZXIge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uIHtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgIHN0cmluZztcbiAgICBcIkB4bWxuczp4c2lcIjogICAgIHN0cmluZztcbiAgICBcIkB4c2k6dHlwZVwiOiAgICAgIFF1ZXN0aW9uWHNpVHlwZTtcbiAgICB1aWQ6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgaWRlbnRpZmlhbnQ6ICAgICAgSWRlbnRpZmlhbnQ7XG4gICAgdHlwZTogICAgICAgICAgICAgVHlwZTtcbiAgICBpbmRleGF0aW9uQU46ICAgICBJbmRleGF0aW9uQW47XG4gICAgYXV0ZXVyOiAgICAgICAgICAgQXV0ZXVyO1xuICAgIG1pbkludDogICAgICAgICAgIE1pbkludDtcbiAgICBtaW5BdHRyaWJzOiAgICAgICBNaW5BdHRyaWJzO1xuICAgIHRleHRlc1F1ZXN0aW9uPzogIFRleHRlc1F1ZXN0aW9uIHwgbnVsbDtcbiAgICB0ZXh0ZXNSZXBvbnNlPzogICBUZXh0ZXNSZXBvbnNlIHwgbnVsbDtcbiAgICBjbG90dXJlPzogICAgICAgICBDbG90dXJlIHwgbnVsbDtcbiAgICBzaWduYWxlbWVudD86ICAgICBTaWduYWxlbWVudCB8IG51bGw7XG4gICAgcmVub3V2ZWxsZW1lbnRzPzogUmVub3V2ZWxsZW1lbnRzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gUXVlc3Rpb25Yc2lUeXBlIHtcbiAgICBRdWVzdGlvbkVjcml0ZSA9IFwiUXVlc3Rpb25FY3JpdGVfVHlwZVwiLFxuICAgIFF1ZXN0aW9uR291dmVybmVtZW50ID0gXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgUXVlc3Rpb25PcmFsZSA9IFwiUXVlc3Rpb25PcmFsZV9UeXBlXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICAgIGlkZW50aXRlOiBJZGVudGl0ZTtcbiAgICBncm91cGU6ICAgR3JvdXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gICAgb3JnYW5lUmVmOiBzdHJpbmc7XG4gICAgYWJyZWdlOiAgICBzdHJpbmc7XG4gICAgZGV2ZWxvcHBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdGUge1xuICAgIGFjdGV1clJlZjogc3RyaW5nO1xuICAgIG1hbmRhdFJlZjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb3R1cmUge1xuICAgIGNvZGVDbG90dXJlOiAgICBDb2RlQ2xvdHVyZTtcbiAgICBsaWJlbGxlQ2xvdHVyZTogTGliZWxsZUNsb3R1cmU7XG4gICAgZGF0ZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgSW5mb0pvIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gQ29kZUNsb3R1cmUge1xuICAgIEF1ID0gXCJBVVwiLFxuICAgIEZtID0gXCJGTVwiLFxuICAgIElkID0gXCJJRFwiLFxuICAgIFJlcFB1YiA9IFwiUkVQX1BVQlwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlSm8ge1xuICAgIEpvUXVlc3Rpb24gPSBcIkpPX1FVRVNUSU9OXCIsXG4gICAgSm9Mb2lEZWNyZXQgPSBcIkpPX0xPSV9ERUNSRVRcIixcbiAgICBKb0RlYmF0ZSA9IFwiSk9fREVCQVRcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZUNsb3R1cmUge1xuICAgIEZpbkRlTWFuZGF0ID0gXCJGaW4gZGUgbWFuZGF0XCIsXG4gICAgUmV0cmFpdMOATEluaXRpYXRpdmVEZUxBdXRldXIgPSBcIlJldHJhaXQgw6AgbCdpbml0aWF0aXZlIGRlIGwnYXV0ZXVyXCIsXG4gICAgUmV0cmFpdFBvdXJDYXVzZURlUXVlc3Rpb25JZGVudGlxdWUgPSBcIlJldHJhaXQgcG91ciBjYXVzZSBkZSBxdWVzdGlvbiBpZGVudGlxdWVcIixcbiAgICBSw6lwb25zZVB1Ymxpw6llID0gXCJSw6lwb25zZSBwdWJsacOpZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50IHtcbiAgICBudW1lcm86ICAgICAgc3RyaW5nO1xuICAgIHJlZ2ltZTogICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICAgIHJ1YnJpcXVlOiAgICBzdHJpbmcgfCBudWxsO1xuICAgIHRldGVBbmFseXNlOiBudWxsO1xuICAgIGFuYWx5c2VzOiAgICAgQW5hbHlzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNlIHtcbiAgICBhbmFseXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYnMge1xuICAgIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJFbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICBkZW5vbWluYXRpb246IE1pbkludDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5JbnQge1xuICAgIGFicmVnZTogICAgc3RyaW5nO1xuICAgIGRldmVsb3BwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1F1ZXN0aW9uIHtcbiAgICB0ZXh0ZVF1ZXN0aW9uOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGUge1xuICAgIGluZm9KTzogSW5mb0pvO1xuICAgIHRleHRlOiAgc3RyaW5nIHwgbnVsbDtcbiAgICBlcnJhdHVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9KbyB7XG4gICAgdHlwZUpPOiAgICAgICAgICBUeXBlSm87XG4gICAgZGF0ZUpPOiAgICAgICAgICBzdHJpbmc7XG4gICAgcGFnZUpPOiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG51bUpPOiAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICB1cmxMZWdpZnJhbmNlOiAgIHN0cmluZyB8IG51bGw7XG4gICAgcmVmZXJlbmNlTk9SOiAgICBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1JlcG9uc2Uge1xuICAgIHRleHRlUmVwb25zZTogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbGVtZW50IHtcbiAgICBkYXRlRGVwb3RTaWduYWw6ICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgICAgSW5mb0pvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50cyB7XG4gICAgcmVub3V2ZWxsZW1lbnQ6IFJlbm91dmVsbGVtZW50W10gfCBSZW5vdXZlbGxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudCB7XG4gICAgaW5mb0pPOiBJbmZvSm87XG59XG5cbmV4cG9ydCBlbnVtIFR5cGUge1xuICAgIFFlID0gXCJRRVwiLFxuICAgIFFnID0gXCJRR1wiLFxuICAgIFFvc2QgPSBcIlFPU0RcIlxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25zKGpzb246IHN0cmluZyk6IFF1ZXN0aW9ucyB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25zVG9Kc29uKHZhbHVlOiBRdWVzdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9uV3JhcHBlcihqc29uOiBzdHJpbmcpOiBRdWVzdGlvbldyYXBwZXIge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uV3JhcHBlclRvSnNvbih2YWx1ZTogUXVlc3Rpb25XcmFwcGVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiUXVlc3Rpb25zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25zXCIsIGpzOiBcInF1ZXN0aW9uc1wiLCB0eXA6IHIoXCJRdWVzdGlvbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uc0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25cIiwganM6IFwicXVlc3Rpb25cIiwgdHlwOiBhKHIoXCJRdWVzdGlvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IHIoXCJRdWVzdGlvblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiUXVlc3Rpb25Yc2lUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmlhbnRcIiwganM6IFwiaWRlbnRpZmlhbnRcIiwgdHlwOiByKFwiSWRlbnRpZmlhbnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpbmRleGF0aW9uQU5cIiwganM6IFwiaW5kZXhhdGlvbkFOXCIsIHR5cDogcihcIkluZGV4YXRpb25BblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXV0ZXVyXCIsIGpzOiBcImF1dGV1clwiLCB0eXA6IHIoXCJBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkludFwiLCBqczogXCJtaW5JbnRcIiwgdHlwOiByKFwiTWluSW50XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJzXCIsIGpzOiBcIm1pbkF0dHJpYnNcIiwgdHlwOiByKFwiTWluQXR0cmlic1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUXVlc3Rpb25cIiwganM6IFwidGV4dGVzUXVlc3Rpb25cIiwgdHlwOiB1KHIoXCJUZXh0ZXNRdWVzdGlvblwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUmVwb25zZVwiLCBqczogXCJ0ZXh0ZXNSZXBvbnNlXCIsIHR5cDogdShyKFwiVGV4dGVzUmVwb25zZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdShyKFwiQ2xvdHVyZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwic2lnbmFsZW1lbnRcIiwganM6IFwic2lnbmFsZW1lbnRcIiwgdHlwOiB1KHIoXCJTaWduYWxlbWVudFwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwicmVub3V2ZWxsZW1lbnRzXCIsIGpzOiBcInJlbm91dmVsbGVtZW50c1wiLCB0eXA6IHUocihcIlJlbm91dmVsbGVtZW50c1wiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF1dGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImlkZW50aXRlXCIsIGpzOiBcImlkZW50aXRlXCIsIHR5cDogcihcIklkZW50aXRlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJncm91cGVcIiwganM6IFwiZ3JvdXBlXCIsIHR5cDogcihcIkdyb3VwZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkdyb3VwZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnJlZ2VcIiwganM6IFwiYWJyZWdlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGV2ZWxvcHBlXCIsIGpzOiBcImRldmVsb3BwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGl0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNsb3R1cmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlQ2xvdHVyZVwiLCBqczogXCJjb2RlQ2xvdHVyZVwiLCB0eXA6IHIoXCJDb2RlQ2xvdHVyZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZUNsb3R1cmVcIiwganM6IFwibGliZWxsZUNsb3R1cmVcIiwgdHlwOiByKFwiTGliZWxsZUNsb3R1cmVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVDbG90dXJlXCIsIGpzOiBcImRhdGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHUocihcIkluZm9Kb1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWdpbWVcIiwganM6IFwicmVnaW1lXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5kZXhhdGlvbkFuXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicnVicmlxdWVcIiwganM6IFwicnVicmlxdWVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXRlQW5hbHlzZVwiLCBqczogXCJ0ZXRlQW5hbHlzZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VzXCIsIGpzOiBcImFuYWx5c2VzXCIsIHR5cDogcihcIkFuYWx5c2VcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbmFseXNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYW5hbHlzZVwiLCBqczogXCJhbmFseXNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJcIiwganM6IFwibWluQXR0cmliXCIsIHR5cDogdShhKHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSwgcihcIk1pbkF0dHJpYkVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluQXR0cmliRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZW5vbWluYXRpb25cIiwganM6IFwiZGVub21pbmF0aW9uXCIsIHR5cDogcihcIk1pbkludFwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkludFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZXZlbG9wcGVcIiwganM6IFwiZGV2ZWxvcHBlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZm9Kb1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInR5cGVKT1wiLCBqczogXCJ0eXBlSk9cIiwgdHlwOiByKFwiVHlwZUpvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlSk9cIiwganM6IFwiZGF0ZUpPXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFnZUpPXCIsIGpzOiBcInBhZ2VKT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bUpPXCIsIGpzOiBcIm51bUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidXJsTGVnaWZyYW5jZVwiLCBqczogXCJ1cmxMZWdpZnJhbmNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTk9SXCIsIGpzOiBcInJlZmVyZW5jZU5PUlwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNRdWVzdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlUXVlc3Rpb25cIiwganM6IFwidGV4dGVRdWVzdGlvblwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJlcnJhdHVtXCIsIGpzOiBcImVycmF0dW1cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIil9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlc1JlcG9uc2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVJlcG9uc2VcIiwganM6IFwidGV4dGVSZXBvbnNlXCIsIHR5cDogdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTaWduYWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlRGVwb3RTaWduYWxcIiwganM6IFwiZGF0ZURlcG90U2lnbmFsXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlbm91dmVsbGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJlbm91dmVsbGVtZW50XCIsIGpzOiBcInJlbm91dmVsbGVtZW50XCIsIHR5cDogdShhKHIoXCJSZW5vdXZlbGxlbWVudFwiKSksIHIoXCJSZW5vdXZlbGxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvblhzaVR5cGVcIjogW1xuICAgICAgICBcIlF1ZXN0aW9uRWNyaXRlX1R5cGVcIixcbiAgICAgICAgXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25PcmFsZV9UeXBlXCJcbiAgICBdLFxuICAgIFwiQ29kZUNsb3R1cmVcIjogW1xuICAgICAgICBcIkFVXCIsXG4gICAgICAgIFwiRk1cIixcbiAgICAgICAgXCJJRFwiLFxuICAgICAgICBcIlJFUF9QVUJcIixcbiAgICBdLFxuICAgIFwiVHlwZUpvXCI6IFtcbiAgICAgICAgXCJKT19RVUVTVElPTlwiLFxuICAgICAgICBcIkpPX0xPSV9ERUNSRVRcIixcbiAgICAgICAgXCJKT19ERUJBVFwiXG4gICAgXSxcbiAgICBcIkxpYmVsbGVDbG90dXJlXCI6IFtcbiAgICAgICAgXCJGaW4gZGUgbWFuZGF0XCIsXG4gICAgICAgIFwiUmV0cmFpdCDDoCBsJ2luaXRpYXRpdmUgZGUgbCdhdXRldXJcIixcbiAgICAgICAgXCJSZXRyYWl0IHBvdXIgY2F1c2UgZGUgcXVlc3Rpb24gaWRlbnRpcXVlXCIsXG4gICAgICAgIFwiUsOpcG9uc2UgcHVibGnDqWVcIixcbiAgICBdLFxuICAgIFwiVHlwZVwiOiBbXG4gICAgICAgIFwiUUVcIixcbiAgICAgICAgXCJRR1wiLFxuICAgICAgICBcIlFPU0RcIlxuICAgIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBZ0NZQSxlQUFlLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFBO0FBQUFDLE9BQUEsQ0FBQUQsZUFBQSxHQUFBQSxlQUFBO0FBQUEsSUE2QmZFLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFBLE9BQVhBLFdBQVc7QUFBQTtBQUFBRCxPQUFBLENBQUFDLFdBQUEsR0FBQUEsV0FBQTtBQUFBLElBT1hDLE1BQU0sMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUFBQUYsT0FBQSxDQUFBRSxNQUFBLEdBQUFBLE1BQUE7QUFBQSxJQU1OQyxjQUFjLDBCQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBQSxPQUFkQSxjQUFjO0FBQUE7QUFBQUgsT0FBQSxDQUFBRyxjQUFBLEdBQUFBLGNBQUE7QUFBQSxJQXlFZEMsSUFBSSwwQkFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQSxPQU1oQjtBQUNBO0FBQUFKLE9BQUEsQ0FBQUksSUFBQSxHQUFBQSxJQUFBO0FBQUEsSUFDYUMs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
469
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJleHBvcnRzIiwiVHlwZUpvIiwiVHlwZSIsIkNvbnZlcnQiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsInRvUXVlc3Rpb25zIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwicXVlc3Rpb25zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9RdWVzdGlvbldyYXBwZXIiLCJxdWVzdGlvbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zLCBRdWVzdGlvbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBxdWVzdGlvbnMgPSBDb252ZXJ0LnRvUXVlc3Rpb25zanNvbik7XG4vLyAgIGNvbnN0IHF1ZXN0aW9uV3JhcHBlciA9IENvbnZlcnQudG9RdWVzdGlvbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnMge1xuICAgIHF1ZXN0aW9uczogUXVlc3Rpb25zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zQ2xhc3Mge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb24ge1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTp0eXBlXCI6ICAgICAgUXVlc3Rpb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWFudDogICAgICBJZGVudGlmaWFudDtcbiAgICB0eXBlOiAgICAgICAgICAgICBUeXBlO1xuICAgIGluZGV4YXRpb25BTjogICAgIEluZGV4YXRpb25BbjtcbiAgICBhdXRldXI6ICAgICAgICAgICBBdXRldXI7XG4gICAgbWluSW50OiAgICAgICAgICAgR3JvdXBlO1xuICAgIG1pbkF0dHJpYnM6ICAgICAgIE1pbkF0dHJpYnM7XG4gICAgdGV4dGVzUXVlc3Rpb24/OiAgVGV4dGVzUXVlc3Rpb24gfCBudWxsO1xuICAgIHRleHRlc1JlcG9uc2U/OiAgIFRleHRlc1JlcG9uc2UgfCBudWxsO1xuICAgIGNsb3R1cmU/OiAgICAgICAgIENsb3R1cmUgfCBudWxsO1xuICAgIHNpZ25hbGVtZW50PzogICAgIFNpZ25hbGVtZW50IHwgbnVsbDtcbiAgICByZW5vdXZlbGxlbWVudHM/OiBSZW5vdXZlbGxlbWVudHMgfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBRdWVzdGlvblhzaVR5cGUge1xuICAgIFF1ZXN0aW9uRWNyaXRlID0gXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICBRdWVzdGlvbk9yYWxlID0gXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgaWRlbnRpdGU6IElkZW50aXRlO1xuICAgIGdyb3VwZTogICBHcm91cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gICAgY29kZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBsaWJlbGxlQ2xvdHVyZTogc3RyaW5nO1xuICAgIGRhdGVDbG90dXJlOiAgICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgIEluZm9KbyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gICAgSm9RdWVzdGlvbiA9IFwiSk9fUVVFU1RJT05cIixcbiAgICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgIEpvRGViYXRlID0gXCJKT19ERUJBVFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50IHtcbiAgICBudW1lcm86ICAgICAgc3RyaW5nO1xuICAgIHJlZ2ltZTogICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRleGF0aW9uQW4ge1xuICAgIHJ1YnJpcXVlOiAgICBzdHJpbmcgfCBudWxsO1xuICAgIHRldGVBbmFseXNlOiBudWxsO1xuICAgIGFuYWx5c2VzOiAgICAgQW5hbHlzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXNlIHtcbiAgICBhbmFseXNlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYnMge1xuICAgIG1pbkF0dHJpYjogTWluQXR0cmliRWxlbWVudFtdIHwgTWluQXR0cmliRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaW5BdHRyaWJFbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICBkZW5vbWluYXRpb246IEdyb3VwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNRdWVzdGlvbiB7XG4gICAgdGV4dGVRdWVzdGlvbjogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlIHtcbiAgICBpbmZvSk86IEluZm9KbztcbiAgICB0ZXh0ZTogIHN0cmluZyB8IG51bGw7XG4gICAgZXJyYXR1bT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICAgIHR5cGVKTzogICAgICAgICAgVHlwZUpvO1xuICAgIGRhdGVKTzogICAgICAgICAgc3RyaW5nO1xuICAgIHBhZ2VKTzogICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICBudW1KTzogICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgdXJsTGVnaWZyYW5jZTogICBzdHJpbmcgfCBudWxsO1xuICAgIHJlZmVyZW5jZU5PUjogICAgc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZXNSZXBvbnNlIHtcbiAgICB0ZXh0ZVJlcG9uc2U6IFRleHRlW10gfCBUZXh0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxlbWVudCB7XG4gICAgZGF0ZURlcG90U2lnbmFsOiAgc3RyaW5nO1xuICAgIGluZm9KTzogICAgICAgICAgIEluZm9Kbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudHMge1xuICAgIHJlbm91dmVsbGVtZW50OiBSZW5vdXZlbGxlbWVudFtdIHwgUmVub3V2ZWxsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnQge1xuICAgIGluZm9KTzogSW5mb0pvO1xufVxuXG5leHBvcnQgZW51bSBUeXBlIHtcbiAgICBRZSA9IFwiUUVcIixcbiAgICBRZyA9IFwiUUdcIixcbiAgICBRb3NkID0gXCJRT1NEXCJcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9ucyhqc29uOiBzdHJpbmcpOiBRdWVzdGlvbnMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uc1RvSnNvbih2YWx1ZTogUXVlc3Rpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9RdWVzdGlvbldyYXBwZXIoanNvbjogc3RyaW5nKTogUXVlc3Rpb25XcmFwcGVyIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBxdWVzdGlvbldyYXBwZXJUb0pzb24odmFsdWU6IFF1ZXN0aW9uV3JhcHBlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlF1ZXN0aW9uc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uc1wiLCBqczogXCJxdWVzdGlvbnNcIiwgdHlwOiByKFwiUXVlc3Rpb25zQ2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvbnNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uXCIsIGpzOiBcInF1ZXN0aW9uXCIsIHR5cDogYShyKFwiUXVlc3Rpb25cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25cIiwganM6IFwicXVlc3Rpb25cIiwgdHlwOiByKFwiUXVlc3Rpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuc1wiLCBqczogXCJAeG1sbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOnR5cGVcIiwganM6IFwiQHhzaTp0eXBlXCIsIHR5cDogcihcIlF1ZXN0aW9uWHNpVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkZW50aWZpYW50XCIsIGpzOiBcImlkZW50aWZpYW50XCIsIHR5cDogcihcIklkZW50aWZpYW50XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiaW5kZXhhdGlvbkFOXCIsIGpzOiBcImluZGV4YXRpb25BTlwiLCB0eXA6IHIoXCJJbmRleGF0aW9uQW5cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dGV1clwiLCBqczogXCJhdXRldXJcIiwgdHlwOiByKFwiQXV0ZXVyXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaW5JbnRcIiwganM6IFwibWluSW50XCIsIHR5cDogcihcIkdyb3VwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibWluQXR0cmlic1wiLCBqczogXCJtaW5BdHRyaWJzXCIsIHR5cDogcihcIk1pbkF0dHJpYnNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlc1F1ZXN0aW9uXCIsIGpzOiBcInRleHRlc1F1ZXN0aW9uXCIsIHR5cDogdShyKFwiVGV4dGVzUXVlc3Rpb25cIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInRleHRlc1JlcG9uc2VcIiwganM6IFwidGV4dGVzUmVwb25zZVwiLCB0eXA6IHUocihcIlRleHRlc1JlcG9uc2VcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUocihcIkNsb3R1cmVcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInNpZ25hbGVtZW50XCIsIGpzOiBcInNpZ25hbGVtZW50XCIsIHR5cDogdShyKFwiU2lnbmFsZW1lbnRcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICAgICAgeyBqc29uOiBcInJlbm91dmVsbGVtZW50c1wiLCBqczogXCJyZW5vdXZlbGxlbWVudHNcIiwgdHlwOiB1KHIoXCJSZW5vdXZlbGxlbWVudHNcIiksIG51bGwsIHVuZGVmaW5lZCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBdXRldXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpZGVudGl0ZVwiLCBqczogXCJpZGVudGl0ZVwiLCB0eXA6IHIoXCJJZGVudGl0ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlXCIsIGpzOiBcImdyb3VwZVwiLCB0eXA6IHIoXCJHcm91cGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJHcm91cGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJyZWdlXCIsIGpzOiBcImFicmVnZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImRldmVsb3BwZVwiLCBqczogXCJkZXZlbG9wcGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDbG90dXJlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZUNsb3R1cmVcIiwganM6IFwiY29kZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlQ2xvdHVyZVwiLCBqczogXCJsaWJlbGxlQ2xvdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVDbG90dXJlXCIsIGpzOiBcImRhdGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHUocihcIkluZm9Kb1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWdpbWVcIiwganM6IFwicmVnaW1lXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5kZXhhdGlvbkFuXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicnVicmlxdWVcIiwganM6IFwicnVicmlxdWVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXRlQW5hbHlzZVwiLCBqczogXCJ0ZXRlQW5hbHlzZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImFuYWx5c2VzXCIsIGpzOiBcImFuYWx5c2VzXCIsIHR5cDogcihcIkFuYWx5c2VcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbmFseXNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYW5hbHlzZVwiLCBqczogXCJhbmFseXNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pbkF0dHJpYnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJcIiwganM6IFwibWluQXR0cmliXCIsIHR5cDogdShhKHIoXCJNaW5BdHRyaWJFbGVtZW50XCIpKSwgcihcIk1pbkF0dHJpYkVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluQXR0cmliRWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZW5vbWluYXRpb25cIiwganM6IFwiZGVub21pbmF0aW9uXCIsIHR5cDogcihcIkdyb3VwZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkluZm9Kb1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInR5cGVKT1wiLCBqczogXCJ0eXBlSk9cIiwgdHlwOiByKFwiVHlwZUpvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlSk9cIiwganM6IFwiZGF0ZUpPXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFnZUpPXCIsIGpzOiBcInBhZ2VKT1wiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bUpPXCIsIGpzOiBcIm51bUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwidXJsTGVnaWZyYW5jZVwiLCBqczogXCJ1cmxMZWdpZnJhbmNlXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTk9SXCIsIGpzOiBcInJlZmVyZW5jZU5PUlwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZXNRdWVzdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlUXVlc3Rpb25cIiwganM6IFwidGV4dGVRdWVzdGlvblwiLCB0eXA6IHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogcihcIkluZm9Kb1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJlcnJhdHVtXCIsIGpzOiBcImVycmF0dW1cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIil9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlc1JlcG9uc2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVJlcG9uc2VcIiwganM6IFwidGV4dGVSZXBvbnNlXCIsIHR5cDogdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTaWduYWxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlRGVwb3RTaWduYWxcIiwganM6IFwiZGF0ZURlcG90U2lnbmFsXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlbm91dmVsbGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJlbm91dmVsbGVtZW50XCIsIGpzOiBcInJlbm91dmVsbGVtZW50XCIsIHR5cDogdShhKHIoXCJSZW5vdXZlbGxlbWVudFwiKSksIHIoXCJSZW5vdXZlbGxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZW5vdXZlbGxlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvblhzaVR5cGVcIjogW1xuICAgICAgICBcIlF1ZXN0aW9uRWNyaXRlX1R5cGVcIixcbiAgICAgICAgXCJRdWVzdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgICAgIFwiUXVlc3Rpb25PcmFsZV9UeXBlXCJcbiAgICBdLFxuICAgIFwiVHlwZUpvXCI6IFtcbiAgICAgICAgXCJKT19RVUVTVElPTlwiLFxuICAgICAgICBcIkpPX0xPSV9ERUNSRVRcIixcbiAgICAgICAgXCJKT19ERUJBVFwiXG4gICAgXSxcbiAgICBcIlR5cGVcIjogW1xuICAgICAgICBcIlFFXCIsXG4gICAgICAgIFwiUUdcIixcbiAgICAgICAgXCJRT1NEXCJcbiAgICBdLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxJQWdDWUEsZUFBZSxHQUFBQyxPQUFBLENBQUFELGVBQUEsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUFBQSxJQTZCZkUsTUFBTSxHQUFBRCxPQUFBLENBQUFDLE1BQUEsMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUFBQSxJQW1FTkMsSUFBSSxHQUFBRixPQUFBLENBQUFFLElBQUEsMEJBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBQSxPQUFKQSxJQUFJO0FBQUEsT0FNaEI7QUFDQTtBQUFBLElBQ2FDLE9BQU8sR0FBQUgsT0FBQSxDQUFBRyxPQUFBO0VBQUEsU0FBQUEsUUFBQTtJQUFBQyxlQUFBLE9BQUFELE9BQUE7RUFBQTtFQUFBRSxZQUFBLENBQUFGLE9BQUE7SUFBQUcsR0FBQTtJQUFBQyxLQUFBLEVBQ2hCLFNBQUFDLFlBQTBCQyxJQUFZLEVBQWE7TUFDL0MsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRDtFQUFDO0lBQUFQLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFPLGdCQUE4QlAsS0FBZ0IsRUFBVTtNQUNwRCxPQUFPSSxJQUFJLENBQUNJLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDVCxLQUFLLEVBQUVNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakU7RUFBQztJQUFBUCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBVSxrQkFBZ0NSLElBQVksRUFBbUI7TUFDM0QsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZEO0VBQUM7SUFBQVAsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQVcsc0JBQW9DWCxLQUFzQixFQUFVO01BQ2hFLE9BQU9JLElBQUksQ0FBQ0ksU0FBUyxDQUFDQyxNQUFNLENBQUNULEtBQUssRUFBRU0sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFO0VBQUM7RUFBQSxPQUFBVixPQUFBO0FBQUE7QUFHTCxTQUFTZ0IsWUFBWUEsQ0FBQ0MsR0FBUSxFQUFFQyxHQUFRLEVBQXdCO0VBQUEsSUFBdEJmLEdBQVEsR0FBQWdCLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEVBQUU7RUFDbkQsSUFBSWhCLEdBQUcsRUFBRTtJQUNMLE1BQU1tQixLQUFLLDRCQUFBQyxNQUFBLENBQTJCcEIsR0FBRyx3QkFBQW9CLE1BQUEsQ0FBb0JmLElBQUksQ0FBQ0ksU0FBUyxDQUFDSyxHQUFHLENBQUMsZUFBQU0sTUFBQSxDQUFZZixJQUFJLENBQUNJLFNBQVMsQ0FBQ00sR0FBRyxDQUFDLENBQUUsQ0FBQztFQUN0SDtFQUNBLE1BQU1JLEtBQUssa0JBQUFDLE1BQUEsQ0FBa0JmLElBQUksQ0FBQ0ksU0FBUyxDQUFDTSxHQUFHLENBQUMsZ0JBQUFLLE1BQUEsQ0FBYWYsSUFBSSxDQUFDSSxTQUFTLENBQUNLLEdBQUcsQ0FBQyxDQUFJLENBQUM7QUFDekY7QUFFQSxTQUFTTyxhQUFhQSxDQUFDUCxHQUFRLEVBQU87RUFDbEMsSUFBSUEsR0FBRyxDQUFDUSxRQUFRLEtBQUtKLFNBQVMsRUFBRTtJQUM1QixJQUFNSyxHQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CVCxHQUFHLENBQUNVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQU07TUFBQSxPQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ3ZCLElBQUksQ0FBQyxHQUFHO1FBQUVILEdBQUcsRUFBRTBCLENBQUMsQ0FBQ0MsRUFBRTtRQUFFYixHQUFHLEVBQUVZLENBQUMsQ0FBQ1o7TUFBSSxDQUFDO0lBQUEsRUFBQztJQUN0RUEsR0FBRyxDQUFDUSxRQUFRLEdBQUdDLEdBQUc7RUFDdEI7RUFDQSxPQUFPVCxHQUFHLENBQUNRLFFBQVE7QUFDdkI7QUFFQSxTQUFTTSxhQUFhQSxDQUFDZCxHQUFRLEVBQU87RUFDbEMsSUFBSUEsR0FBRyxDQUFDZSxRQUFRLEtBQUtYLFNBQVMsRUFBRTtJQUM1QixJQUFNSyxHQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CVCxHQUFHLENBQUNVLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQU07TUFBQSxPQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLEdBQUc7UUFBRTNCLEdBQUcsRUFBRTBCLENBQUMsQ0FBQ3ZCLElBQUk7UUFBRVcsR0FBRyxFQUFFWSxDQUFDLENBQUNaO01BQUksQ0FBQztJQUFBLEVBQUM7SUFDdEVBLEdBQUcsQ0FBQ2UsUUFBUSxHQUFHTixHQUFHO0VBQ3RCO0VBQ0EsT0FBT1QsR0FBRyxDQUFDZSxRQUFRO0FBQ3ZCO0FBRUEsU0FBU0MsU0FBU0EsQ0FBQ2YsR0FBUSxFQUFFRCxHQUFRLEVBQUVpQixRQUFhLEVBQXNCO0VBQUEsSUFBcEIvQixHQUFRLEdBQUFnQixTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO0VBQy9ELFNBQVNnQixrQkFBa0JBLENBQUNsQixHQUFXLEVBQUVDLEdBQVEsRUFBTztJQUNwRCxJQUFJa0IsT0FBQSxDQUFPbkIsR0FBRyxNQUFBbUIsT0FBQSxDQUFZbEIsR0FBRyxHQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRWYsR0FBRyxDQUFDO0VBQ3RDO0VBRUEsU0FBU2tDLGNBQWNBLENBQUNDLElBQVcsRUFBRXBCLEdBQVEsRUFBTztJQUNoRDtJQUNBLElBQU1xQixDQUFDLEdBQUdELElBQUksQ0FBQ2xCLE1BQU07SUFDckIsS0FBSyxJQUFJb0IsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRCxDQUFDLEVBQUVDLENBQUMsRUFBRSxFQUFFO01BQ3hCLElBQU12QixJQUFHLEdBQUdxQixJQUFJLENBQUNFLENBQUMsQ0FBQztNQUNuQixJQUFJO1FBQ0EsT0FBT1AsU0FBUyxDQUFDZixHQUFHLEVBQUVELElBQUcsRUFBRWlCLFFBQVEsQ0FBQztNQUN4QyxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFLENBQUM7SUFDakI7SUFDQSxPQUFPekIsWUFBWSxDQUFDc0IsSUFBSSxFQUFFcEIsR0FBRyxDQUFDO0VBQ2xDO0VBRUEsU0FBU3dCLGFBQWFBLENBQUNDLEtBQWUsRUFBRXpCLEdBQVEsRUFBTztJQUNuRCxJQUFJeUIsS0FBSyxDQUFDQyxPQUFPLENBQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPQSxHQUFHO0lBQ3pDLE9BQU9GLFlBQVksQ0FBQzJCLEtBQUssRUFBRXpCLEdBQUcsQ0FBQztFQUNuQztFQUVBLFNBQVMyQixjQUFjQSxDQUFDNUIsR0FBUSxFQUFFQyxHQUFRLEVBQU87SUFDN0M7SUFDQSxJQUFJLENBQUM0QixLQUFLLENBQUNDLE9BQU8sQ0FBQzdCLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLFlBQVksQ0FBQyxPQUFPLEVBQUVFLEdBQUcsQ0FBQztJQUMxRCxPQUFPQSxHQUFHLENBQUNRLEdBQUcsQ0FBQyxVQUFBc0IsRUFBRTtNQUFBLE9BQUlmLFNBQVMsQ0FBQ2UsRUFBRSxFQUFFL0IsR0FBRyxFQUFFaUIsUUFBUSxDQUFDO0lBQUEsRUFBQztFQUN0RDtFQUVBLFNBQVNlLGFBQWFBLENBQUMvQixHQUFRLEVBQU87SUFDbEMsSUFBSUEsR0FBRyxLQUFLLElBQUksRUFBRTtNQUNkLE9BQU8sSUFBSTtJQUNmO0lBQ0EsSUFBTWdDLENBQUMsR0FBRyxJQUFJQyxJQUFJLENBQUNqQyxHQUFHLENBQUM7SUFDdkIsSUFBSWtDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDcEIsT0FBT3JDLFlBQVksQ0FBQyxNQUFNLEVBQUVFLEdBQUcsQ0FBQztJQUNwQztJQUNBLE9BQU9nQyxDQUFDO0VBQ1o7RUFFQSxTQUFTSSxlQUFlQSxDQUFDM0IsS0FBMkIsRUFBRTRCLFVBQWUsRUFBRXJDLEdBQVEsRUFBTztJQUNsRixJQUFJQSxHQUFHLEtBQUssSUFBSSxJQUFJa0IsT0FBQSxDQUFPbEIsR0FBRyxNQUFLLFFBQVEsSUFBSTRCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDN0IsR0FBRyxDQUFDLEVBQUU7TUFDL0QsT0FBT0YsWUFBWSxDQUFDLFFBQVEsRUFBRUUsR0FBRyxDQUFDO0lBQ3RDO0lBQ0EsSUFBTXNDLE1BQVcsR0FBRyxDQUFDLENBQUM7SUFDdEJDLE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUMvQixLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUF6QixHQUFHLEVBQUk7TUFDN0MsSUFBTXdELElBQUksR0FBR2hDLEtBQUssQ0FBQ3hCLEdBQUcsQ0FBQztNQUN2QixJQUFNeUQsQ0FBQyxHQUFHSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUM3QyxHQUFHLEVBQUVmLEdBQUcsQ0FBQyxHQUFHZSxHQUFHLENBQUNmLEdBQUcsQ0FBQyxHQUFHa0IsU0FBUztNQUMvRW1DLE1BQU0sQ0FBQ0csSUFBSSxDQUFDeEQsR0FBRyxDQUFDLEdBQUc4QixTQUFTLENBQUMyQixDQUFDLEVBQUVELElBQUksQ0FBQzFDLEdBQUcsRUFBRWlCLFFBQVEsRUFBRXlCLElBQUksQ0FBQ3hELEdBQUcsQ0FBQztJQUNqRSxDQUFDLENBQUM7SUFDRnNELE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUN4QyxHQUFHLENBQUMsQ0FBQ1UsT0FBTyxDQUFDLFVBQUF6QixHQUFHLEVBQUk7TUFDM0MsSUFBSSxDQUFDc0QsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDcEMsS0FBSyxFQUFFeEIsR0FBRyxDQUFDLEVBQUU7UUFDbkRxRCxNQUFNLENBQUNyRCxHQUFHLENBQUMsR0FBRzhCLFNBQVMsQ0FBQ2YsR0FBRyxDQUFDZixHQUFHLENBQUMsRUFBRW9ELFVBQVUsRUFBRXJCLFFBQVEsRUFBRS9CLEdBQUcsQ0FBQztNQUNoRTtJQUNKLENBQUMsQ0FBQztJQUNGLE9BQU9xRCxNQUFNO0VBQ2pCO0VBRUEsSUFBSXZDLEdBQUcsS0FBSyxLQUFLLEVBQUUsT0FBT0MsR0FBRztFQUM3QixJQUFJRCxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2QsSUFBSUMsR0FBRyxLQUFLLElBQUksRUFBRSxPQUFPQSxHQUFHO0lBQzVCLE9BQU9GLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDakM7RUFDQSxJQUFJRCxHQUFHLEtBQUssS0FBSyxFQUFFLE9BQU9ELFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDaEQsT0FBT2tCLE9BQUEsQ0FBT25CLEdBQUcsTUFBSyxRQUFRLElBQUlBLEdBQUcsQ0FBQytDLEdBQUcsS0FBSzNDLFNBQVMsRUFBRTtJQUNyREosR0FBRyxHQUFHZ0QsT0FBTyxDQUFDaEQsR0FBRyxDQUFDK0MsR0FBRyxDQUFDO0VBQzFCO0VBQ0EsSUFBSWxCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDOUIsR0FBRyxDQUFDLEVBQUUsT0FBT3lCLGFBQWEsQ0FBQ3pCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ3RELElBQUlrQixPQUFBLENBQU9uQixHQUFHLE1BQUssUUFBUSxFQUFFO0lBQ3pCLE9BQU9BLEdBQUcsQ0FBQzZDLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBR3pCLGNBQWMsQ0FBQ3BCLEdBQUcsQ0FBQ2lELFlBQVksRUFBRWhELEdBQUcsQ0FBQyxHQUMzRUQsR0FBRyxDQUFDNkMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFNakIsY0FBYyxDQUFDNUIsR0FBRyxDQUFDa0QsVUFBVSxFQUFFakQsR0FBRyxDQUFDLEdBQ3pFRCxHQUFHLENBQUM2QyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQVdSLGVBQWUsQ0FBQ3BCLFFBQVEsQ0FBQ2pCLEdBQUcsQ0FBQyxFQUFFQSxHQUFHLENBQUNzQyxVQUFVLEVBQUVyQyxHQUFHLENBQUMsR0FDekZGLFlBQVksQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDaEM7RUFDQTtFQUNBLElBQUlELEdBQUcsS0FBS2tDLElBQUksSUFBSSxPQUFPakMsR0FBRyxLQUFLLFFBQVEsRUFBRSxPQUFPK0IsYUFBYSxDQUFDL0IsR0FBRyxDQUFDO0VBQ3RFLE9BQU9pQixrQkFBa0IsQ0FBQ2xCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0FBQ3ZDO0FBRUEsU0FBU1gsSUFBSUEsQ0FBSVcsR0FBUSxFQUFFRCxHQUFRLEVBQUs7RUFDcEMsT0FBT2dCLFNBQVMsQ0FBQ2YsR0FBRyxFQUFFRCxHQUFHLEVBQUVPLGFBQWEsQ0FBQztBQUM3QztBQUVBLFNBQVNYLE1BQU1BLENBQUlLLEdBQU0sRUFBRUQsR0FBUSxFQUFPO0VBQ3RDLE9BQU9nQixTQUFTLENBQUNmLEdBQUcsRUFBRUQsR0FBRyxFQUFFYyxhQUFhLENBQUM7QUFDN0M7QUFFQSxTQUFTcUMsQ0FBQ0EsQ0FBQ25ELEdBQVEsRUFBRTtFQUNqQixPQUFPO0lBQUVrRCxVQUFVLEVBQUVsRDtFQUFJLENBQUM7QUFDOUI7QUFFQSxTQUFTb0QsQ0FBQ0EsQ0FBQSxFQUFpQjtFQUFBLFNBQUFDLElBQUEsR0FBQW5ELFNBQUEsQ0FBQUMsTUFBQSxFQUFia0IsSUFBSSxPQUFBUSxLQUFBLENBQUF3QixJQUFBLEdBQUFDLElBQUEsTUFBQUEsSUFBQSxHQUFBRCxJQUFBLEVBQUFDLElBQUE7SUFBSmpDLElBQUksQ0FBQWlDLElBQUEsSUFBQXBELFNBQUEsQ0FBQW9ELElBQUE7RUFBQTtFQUNkLE9BQU87SUFBRUwsWUFBWSxFQUFFNUI7RUFBSyxDQUFDO0FBQ2pDO0FBRUEsU0FBU2tDLENBQUNBLENBQUM3QyxLQUFZLEVBQUU0QixVQUFlLEVBQUU7RUFDdEMsT0FBTztJQUFFNUIsS0FBSyxFQUFMQSxLQUFLO0lBQUU0QixVQUFVLEVBQVZBO0VBQVcsQ0FBQztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUzdDLENBQUNBLENBQUMrRCxJQUFZLEVBQUU7RUFDckIsT0FBTztJQUFFVCxHQUFHLEVBQUVTO0VBQUssQ0FBQztBQUN4QjtBQUVBLElBQU1SLE9BQVksR0FBRztFQUNqQixXQUFXLEVBQUVPLENBQUMsQ0FBQyxDQUNYO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsZ0JBQWdCO0VBQUUsQ0FBQyxDQUNuRSxFQUFFLEtBQUssQ0FBQztFQUNULGdCQUFnQixFQUFFOEQsQ0FBQyxDQUFDLENBQ2hCO0lBQUVsRSxJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFbUQsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLFVBQVUsQ0FBQztFQUFFLENBQUMsQ0FDOUQsRUFBRSxLQUFLLENBQUM7RUFDVCxpQkFBaUIsRUFBRThELENBQUMsQ0FBQyxDQUNqQjtJQUFFbEUsSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLENBQzNELEVBQUUsS0FBSyxDQUFDO0VBQ1QsVUFBVSxFQUFFOEQsQ0FBQyxDQUFDLENBQ1Y7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pDO0lBQUVYLElBQUksRUFBRSxZQUFZO0lBQUV3QixFQUFFLEVBQUUsWUFBWTtJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pEO0lBQUVYLElBQUksRUFBRSxXQUFXO0lBQUV3QixFQUFFLEVBQUUsV0FBVztJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxpQkFBaUI7RUFBRSxDQUFDLEVBQ2pFO0lBQUVKLElBQUksRUFBRSxLQUFLO0lBQUV3QixFQUFFLEVBQUUsS0FBSztJQUFFYixHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ25DO0lBQUVYLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxhQUFhO0VBQUUsQ0FBQyxFQUNqRTtJQUFFSixJQUFJLEVBQUUsTUFBTTtJQUFFd0IsRUFBRSxFQUFFLE1BQU07SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsTUFBTTtFQUFFLENBQUMsRUFDNUM7SUFBRUosSUFBSSxFQUFFLGNBQWM7SUFBRXdCLEVBQUUsRUFBRSxjQUFjO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLGNBQWM7RUFBRSxDQUFDLEVBQ3BFO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFBRUosSUFBSSxFQUFFLFlBQVk7SUFBRXdCLEVBQUUsRUFBRSxZQUFZO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFlBQVk7RUFBRSxDQUFDLEVBQzlEO0lBQUVKLElBQUksRUFBRSxnQkFBZ0I7SUFBRXdCLEVBQUUsRUFBRSxnQkFBZ0I7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFVyxTQUFTO0VBQUUsQ0FBQyxFQUM5RjtJQUFFZixJQUFJLEVBQUUsZUFBZTtJQUFFd0IsRUFBRSxFQUFFLGVBQWU7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRVcsU0FBUztFQUFFLENBQUMsRUFDM0Y7SUFBRWYsSUFBSSxFQUFFLFNBQVM7SUFBRXdCLEVBQUUsRUFBRSxTQUFTO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUVXLFNBQVM7RUFBRSxDQUFDLEVBQ3pFO0lBQUVmLElBQUksRUFBRSxhQUFhO0lBQUV3QixFQUFFLEVBQUUsYUFBYTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxFQUFFVyxTQUFTO0VBQUUsQ0FBQyxFQUNyRjtJQUFFZixJQUFJLEVBQUUsaUJBQWlCO0lBQUV3QixFQUFFLEVBQUUsaUJBQWlCO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRVcsU0FBUztFQUFFLENBQUMsQ0FDcEcsRUFBRSxLQUFLLENBQUM7RUFDVCxRQUFRLEVBQUVtRCxDQUFDLENBQUMsQ0FDUjtJQUFFbEUsSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxDQUNyRCxFQUFFLEtBQUssQ0FBQztFQUNULFFBQVEsRUFBRThELENBQUMsQ0FBQyxDQUNSO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUNsRCxFQUFFLEtBQUssQ0FBQztFQUNULFVBQVUsRUFBRXVELENBQUMsQ0FBQyxDQUNWO0lBQUVsRSxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWCxJQUFJLEVBQUUsV0FBVztJQUFFd0IsRUFBRSxFQUFFLFdBQVc7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUNsRCxFQUFFLEtBQUssQ0FBQztFQUNULFNBQVMsRUFBRXVELENBQUMsQ0FBQyxDQUNUO0lBQUVsRSxJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRDtJQUFFWCxJQUFJLEVBQUUsZ0JBQWdCO0lBQUV3QixFQUFFLEVBQUUsZ0JBQWdCO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekQ7SUFBRVgsSUFBSSxFQUFFLGFBQWE7SUFBRXdCLEVBQUUsRUFBRSxhQUFhO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkQ7SUFBRVgsSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQzNELENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxDQUM5RCxFQUFFLEtBQUssQ0FBQztFQUNULGFBQWEsRUFBRThELENBQUMsQ0FBQyxDQUNiO0lBQUVsRSxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUN0RCxFQUFFLEtBQUssQ0FBQztFQUNULGNBQWMsRUFBRXVELENBQUMsQ0FBQyxDQUNkO0lBQUVsRSxJQUFJLEVBQUUsVUFBVTtJQUFFd0IsRUFBRSxFQUFFLFVBQVU7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUN0RDtJQUFFL0QsSUFBSSxFQUFFLGFBQWE7SUFBRXdCLEVBQUUsRUFBRSxhQUFhO0lBQUViLEdBQUcsRUFBRTtFQUFLLENBQUMsRUFDckQ7SUFBRVgsSUFBSSxFQUFFLFVBQVU7SUFBRXdCLEVBQUUsRUFBRSxVQUFVO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLENBQzFELEVBQUUsS0FBSyxDQUFDO0VBQ1QsU0FBUyxFQUFFOEQsQ0FBQyxDQUFDLENBQ1Q7SUFBRWxFLElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUk7RUFBRSxDQUFDLENBQ3ZELEVBQUUsS0FBSyxDQUFDO0VBQ1QsWUFBWSxFQUFFRyxDQUFDLENBQUMsQ0FDWjtJQUFFbEUsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0VBQUUsQ0FBQyxDQUNsRyxFQUFFLEtBQUssQ0FBQztFQUNULGtCQUFrQixFQUFFOEQsQ0FBQyxDQUFDLENBQ2xCO0lBQUVsRSxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFBRUosSUFBSSxFQUFFLGNBQWM7SUFBRXdCLEVBQUUsRUFBRSxjQUFjO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFFBQVE7RUFBRSxDQUFDLENBQ2pFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsUUFBUSxFQUFFOEQsQ0FBQyxDQUFDLENBQ1I7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWCxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUNsRDtJQUFFL0QsSUFBSSxFQUFFLE9BQU87SUFBRXdCLEVBQUUsRUFBRSxPQUFPO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDaEQ7SUFBRS9ELElBQUksRUFBRSxlQUFlO0lBQUV3QixFQUFFLEVBQUUsZUFBZTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQ2hFO0lBQUUvRCxJQUFJLEVBQUUsY0FBYztJQUFFd0IsRUFBRSxFQUFFLGNBQWM7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxDQUNqRSxFQUFFLEtBQUssQ0FBQztFQUNULGdCQUFnQixFQUFFRyxDQUFDLENBQUMsQ0FDaEI7SUFBRWxFLElBQUksRUFBRSxlQUFlO0lBQUV3QixFQUFFLEVBQUUsZUFBZTtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsT0FBTyxDQUFDO0VBQUUsQ0FBQyxDQUNwRixFQUFFLEtBQUssQ0FBQztFQUNULE9BQU8sRUFBRThELENBQUMsQ0FBQyxDQUNQO0lBQUVsRSxJQUFJLEVBQUUsUUFBUTtJQUFFd0IsRUFBRSxFQUFFLFFBQVE7SUFBRWIsR0FBRyxFQUFFUCxDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFBRUosSUFBSSxFQUFFLE9BQU87SUFBRXdCLEVBQUUsRUFBRSxPQUFPO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDaEQ7SUFBRS9ELElBQUksRUFBRSxTQUFTO0lBQUV3QixFQUFFLEVBQUUsU0FBUztJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNoRCxTQUFTLEVBQUUsRUFBRTtFQUFDLENBQUMsQ0FDM0QsRUFBRSxLQUFLLENBQUM7RUFDVCxlQUFlLEVBQUVtRCxDQUFDLENBQUMsQ0FDZjtJQUFFbEUsSUFBSSxFQUFFLGNBQWM7SUFBRXdCLEVBQUUsRUFBRSxjQUFjO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxPQUFPLENBQUM7RUFBRSxDQUFDLENBQ2xGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsYUFBYSxFQUFFOEQsQ0FBQyxDQUFDLENBQ2I7SUFBRWxFLElBQUksRUFBRSxRQUFRO0lBQUV3QixFQUFFLEVBQUUsUUFBUTtJQUFFYixHQUFHLEVBQUVQLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsaUJBQWlCO0lBQUV3QixFQUFFLEVBQUUsaUJBQWlCO0lBQUViLEdBQUcsRUFBRTtFQUFHLENBQUMsQ0FDOUQsRUFBRSxLQUFLLENBQUM7RUFDVCxpQkFBaUIsRUFBRXVELENBQUMsQ0FBQyxDQUNqQjtJQUFFbEUsSUFBSSxFQUFFLGdCQUFnQjtJQUFFd0IsRUFBRSxFQUFFLGdCQUFnQjtJQUFFYixHQUFHLEVBQUVvRCxDQUFDLENBQUNELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztFQUFFLENBQUMsQ0FDeEcsRUFBRSxLQUFLLENBQUM7RUFDVCxnQkFBZ0IsRUFBRThELENBQUMsQ0FBQyxDQUNoQjtJQUFFbEUsSUFBSSxFQUFFLFFBQVE7SUFBRXdCLEVBQUUsRUFBRSxRQUFRO0lBQUViLEdBQUcsRUFBRVAsQ0FBQyxDQUFDLFFBQVE7RUFBRSxDQUFDLENBQ3JELEVBQUUsS0FBSyxDQUFDO0VBQ1QsaUJBQWlCLEVBQUUsQ0FDZixxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLG9CQUFvQixDQUN2QjtFQUNELFFBQVEsRUFBRSxDQUNOLGFBQWEsRUFDYixlQUFlLEVBQ2YsVUFBVSxDQUNiO0VBQ0QsTUFBTSxFQUFFLENBQ0osSUFBSSxFQUNKLElBQUksRUFDSixNQUFNO0FBRWQsQ0FBQyJ9
@@ -14,26 +14,12 @@ export let QuestionXsiType = /*#__PURE__*/function (QuestionXsiType) {
14
14
  QuestionXsiType["QuestionOrale"] = "QuestionOrale_Type";
15
15
  return QuestionXsiType;
16
16
  }({});
17
- export let CodeCloture = /*#__PURE__*/function (CodeCloture) {
18
- CodeCloture["Au"] = "AU";
19
- CodeCloture["Fm"] = "FM";
20
- CodeCloture["Id"] = "ID";
21
- CodeCloture["RepPub"] = "REP_PUB";
22
- return CodeCloture;
23
- }({});
24
17
  export let TypeJo = /*#__PURE__*/function (TypeJo) {
25
18
  TypeJo["JoQuestion"] = "JO_QUESTION";
26
19
  TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
27
20
  TypeJo["JoDebate"] = "JO_DEBAT";
28
21
  return TypeJo;
29
22
  }({});
30
- export let LibelleCloture = /*#__PURE__*/function (LibelleCloture) {
31
- LibelleCloture["FinDeMandat"] = "Fin de mandat";
32
- LibelleCloture["Retrait\xC0LInitiativeDeLAuteur"] = "Retrait \xE0 l'initiative de l'auteur";
33
- LibelleCloture["RetraitPourCauseDeQuestionIdentique"] = "Retrait pour cause de question identique";
34
- LibelleCloture["R\xE9ponsePubli\xE9e"] = "R\xE9ponse publi\xE9e";
35
- return LibelleCloture;
36
- }({});
37
23
  export let Type = /*#__PURE__*/function (Type) {
38
24
  Type["Qe"] = "QE";
39
25
  Type["Qg"] = "QG";
@@ -237,7 +223,7 @@ const typeMap = {
237
223
  }, {
238
224
  json: "minInt",
239
225
  js: "minInt",
240
- typ: r("MinInt")
226
+ typ: r("Groupe")
241
227
  }, {
242
228
  json: "minAttribs",
243
229
  js: "minAttribs",
@@ -297,11 +283,11 @@ const typeMap = {
297
283
  "Cloture": o([{
298
284
  json: "codeCloture",
299
285
  js: "codeCloture",
300
- typ: r("CodeCloture")
286
+ typ: ""
301
287
  }, {
302
288
  json: "libelleCloture",
303
289
  js: "libelleCloture",
304
- typ: r("LibelleCloture")
290
+ typ: ""
305
291
  }, {
306
292
  json: "dateCloture",
307
293
  js: "dateCloture",
@@ -354,16 +340,7 @@ const typeMap = {
354
340
  }, {
355
341
  json: "denomination",
356
342
  js: "denomination",
357
- typ: r("MinInt")
358
- }], false),
359
- "MinInt": o([{
360
- json: "abrege",
361
- js: "abrege",
362
- typ: ""
363
- }, {
364
- json: "developpe",
365
- js: "developpe",
366
- typ: ""
343
+ typ: r("Groupe")
367
344
  }], false),
368
345
  "InfoJo": o([{
369
346
  json: "typeJO",
@@ -433,9 +410,7 @@ const typeMap = {
433
410
  typ: r("InfoJo")
434
411
  }], false),
435
412
  "QuestionXsiType": ["QuestionEcrite_Type", "QuestionGouvernement_Type", "QuestionOrale_Type"],
436
- "CodeCloture": ["AU", "FM", "ID", "REP_PUB"],
437
413
  "TypeJo": ["JO_QUESTION", "JO_LOI_DECRET", "JO_DEBAT"],
438
- "LibelleCloture": ["Fin de mandat", "Retrait à l'initiative de l'auteur", "Retrait pour cause de question identique", "Réponse publiée"],
439
414
  "Type": ["QE", "QG", "QOSD"]
440
415
  };
441
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJDb2RlQ2xvdHVyZSIsIlR5cGVKbyIsIkxpYmVsbGVDbG90dXJlIiwiVHlwZSIsIkNvbnZlcnQiLCJ0b1F1ZXN0aW9ucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInF1ZXN0aW9uc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9RdWVzdGlvbldyYXBwZXIiLCJxdWVzdGlvbldyYXBwZXJUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jhd190eXBlcy9xdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUXVlc3Rpb25zLCBRdWVzdGlvbldyYXBwZXIgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBxdWVzdGlvbnMgPSBDb252ZXJ0LnRvUXVlc3Rpb25zanNvbik7XG4vLyAgIGNvbnN0IHF1ZXN0aW9uV3JhcHBlciA9IENvbnZlcnQudG9RdWVzdGlvbldyYXBwZXIoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnMge1xuICAgIHF1ZXN0aW9uczogUXVlc3Rpb25zQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25zQ2xhc3Mge1xuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb24ge1xuICAgIFwiQHhtbG5zXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTp0eXBlXCI6ICAgICAgUXVlc3Rpb25Yc2lUeXBlO1xuICAgIHVpZDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWFudDogICAgICBJZGVudGlmaWFudDtcbiAgICB0eXBlOiAgICAgICAgICAgICBUeXBlO1xuICAgIGluZGV4YXRpb25BTjogICAgIEluZGV4YXRpb25BbjtcbiAgICBhdXRldXI6ICAgICAgICAgICBBdXRldXI7XG4gICAgbWluSW50OiAgICAgICAgICAgTWluSW50O1xuICAgIG1pbkF0dHJpYnM6ICAgICAgIE1pbkF0dHJpYnM7XG4gICAgdGV4dGVzUXVlc3Rpb24/OiAgVGV4dGVzUXVlc3Rpb24gfCBudWxsO1xuICAgIHRleHRlc1JlcG9uc2U/OiAgIFRleHRlc1JlcG9uc2UgfCBudWxsO1xuICAgIGNsb3R1cmU/OiAgICAgICAgIENsb3R1cmUgfCBudWxsO1xuICAgIHNpZ25hbGVtZW50PzogICAgIFNpZ25hbGVtZW50IHwgbnVsbDtcbiAgICByZW5vdXZlbGxlbWVudHM/OiBSZW5vdXZlbGxlbWVudHMgfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBRdWVzdGlvblhzaVR5cGUge1xuICAgIFF1ZXN0aW9uRWNyaXRlID0gXCJRdWVzdGlvbkVjcml0ZV9UeXBlXCIsXG4gICAgUXVlc3Rpb25Hb3V2ZXJuZW1lbnQgPSBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICBRdWVzdGlvbk9yYWxlID0gXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgaWRlbnRpdGU6IElkZW50aXRlO1xuICAgIGdyb3VwZTogICBHcm91cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBhYnJlZ2U6ICAgIHN0cmluZztcbiAgICBkZXZlbG9wcGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0ZSB7XG4gICAgYWN0ZXVyUmVmOiBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdHVyZSB7XG4gICAgY29kZUNsb3R1cmU6ICAgIENvZGVDbG90dXJlO1xuICAgIGxpYmVsbGVDbG90dXJlOiBMaWJlbGxlQ2xvdHVyZTtcbiAgICBkYXRlQ2xvdHVyZTogICAgc3RyaW5nO1xuICAgIGluZm9KTzogICAgICAgICBJbmZvSm8gfCBudWxsO1xufVxuXG5leHBvcnQgZW51bSBDb2RlQ2xvdHVyZSB7XG4gICAgQXUgPSBcIkFVXCIsXG4gICAgRm0gPSBcIkZNXCIsXG4gICAgSWQgPSBcIklEXCIsXG4gICAgUmVwUHViID0gXCJSRVBfUFVCXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gICAgSm9RdWVzdGlvbiA9IFwiSk9fUVVFU1RJT05cIixcbiAgICBKb0xvaURlY3JldCA9IFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgIEpvRGViYXRlID0gXCJKT19ERUJBVFwiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlQ2xvdHVyZSB7XG4gICAgRmluRGVNYW5kYXQgPSBcIkZpbiBkZSBtYW5kYXRcIixcbiAgICBSZXRyYWl0w4BMSW5pdGlhdGl2ZURlTEF1dGV1ciA9IFwiUmV0cmFpdCDDoCBsJ2luaXRpYXRpdmUgZGUgbCdhdXRldXJcIixcbiAgICBSZXRyYWl0UG91ckNhdXNlRGVRdWVzdGlvbklkZW50aXF1ZSA9IFwiUmV0cmFpdCBwb3VyIGNhdXNlIGRlIHF1ZXN0aW9uIGlkZW50aXF1ZVwiLFxuICAgIFLDqXBvbnNlUHVibGnDqWUgPSBcIlLDqXBvbnNlIHB1Ymxpw6llXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhbnQge1xuICAgIG51bWVybzogICAgICBzdHJpbmc7XG4gICAgcmVnaW1lOiAgICAgIHN0cmluZztcbiAgICBsZWdpc2xhdHVyZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4YXRpb25BbiB7XG4gICAgcnVicmlxdWU6ICAgIHN0cmluZyB8IG51bGw7XG4gICAgdGV0ZUFuYWx5c2U6IG51bGw7XG4gICAgYW5hbHlzZXM6ICAgICBBbmFseXNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2Uge1xuICAgIGFuYWx5c2U6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluQXR0cmlicyB7XG4gICAgbWluQXR0cmliOiBNaW5BdHRyaWJFbGVtZW50W10gfCBNaW5BdHRyaWJFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYkVsZW1lbnQge1xuICAgIGluZm9KTzogSW5mb0pvO1xuICAgIGRlbm9taW5hdGlvbjogTWluSW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkludCB7XG4gICAgYWJyZWdlOiAgICBzdHJpbmc7XG4gICAgZGV2ZWxvcHBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVzUXVlc3Rpb24ge1xuICAgIHRleHRlUXVlc3Rpb246IFRleHRlW10gfCBUZXh0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZSB7XG4gICAgaW5mb0pPOiBJbmZvSm87XG4gICAgdGV4dGU6ICBzdHJpbmcgfCBudWxsO1xuICAgIGVycmF0dW0/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb0pvIHtcbiAgICB0eXBlSk86ICAgICAgICAgIFR5cGVKbztcbiAgICBkYXRlSk86ICAgICAgICAgIHN0cmluZztcbiAgICBwYWdlSk86ICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gICAgbnVtSk86ICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIHVybExlZ2lmcmFuY2U6ICAgc3RyaW5nIHwgbnVsbDtcbiAgICByZWZlcmVuY2VOT1I6ICAgIHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVzUmVwb25zZSB7XG4gICAgdGV4dGVSZXBvbnNlOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmFsZW1lbnQge1xuICAgIGRhdGVEZXBvdFNpZ25hbDogIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgICBJbmZvSm87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVub3V2ZWxsZW1lbnRzIHtcbiAgICByZW5vdXZlbGxlbWVudDogUmVub3V2ZWxsZW1lbnRbXSB8IFJlbm91dmVsbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50IHtcbiAgICBpbmZvSk86IEluZm9Kbztcbn1cblxuZXhwb3J0IGVudW0gVHlwZSB7XG4gICAgUWUgPSBcIlFFXCIsXG4gICAgUWcgPSBcIlFHXCIsXG4gICAgUW9zZCA9IFwiUU9TRFwiXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICAgIHB1YmxpYyBzdGF0aWMgdG9RdWVzdGlvbnMoanNvbjogc3RyaW5nKTogUXVlc3Rpb25zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlF1ZXN0aW9uc1wiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBxdWVzdGlvbnNUb0pzb24odmFsdWU6IFF1ZXN0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJRdWVzdGlvbnNcIikpLCBudWxsLCAyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25XcmFwcGVyKGpzb246IHN0cmluZyk6IFF1ZXN0aW9uV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbldyYXBwZXJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25XcmFwcGVyVG9Kc29uKHZhbHVlOiBRdWVzdGlvbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKSwgbnVsbCwgMik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9ICcnKTogbmV2ZXIge1xuICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCk7XG4gICAgfVxuICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsICk7XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNvblRvSlMgPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNvblRvSlM7XG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNUb0pTT04gPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNUb0pTT047XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gJycpOiBhbnkge1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgICAgICBjb25zdCBsID0gdHlwcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0eXAgPSB0eXBzW2ldO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpO1xuICAgICAgICByZXR1cm4gdmFsLm1hcChlbCA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KSA/IHZhbFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJRdWVzdGlvbnNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvbnNcIiwganM6IFwicXVlc3Rpb25zXCIsIHR5cDogcihcIlF1ZXN0aW9uc0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IGEocihcIlF1ZXN0aW9uXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uV3JhcHBlclwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInF1ZXN0aW9uXCIsIGpzOiBcInF1ZXN0aW9uXCIsIHR5cDogcihcIlF1ZXN0aW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUXVlc3Rpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTp0eXBlXCIsIGpzOiBcIkB4c2k6dHlwZVwiLCB0eXA6IHIoXCJRdWVzdGlvblhzaVR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpZGVudGlmaWFudFwiLCBqczogXCJpZGVudGlmaWFudFwiLCB0eXA6IHIoXCJJZGVudGlmaWFudFwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIlR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImluZGV4YXRpb25BTlwiLCBqczogXCJpbmRleGF0aW9uQU5cIiwgdHlwOiByKFwiSW5kZXhhdGlvbkFuXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAgICB7IGpzb246IFwibWluSW50XCIsIGpzOiBcIm1pbkludFwiLCB0eXA6IHIoXCJNaW5JbnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkF0dHJpYnNcIiwganM6IFwibWluQXR0cmlic1wiLCB0eXA6IHIoXCJNaW5BdHRyaWJzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNRdWVzdGlvblwiLCBqczogXCJ0ZXh0ZXNRdWVzdGlvblwiLCB0eXA6IHUocihcIlRleHRlc1F1ZXN0aW9uXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZXNSZXBvbnNlXCIsIGpzOiBcInRleHRlc1JlcG9uc2VcIiwgdHlwOiB1KHIoXCJUZXh0ZXNSZXBvbnNlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJjbG90dXJlXCIsIGpzOiBcImNsb3R1cmVcIiwgdHlwOiB1KHIoXCJDbG90dXJlXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJzaWduYWxlbWVudFwiLCBqczogXCJzaWduYWxlbWVudFwiLCB0eXA6IHUocihcIlNpZ25hbGVtZW50XCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgICAgIHsganNvbjogXCJyZW5vdXZlbGxlbWVudHNcIiwganM6IFwicmVub3V2ZWxsZW1lbnRzXCIsIHR5cDogdShyKFwiUmVub3V2ZWxsZW1lbnRzXCIpLCBudWxsLCB1bmRlZmluZWQpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaWRlbnRpdGVcIiwganM6IFwiaWRlbnRpdGVcIiwgdHlwOiByKFwiSWRlbnRpdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFicmVnZVwiLCBqczogXCJhYnJlZ2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJkZXZlbG9wcGVcIiwganM6IFwiZGV2ZWxvcHBlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIklkZW50aXRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ2xvdHVyZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVDbG90dXJlXCIsIGpzOiBcImNvZGVDbG90dXJlXCIsIHR5cDogcihcIkNvZGVDbG90dXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlQ2xvdHVyZVwiLCBqczogXCJsaWJlbGxlQ2xvdHVyZVwiLCB0eXA6IHIoXCJMaWJlbGxlQ2xvdHVyZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZUNsb3R1cmVcIiwganM6IFwiZGF0ZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogdShyKFwiSW5mb0pvXCIpLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIklkZW50aWZpYW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZ2ltZVwiLCBqczogXCJyZWdpbWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJbmRleGF0aW9uQW5cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJydWJyaXF1ZVwiLCBqczogXCJydWJyaXF1ZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInRldGVBbmFseXNlXCIsIGpzOiBcInRldGVBbmFseXNlXCIsIHR5cDogbnVsbCB9LFxuICAgICAgICB7IGpzb246IFwiYW5hbHlzZXNcIiwganM6IFwiYW5hbHlzZXNcIiwgdHlwOiByKFwiQW5hbHlzZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFuYWx5c2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhbmFseXNlXCIsIGpzOiBcImFuYWx5c2VcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluQXR0cmlic1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm1pbkF0dHJpYlwiLCBqczogXCJtaW5BdHRyaWJcIiwgdHlwOiB1KGEocihcIk1pbkF0dHJpYkVsZW1lbnRcIikpLCByKFwiTWluQXR0cmliRWxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5BdHRyaWJFbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlbm9taW5hdGlvblwiLCBqczogXCJkZW5vbWluYXRpb25cIiwgdHlwOiByKFwiTWluSW50XCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluSW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWJyZWdlXCIsIGpzOiBcImFicmVnZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImRldmVsb3BwZVwiLCBqczogXCJkZXZlbG9wcGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5mb0pvXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZUpPXCIsIGpzOiBcInR5cGVKT1wiLCB0eXA6IHIoXCJUeXBlSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVKT1wiLCBqczogXCJkYXRlSk9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwYWdlSk9cIiwganM6IFwicGFnZUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtSk9cIiwganM6IFwibnVtSk9cIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJ1cmxMZWdpZnJhbmNlXCIsIGpzOiBcInVybExlZ2lmcmFuY2VcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VOT1JcIiwganM6IFwicmVmZXJlbmNlTk9SXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlc1F1ZXN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVRdWVzdGlvblwiLCBqczogXCJ0ZXh0ZVF1ZXN0aW9uXCIsIHR5cDogdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVwiLCBqczogXCJ0ZXh0ZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImVycmF0dW1cIiwganM6IFwiZXJyYXR1bVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKX0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVzUmVwb25zZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlUmVwb25zZVwiLCBqczogXCJ0ZXh0ZVJlcG9uc2VcIiwgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNpZ25hbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFNpZ25hbFwiLCBqczogXCJkYXRlRGVwb3RTaWduYWxcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVub3V2ZWxsZW1lbnRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmVub3V2ZWxsZW1lbnRcIiwganM6IFwicmVub3V2ZWxsZW1lbnRcIiwgdHlwOiB1KGEocihcIlJlbm91dmVsbGVtZW50XCIpKSwgcihcIlJlbm91dmVsbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlbm91dmVsbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfVxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uWHNpVHlwZVwiOiBbXG4gICAgICAgIFwiUXVlc3Rpb25FY3JpdGVfVHlwZVwiLFxuICAgICAgICBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICAgICAgXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxuICAgIF0sXG4gICAgXCJDb2RlQ2xvdHVyZVwiOiBbXG4gICAgICAgIFwiQVVcIixcbiAgICAgICAgXCJGTVwiLFxuICAgICAgICBcIklEXCIsXG4gICAgICAgIFwiUkVQX1BVQlwiLFxuICAgIF0sXG4gICAgXCJUeXBlSm9cIjogW1xuICAgICAgICBcIkpPX1FVRVNUSU9OXCIsXG4gICAgICAgIFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgICAgICBcIkpPX0RFQkFUXCJcbiAgICBdLFxuICAgIFwiTGliZWxsZUNsb3R1cmVcIjogW1xuICAgICAgICBcIkZpbiBkZSBtYW5kYXRcIixcbiAgICAgICAgXCJSZXRyYWl0IMOgIGwnaW5pdGlhdGl2ZSBkZSBsJ2F1dGV1clwiLFxuICAgICAgICBcIlJldHJhaXQgcG91ciBjYXVzZSBkZSBxdWVzdGlvbiBpZGVudGlxdWVcIixcbiAgICAgICAgXCJSw6lwb25zZSBwdWJsacOpZVwiLFxuICAgIF0sXG4gICAgXCJUeXBlXCI6IFtcbiAgICAgICAgXCJRRVwiLFxuICAgICAgICBcIlFHXCIsXG4gICAgICAgIFwiUU9TRFwiXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFnQ0EsV0FBWUEsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQTZCM0IsV0FBWUMsV0FBVywwQkFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBT3ZCLFdBQVlDLE1BQU0sMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUFNbEIsV0FBWUMsY0FBYywwQkFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQUEsT0FBZEEsY0FBYztBQUFBO0FBeUUxQixXQUFZQyxJQUFJLDBCQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUEsT0FBSkEsSUFBSTtBQUFBOztBQU1oQjtBQUNBO0FBQ0EsT0FBTyxNQUFNQyxPQUFPLENBQUM7RUFDakIsT0FBY0MsV0FBV0EsQ0FBQ0MsSUFBWSxFQUFhO0lBQy9DLE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7RUFDakQ7RUFFQSxPQUFjQyxlQUFlQSxDQUFDQyxLQUFnQixFQUFVO0lBQ3BELE9BQU9KLElBQUksQ0FBQ0ssU0FBUyxDQUFDQyxNQUFNLENBQUNGLEtBQUssRUFBRUYsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FB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
416
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJRdWVzdGlvblhzaVR5cGUiLCJUeXBlSm8iLCJUeXBlIiwiQ29udmVydCIsInRvUXVlc3Rpb25zIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwicXVlc3Rpb25zVG9Kc29uIiwidmFsdWUiLCJzdHJpbmdpZnkiLCJ1bmNhc3QiLCJ0b1F1ZXN0aW9uV3JhcHBlciIsInF1ZXN0aW9uV3JhcHBlclRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcmF3X3R5cGVzL3F1ZXN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBRdWVzdGlvbnMsIFF1ZXN0aW9uV3JhcHBlciB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IHF1ZXN0aW9ucyA9IENvbnZlcnQudG9RdWVzdGlvbnNqc29uKTtcbi8vICAgY29uc3QgcXVlc3Rpb25XcmFwcGVyID0gQ29udmVydC50b1F1ZXN0aW9uV3JhcHBlcihqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXN0aW9ucyB7XG4gICAgcXVlc3Rpb25zOiBRdWVzdGlvbnNDbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbnNDbGFzcyB7XG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlc3Rpb25XcmFwcGVyIHtcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVzdGlvbiB7XG4gICAgXCJAeG1sbnNcIj86ICAgICAgICBzdHJpbmc7XG4gICAgXCJAeG1sbnM6eHNpXCI6ICAgICBzdHJpbmc7XG4gICAgXCJAeHNpOnR5cGVcIjogICAgICBRdWVzdGlvblhzaVR5cGU7XG4gICAgdWlkOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGlkZW50aWZpYW50OiAgICAgIElkZW50aWZpYW50O1xuICAgIHR5cGU6ICAgICAgICAgICAgIFR5cGU7XG4gICAgaW5kZXhhdGlvbkFOOiAgICAgSW5kZXhhdGlvbkFuO1xuICAgIGF1dGV1cjogICAgICAgICAgIEF1dGV1cjtcbiAgICBtaW5JbnQ6ICAgICAgICAgICBHcm91cGU7XG4gICAgbWluQXR0cmliczogICAgICAgTWluQXR0cmlicztcbiAgICB0ZXh0ZXNRdWVzdGlvbj86ICBUZXh0ZXNRdWVzdGlvbiB8IG51bGw7XG4gICAgdGV4dGVzUmVwb25zZT86ICAgVGV4dGVzUmVwb25zZSB8IG51bGw7XG4gICAgY2xvdHVyZT86ICAgICAgICAgQ2xvdHVyZSB8IG51bGw7XG4gICAgc2lnbmFsZW1lbnQ/OiAgICAgU2lnbmFsZW1lbnQgfCBudWxsO1xuICAgIHJlbm91dmVsbGVtZW50cz86IFJlbm91dmVsbGVtZW50cyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIFF1ZXN0aW9uWHNpVHlwZSB7XG4gICAgUXVlc3Rpb25FY3JpdGUgPSBcIlF1ZXN0aW9uRWNyaXRlX1R5cGVcIixcbiAgICBRdWVzdGlvbkdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICAgIFF1ZXN0aW9uT3JhbGUgPSBcIlF1ZXN0aW9uT3JhbGVfVHlwZVwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0ZXVyIHtcbiAgICBpZGVudGl0ZTogSWRlbnRpdGU7XG4gICAgZ3JvdXBlOiAgIEdyb3VwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGUge1xuICAgIG9yZ2FuZVJlZjogc3RyaW5nO1xuICAgIGFicmVnZTogICAgc3RyaW5nO1xuICAgIGRldmVsb3BwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aXRlIHtcbiAgICBhY3RldXJSZWY6IHN0cmluZztcbiAgICBtYW5kYXRSZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG90dXJlIHtcbiAgICBjb2RlQ2xvdHVyZTogICAgc3RyaW5nO1xuICAgIGxpYmVsbGVDbG90dXJlOiBzdHJpbmc7XG4gICAgZGF0ZUNsb3R1cmU6ICAgIHN0cmluZztcbiAgICBpbmZvSk86ICAgICAgICAgSW5mb0pvIHwgbnVsbDtcbn1cblxuZXhwb3J0IGVudW0gVHlwZUpvIHtcbiAgICBKb1F1ZXN0aW9uID0gXCJKT19RVUVTVElPTlwiLFxuICAgIEpvTG9pRGVjcmV0ID0gXCJKT19MT0lfREVDUkVUXCIsXG4gICAgSm9EZWJhdGUgPSBcIkpPX0RFQkFUXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhbnQge1xuICAgIG51bWVybzogICAgICBzdHJpbmc7XG4gICAgcmVnaW1lOiAgICAgIHN0cmluZztcbiAgICBsZWdpc2xhdHVyZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4YXRpb25BbiB7XG4gICAgcnVicmlxdWU6ICAgIHN0cmluZyB8IG51bGw7XG4gICAgdGV0ZUFuYWx5c2U6IG51bGw7XG4gICAgYW5hbHlzZXM6ICAgICBBbmFseXNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5c2Uge1xuICAgIGFuYWx5c2U6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluQXR0cmlicyB7XG4gICAgbWluQXR0cmliOiBNaW5BdHRyaWJFbGVtZW50W10gfCBNaW5BdHRyaWJFbGVtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pbkF0dHJpYkVsZW1lbnQge1xuICAgIGluZm9KTzogSW5mb0pvO1xuICAgIGRlbm9taW5hdGlvbjogR3JvdXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1F1ZXN0aW9uIHtcbiAgICB0ZXh0ZVF1ZXN0aW9uOiBUZXh0ZVtdIHwgVGV4dGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGUge1xuICAgIGluZm9KTzogSW5mb0pvO1xuICAgIHRleHRlOiAgc3RyaW5nIHwgbnVsbDtcbiAgICBlcnJhdHVtPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9KbyB7XG4gICAgdHlwZUpPOiAgICAgICAgICBUeXBlSm87XG4gICAgZGF0ZUpPOiAgICAgICAgICBzdHJpbmc7XG4gICAgcGFnZUpPOiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG51bUpPOiAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICB1cmxMZWdpZnJhbmNlOiAgIHN0cmluZyB8IG51bGw7XG4gICAgcmVmZXJlbmNlTk9SOiAgICBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlc1JlcG9uc2Uge1xuICAgIHRleHRlUmVwb25zZTogVGV4dGVbXSB8IFRleHRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hbGVtZW50IHtcbiAgICBkYXRlRGVwb3RTaWduYWw6ICBzdHJpbmc7XG4gICAgaW5mb0pPOiAgICAgICAgICAgSW5mb0pvO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbm91dmVsbGVtZW50cyB7XG4gICAgcmVub3V2ZWxsZW1lbnQ6IFJlbm91dmVsbGVtZW50W10gfCBSZW5vdXZlbGxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5vdXZlbGxlbWVudCB7XG4gICAgaW5mb0pPOiBJbmZvSm87XG59XG5cbmV4cG9ydCBlbnVtIFR5cGUge1xuICAgIFFlID0gXCJRRVwiLFxuICAgIFFnID0gXCJRR1wiLFxuICAgIFFvc2QgPSBcIlFPU0RcIlxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvUXVlc3Rpb25zKGpzb246IHN0cmluZyk6IFF1ZXN0aW9ucyB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJRdWVzdGlvbnNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcXVlc3Rpb25zVG9Kc29uKHZhbHVlOiBRdWVzdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUXVlc3Rpb25zXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1F1ZXN0aW9uV3JhcHBlcihqc29uOiBzdHJpbmcpOiBRdWVzdGlvbldyYXBwZXIge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUXVlc3Rpb25XcmFwcGVyXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHF1ZXN0aW9uV3JhcHBlclRvSnNvbih2YWx1ZTogUXVlc3Rpb25XcmFwcGVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlF1ZXN0aW9uV3JhcHBlclwiKSksIG51bGwsIDIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSAnJyk6IG5ldmVyIHtcbiAgICBpZiAoa2V5KSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWApO1xuICAgIH1cbiAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLCApO1xufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzb25Ub0pTID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzb25Ub0pTO1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbWFwOiBhbnkgPSB7fTtcbiAgICAgICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gbWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KTtcbiAgICAgICAgdHlwLmpzVG9KU09OID0gbWFwO1xuICAgIH1cbiAgICByZXR1cm4gdHlwLmpzVG9KU09OO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9ICcnKTogYW55IHtcbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICAgICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdHlwID0gdHlwc1tpXTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoXykge31cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbCk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKTtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAoZWwgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sIGFkZGl0aW9uYWw6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSkgPyB2YWxba2V5XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSk7XG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsO1xuICAgIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpO1xuICAgIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIikgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIikgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKSAgICAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgfVxuICAgIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gICAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpO1xufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpO1xufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcyk7XG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfTtcbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICAgIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9O1xufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gICAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfTtcbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4geyByZWY6IG5hbWUgfTtcbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICAgIFwiUXVlc3Rpb25zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25zXCIsIGpzOiBcInF1ZXN0aW9uc1wiLCB0eXA6IHIoXCJRdWVzdGlvbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uc0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicXVlc3Rpb25cIiwganM6IFwicXVlc3Rpb25cIiwgdHlwOiBhKHIoXCJRdWVzdGlvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJRdWVzdGlvbldyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJxdWVzdGlvblwiLCBqczogXCJxdWVzdGlvblwiLCB0eXA6IHIoXCJRdWVzdGlvblwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6dHlwZVwiLCBqczogXCJAeHNpOnR5cGVcIiwgdHlwOiByKFwiUXVlc3Rpb25Yc2lUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmlhbnRcIiwganM6IFwiaWRlbnRpZmlhbnRcIiwgdHlwOiByKFwiSWRlbnRpZmlhbnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpbmRleGF0aW9uQU5cIiwganM6IFwiaW5kZXhhdGlvbkFOXCIsIHR5cDogcihcIkluZGV4YXRpb25BblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXV0ZXVyXCIsIGpzOiBcImF1dGV1clwiLCB0eXA6IHIoXCJBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pbkludFwiLCBqczogXCJtaW5JbnRcIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaW5BdHRyaWJzXCIsIGpzOiBcIm1pbkF0dHJpYnNcIiwgdHlwOiByKFwiTWluQXR0cmlic1wiKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUXVlc3Rpb25cIiwganM6IFwidGV4dGVzUXVlc3Rpb25cIiwgdHlwOiB1KHIoXCJUZXh0ZXNRdWVzdGlvblwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVzUmVwb25zZVwiLCBqczogXCJ0ZXh0ZXNSZXBvbnNlXCIsIHR5cDogdShyKFwiVGV4dGVzUmVwb25zZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdShyKFwiQ2xvdHVyZVwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwic2lnbmFsZW1lbnRcIiwganM6IFwic2lnbmFsZW1lbnRcIiwgdHlwOiB1KHIoXCJTaWduYWxlbWVudFwiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgICAgICB7IGpzb246IFwicmVub3V2ZWxsZW1lbnRzXCIsIGpzOiBcInJlbm91dmVsbGVtZW50c1wiLCB0eXA6IHUocihcIlJlbm91dmVsbGVtZW50c1wiKSwgbnVsbCwgdW5kZWZpbmVkKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF1dGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImlkZW50aXRlXCIsIGpzOiBcImlkZW50aXRlXCIsIHR5cDogcihcIklkZW50aXRlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJncm91cGVcIiwganM6IFwiZ3JvdXBlXCIsIHR5cDogcihcIkdyb3VwZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkdyb3VwZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhYnJlZ2VcIiwganM6IFwiYWJyZWdlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGV2ZWxvcHBlXCIsIGpzOiBcImRldmVsb3BwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGl0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNsb3R1cmVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlQ2xvdHVyZVwiLCBqczogXCJjb2RlQ2xvdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVDbG90dXJlXCIsIGpzOiBcImxpYmVsbGVDbG90dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZUNsb3R1cmVcIiwganM6IFwiZGF0ZUNsb3R1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJpbmZvSk9cIiwganM6IFwiaW5mb0pPXCIsIHR5cDogdShyKFwiSW5mb0pvXCIpLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIklkZW50aWZpYW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZ2ltZVwiLCBqczogXCJyZWdpbWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJbmRleGF0aW9uQW5cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJydWJyaXF1ZVwiLCBqczogXCJydWJyaXF1ZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInRldGVBbmFseXNlXCIsIGpzOiBcInRldGVBbmFseXNlXCIsIHR5cDogbnVsbCB9LFxuICAgICAgICB7IGpzb246IFwiYW5hbHlzZXNcIiwganM6IFwiYW5hbHlzZXNcIiwgdHlwOiByKFwiQW5hbHlzZVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFuYWx5c2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhbmFseXNlXCIsIGpzOiBcImFuYWx5c2VcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWluQXR0cmlic1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm1pbkF0dHJpYlwiLCBqczogXCJtaW5BdHRyaWJcIiwgdHlwOiB1KGEocihcIk1pbkF0dHJpYkVsZW1lbnRcIikpLCByKFwiTWluQXR0cmliRWxlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJNaW5BdHRyaWJFbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlbm9taW5hdGlvblwiLCBqczogXCJkZW5vbWluYXRpb25cIiwgdHlwOiByKFwiR3JvdXBlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSW5mb0pvXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZUpPXCIsIGpzOiBcInR5cGVKT1wiLCB0eXA6IHIoXCJUeXBlSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVKT1wiLCBqczogXCJkYXRlSk9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwYWdlSk9cIiwganM6IFwicGFnZUpPXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtSk9cIiwganM6IFwibnVtSk9cIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJ1cmxMZWdpZnJhbmNlXCIsIGpzOiBcInVybExlZ2lmcmFuY2VcIiwgdHlwOiB1KFwiXCIsIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VOT1JcIiwganM6IFwicmVmZXJlbmNlTk9SXCIsIHR5cDogdShcIlwiLCBudWxsKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlc1F1ZXN0aW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVRdWVzdGlvblwiLCBqczogXCJ0ZXh0ZVF1ZXN0aW9uXCIsIHR5cDogdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUZXh0ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImluZm9KT1wiLCBqczogXCJpbmZvSk9cIiwgdHlwOiByKFwiSW5mb0pvXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZVwiLCBqczogXCJ0ZXh0ZVwiLCB0eXA6IHUoXCJcIiwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImVycmF0dW1cIiwganM6IFwiZXJyYXR1bVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKX0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVzUmVwb25zZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlUmVwb25zZVwiLCBqczogXCJ0ZXh0ZVJlcG9uc2VcIiwgdHlwOiB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNpZ25hbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFNpZ25hbFwiLCBqczogXCJkYXRlRGVwb3RTaWduYWxcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVub3V2ZWxsZW1lbnRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmVub3V2ZWxsZW1lbnRcIiwganM6IFwicmVub3V2ZWxsZW1lbnRcIiwgdHlwOiB1KGEocihcIlJlbm91dmVsbGVtZW50XCIpKSwgcihcIlJlbm91dmVsbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlbm91dmVsbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaW5mb0pPXCIsIGpzOiBcImluZm9KT1wiLCB0eXA6IHIoXCJJbmZvSm9cIikgfVxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlF1ZXN0aW9uWHNpVHlwZVwiOiBbXG4gICAgICAgIFwiUXVlc3Rpb25FY3JpdGVfVHlwZVwiLFxuICAgICAgICBcIlF1ZXN0aW9uR291dmVybmVtZW50X1R5cGVcIixcbiAgICAgICAgXCJRdWVzdGlvbk9yYWxlX1R5cGVcIlxuICAgIF0sXG4gICAgXCJUeXBlSm9cIjogW1xuICAgICAgICBcIkpPX1FVRVNUSU9OXCIsXG4gICAgICAgIFwiSk9fTE9JX0RFQ1JFVFwiLFxuICAgICAgICBcIkpPX0RFQkFUXCJcbiAgICBdLFxuICAgIFwiVHlwZVwiOiBbXG4gICAgICAgIFwiUUVcIixcbiAgICAgICAgXCJRR1wiLFxuICAgICAgICBcIlFPU0RcIlxuICAgIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBZ0NBLFdBQVlBLGVBQWUsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUE2QjNCLFdBQVlDLE1BQU0sMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUFtRWxCLFdBQVlDLElBQUksMEJBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBQSxPQUFKQSxJQUFJO0FBQUE7O0FBTWhCO0FBQ0E7QUFDQSxPQUFPLE1BQU1DLE9BQU8sQ0FBQztFQUNqQixPQUFjQyxXQUFXQSxDQUFDQyxJQUFZLEVBQWE7SUFDL0MsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztFQUNqRDtFQUVBLE9BQWNDLGVBQWVBLENBQUNDLEtBQWdCLEVBQVU7SUFDcEQsT0FBT0osSUFBSSxDQUFDSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ0YsS0FBSyxFQUFFRixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0VBQ2pFO0VBRUEsT0FBY0ssaUJBQWlCQSxDQUFDVCxJQUFZLEVBQW1CO0lBQzNELE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztFQUN2RDtFQUVBLE9BQWNNLHFCQUFxQkEsQ0FBQ0osS0FBc0IsRUFBVTtJQUNoRSxPQUFPSixJQUFJLENBQUNLLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDRixLQUFLLEVBQUVGLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztFQUN2RTtBQUNKO0FBRUEsU0FBU08sWUFBWUEsQ0FBQ0MsR0FBUSxFQUFFQyxHQUFRLEVBQUVDLEdBQVEsR0FBRyxFQUFFLEVBQVM7RUFDNUQsSUFBSUEsR0FBRyxFQUFFO0lBQ0wsTUFBTUMsS0FBSyxDQUFFLDBCQUF5QkQsR0FBSSxvQkFBbUJaLElBQUksQ0FBQ0ssU0FBUyxDQUFDSyxHQUFHLENBQUUsWUFBV1YsSUFBSSxDQUFDSyxTQUFTLENBQUNNLEdBQUcsQ0FBRSxFQUFDLENBQUM7RUFDdEg7RUFDQSxNQUFNRSxLQUFLLENBQUUsaUJBQWdCYixJQUFJLENBQUNLLFNBQVMsQ0FBQ00sR0FBRyxDQUFFLGFBQVlYLElBQUksQ0FBQ0ssU0FBUyxDQUFDSyxHQUFHLENBQUUsRUFBRyxDQUFDO0FBQ3pGO0FBRUEsU0FBU0ksYUFBYUEsQ0FBQ0osR0FBUSxFQUFPO0VBQ2xDLElBQUlBLEdBQUcsQ0FBQ0ssUUFBUSxLQUFLQyxTQUFTLEVBQUU7SUFDNUIsTUFBTUMsR0FBUSxHQUFHLENBQUMsQ0FBQztJQUNuQlAsR0FBRyxDQUFDUSxLQUFLLENBQUNDLE9BQU8sQ0FBRUMsQ0FBTSxJQUFLSCxHQUFHLENBQUNHLENBQUMsQ0FBQ3RCLElBQUksQ0FBQyxHQUFHO01BQUVjLEdBQUcsRUFBRVEsQ0FBQyxDQUFDQyxFQUFFO01BQUVYLEdBQUcsRUFBRVUsQ0FBQyxDQUFDVjtJQUFJLENBQUMsQ0FBQztJQUN0RUEsR0FBRyxDQUFDSyxRQUFRLEdBQUdFLEdBQUc7RUFDdEI7RUFDQSxPQUFPUCxHQUFHLENBQUNLLFFBQVE7QUFDdkI7QUFFQSxTQUFTTyxhQUFhQSxDQUFDWixHQUFRLEVBQU87RUFDbEMsSUFBSUEsR0FBRyxDQUFDYSxRQUFRLEtBQUtQLFNBQVMsRUFBRTtJQUM1QixNQUFNQyxHQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CUCxHQUFHLENBQUNRLEtBQUssQ0FBQ0MsT0FBTyxDQUFFQyxDQUFNLElBQUtILEdBQUcsQ0FBQ0csQ0FBQyxDQUFDQyxFQUFFLENBQUMsR0FBRztNQUFFVCxHQUFHLEVBQUVRLENBQUMsQ0FBQ3RCLElBQUk7TUFBRVksR0FBRyxFQUFFVSxDQUFDLENBQUNWO0lBQUksQ0FBQyxDQUFDO0lBQ3RFQSxHQUFHLENBQUNhLFFBQVEsR0FBR04sR0FBRztFQUN0QjtFQUNBLE9BQU9QLEdBQUcsQ0FBQ2EsUUFBUTtBQUN2QjtBQUVBLFNBQVNDLFNBQVNBLENBQUNiLEdBQVEsRUFBRUQsR0FBUSxFQUFFZSxRQUFhLEVBQUViLEdBQVEsR0FBRyxFQUFFLEVBQU87RUFDdEUsU0FBU2Msa0JBQWtCQSxDQUFDaEIsR0FBVyxFQUFFQyxHQUFRLEVBQU87SUFDcEQsSUFBSSxPQUFPRCxHQUFHLEtBQUssT0FBT0MsR0FBRyxFQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ3RDO0VBRUEsU0FBU2UsY0FBY0EsQ0FBQ0MsSUFBVyxFQUFFakIsR0FBUSxFQUFPO0lBQ2hEO0lBQ0EsTUFBTWtCLENBQUMsR0FBR0QsSUFBSSxDQUFDRSxNQUFNO0lBQ3JCLEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRixDQUFDLEVBQUVFLENBQUMsRUFBRSxFQUFFO01BQ3hCLE1BQU1yQixHQUFHLEdBQUdrQixJQUFJLENBQUNHLENBQUMsQ0FBQztNQUNuQixJQUFJO1FBQ0EsT0FBT1AsU0FBUyxDQUFDYixHQUFHLEVBQUVELEdBQUcsRUFBRWUsUUFBUSxDQUFDO01BQ3hDLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUUsQ0FBQztJQUNqQjtJQUNBLE9BQU92QixZQUFZLENBQUNtQixJQUFJLEVBQUVqQixHQUFHLENBQUM7RUFDbEM7RUFFQSxTQUFTc0IsYUFBYUEsQ0FBQ0MsS0FBZSxFQUFFdkIsR0FBUSxFQUFPO0lBQ25ELElBQUl1QixLQUFLLENBQUNDLE9BQU8sQ0FBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU9BLEdBQUc7SUFDekMsT0FBT0YsWUFBWSxDQUFDeUIsS0FBSyxFQUFFdkIsR0FBRyxDQUFDO0VBQ25DO0VBRUEsU0FBU3lCLGNBQWNBLENBQUMxQixHQUFRLEVBQUVDLEdBQVEsRUFBTztJQUM3QztJQUNBLElBQUksQ0FBQzBCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDM0IsR0FBRyxDQUFDLEVBQUUsT0FBT0YsWUFBWSxDQUFDLE9BQU8sRUFBRUUsR0FBRyxDQUFDO0lBQzFELE9BQU9BLEdBQUcsQ0FBQ00sR0FBRyxDQUFDc0IsRUFBRSxJQUFJZixTQUFTLENBQUNlLEVBQUUsRUFBRTdCLEdBQUcsRUFBRWUsUUFBUSxDQUFDLENBQUM7RUFDdEQ7RUFFQSxTQUFTZSxhQUFhQSxDQUFDN0IsR0FBUSxFQUFPO0lBQ2xDLElBQUlBLEdBQUcsS0FBSyxJQUFJLEVBQUU7TUFDZCxPQUFPLElBQUk7SUFDZjtJQUNBLE1BQU04QixDQUFDLEdBQUcsSUFBSUMsSUFBSSxDQUFDL0IsR0FBRyxDQUFDO0lBQ3ZCLElBQUlnQyxLQUFLLENBQUNGLENBQUMsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO01BQ3BCLE9BQU9uQyxZQUFZLENBQUMsTUFBTSxFQUFFRSxHQUFHLENBQUM7SUFDcEM7SUFDQSxPQUFPOEIsQ0FBQztFQUNaO0VBRUEsU0FBU0ksZUFBZUEsQ0FBQzNCLEtBQTJCLEVBQUU0QixVQUFlLEVBQUVuQyxHQUFRLEVBQU87SUFDbEYsSUFBSUEsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxJQUFJMEIsS0FBSyxDQUFDQyxPQUFPLENBQUMzQixHQUFHLENBQUMsRUFBRTtNQUMvRCxPQUFPRixZQUFZLENBQUMsUUFBUSxFQUFFRSxHQUFHLENBQUM7SUFDdEM7SUFDQSxNQUFNb0MsTUFBVyxHQUFHLENBQUMsQ0FBQztJQUN0QkMsTUFBTSxDQUFDQyxtQkFBbUIsQ0FBQy9CLEtBQUssQ0FBQyxDQUFDQyxPQUFPLENBQUNQLEdBQUcsSUFBSTtNQUM3QyxNQUFNc0MsSUFBSSxHQUFHaEMsS0FBSyxDQUFDTixHQUFHLENBQUM7TUFDdkIsTUFBTXVDLENBQUMsR0FBR0gsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDM0MsR0FBRyxFQUFFQyxHQUFHLENBQUMsR0FBR0QsR0FBRyxDQUFDQyxHQUFHLENBQUMsR0FBR0ksU0FBUztNQUMvRStCLE1BQU0sQ0FBQ0csSUFBSSxDQUFDdEMsR0FBRyxDQUFDLEdBQUdZLFNBQVMsQ0FBQzJCLENBQUMsRUFBRUQsSUFBSSxDQUFDeEMsR0FBRyxFQUFFZSxRQUFRLEVBQUV5QixJQUFJLENBQUN0QyxHQUFHLENBQUM7SUFDakUsQ0FBQyxDQUFDO0lBQ0ZvQyxNQUFNLENBQUNDLG1CQUFtQixDQUFDdEMsR0FBRyxDQUFDLENBQUNRLE9BQU8sQ0FBQ1AsR0FBRyxJQUFJO01BQzNDLElBQUksQ0FBQ29DLE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ3BDLEtBQUssRUFBRU4sR0FBRyxDQUFDLEVBQUU7UUFDbkRtQyxNQUFNLENBQUNuQyxHQUFHLENBQUMsR0FBR1ksU0FBUyxDQUFDYixHQUFHLENBQUNDLEdBQUcsQ0FBQyxFQUFFa0MsVUFBVSxFQUFFckIsUUFBUSxFQUFFYixHQUFHLENBQUM7TUFDaEU7SUFDSixDQUFDLENBQUM7SUFDRixPQUFPbUMsTUFBTTtFQUNqQjtFQUVBLElBQUlyQyxHQUFHLEtBQUssS0FBSyxFQUFFLE9BQU9DLEdBQUc7RUFDN0IsSUFBSUQsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNkLElBQUlDLEdBQUcsS0FBSyxJQUFJLEVBQUUsT0FBT0EsR0FBRztJQUM1QixPQUFPRixZQUFZLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ2pDO0VBQ0EsSUFBSUQsR0FBRyxLQUFLLEtBQUssRUFBRSxPQUFPRCxZQUFZLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQ2hELE9BQU8sT0FBT0QsR0FBRyxLQUFLLFFBQVEsSUFBSUEsR0FBRyxDQUFDNkMsR0FBRyxLQUFLdkMsU0FBUyxFQUFFO0lBQ3JETixHQUFHLEdBQUc4QyxPQUFPLENBQUM5QyxHQUFHLENBQUM2QyxHQUFHLENBQUM7RUFDMUI7RUFDQSxJQUFJbEIsS0FBSyxDQUFDQyxPQUFPLENBQUM1QixHQUFHLENBQUMsRUFBRSxPQUFPdUIsYUFBYSxDQUFDdkIsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDdEQsSUFBSSxPQUFPRCxHQUFHLEtBQUssUUFBUSxFQUFFO0lBQ3pCLE9BQU9BLEdBQUcsQ0FBQzJDLGNBQWMsQ0FBQyxjQUFjLENBQUMsR0FBRzFCLGNBQWMsQ0FBQ2pCLEdBQUcsQ0FBQytDLFlBQVksRUFBRTlDLEdBQUcsQ0FBQyxHQUMzRUQsR0FBRyxDQUFDMkMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFNakIsY0FBYyxDQUFDMUIsR0FBRyxDQUFDZ0QsVUFBVSxFQUFFL0MsR0FBRyxDQUFDLEdBQ3pFRCxHQUFHLENBQUMyQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQVdSLGVBQWUsQ0FBQ3BCLFFBQVEsQ0FBQ2YsR0FBRyxDQUFDLEVBQUVBLEdBQUcsQ0FBQ29DLFVBQVUsRUFBRW5DLEdBQUcsQ0FBQyxHQUN6RkYsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUNoQztFQUNBO0VBQ0EsSUFBSUQsR0FBRyxLQUFLZ0MsSUFBSSxJQUFJLE9BQU8vQixHQUFHLEtBQUssUUFBUSxFQUFFLE9BQU82QixhQUFhLENBQUM3QixHQUFHLENBQUM7RUFDdEUsT0FBT2Usa0JBQWtCLENBQUNoQixHQUFHLEVBQUVDLEdBQUcsQ0FBQztBQUN2QztBQUVBLFNBQVNaLElBQUlBLENBQUlZLEdBQVEsRUFBRUQsR0FBUSxFQUFLO0VBQ3BDLE9BQU9jLFNBQVMsQ0FBQ2IsR0FBRyxFQUFFRCxHQUFHLEVBQUVJLGFBQWEsQ0FBQztBQUM3QztBQUVBLFNBQVNSLE1BQU1BLENBQUlLLEdBQU0sRUFBRUQsR0FBUSxFQUFPO0VBQ3RDLE9BQU9jLFNBQVMsQ0FBQ2IsR0FBRyxFQUFFRCxHQUFHLEVBQUVZLGFBQWEsQ0FBQztBQUM3QztBQUVBLFNBQVNxQyxDQUFDQSxDQUFDakQsR0FBUSxFQUFFO0VBQ2pCLE9BQU87SUFBRWdELFVBQVUsRUFBRWhEO0VBQUksQ0FBQztBQUM5QjtBQUVBLFNBQVNrRCxDQUFDQSxDQUFDLEdBQUdoQyxJQUFXLEVBQUU7RUFDdkIsT0FBTztJQUFFNkIsWUFBWSxFQUFFN0I7RUFBSyxDQUFDO0FBQ2pDO0FBRUEsU0FBU2lDLENBQUNBLENBQUMzQyxLQUFZLEVBQUU0QixVQUFlLEVBQUU7RUFDdEMsT0FBTztJQUFFNUIsS0FBSztJQUFFNEI7RUFBVyxDQUFDO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTNUMsQ0FBQ0EsQ0FBQzRELElBQVksRUFBRTtFQUNyQixPQUFPO0lBQUVQLEdBQUcsRUFBRU87RUFBSyxDQUFDO0FBQ3hCO0FBRUEsTUFBTU4sT0FBWSxHQUFHO0VBQ2pCLFdBQVcsRUFBRUssQ0FBQyxDQUFDLENBQ1g7SUFBRS9ELElBQUksRUFBRSxXQUFXO0lBQUV1QixFQUFFLEVBQUUsV0FBVztJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxnQkFBZ0I7RUFBRSxDQUFDLENBQ25FLEVBQUUsS0FBSyxDQUFDO0VBQ1QsZ0JBQWdCLEVBQUUyRCxDQUFDLENBQUMsQ0FDaEI7SUFBRS9ELElBQUksRUFBRSxVQUFVO0lBQUV1QixFQUFFLEVBQUUsVUFBVTtJQUFFWCxHQUFHLEVBQUVpRCxDQUFDLENBQUN6RCxDQUFDLENBQUMsVUFBVSxDQUFDO0VBQUUsQ0FBQyxDQUM5RCxFQUFFLEtBQUssQ0FBQztFQUNULGlCQUFpQixFQUFFMkQsQ0FBQyxDQUFDLENBQ2pCO0lBQUUvRCxJQUFJLEVBQUUsVUFBVTtJQUFFdUIsRUFBRSxFQUFFLFVBQVU7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsVUFBVTtFQUFFLENBQUMsQ0FDM0QsRUFBRSxLQUFLLENBQUM7RUFDVCxVQUFVLEVBQUUyRCxDQUFDLENBQUMsQ0FDVjtJQUFFL0QsSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekM7SUFBRVosSUFBSSxFQUFFLFlBQVk7SUFBRXVCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDakQ7SUFBRVosSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLGlCQUFpQjtFQUFFLENBQUMsRUFDakU7SUFBRUosSUFBSSxFQUFFLEtBQUs7SUFBRXVCLEVBQUUsRUFBRSxLQUFLO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkM7SUFBRVosSUFBSSxFQUFFLGFBQWE7SUFBRXVCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLGFBQWE7RUFBRSxDQUFDLEVBQ2pFO0lBQUVKLElBQUksRUFBRSxNQUFNO0lBQUV1QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxNQUFNO0VBQUUsQ0FBQyxFQUM1QztJQUFFSixJQUFJLEVBQUUsY0FBYztJQUFFdUIsRUFBRSxFQUFFLGNBQWM7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEU7SUFBRUosSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFFBQVE7RUFBRSxDQUFDLEVBQ2xEO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsWUFBWTtJQUFFdUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsWUFBWTtFQUFFLENBQUMsRUFDOUQ7SUFBRUosSUFBSSxFQUFFLGdCQUFnQjtJQUFFdUIsRUFBRSxFQUFFLGdCQUFnQjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUVjLFNBQVM7RUFBRSxDQUFDLEVBQzlGO0lBQUVsQixJQUFJLEVBQUUsZUFBZTtJQUFFdUIsRUFBRSxFQUFFLGVBQWU7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDMUQsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRWMsU0FBUztFQUFFLENBQUMsRUFDM0Y7SUFBRWxCLElBQUksRUFBRSxTQUFTO0lBQUV1QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMxRCxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFYyxTQUFTO0VBQUUsQ0FBQyxFQUN6RTtJQUFFbEIsSUFBSSxFQUFFLGFBQWE7SUFBRXVCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUVjLFNBQVM7RUFBRSxDQUFDLEVBQ3JGO0lBQUVsQixJQUFJLEVBQUUsaUJBQWlCO0lBQUV1QixFQUFFLEVBQUUsaUJBQWlCO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRWMsU0FBUztFQUFFLENBQUMsQ0FDcEcsRUFBRSxLQUFLLENBQUM7RUFDVCxRQUFRLEVBQUU2QyxDQUFDLENBQUMsQ0FDUjtJQUFFL0QsSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxDQUNyRCxFQUFFLEtBQUssQ0FBQztFQUNULFFBQVEsRUFBRTJELENBQUMsQ0FBQyxDQUNSO0lBQUUvRCxJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWixJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUNsRCxFQUFFLEtBQUssQ0FBQztFQUNULFVBQVUsRUFBRW1ELENBQUMsQ0FBQyxDQUNWO0lBQUUvRCxJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvQztJQUFFWixJQUFJLEVBQUUsV0FBVztJQUFFdUIsRUFBRSxFQUFFLFdBQVc7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUNsRCxFQUFFLEtBQUssQ0FBQztFQUNULFNBQVMsRUFBRW1ELENBQUMsQ0FBQyxDQUNUO0lBQUUvRCxJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRDtJQUFFWixJQUFJLEVBQUUsZ0JBQWdCO0lBQUV1QixFQUFFLEVBQUUsZ0JBQWdCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekQ7SUFBRVosSUFBSSxFQUFFLGFBQWE7SUFBRXVCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkQ7SUFBRVosSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzFELENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0VBQUUsQ0FBQyxDQUM5RCxFQUFFLEtBQUssQ0FBQztFQUNULGFBQWEsRUFBRTJELENBQUMsQ0FBQyxDQUNiO0lBQUUvRCxJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWixJQUFJLEVBQUUsYUFBYTtJQUFFdUIsRUFBRSxFQUFFLGFBQWE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUN0RCxFQUFFLEtBQUssQ0FBQztFQUNULGNBQWMsRUFBRW1ELENBQUMsQ0FBQyxDQUNkO0lBQUUvRCxJQUFJLEVBQUUsVUFBVTtJQUFFdUIsRUFBRSxFQUFFLFVBQVU7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUN0RDtJQUFFOUQsSUFBSSxFQUFFLGFBQWE7SUFBRXVCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRTtFQUFLLENBQUMsRUFDckQ7SUFBRVosSUFBSSxFQUFFLFVBQVU7SUFBRXVCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFNBQVM7RUFBRSxDQUFDLENBQzFELEVBQUUsS0FBSyxDQUFDO0VBQ1QsU0FBUyxFQUFFMkQsQ0FBQyxDQUFDLENBQ1Q7SUFBRS9ELElBQUksRUFBRSxTQUFTO0lBQUV1QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUk7RUFBRSxDQUFDLENBQ3ZELEVBQUUsS0FBSyxDQUFDO0VBQ1QsWUFBWSxFQUFFQyxDQUFDLENBQUMsQ0FDWjtJQUFFL0QsSUFBSSxFQUFFLFdBQVc7SUFBRXVCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDekQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0VBQUUsQ0FBQyxDQUNsRyxFQUFFLEtBQUssQ0FBQztFQUNULGtCQUFrQixFQUFFMkQsQ0FBQyxDQUFDLENBQ2xCO0lBQUUvRCxJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFBRUosSUFBSSxFQUFFLGNBQWM7SUFBRXVCLEVBQUUsRUFBRSxjQUFjO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFFBQVE7RUFBRSxDQUFDLENBQ2pFLEVBQUUsS0FBSyxDQUFDO0VBQ1QsUUFBUSxFQUFFMkQsQ0FBQyxDQUFDLENBQ1I7SUFBRS9ELElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6QztJQUFFWixJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxFQUNsRDtJQUFFOUQsSUFBSSxFQUFFLE9BQU87SUFBRXVCLEVBQUUsRUFBRSxPQUFPO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDaEQ7SUFBRTlELElBQUksRUFBRSxlQUFlO0lBQUV1QixFQUFFLEVBQUUsZUFBZTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUk7RUFBRSxDQUFDLEVBQ2hFO0lBQUU5RCxJQUFJLEVBQUUsY0FBYztJQUFFdUIsRUFBRSxFQUFFLGNBQWM7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJO0VBQUUsQ0FBQyxDQUNqRSxFQUFFLEtBQUssQ0FBQztFQUNULGdCQUFnQixFQUFFQyxDQUFDLENBQUMsQ0FDaEI7SUFBRS9ELElBQUksRUFBRSxlQUFlO0lBQUV1QixFQUFFLEVBQUUsZUFBZTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUNELENBQUMsQ0FBQ3pELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsT0FBTyxDQUFDO0VBQUUsQ0FBQyxDQUNwRixFQUFFLEtBQUssQ0FBQztFQUNULE9BQU8sRUFBRTJELENBQUMsQ0FBQyxDQUNQO0lBQUUvRCxJQUFJLEVBQUUsUUFBUTtJQUFFdUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFUixDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFBRUosSUFBSSxFQUFFLE9BQU87SUFBRXVCLEVBQUUsRUFBRSxPQUFPO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSTtFQUFFLENBQUMsRUFDaEQ7SUFBRTlELElBQUksRUFBRSxTQUFTO0lBQUV1QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUFDLENBQUMsQ0FDM0QsRUFBRSxLQUFLLENBQUM7RUFDVCxlQUFlLEVBQUU2QyxDQUFDLENBQUMsQ0FDZjtJQUFFL0QsSUFBSSxFQUFFLGNBQWM7SUFBRXVCLEVBQUUsRUFBRSxjQUFjO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQ0QsQ0FBQyxDQUFDekQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxPQUFPLENBQUM7RUFBRSxDQUFDLENBQ2xGLEVBQUUsS0FBSyxDQUFDO0VBQ1QsYUFBYSxFQUFFMkQsQ0FBQyxDQUFDLENBQ2I7SUFBRS9ELElBQUksRUFBRSxRQUFRO0lBQUV1QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVSLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUFFSixJQUFJLEVBQUUsaUJBQWlCO0lBQUV1QixFQUFFLEVBQUUsaUJBQWlCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsQ0FDOUQsRUFBRSxLQUFLLENBQUM7RUFDVCxpQkFBaUIsRUFBRW1ELENBQUMsQ0FBQyxDQUNqQjtJQUFFL0QsSUFBSSxFQUFFLGdCQUFnQjtJQUFFdUIsRUFBRSxFQUFFLGdCQUFnQjtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUNELENBQUMsQ0FBQ3pELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztFQUFFLENBQUMsQ0FDeEcsRUFBRSxLQUFLLENBQUM7RUFDVCxnQkFBZ0IsRUFBRTJELENBQUMsQ0FBQyxDQUNoQjtJQUFFL0QsSUFBSSxFQUFFLFFBQVE7SUFBRXVCLEVBQUUsRUFBRSxRQUFRO0lBQUVYLEdBQUcsRUFBRVIsQ0FBQyxDQUFDLFFBQVE7RUFBRSxDQUFDLENBQ3JELEVBQUUsS0FBSyxDQUFDO0VBQ1QsaUJBQWlCLEVBQUUsQ0FDZixxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLG9CQUFvQixDQUN2QjtFQUNELFFBQVEsRUFBRSxDQUNOLGFBQWEsRUFDYixlQUFlLEVBQ2YsVUFBVSxDQUNiO0VBQ0QsTUFBTSxFQUFFLENBQ0osSUFBSSxFQUNKLElBQUksRUFDSixNQUFNO0FBRWQsQ0FBQyJ9