@tricoteuses/assemblee 1.1.8 → 1.1.10

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 (136) hide show
  1. package/LICENSE.md +5 -1
  2. package/README.md +69 -178
  3. package/lib/api.js +9 -9
  4. package/lib/api.mjs +7 -7
  5. package/lib/bugs/acteur-00010/plugin.test.js +1 -1
  6. package/lib/bugs/agenda-00002/plugin.test.js +1 -1
  7. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  8. package/lib/bugs/agenda-00002.js +3 -3
  9. package/lib/bugs/agenda-00002.mjs +2 -2
  10. package/lib/bugs/agenda-00008/plugin.test.js +1 -1
  11. package/lib/bugs/agenda-00011/plugin.test.js +1 -1
  12. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  13. package/lib/bugs/agenda-00011.js +1 -1
  14. package/lib/bugs/agenda-00011.mjs +1 -1
  15. package/lib/bugs.js +1 -1
  16. package/lib/bugs.mjs +1 -1
  17. package/lib/cleaners/acteurs.js +1 -1
  18. package/lib/cleaners/acteurs.mjs +1 -1
  19. package/lib/cleaners/amendements.js +1 -1
  20. package/lib/cleaners/amendements.mjs +1 -1
  21. package/lib/cleaners/debats.d.ts +1 -0
  22. package/lib/cleaners/debats.js +12 -0
  23. package/lib/cleaners/debats.mjs +5 -0
  24. package/lib/cleaners/index.d.ts +2 -0
  25. package/lib/cleaners/index.js +15 -1
  26. package/lib/cleaners/index.mjs +3 -1
  27. package/lib/cleaners/questions.d.ts +1 -0
  28. package/lib/cleaners/questions.js +12 -0
  29. package/lib/cleaners/questions.mjs +5 -0
  30. package/lib/cleaners/reunions.js +1 -1
  31. package/lib/cleaners/reunions.mjs +1 -1
  32. package/lib/cleaners/xml.js +12 -6
  33. package/lib/cleaners/xml.mjs +12 -6
  34. package/lib/datasets.d.ts +5 -1
  35. package/lib/datasets.js +70 -12
  36. package/lib/datasets.mjs +68 -10
  37. package/lib/dates.js +1 -1
  38. package/lib/dates.mjs +1 -1
  39. package/lib/dossiers_legislatifs.js +9 -9
  40. package/lib/dossiers_legislatifs.mjs +7 -7
  41. package/lib/file_systems.js +4 -4
  42. package/lib/file_systems.mjs +2 -2
  43. package/lib/git.js +1 -1
  44. package/lib/git.mjs +1 -1
  45. package/lib/loaders.d.ts +21 -0
  46. package/lib/loaders.js +608 -202
  47. package/lib/loaders.mjs +200 -3
  48. package/lib/organes.js +1 -1
  49. package/lib/organes.mjs +1 -1
  50. package/lib/parsers/documents.js +1 -1
  51. package/lib/parsers/documents.mjs +1 -1
  52. package/lib/parsers/recherche_amendements.js +3 -2
  53. package/lib/parsers/recherche_amendements.mjs +1 -1
  54. package/lib/raw_types/acteurs_et_organes.js +49 -49
  55. package/lib/raw_types/acteurs_et_organes.mjs +37 -37
  56. package/lib/raw_types/agendas.js +50 -50
  57. package/lib/raw_types/agendas.mjs +39 -39
  58. package/lib/raw_types/amendements.d.ts +2 -0
  59. package/lib/raw_types/amendements.js +53 -51
  60. package/lib/raw_types/amendements.mjs +41 -39
  61. package/lib/raw_types/debats.d.ts +190 -0
  62. package/lib/raw_types/debats.js +816 -0
  63. package/lib/raw_types/debats.mjs +758 -0
  64. package/lib/raw_types/dossiers_legislatifs.js +71 -62
  65. package/lib/raw_types/dossiers_legislatifs.mjs +46 -46
  66. package/lib/raw_types/questions.d.ts +129 -0
  67. package/lib/raw_types/questions.js +497 -0
  68. package/lib/raw_types/questions.mjs +439 -0
  69. package/lib/raw_types/scrutins.js +34 -34
  70. package/lib/raw_types/scrutins.mjs +28 -28
  71. package/lib/scripts/bugs_helper.js +1 -1
  72. package/lib/scripts/bugs_helper.mjs +1 -1
  73. package/lib/scripts/clean_reorganized_data.js +174 -24
  74. package/lib/scripts/clean_reorganized_data.mjs +127 -13
  75. package/lib/scripts/diff_amendements.js +1 -1
  76. package/lib/scripts/diff_amendements.mjs +1 -1
  77. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  78. package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
  79. package/lib/scripts/get_today_reunions.js +1 -1
  80. package/lib/scripts/get_today_reunions.mjs +1 -1
  81. package/lib/scripts/merge_scrutins.js +1 -1
  82. package/lib/scripts/merge_scrutins.mjs +1 -1
  83. package/lib/scripts/parse_textes_lois.js +4 -3
  84. package/lib/scripts/parse_textes_lois.mjs +1 -1
  85. package/lib/scripts/raw_types_from_amendements.js +1 -1
  86. package/lib/scripts/raw_types_from_amendements.mjs +1 -1
  87. package/lib/scripts/reorganize_data.js +189 -7
  88. package/lib/scripts/reorganize_data.mjs +136 -8
  89. package/lib/scripts/retrieve_deputes_photos.js +7 -1
  90. package/lib/scripts/retrieve_deputes_photos.mjs +7 -1
  91. package/lib/scripts/retrieve_documents.js +1 -1
  92. package/lib/scripts/retrieve_documents.mjs +1 -1
  93. package/lib/scripts/retrieve_open_data.js +105 -37
  94. package/lib/scripts/retrieve_open_data.mjs +34 -2
  95. package/lib/scripts/retrieve_pending_amendments.js +7 -1
  96. package/lib/scripts/retrieve_pending_amendments.mjs +7 -1
  97. package/lib/scripts/retrieve_senateurs_photos.js +10 -2
  98. package/lib/scripts/retrieve_senateurs_photos.mjs +7 -1
  99. package/lib/scripts/retrieve_textes_lois.js +1 -1
  100. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  101. package/lib/scripts/test_load.js +1 -1
  102. package/lib/scripts/test_load.mjs +1 -1
  103. package/lib/scripts/test_load_big_files.js +1 -1
  104. package/lib/scripts/test_load_big_files.mjs +1 -1
  105. package/lib/scripts/validate_json.js +1 -1
  106. package/lib/scripts/validate_json.mjs +1 -1
  107. package/lib/shared_types/codes_actes.d.ts +4 -0
  108. package/lib/shared_types/codes_actes.js +19 -17
  109. package/lib/shared_types/codes_actes.mjs +15 -13
  110. package/lib/strings.js +1 -1
  111. package/lib/strings.mjs +1 -1
  112. package/lib/types/acteurs_et_organes.js +37 -37
  113. package/lib/types/acteurs_et_organes.mjs +28 -28
  114. package/lib/types/agendas.js +50 -50
  115. package/lib/types/agendas.mjs +40 -40
  116. package/lib/types/amendements.d.ts +1 -0
  117. package/lib/types/amendements.js +52 -51
  118. package/lib/types/amendements.mjs +42 -41
  119. package/lib/types/debats.d.ts +184 -0
  120. package/lib/types/debats.js +805 -0
  121. package/lib/types/debats.mjs +747 -0
  122. package/lib/types/dossiers_legislatifs.js +68 -59
  123. package/lib/types/dossiers_legislatifs.mjs +46 -46
  124. package/lib/types/legislatures.js +5 -5
  125. package/lib/types/legislatures.mjs +4 -4
  126. package/lib/types/questions.d.ts +122 -0
  127. package/lib/types/questions.js +482 -0
  128. package/lib/types/questions.mjs +424 -0
  129. package/lib/types/scrutins.js +34 -34
  130. package/lib/types/scrutins.mjs +28 -28
  131. package/lib/urls.js +5 -5
  132. package/lib/urls.mjs +4 -4
  133. package/package.json +15 -7
  134. package/lib/scripts/clean_data.d.ts +0 -1
  135. package/lib/scripts/clean_data.js +0 -309
  136. package/lib/scripts/clean_data.mjs +0 -171
@@ -8,19 +8,18 @@
8
8
  // These functions will throw an error if the JSON doesn't
9
9
  // match the expected interface, even if the JSON is valid.
10
10
 
11
- export let AccordGouvernementDepotHorsDelai;
12
- (function (AccordGouvernementDepotHorsDelai) {
11
+ export let AccordGouvernementDepotHorsDelai = /*#__PURE__*/function (AccordGouvernementDepotHorsDelai) {
13
12
  AccordGouvernementDepotHorsDelai["Accord"] = "Accord";
14
13
  AccordGouvernementDepotHorsDelai["SansObjet"] = "Sans objet";
15
- })(AccordGouvernementDepotHorsDelai || (AccordGouvernementDepotHorsDelai = {}));
16
- export let Action;
17
- (function (Action) {
14
+ return AccordGouvernementDepotHorsDelai;
15
+ }({});
16
+ export let Action = /*#__PURE__*/function (Action) {
18
17
  Action["Cr\xE9ation"] = "cr\xE9ation";
19
18
  Action["Modification"] = "modification";
20
19
  Action["Suppression"] = "suppression";
21
- })(Action || (Action = {}));
22
- export let EtatAmendementCode;
23
- (function (EtatAmendementCode) {
20
+ return Action;
21
+ }({});
22
+ export let EtatAmendementCode = /*#__PURE__*/function (EtatAmendementCode) {
24
23
  EtatAmendementCode["AC"] = "AC";
25
24
  EtatAmendementCode["At"] = "AT";
26
25
  EtatAmendementCode["Di"] = "DI";
@@ -40,14 +39,15 @@ export let EtatAmendementCode;
40
39
  EtatAmendementCode["Irrai"] = "IRRAI";
41
40
  EtatAmendementCode["Irraif"] = "IRRAIF";
42
41
  EtatAmendementCode["Irrd"] = "IRRD";
42
+ EtatAmendementCode["Irrhc"] = "IRRHC";
43
43
  EtatAmendementCode["Irrhd"] = "IRRHD";
44
44
  EtatAmendementCode["Irrsa"] = "IRRSA";
45
45
  EtatAmendementCode["R"] = "R";
46
46
  EtatAmendementCode["Rt"] = "RT";
47
47
  EtatAmendementCode["T"] = "T";
48
- })(EtatAmendementCode || (EtatAmendementCode = {}));
49
- export let EtatAmendementLibelle;
50
- (function (EtatAmendementLibelle) {
48
+ return EtatAmendementCode;
49
+ }({});
50
+ export let EtatAmendementLibelle = /*#__PURE__*/function (EtatAmendementLibelle) {
51
51
  EtatAmendementLibelle["ADiscuter"] = "A discuter";
52
52
  EtatAmendementLibelle["AD\xE9poser"] = "A d\xE9poser";
53
53
  EtatAmendementLibelle["Discut\xE9"] = "Discut\xE9";
@@ -57,9 +57,9 @@ export let EtatAmendementLibelle;
57
57
  EtatAmendementLibelle["Irrecevable"] = "Irrecevable";
58
58
  EtatAmendementLibelle["Irrecevable40"] = "Irrecevable 40";
59
59
  EtatAmendementLibelle["Retir\xE9"] = "Retir\xE9";
60
- })(EtatAmendementLibelle || (EtatAmendementLibelle = {}));
61
- export let SortAmendement;
62
- (function (SortAmendement) {
60
+ return EtatAmendementLibelle;
61
+ }({});
62
+ export let SortAmendement = /*#__PURE__*/function (SortAmendement) {
63
63
  SortAmendement["Adopt\xE9"] = "Adopt\xE9";
64
64
  SortAmendement["AutreIrrecevabilit\xE9"] = "Autre irrecevabilit\xE9";
65
65
  SortAmendement["AutreIrrecevabilit\xE940"] = "Autre irrecevabilit\xE9 40";
@@ -95,49 +95,50 @@ export let SortAmendement;
95
95
  SortAmendement["SatisfaitOuInop\xE9rant42"] = "Satisfait ou inop\xE9rant (42)";
96
96
  SortAmendement["SousAmendement98"] = "Sous-amendement (98)";
97
97
  SortAmendement["Tomb\xE9"] = "Tomb\xE9";
98
- })(SortAmendement || (SortAmendement = {}));
99
- export let TypePosition;
100
- (function (TypePosition) {
98
+ return SortAmendement;
99
+ }({});
100
+ export let TypePosition = /*#__PURE__*/function (TypePosition) {
101
101
  TypePosition["Dernier"] = "Dernier";
102
102
  TypePosition["Milieu"] = "Milieu";
103
103
  TypePosition["Premier"] = "Premier";
104
- })(TypePosition || (TypePosition = {}));
105
- export let AvantAApres;
106
- (function (AvantAApres) {
104
+ return TypePosition;
105
+ }({});
106
+ export let AvantAApres = /*#__PURE__*/function (AvantAApres) {
107
107
  AvantAApres["A"] = "A";
108
108
  AvantAApres["Apres"] = "Apres";
109
109
  AvantAApres["Avant"] = "Avant";
110
- })(AvantAApres || (AvantAApres = {}));
111
- export let DivisionType;
112
- (function (DivisionType) {
110
+ return AvantAApres;
111
+ }({});
112
+ export let DivisionType = /*#__PURE__*/function (DivisionType) {
113
113
  DivisionType["Annexe"] = "ANNEXE";
114
114
  DivisionType["Article"] = "ARTICLE";
115
115
  DivisionType["Chapitre"] = "CHAPITRE";
116
116
  DivisionType["Titre"] = "TITRE";
117
- })(DivisionType || (DivisionType = {}));
118
- export let CodeEtat;
119
- (function (CodeEtat) {
117
+ return DivisionType;
118
+ }({});
119
+ export let CodeEtat = /*#__PURE__*/function (CodeEtat) {
120
120
  CodeEtat["B"] = "B";
121
121
  CodeEtat["C"] = "C";
122
122
  CodeEtat["D"] = "D";
123
- })(CodeEtat || (CodeEtat = {}));
124
- export let Nom;
125
- (function (Nom) {
123
+ return CodeEtat;
124
+ }({});
125
+ export let Nom = /*#__PURE__*/function (Nom) {
126
126
  Nom["Pdf"] = "PDF";
127
- })(Nom || (Nom = {}));
128
- export let TypeMimeType;
129
- (function (TypeMimeType) {
127
+ return Nom;
128
+ }({});
129
+ export let TypeMimeType = /*#__PURE__*/function (TypeMimeType) {
130
130
  TypeMimeType["Application"] = "application";
131
- })(TypeMimeType || (TypeMimeType = {}));
132
- export let TypeAuteur;
133
-
134
- // Converts JSON strings to/from your types
135
- // and asserts the results of JSON.parse at runtime
136
- (function (TypeAuteur) {
131
+ return TypeMimeType;
132
+ }({});
133
+ export let TypeAuteur = /*#__PURE__*/function (TypeAuteur) {
137
134
  TypeAuteur["D\xE9put\xE9"] = "D\xE9put\xE9";
138
135
  TypeAuteur["Gouvernement"] = "Gouvernement";
139
136
  TypeAuteur["Rapporteur"] = "Rapporteur";
140
- })(TypeAuteur || (TypeAuteur = {}));
137
+ return TypeAuteur;
138
+ }({});
139
+
140
+ // Converts JSON strings to/from your types
141
+ // and asserts the results of JSON.parse at runtime
141
142
  export class Convert {
142
143
  static toAmendement(json) {
143
144
  return cast(JSON.parse(json), r("Amendement"));
@@ -817,7 +818,7 @@ const typeMap = {
817
818
  }], false),
818
819
  AccordGouvernementDepotHorsDelai: ["Accord", "Sans objet"],
819
820
  Action: ["création", "modification", "suppression"],
820
- EtatAmendementCode: ["AC", "AT", "DI", "effacé", "ER", "ET", "IR", "IRR127", "IRR20", "IRR37", "IRR38", "IRR41", "IRR42", "IRR45", "IRR48", "IRR53", "IRRAI", "IRRAIF", "IRRD", "IRRHD", "IRRSA", "R", "RT", "T"],
821
+ EtatAmendementCode: ["AC", "AT", "DI", "effacé", "ER", "ET", "IR", "IRR127", "IRR20", "IRR37", "IRR38", "IRR41", "IRR42", "IRR45", "IRR48", "IRR53", "IRRAI", "IRRAIF", "IRRD", "IRRHC", "IRRHD", "IRRSA", "R", "RT", "T"],
821
822
  EtatAmendementLibelle: ["A discuter", "A déposer", "Discuté", "effacé", "En recevabilité", "En traitement", "Irrecevable", "Irrecevable 40", "Retiré"],
822
823
  SortAmendement: ["Adopté", "Autre irrecevabilité", "Autre irrecevabilité 40", "Autres irr LOLF", "Autres irr LOLFSS", "Cavalier (45)", "Cavalier budgétaire", "Cavalier social", "Champ de l'habilitation (38)", "Charge", "CMP (45)", "Crédits", "Disposition réglementaire (37)", "Domaine de la loi (41)", "Domaine loi organique (127)", "Doublon", "Entonnoir (45)", "Gage", "Hors-délais", "Injonction (20)", "Irr en première partie", "Irr en seconde partie", "LOLF", "LOLFSS", "Non soutenu", "Ordre du jour (48)", "R", "Ratification traité (53)", "Rejeté", "Retiré", "Retiré après publication", "Retiré avant publication", "Satisfait ou inopérant (42)", "Sous-amendement (98)", "Tombé"],
823
824
  TypePosition: ["Dernier", "Milieu", "Premier"],
@@ -828,4 +829,4 @@ const typeMap = {
828
829
  TypeMimeType: ["application"],
829
830
  TypeAuteur: ["Député", "Gouvernement", "Rapporteur"]
830
831
  };
831
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkV0YXRBbWVuZGVtZW50Q29kZSIsIkV0YXRBbWVuZGVtZW50TGliZWxsZSIsIlNvcnRBbWVuZGVtZW50IiwiVHlwZVBvc2l0aW9uIiwiQXZhbnRBQXByZXMiLCJEaXZpc2lvblR5cGUiLCJDb2RlRXRhdCIsIk5vbSIsIlR5cGVNaW1lVHlwZSIsIlR5cGVBdXRldXIiLCJDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYW1lbmRlbWVudFRvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9BbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzVG9Kc29uIiwidG9UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWZUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiQW1lbmRlbWVudHMiLCJUZXh0ZUxlZ2lzbGF0aWYiLCJBbWVuZGVtZW50c0NsYXNzIiwiQW1lbmRlbWVudFdyYXBwZXIiLCJBbWVuZGVtZW50IiwiQ29ycHMiLCJDb250ZW51QXV0ZXVyIiwiQXZhbnRBcHBlbCIsIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwiUHJvZ3JhbW1lUGxmIiwiTGlnbmVDcmVkaXRQTEYiLCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIiLCJMaWduZUNyZWRpdFBMRlIiLCJUb3RhbCIsIkN5Y2xlRGVWaWUiLCJFdGF0RGVzVHJhaXRlbWVudHMiLCJFdGF0QW1lbmRlbWVudCIsIlNvdXNFdGF0QW1lbmRlbWVudCIsIkRpc2N1c3Npb24iLCJJZGVudGlmaWNhdGlvbiIsIkxvaVJlZmVyZW5jZSIsIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZSIsIkFsaW5lYSIsIkRpdmlzaW9uIiwiTWlzc2lvblZpc2VlIiwiUmVwcmVzZW50YXRpb24iLCJDb250ZW51IiwiU3RhdHV0UmVwcmVzZW50YXRpb24iLCJUeXBlTWltZSIsIlNpZ25hdGFpcmVzIiwiQXV0ZXVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIEFtZW5kZW1lbnQsIEFtZW5kZW1lbnRzIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgYW1lbmRlbWVudCA9IENvbnZlcnQudG9BbWVuZGVtZW50KGpzb24pO1xuLy8gICBjb25zdCBhbWVuZGVtZW50cyA9IENvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHMge1xuICB0ZXh0ZXNMZWdpc2xhdGlmczogVGV4dGVMZWdpc2xhdGlmW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUxlZ2lzbGF0aWYge1xuICByZWZUZXh0ZUxlZ2lzbGF0aWY6IHN0cmluZ1xuICBhbWVuZGVtZW50czogQW1lbmRlbWVudFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgY2hyb25vdGFnOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU6IHN0cmluZ1xuICBpZGVudGlmaWNhdGlvbjogSWRlbnRpZmljYXRpb25cbiAgZXhhbWVuUmVmOiBzdHJpbmdcbiAgdGV4dGVMZWdpc2xhdGlmUmVmOiBzdHJpbmdcbiAgdHJpQW1lbmRlbWVudD86IHN0cmluZ1xuICBjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXM/OiBzdHJpbmdcbiAgYW1lbmRlbWVudFBhcmVudFJlZj86IHN0cmluZ1xuICBzaWduYXRhaXJlczogU2lnbmF0YWlyZXNcbiAgcG9pbnRldXJGcmFnbWVudFRleHRlOiBQb2ludGV1ckZyYWdtZW50VGV4dGVcbiAgY29ycHM/OiBDb3Jwc1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIHJlcHJlc2VudGF0aW9uPzogUmVwcmVzZW50YXRpb25cbiAgc2VhbmNlRGlzY3Vzc2lvblJlZj86IHN0cmluZ1xuICBhcnRpY2xlOTk6IHN0cmluZ1xuICBsb2lSZWZlcmVuY2U/OiBMb2lSZWZlcmVuY2VcbiAgZGlzY3Vzc2lvbkNvbW11bmU/OiBEaXNjdXNzaW9uXG4gIGRpc2N1c3Npb25JZGVudGlxdWU/OiBEaXNjdXNzaW9uXG4gIGFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpOiBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVxufVxuXG5leHBvcnQgZW51bSBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSB7XG4gIEFjY29yZCA9IFwiQWNjb3JkXCIsXG4gIFNhbnNPYmpldCA9IFwiU2FucyBvYmpldFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcnBzIHtcbiAgY2FydG91Y2hlSW5mb3JtYXRpZj86IHN0cmluZ1xuICBjb250ZW51QXV0ZXVyPzogQ29udGVudUF1dGV1clxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnVBdXRldXIge1xuICBkaXNwb3NpdGlmPzogc3RyaW5nXG4gIGF2YW50QXBwZWw/OiBBdmFudEFwcGVsXG4gIGV4cG9zZVNvbW1haXJlPzogc3RyaW5nXG4gIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcbiAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbnRBcHBlbCB7XG4gIGRpc3Bvc2l0aWY6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIHtcbiAgbGlzdGVQcm9ncmFtbWVzPzogUHJvZ3JhbW1lUGxmW11cbiAgc29sZGVBRT86IHN0cmluZ1xuICBzb2xkZUNQPzogc3RyaW5nXG4gIGNwRWdhbEFlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmFtbWVQbGYge1xuICBsaWJlbGxlOiBzdHJpbmdcbiAgcHJvZ3JhbW1lUmVmOiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudDogc3RyaW5nXG4gIGNyZWRpdFBhaWVtZW50OiBzdHJpbmdcbiAgYWN0aW9uOiBBY3Rpb25cbiAgbGlnbmVzQ3JlZGl0cz86IExpZ25lQ3JlZGl0UExGW11cbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgQ3LDqWF0aW9uID0gXCJjcsOpYXRpb25cIixcbiAgTW9kaWZpY2F0aW9uID0gXCJtb2RpZmljYXRpb25cIixcbiAgU3VwcHJlc3Npb24gPSBcInN1cHByZXNzaW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRQTEYge1xuICBpZDogc3RyaW5nXG4gIGxpYmVsbGU6IHN0cmluZ1xuICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50OiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnQ6IHN0cmluZ1xuICBhY3Rpb246IEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiB7XG4gIGxpc3RlUHJvZ3JhbW1lcz86IExpZ25lQ3JlZGl0UExGUltdXG4gIHRvdGFsQUU/OiBUb3RhbFxuICB0b3RhbENQPzogVG90YWxcbiAgY3BFZ2FsQWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ25lQ3JlZGl0UExGUiB7XG4gIGxpYmVsbGU6IHN0cmluZ1xuICBwcm9ncmFtbWVSZWY/OiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlOiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZTogc3RyaW5nXG4gIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGU6IHN0cmluZ1xuICBjcmVkaXRQYWllbWVudEFubnVsZTogc3RyaW5nXG4gIGFjdGlvbjogQWN0aW9uXG4gIGxpZ25lc0NyZWRpdHM/OiBMaWduZUNyZWRpdFBMRlJbXVxuICBpZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsIHtcbiAgc3VwcGxlbWVudGFpcmU6IHN0cmluZ1xuICBhbm51bGU6IHN0cmluZ1xuICBzb2xkZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGRhdGVEZXBvdD86IERhdGVcbiAgZGF0ZVB1YmxpY2F0aW9uPzogRGF0ZVxuICBzb3VtaXNBcnRpY2xlNDA6IHN0cmluZ1xuICBldGF0RGVzVHJhaXRlbWVudHM6IEV0YXREZXNUcmFpdGVtZW50c1xuICBkYXRlU29ydD86IERhdGVcbiAgc29ydD86IFNvcnRBbWVuZGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRhdERlc1RyYWl0ZW1lbnRzIHtcbiAgZXRhdDogRXRhdEFtZW5kZW1lbnRcbiAgc291c0V0YXQ/OiBTb3VzRXRhdEFtZW5kZW1lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0QW1lbmRlbWVudCB7XG4gIGNvZGU6IEV0YXRBbWVuZGVtZW50Q29kZVxuICBsaWJlbGxlOiBFdGF0QW1lbmRlbWVudExpYmVsbGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEFtZW5kZW1lbnRDb2RlIHtcbiAgQUMgPSBcIkFDXCIsXG4gIEF0ID0gXCJBVFwiLFxuICBEaSA9IFwiRElcIixcbiAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICBFciA9IFwiRVJcIixcbiAgRXQgPSBcIkVUXCIsXG4gIElSID0gXCJJUlwiLFxuICBJcnIxMjcgPSBcIklSUjEyN1wiLFxuICBJcnIyMCA9IFwiSVJSMjBcIixcbiAgSXJyMzcgPSBcIklSUjM3XCIsXG4gIElycjM4ID0gXCJJUlIzOFwiLFxuICBJcnI0MSA9IFwiSVJSNDFcIixcbiAgSXJyNDIgPSBcIklSUjQyXCIsXG4gIElycjQ1ID0gXCJJUlI0NVwiLFxuICBJcnI0OCA9IFwiSVJSNDhcIixcbiAgSXJyNTMgPSBcIklSUjUzXCIsXG4gIElycmFpID0gXCJJUlJBSVwiLFxuICBJcnJhaWYgPSBcIklSUkFJRlwiLFxuICBJcnJkID0gXCJJUlJEXCIsXG4gIElycmhkID0gXCJJUlJIRFwiLFxuICBJcnJzYSA9IFwiSVJSU0FcIixcbiAgUiA9IFwiUlwiLFxuICBSdCA9IFwiUlRcIixcbiAgVCA9IFwiVFwiLFxufVxuXG5leHBvcnQgZW51bSBFdGF0QW1lbmRlbWVudExpYmVsbGUge1xuICBBRGlzY3V0ZXIgPSBcIkEgZGlzY3V0ZXJcIixcbiAgQUTDqXBvc2VyID0gXCJBIGTDqXBvc2VyXCIsXG4gIERpc2N1dMOpID0gXCJEaXNjdXTDqVwiLFxuICBFZmZhY8OpID0gXCJlZmZhY8OpXCIsXG4gIEVuUmVjZXZhYmlsaXTDqSA9IFwiRW4gcmVjZXZhYmlsaXTDqVwiLFxuICBFblRyYWl0ZW1lbnQgPSBcIkVuIHRyYWl0ZW1lbnRcIixcbiAgSXJyZWNldmFibGUgPSBcIklycmVjZXZhYmxlXCIsXG4gIElycmVjZXZhYmxlNDAgPSBcIklycmVjZXZhYmxlIDQwXCIsXG4gIFJldGlyw6kgPSBcIlJldGlyw6lcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3VzRXRhdEFtZW5kZW1lbnQge1xuICBjb2RlOiBFdGF0QW1lbmRlbWVudENvZGVcbiAgbGliZWxsZTogU29ydEFtZW5kZW1lbnRcbn1cblxuZXhwb3J0IGVudW0gU29ydEFtZW5kZW1lbnQge1xuICBBZG9wdMOpID0gXCJBZG9wdMOpXCIsXG4gIEF1dHJlSXJyZWNldmFiaWxpdMOpID0gXCJBdXRyZSBpcnJlY2V2YWJpbGl0w6lcIixcbiAgQXV0cmVJcnJlY2V2YWJpbGl0w6k0MCA9IFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpIDQwXCIsXG4gIEF1dHJlc0lyckxPTEYgPSBcIkF1dHJlcyBpcnIgTE9MRlwiLFxuICBBdXRyZXNJcnJMT0xGU1MgPSBcIkF1dHJlcyBpcnIgTE9MRlNTXCIsXG4gIENhdmFsaWVyNDUgPSBcIkNhdmFsaWVyICg0NSlcIixcbiAgQ2F2YWxpZXJCdWRnw6l0YWlyZSA9IFwiQ2F2YWxpZXIgYnVkZ8OpdGFpcmVcIixcbiAgQ2F2YWxpZXJTb2NpYWwgPSBcIkNhdmFsaWVyIHNvY2lhbFwiLFxuICBDaGFtcERlTEhhYmlsaXRhdGlvbjM4ID0gXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gIENoYXJnZSA9IFwiQ2hhcmdlXCIsXG4gIENtcDQ1ID0gXCJDTVAgKDQ1KVwiLFxuICBDcsOpZGl0cyA9IFwiQ3LDqWRpdHNcIixcbiAgRGlzcG9zaXRpb25Sw6lnbGVtZW50YWlyZTM3ID0gXCJEaXNwb3NpdGlvbiByw6lnbGVtZW50YWlyZSAoMzcpXCIsXG4gIERvbWFpbmVEZUxhTG9pNDEgPSBcIkRvbWFpbmUgZGUgbGEgbG9pICg0MSlcIixcbiAgRG9tYWluZUxvaU9yZ2FuaXF1ZTEyNyA9IFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gIERvdWJsb24gPSBcIkRvdWJsb25cIixcbiAgRW50b25ub2lyNDUgPSBcIkVudG9ubm9pciAoNDUpXCIsXG4gIEdhZ2UgPSBcIkdhZ2VcIixcbiAgSG9yc0TDqWxhaXMgPSBcIkhvcnMtZMOpbGFpc1wiLFxuICBJbmpvbmN0aW9uMjAgPSBcIkluam9uY3Rpb24gKDIwKVwiLFxuICBJcnJFblByZW1pw6hyZVBhcnRpZSA9IFwiSXJyIGVuIHByZW1pw6hyZSBwYXJ0aWVcIixcbiAgSXJyRW5TZWNvbmRlUGFydGllID0gXCJJcnIgZW4gc2Vjb25kZSBwYXJ0aWVcIixcbiAgTG9sZiA9IFwiTE9MRlwiLFxuICBMb2xmc3MgPSBcIkxPTEZTU1wiLFxuICBOb25Tb3V0ZW51ID0gXCJOb24gc291dGVudVwiLFxuICBPcmRyZUR1Sm91cjQ4ID0gXCJPcmRyZSBkdSBqb3VyICg0OClcIixcbiAgUiA9IFwiUlwiLFxuICBSYXRpZmljYXRpb25UcmFpdMOpNTMgPSBcIlJhdGlmaWNhdGlvbiB0cmFpdMOpICg1MylcIixcbiAgUmVqZXTDqSA9IFwiUmVqZXTDqVwiLFxuICBSZXRpcsOpID0gXCJSZXRpcsOpXCIsXG4gIFJldGlyw6lBcHLDqHNQdWJsaWNhdGlvbiA9IFwiUmV0aXLDqSBhcHLDqHMgcHVibGljYXRpb25cIixcbiAgUmV0aXLDqUF2YW50UHVibGljYXRpb24gPSBcIlJldGlyw6kgYXZhbnQgcHVibGljYXRpb25cIixcbiAgU2F0aXNmYWl0T3VJbm9ww6lyYW50NDIgPSBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgU291c0FtZW5kZW1lbnQ5OCA9IFwiU291cy1hbWVuZGVtZW50ICg5OClcIixcbiAgVG9tYsOpID0gXCJUb21iw6lcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNjdXNzaW9uIHtcbiAgaWREaXNjdXNzaW9uPzogc3RyaW5nXG4gIHR5cGVQb3NpdGlvbj86IFR5cGVQb3NpdGlvblxufVxuXG5leHBvcnQgZW51bSBUeXBlUG9zaXRpb24ge1xuICBEZXJuaWVyID0gXCJEZXJuaWVyXCIsXG4gIE1pbGlldSA9IFwiTWlsaWV1XCIsXG4gIFByZW1pZXIgPSBcIlByZW1pZXJcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWNhdGlvbiB7XG4gIG51bWVyb0xvbmc6IHN0cmluZ1xuICBudW1lcm9PcmRyZURlcG90OiBzdHJpbmdcbiAgcHJlZml4ZU9yZ2FuZUV4YW1lbjogc3RyaW5nXG4gIG51bWVyb1JlY3Q6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvaVJlZmVyZW5jZSB7XG4gIGNvZGVMb2k/OiBzdHJpbmdcbiAgZGl2aXNpb25Db2RlTG9pPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRldXJGcmFnbWVudFRleHRlIHtcbiAgZGl2aXNpb24/OiBEaXZpc2lvblxuICBhbGluZWE/OiBBbGluZWFcbiAgbWlzc2lvblZpc2VlPzogTWlzc2lvblZpc2VlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxpbmVhIHtcbiAgYXZhbnRBQXByZXM/OiBBdmFudEFBcHJlc1xuICBudW1lcm8/OiBzdHJpbmdcbiAgYWxpbmVhRGVzaWduYXRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQXZhbnRBQXByZXMge1xuICBBID0gXCJBXCIsXG4gIEFwcmVzID0gXCJBcHJlc1wiLFxuICBBdmFudCA9IFwiQXZhbnRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXZpc2lvbiB7XG4gIHRpdHJlOiBzdHJpbmdcbiAgYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlPzogc3RyaW5nXG4gIGFydGljbGVEZXNpZ25hdGlvbj86IHN0cmluZ1xuICB0eXBlOiBEaXZpc2lvblR5cGVcbiAgYXZhbnRBQXByZXM6IEF2YW50QUFwcmVzXG4gIGRpdmlzaW9uUmF0dGFjaGVlPzogc3RyaW5nXG4gIGFydGljbGVBZGRpdGlvbm5lbDogc3RyaW5nXG4gIGNoYXBpdHJlQWRkaXRpb25uZWw6IHN0cmluZ1xuICB1cmxEaXZpc2lvblRleHRlVmlzZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBEaXZpc2lvblR5cGUge1xuICBBbm5leGUgPSBcIkFOTkVYRVwiLFxuICBBcnRpY2xlID0gXCJBUlRJQ0xFXCIsXG4gIENoYXBpdHJlID0gXCJDSEFQSVRSRVwiLFxuICBUaXRyZSA9IFwiVElUUkVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNzaW9uVmlzZWUge1xuICBjb2RlRXRhdDogQ29kZUV0YXRcbiAgY29kZU1pc3Npb25NaW5lZmk6IHN0cmluZ1xuICBsaWJlbGxlTWlzc2lvbjogc3RyaW5nXG4gIG1pc3Npb25SZWY6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDb2RlRXRhdCB7XG4gIEIgPSBcIkJcIixcbiAgQyA9IFwiQ1wiLFxuICBEID0gXCJEXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwcmVzZW50YXRpb24ge1xuICBub206IE5vbVxuICB0eXBlTWltZTogVHlwZU1pbWVcbiAgc3RhdHV0UmVwcmVzZW50YXRpb246IFN0YXR1dFJlcHJlc2VudGF0aW9uXG4gIGNvbnRlbnU6IENvbnRlbnVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZW51IHtcbiAgZG9jdW1lbnRVUkk6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBOb20ge1xuICBQZGYgPSBcIlBERlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1dFJlcHJlc2VudGF0aW9uIHtcbiAgdmVyYmF0aW06IGJvb2xlYW5cbiAgY2Fub25pcXVlOiBib29sZWFuXG4gIG9mZmljaWVsbGU6IGJvb2xlYW5cbiAgdHJhbnNjcmlwdGlvbjogYm9vbGVhblxuICBlbnJlZ2lzdHJlbWVudDogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVNaW1lIHtcbiAgdHlwZTogVHlwZU1pbWVUeXBlXG4gIHN1YlR5cGU6IE5vbVxufVxuXG5leHBvcnQgZW51bSBUeXBlTWltZVR5cGUge1xuICBBcHBsaWNhdGlvbiA9IFwiYXBwbGljYXRpb25cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduYXRhaXJlcyB7XG4gIGF1dGV1cjogQXV0ZXVyXG4gIGNvc2lnbmF0YWlyZXNSZWZzPzogc3RyaW5nW11cbiAgY29zaWduYXRhaXJlcz86IEFjdGV1cltdIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHN1ZmZpeGU/OiBzdHJpbmdcbiAgbGliZWxsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gIHR5cGVBdXRldXI6IFR5cGVBdXRldXJcbiAgZ291dmVybmVtZW50UmVmPzogc3RyaW5nXG4gIGdvdXZlcm5lbWVudD86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBhY3RldXJSZWY/OiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIGdyb3VwZVBvbGl0aXF1ZVJlZj86IHN0cmluZ1xuICBncm91cGVQb2xpdGlxdWU/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZj86IHN0cmluZ1xuICBhdXRldXJSYXBwb3J0ZXVyT3JnYW5lPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVBdXRldXIge1xuICBEw6lwdXTDqSA9IFwiRMOpcHV0w6lcIixcbiAgR291dmVybmVtZW50ID0gXCJHb3V2ZXJuZW1lbnRcIixcbiAgUmFwcG9ydGV1ciA9IFwiUmFwcG9ydGV1clwiLFxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0FtZW5kZW1lbnQoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudCB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFtZW5kZW1lbnRcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFtZW5kZW1lbnRUb0pzb24odmFsdWU6IEFtZW5kZW1lbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBbWVuZGVtZW50XCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9BbWVuZGVtZW50cyhqc29uOiBzdHJpbmcpOiBBbWVuZGVtZW50cyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFtZW5kZW1lbnRzXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhbWVuZGVtZW50c1RvSnNvbih2YWx1ZTogQW1lbmRlbWVudHMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBbWVuZGVtZW50c1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvVGV4dGVMZWdpc2xhdGlmKGpzb246IHN0cmluZyk6IFRleHRlTGVnaXNsYXRpZiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlRleHRlTGVnaXNsYXRpZlwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdGV4dGVMZWdpc2xhdGlmVG9Kc29uKHZhbHVlOiBUZXh0ZUxlZ2lzbGF0aWYpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBbWVuZGVtZW50czogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGV4dGVzTGVnaXNsYXRpZnNcIixcbiAgICAgICAganM6IFwidGV4dGVzTGVnaXNsYXRpZnNcIixcbiAgICAgICAgdHlwOiBhKHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUZXh0ZUxlZ2lzbGF0aWY6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInJlZlRleHRlTGVnaXNsYXRpZlwiLCBqczogXCJyZWZUZXh0ZUxlZ2lzbGF0aWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYW1lbmRlbWVudHNcIiwganM6IFwiYW1lbmRlbWVudHNcIiwgdHlwOiByKFwiQW1lbmRlbWVudHNDbGFzc1wiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnRzQ2xhc3M6IG8oXG4gICAgW3sganNvbjogXCJhbWVuZGVtZW50XCIsIGpzOiBcImFtZW5kZW1lbnRcIiwgdHlwOiBhKHIoXCJBbWVuZGVtZW50XCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQW1lbmRlbWVudFdyYXBwZXI6IG8oXG4gICAgW3sganNvbjogXCJhbWVuZGVtZW50XCIsIGpzOiBcImFtZW5kZW1lbnRcIiwgdHlwOiByKFwiQW1lbmRlbWVudFwiKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQW1lbmRlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjaHJvbm90YWdcIiwganM6IFwiY2hyb25vdGFnXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkZW50aWZpY2F0aW9uXCIsXG4gICAgICAgIGpzOiBcImlkZW50aWZpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogcihcIklkZW50aWZpY2F0aW9uXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJleGFtZW5SZWZcIiwganM6IFwiZXhhbWVuUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRleHRlTGVnaXNsYXRpZlJlZlwiLCBqczogXCJ0ZXh0ZUxlZ2lzbGF0aWZSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHJpQW1lbmRlbWVudFwiLCBqczogXCJ0cmlBbWVuZGVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FyZGluYWxpdGVBbWR0TXVsdGlwbGVzXCIsXG4gICAgICAgIGpzOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYW1lbmRlbWVudFBhcmVudFJlZlwiLFxuICAgICAgICBqczogXCJhbWVuZGVtZW50UGFyZW50UmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzaWduYXRhaXJlc1wiLCBqczogXCJzaWduYXRhaXJlc1wiLCB0eXA6IHIoXCJTaWduYXRhaXJlc1wiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiLFxuICAgICAgICBqczogXCJwb2ludGV1ckZyYWdtZW50VGV4dGVcIixcbiAgICAgICAgdHlwOiByKFwiUG9pbnRldXJGcmFnbWVudFRleHRlXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb3Jwc1wiLCBqczogXCJjb3Jwc1wiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29ycHNcIikpIH0sXG4gICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJyZXByZXNlbnRhdGlvblwiLFxuICAgICAgICBqczogXCJyZXByZXNlbnRhdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUmVwcmVzZW50YXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzZWFuY2VEaXNjdXNzaW9uUmVmXCIsXG4gICAgICAgIGpzOiBcInNlYW5jZURpc2N1c3Npb25SZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImFydGljbGU5OVwiLCBqczogXCJhcnRpY2xlOTlcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibG9pUmVmZXJlbmNlXCIsXG4gICAgICAgIGpzOiBcImxvaVJlZmVyZW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTG9pUmVmZXJlbmNlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzY3Vzc2lvbkNvbW11bmVcIixcbiAgICAgICAganM6IFwiZGlzY3Vzc2lvbkNvbW11bmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc2N1c3Npb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsXG4gICAgICAgIGpzOiBcImRpc2N1c3Npb25JZGVudGlxdWVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc2N1c3Npb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVwiLFxuICAgICAgICBqczogXCJhY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVwiLFxuICAgICAgICB0eXA6IHIoXCJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29ycHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIixcbiAgICAgICAganM6IFwiY2FydG91Y2hlSW5mb3JtYXRpZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udGVudUF1dGV1clwiLFxuICAgICAgICBqczogXCJjb250ZW51QXV0ZXVyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb250ZW51QXV0ZXVyXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29udGVudUF1dGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZGlzcG9zaXRpZlwiLCBqczogXCJkaXNwb3NpdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYXZhbnRBcHBlbFwiLFxuICAgICAgICBqczogXCJhdmFudEFwcGVsXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJBdmFudEFwcGVsXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZXhwb3NlU29tbWFpcmVcIiwganM6IFwiZXhwb3NlU29tbWFpcmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlwiLFxuICAgICAgICBqczogXCJkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcIixcbiAgICAgICAganM6IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBdmFudEFwcGVsOiBvKFt7IGpzb246IFwiZGlzcG9zaXRpZlwiLCBqczogXCJkaXNwb3NpdGlmXCIsIHR5cDogXCJcIiB9XSwgZmFsc2UpLFxuICBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRjogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGlzdGVQcm9ncmFtbWVzXCIsXG4gICAgICAgIGpzOiBcImxpc3RlUHJvZ3JhbW1lc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQcm9ncmFtbWVQbGZcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic29sZGVBRVwiLCBqczogXCJzb2xkZUFFXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic29sZGVDUFwiLCBqczogXCJzb2xkZUNQXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiY3BFZ2FsQWVcIiwganM6IFwiY3BFZ2FsQWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUHJvZ3JhbW1lUGxmOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvZ3JhbW1lUmVmXCIsIGpzOiBcInByb2dyYW1tZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJsaWduZXNDcmVkaXRzXCIsXG4gICAgICAgIGpzOiBcImxpZ25lc0NyZWRpdHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiTGlnbmVDcmVkaXRQTEZcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlnbmVDcmVkaXRQTEY6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkXCIsIGpzOiBcImlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlI6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImxpc3RlUHJvZ3JhbW1lc1wiLFxuICAgICAgICBqczogXCJsaXN0ZVByb2dyYW1tZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiTGlnbmVDcmVkaXRQTEZSXCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRvdGFsQUVcIiwganM6IFwidG90YWxBRVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVG90YWxcIikpIH0sXG4gICAgICB7IGpzb246IFwidG90YWxDUFwiLCBqczogXCJ0b3RhbENQXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUb3RhbFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjcEVnYWxBZVwiLCBqczogXCJjcEVnYWxBZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMaWduZUNyZWRpdFBMRlI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcm9ncmFtbWVSZWZcIiwganM6IFwicHJvZ3JhbW1lUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlXCIsXG4gICAgICAgIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZVwiLFxuICAgICAgICB0eXA6IFwiXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmVcIixcbiAgICAgICAganM6IFwiY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZVwiLFxuICAgICAgICB0eXA6IFwiXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGVcIixcbiAgICAgICAganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudEFubnVsZVwiLFxuICAgICAgICB0eXA6IFwiXCIsXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50QW5udWxlXCIsIGpzOiBcImNyZWRpdFBhaWVtZW50QW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLFxuICAgICAgICBqczogXCJsaWduZXNDcmVkaXRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkxpZ25lQ3JlZGl0UExGUlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRvdGFsOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzdXBwbGVtZW50YWlyZVwiLCBqczogXCJzdXBwbGVtZW50YWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbm51bGVcIiwganM6IFwiYW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNvbGRlXCIsIGpzOiBcInNvbGRlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEN5Y2xlRGVWaWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFwiLCBqczogXCJkYXRlRGVwb3RcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlUHVibGljYXRpb25cIixcbiAgICAgICAganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzb3VtaXNBcnRpY2xlNDBcIiwganM6IFwic291bWlzQXJ0aWNsZTQwXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImV0YXREZXNUcmFpdGVtZW50c1wiLFxuICAgICAgICBqczogXCJldGF0RGVzVHJhaXRlbWVudHNcIixcbiAgICAgICAgdHlwOiByKFwiRXRhdERlc1RyYWl0ZW1lbnRzXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlU29ydFwiLFxuICAgICAgICBqczogXCJkYXRlU29ydFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic29ydFwiLFxuICAgICAgICBqczogXCJzb3J0XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTb3J0QW1lbmRlbWVudFwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEV0YXREZXNUcmFpdGVtZW50czogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZXRhdFwiLCBqczogXCJldGF0XCIsIHR5cDogcihcIkV0YXRBbWVuZGVtZW50XCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic291c0V0YXRcIixcbiAgICAgICAganM6IFwic291c0V0YXRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlNvdXNFdGF0QW1lbmRlbWVudFwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEV0YXRBbWVuZGVtZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiRXRhdEFtZW5kZW1lbnRDb2RlXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkV0YXRBbWVuZGVtZW50TGliZWxsZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvdXNFdGF0QW1lbmRlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkV0YXRBbWVuZGVtZW50Q29kZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJTb3J0QW1lbmRlbWVudFwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERpc2N1c3Npb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkRGlzY3Vzc2lvblwiLCBqczogXCJpZERpc2N1c3Npb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlUG9zaXRpb25cIixcbiAgICAgICAganM6IFwidHlwZVBvc2l0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlUG9zaXRpb25cIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGlmaWNhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibnVtZXJvTG9uZ1wiLCBqczogXCJudW1lcm9Mb25nXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb09yZHJlRGVwb3RcIiwganM6IFwibnVtZXJvT3JkcmVEZXBvdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcmVmaXhlT3JnYW5lRXhhbWVuXCIsIGpzOiBcInByZWZpeGVPcmdhbmVFeGFtZW5cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtZXJvUmVjdFwiLCBqczogXCJudW1lcm9SZWN0XCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExvaVJlZmVyZW5jZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29kZUxvaVwiLFxuICAgICAgICBqczogXCJjb2RlTG9pXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkaXZpc2lvbkNvZGVMb2lcIixcbiAgICAgICAganM6IFwiZGl2aXNpb25Db2RlTG9pXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQb2ludGV1ckZyYWdtZW50VGV4dGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRpdmlzaW9uXCIsIGpzOiBcImRpdmlzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXZpc2lvblwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhbGluZWFcIixcbiAgICAgICAganM6IFwiYWxpbmVhXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJBbGluZWFcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJtaXNzaW9uVmlzZWVcIixcbiAgICAgICAganM6IFwibWlzc2lvblZpc2VlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJNaXNzaW9uVmlzZWVcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBbGluZWE6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImF2YW50QUFwcmVzXCIsXG4gICAgICAgIGpzOiBcImF2YW50QUFwcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJBdmFudEFBcHJlc1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhbGluZWFEZXNpZ25hdGlvblwiLFxuICAgICAgICBqczogXCJhbGluZWFEZXNpZ25hdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGl2aXNpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFydGljbGVEZXNpZ25hdGlvbkNvdXJ0ZVwiLFxuICAgICAgICBqczogXCJhcnRpY2xlRGVzaWduYXRpb25Db3VydGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFydGljbGVEZXNpZ25hdGlvblwiLFxuICAgICAgICBqczogXCJhcnRpY2xlRGVzaWduYXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJEaXZpc2lvblR5cGVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICBqczogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICB0eXA6IHIoXCJBdmFudEFBcHJlc1wiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGl2aXNpb25SYXR0YWNoZWVcIixcbiAgICAgICAganM6IFwiZGl2aXNpb25SYXR0YWNoZWVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImFydGljbGVBZGRpdGlvbm5lbFwiLCBqczogXCJhcnRpY2xlQWRkaXRpb25uZWxcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCBqczogXCJjaGFwaXRyZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInVybERpdmlzaW9uVGV4dGVWaXNlXCIsXG4gICAgICAgIGpzOiBcInVybERpdmlzaW9uVGV4dGVWaXNlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBNaXNzaW9uVmlzZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVFdGF0XCIsIGpzOiBcImNvZGVFdGF0XCIsIHR5cDogcihcIkNvZGVFdGF0XCIpIH0sXG4gICAgICB7IGpzb246IFwiY29kZU1pc3Npb25NaW5lZmlcIiwganM6IFwiY29kZU1pc3Npb25NaW5lZmlcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZU1pc3Npb25cIiwganM6IFwibGliZWxsZU1pc3Npb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibWlzc2lvblJlZlwiLCBqczogXCJtaXNzaW9uUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJlcHJlc2VudGF0aW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgICAgeyBqc29uOiBcInR5cGVNaW1lXCIsIGpzOiBcInR5cGVNaW1lXCIsIHR5cDogcihcIlR5cGVNaW1lXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIixcbiAgICAgICAganM6IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIixcbiAgICAgICAgdHlwOiByKFwiU3RhdHV0UmVwcmVzZW50YXRpb25cIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImNvbnRlbnVcIiwganM6IFwiY29udGVudVwiLCB0eXA6IHIoXCJDb250ZW51XCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29udGVudTogbyhbeyBqc29uOiBcImRvY3VtZW50VVJJXCIsIGpzOiBcImRvY3VtZW50VVJJXCIsIHR5cDogXCJcIiB9XSwgZmFsc2UpLFxuICBTdGF0dXRSZXByZXNlbnRhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidmVyYmF0aW1cIiwganM6IFwidmVyYmF0aW1cIiwgdHlwOiBmYWxzZSB9LFxuICAgICAgeyBqc29uOiBcImNhbm9uaXF1ZVwiLCBqczogXCJjYW5vbmlxdWVcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAgeyBqc29uOiBcIm9mZmljaWVsbGVcIiwganM6IFwib2ZmaWNpZWxsZVwiLCB0eXA6IGZhbHNlIH0sXG4gICAgICB7IGpzb246IFwidHJhbnNjcmlwdGlvblwiLCBqczogXCJ0cmFuc2NyaXB0aW9uXCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHsganNvbjogXCJlbnJlZ2lzdHJlbWVudFwiLCBqczogXCJlbnJlZ2lzdHJlbWVudFwiLCB0eXA6IGZhbHNlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVHlwZU1pbWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlTWltZVR5cGVcIikgfSxcbiAgICAgIHsganNvbjogXCJzdWJUeXBlXCIsIGpzOiBcInN1YlR5cGVcIiwgdHlwOiByKFwiTm9tXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgU2lnbmF0YWlyZXM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImF1dGV1clwiLCBqczogXCJhdXRldXJcIiwgdHlwOiByKFwiQXV0ZXVyXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29zaWduYXRhaXJlc1JlZnNcIixcbiAgICAgICAganM6IFwiY29zaWduYXRhaXJlc1JlZnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN1ZmZpeGVcIixcbiAgICAgICAganM6IFwic3VmZml4ZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlQXV0ZXVyXCIsIGpzOiBcInR5cGVBdXRldXJcIiwgdHlwOiByKFwiVHlwZUF1dGV1clwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImdvdXZlcm5lbWVudFJlZlwiLFxuICAgICAgICBqczogXCJnb3V2ZXJuZW1lbnRSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGV1clJlZlwiLFxuICAgICAgICBqczogXCJhY3RldXJSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImdyb3VwZVBvbGl0aXF1ZVJlZlwiLFxuICAgICAgICBqczogXCJncm91cGVQb2xpdGlxdWVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIixcbiAgICAgICAganM6IFwiYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWk6IFtcIkFjY29yZFwiLCBcIlNhbnMgb2JqZXRcIl0sXG4gIEFjdGlvbjogW1wiY3LDqWF0aW9uXCIsIFwibW9kaWZpY2F0aW9uXCIsIFwic3VwcHJlc3Npb25cIl0sXG4gIEV0YXRBbWVuZGVtZW50Q29kZTogW1xuICAgIFwiQUNcIixcbiAgICBcIkFUXCIsXG4gICAgXCJESVwiLFxuICAgIFwiZWZmYWPDqVwiLFxuICAgIFwiRVJcIixcbiAgICBcIkVUXCIsXG4gICAgXCJJUlwiLFxuICAgIFwiSVJSMTI3XCIsXG4gICAgXCJJUlIyMFwiLFxuICAgIFwiSVJSMzdcIixcbiAgICBcIklSUjM4XCIsXG4gICAgXCJJUlI0MVwiLFxuICAgIFwiSVJSNDJcIixcbiAgICBcIklSUjQ1XCIsXG4gICAgXCJJUlI0OFwiLFxuICAgIFwiSVJSNTNcIixcbiAgICBcIklSUkFJXCIsXG4gICAgXCJJUlJBSUZcIixcbiAgICBcIklSUkRcIixcbiAgICBcIklSUkhEXCIsXG4gICAgXCJJUlJTQVwiLFxuICAgIFwiUlwiLFxuICAgIFwiUlRcIixcbiAgICBcIlRcIixcbiAgXSxcbiAgRXRhdEFtZW5kZW1lbnRMaWJlbGxlOiBbXG4gICAgXCJBIGRpc2N1dGVyXCIsXG4gICAgXCJBIGTDqXBvc2VyXCIsXG4gICAgXCJEaXNjdXTDqVwiLFxuICAgIFwiZWZmYWPDqVwiLFxuICAgIFwiRW4gcmVjZXZhYmlsaXTDqVwiLFxuICAgIFwiRW4gdHJhaXRlbWVudFwiLFxuICAgIFwiSXJyZWNldmFibGVcIixcbiAgICBcIklycmVjZXZhYmxlIDQwXCIsXG4gICAgXCJSZXRpcsOpXCIsXG4gIF0sXG4gIFNvcnRBbWVuZGVtZW50OiBbXG4gICAgXCJBZG9wdMOpXCIsXG4gICAgXCJBdXRyZSBpcnJlY2V2YWJpbGl0w6lcIixcbiAgICBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqSA0MFwiLFxuICAgIFwiQXV0cmVzIGlyciBMT0xGXCIsXG4gICAgXCJBdXRyZXMgaXJyIExPTEZTU1wiLFxuICAgIFwiQ2F2YWxpZXIgKDQ1KVwiLFxuICAgIFwiQ2F2YWxpZXIgYnVkZ8OpdGFpcmVcIixcbiAgICBcIkNhdmFsaWVyIHNvY2lhbFwiLFxuICAgIFwiQ2hhbXAgZGUgbCdoYWJpbGl0YXRpb24gKDM4KVwiLFxuICAgIFwiQ2hhcmdlXCIsXG4gICAgXCJDTVAgKDQ1KVwiLFxuICAgIFwiQ3LDqWRpdHNcIixcbiAgICBcIkRpc3Bvc2l0aW9uIHLDqWdsZW1lbnRhaXJlICgzNylcIixcbiAgICBcIkRvbWFpbmUgZGUgbGEgbG9pICg0MSlcIixcbiAgICBcIkRvbWFpbmUgbG9pIG9yZ2FuaXF1ZSAoMTI3KVwiLFxuICAgIFwiRG91YmxvblwiLFxuICAgIFwiRW50b25ub2lyICg0NSlcIixcbiAgICBcIkdhZ2VcIixcbiAgICBcIkhvcnMtZMOpbGFpc1wiLFxuICAgIFwiSW5qb25jdGlvbiAoMjApXCIsXG4gICAgXCJJcnIgZW4gcHJlbWnDqHJlIHBhcnRpZVwiLFxuICAgIFwiSXJyIGVuIHNlY29uZGUgcGFydGllXCIsXG4gICAgXCJMT0xGXCIsXG4gICAgXCJMT0xGU1NcIixcbiAgICBcIk5vbiBzb3V0ZW51XCIsXG4gICAgXCJPcmRyZSBkdSBqb3VyICg0OClcIixcbiAgICBcIlJcIixcbiAgICBcIlJhdGlmaWNhdGlvbiB0cmFpdMOpICg1MylcIixcbiAgICBcIlJlamV0w6lcIixcbiAgICBcIlJldGlyw6lcIixcbiAgICBcIlJldGlyw6kgYXByw6hzIHB1YmxpY2F0aW9uXCIsXG4gICAgXCJSZXRpcsOpIGF2YW50IHB1YmxpY2F0aW9uXCIsXG4gICAgXCJTYXRpc2ZhaXQgb3UgaW5vcMOpcmFudCAoNDIpXCIsXG4gICAgXCJTb3VzLWFtZW5kZW1lbnQgKDk4KVwiLFxuICAgIFwiVG9tYsOpXCIsXG4gIF0sXG4gIFR5cGVQb3NpdGlvbjogW1wiRGVybmllclwiLCBcIk1pbGlldVwiLCBcIlByZW1pZXJcIl0sXG4gIEF2YW50QUFwcmVzOiBbXCJBXCIsIFwiQXByZXNcIiwgXCJBdmFudFwiXSxcbiAgRGl2aXNpb25UeXBlOiBbXCJBTk5FWEVcIiwgXCJBUlRJQ0xFXCIsIFwiQ0hBUElUUkVcIiwgXCJUSVRSRVwiXSxcbiAgQ29kZUV0YXQ6IFtcIkJcIiwgXCJDXCIsIFwiRFwiXSxcbiAgTm9tOiBbXCJQREZcIl0sXG4gIFR5cGVNaW1lVHlwZTogW1wiYXBwbGljYXRpb25cIl0sXG4gIFR5cGVBdXRldXI6IFtcIkTDqXB1dMOpXCIsIFwiR291dmVybmVtZW50XCIsIFwiUmFwcG9ydGV1clwiXSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQXFDQSxXQUFZQSxnQ0FBZ0M7QUFHM0MsV0FIV0EsZ0NBQWdDO0VBQWhDQSxnQ0FBZ0M7RUFBaENBLGdDQUFnQztBQUFBLEdBQWhDQSxnQ0FBZ0MsS0FBaENBLGdDQUFnQztBQXNDNUMsV0FBWUMsTUFBTTtBQUlqQixXQUpXQSxNQUFNO0VBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0FBQUEsR0FBTkEsTUFBTSxLQUFOQSxNQUFNO0FBMERsQixXQUFZQyxrQkFBa0I7QUF5QjdCLFdBekJXQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7QUFBQSxHQUFsQkEsa0JBQWtCLEtBQWxCQSxrQkFBa0I7QUEyQjlCLFdBQVlDLHFCQUFxQjtBQVVoQyxXQVZXQSxxQkFBcUI7RUFBckJBLHFCQUFxQjtFQUFyQkEscUJBQXFCO0VBQXJCQSxxQkFBcUI7RUFBckJBLHFCQUFxQjtFQUFyQkEscUJBQXFCO0VBQXJCQSxxQkFBcUI7RUFBckJBLHFCQUFxQjtFQUFyQkEscUJBQXFCO0VBQXJCQSxxQkFBcUI7QUFBQSxHQUFyQkEscUJBQXFCLEtBQXJCQSxxQkFBcUI7QUFpQmpDLFdBQVlDLGNBQWM7QUFvQ3pCLFdBcENXQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztBQUFBLEdBQWRBLGNBQWMsS0FBZEEsY0FBYztBQTJDMUIsV0FBWUMsWUFBWTtBQUl2QixXQUpXQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0FBQUEsR0FBWkEsWUFBWSxLQUFaQSxZQUFZO0FBOEJ4QixXQUFZQyxXQUFXO0FBSXRCLFdBSldBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQVhBLFdBQVc7QUFBQSxHQUFYQSxXQUFXLEtBQVhBLFdBQVc7QUFrQnZCLFdBQVlDLFlBQVk7QUFLdkIsV0FMV0EsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0FBQUEsR0FBWkEsWUFBWSxLQUFaQSxZQUFZO0FBY3hCLFdBQVlDLFFBQVE7QUFJbkIsV0FKV0EsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtBQUFBLEdBQVJBLFFBQVEsS0FBUkEsUUFBUTtBQWlCcEIsV0FBWUMsR0FBRztBQUVkLFdBRldBLEdBQUc7RUFBSEEsR0FBRztBQUFBLEdBQUhBLEdBQUcsS0FBSEEsR0FBRztBQWlCZixXQUFZQyxZQUFZO0FBRXZCLFdBRldBLFlBQVk7RUFBWkEsWUFBWTtBQUFBLEdBQVpBLFlBQVksS0FBWkEsWUFBWTtBQXdCeEIsV0FBWUMsVUFBVTs7QUFNdEI7QUFDQTtBQUFBLFdBUFlBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7QUFBQSxHQUFWQSxVQUFVLEtBQVZBLFVBQVU7QUFRdEIsT0FBTyxNQUFNQyxPQUFPLENBQUM7RUFDbkIsT0FBY0MsWUFBWUEsQ0FBQ0MsSUFBWSxFQUFjO0lBQ25ELE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7RUFDaEQ7RUFFQSxPQUFjQyxnQkFBZ0JBLENBQUNDLEtBQWlCLEVBQVU7SUFDeEQsT0FBT0osSUFBSSxDQUFDSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ0YsS0FBSyxFQUFFRixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0VBQ2hFO0VBRUEsT0FBY0ssYUFBYUEsQ0FBQ1QsSUFBWSxFQUFlO0lBQ3JELE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7RUFDakQ7RUFFQSxPQUFjTSxpQkFBaUJBLENBQUNKLEtBQWtCLEVBQVU7SUFDMUQsT0FBT0osSUFBSSxDQUFDSyxTQUFTLENBQUNDLE1BQU0sQ0FBQ0YsS0FBSyxFQUFFRixDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0VBQ2pFO0VBRUEsT0FBY08saUJBQWlCQSxDQUFDWCxJQUFZLEVBQW1CO0lBQzdELE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztFQUNyRDtFQUVBLE9BQWNRLHFCQUFxQkEsQ0FBQ04sS0FBc0IsRUFBVTtJQUNsRSxPQUFPSixJQUFJLENBQUNLLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDRixLQUFLLEVBQUVGLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztFQUNyRTtBQUNGO0FBRUEsU0FBU1MsWUFBWUEsQ0FBQ0MsR0FBUSxFQUFFQyxHQUFRLEVBQUVDLEdBQVEsR0FBRyxFQUFFLEVBQVM7RUFDOUQsSUFBSUEsR0FBRyxFQUFFO0lBQ1AsTUFBTUMsS0FBSyxDQUNSLDBCQUF5QkQsR0FBSSxvQkFBbUJkLElBQUksQ0FBQ0ssU0FBUyxDQUM3RE8sR0FBRyxDQUNILFlBQVdaLElBQUksQ0FBQ0ssU0FBUyxDQUFDUSxHQUFHLENBQUUsRUFBQyxDQUNuQztFQUNIO0VBQ0EsTUFBTUUsS0FBSyxDQUNSLGlCQUFnQmYsSUFBSSxDQUFDSyxTQUFTLENBQUNRLEdBQUcsQ0FBRSxhQUFZYixJQUFJLENBQUNLLFNBQVMsQ0FBQ08sR0FBRyxDQUFFLEVBQUMsQ0FDdkU7QUFDSDtBQUVBLFNBQVNJLGFBQWFBLENBQUNKLEdBQVEsRUFBTztFQUNwQyxJQUFJQSxHQUFHLENBQUNLLFFBQVEsS0FBS0MsU0FBUyxFQUFFO0lBQzlCLE1BQU1DLEdBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkJQLEdBQUcsQ0FBQ1EsS0FBSyxDQUFDQyxPQUFPLENBQUVDLENBQU0sSUFBTUgsR0FBRyxDQUFDRyxDQUFDLENBQUN4QixJQUFJLENBQUMsR0FBRztNQUFFZ0IsR0FBRyxFQUFFUSxDQUFDLENBQUNDLEVBQUU7TUFBRVgsR0FBRyxFQUFFVSxDQUFDLENBQUNWO0lBQUksQ0FBRSxDQUFDO0lBQ3hFQSxHQUFHLENBQUNLLFFBQVEsR0FBR0UsR0FBRztFQUNwQjtFQUNBLE9BQU9QLEdBQUcsQ0FBQ0ssUUFBUTtBQUNyQjtBQUVBLFNBQVNPLGFBQWFBLENBQUNaLEdBQVEsRUFBTztFQUNwQyxJQUFJQSxHQUFHLENBQUNhLFFBQVEsS0FBS1AsU0FBUyxFQUFFO0lBQzlCLE1BQU1DLEdBQVEsR0FBRyxDQUFDLENBQUM7SUFDbkJQLEdBQUcsQ0FBQ1EsS0FBSyxDQUFDQyxPQUFPLENBQUVDLENBQU0sSUFBTUgsR0FBRyxDQUFDRyxDQUFDLENBQUNDLEVBQUUsQ0FBQyxHQUFHO01BQUVULEdBQUcsRUFBRVEsQ0FBQyxDQUFDeEIsSUFBSTtNQUFFYyxHQUFHLEVBQUVVLENBQUMsQ0FBQ1Y7SUFBSSxDQUFFLENBQUM7SUFDeEVBLEdBQUcsQ0FBQ2EsUUFBUSxHQUFHTixHQUFHO0VBQ3BCO0VBQ0EsT0FBT1AsR0FBRyxDQUFDYSxRQUFRO0FBQ3JCO0FBRUEsU0FBU0MsU0FBU0EsQ0FBQ2IsR0FBUSxFQUFFRCxHQUFRLEVBQUVlLFFBQWEsRUFBRWIsR0FBUSxHQUFHLEVBQUUsRUFBTztFQUN4RSxTQUFTYyxrQkFBa0JBLENBQUNoQixHQUFXLEVBQUVDLEdBQVEsRUFBTztJQUN0RCxJQUFJLE9BQU9ELEdBQUcsS0FBSyxPQUFPQyxHQUFHLEVBQUUsT0FBT0EsR0FBRztJQUN6QyxPQUFPRixZQUFZLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxHQUFHLENBQUM7RUFDcEM7RUFFQSxTQUFTZSxjQUFjQSxDQUFDQyxJQUFXLEVBQUVqQixHQUFRLEVBQU87SUFDbEQ7SUFDQSxNQUFNa0IsQ0FBQyxHQUFHRCxJQUFJLENBQUNFLE1BQU07SUFDckIsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdGLENBQUMsRUFBRUUsQ0FBQyxFQUFFLEVBQUU7TUFDMUIsTUFBTXJCLEdBQUcsR0FBR2tCLElBQUksQ0FBQ0csQ0FBQyxDQUFDO01BQ25CLElBQUk7UUFDRixPQUFPUCxTQUFTLENBQUNiLEdBQUcsRUFBRUQsR0FBRyxFQUFFZSxRQUFRLENBQUM7TUFDdEMsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRSxDQUFDO0lBQ2Y7SUFDQSxPQUFPdkIsWUFBWSxDQUFDbUIsSUFBSSxFQUFFakIsR0FBRyxDQUFDO0VBQ2hDO0VBRUEsU0FBU3NCLGFBQWFBLENBQUNDLEtBQWUsRUFBRXZCLEdBQVEsRUFBTztJQUNyRCxJQUFJdUIsS0FBSyxDQUFDQyxPQUFPLENBQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPQSxHQUFHO0lBQ3pDLE9BQU9GLFlBQVksQ0FBQ3lCLEtBQUssRUFBRXZCLEdBQUcsQ0FBQztFQUNqQztFQUVBLFNBQVN5QixjQUFjQSxDQUFDMUIsR0FBUSxFQUFFQyxHQUFRLEVBQU87SUFDL0M7SUFDQSxJQUFJLENBQUMwQixLQUFLLENBQUNDLE9BQU8sQ0FBQzNCLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLFlBQVksQ0FBQyxPQUFPLEVBQUVFLEdBQUcsQ0FBQztJQUMxRCxPQUFPQSxHQUFHLENBQUNNLEdBQUcsQ0FBRXNCLEVBQUUsSUFBS2YsU0FBUyxDQUFDZSxFQUFFLEVBQUU3QixHQUFHLEVBQUVlLFFBQVEsQ0FBQyxDQUFDO0VBQ3REO0VBRUEsU0FBU2UsYUFBYUEsQ0FBQzdCLEdBQVEsRUFBTztJQUNwQyxJQUFJQSxHQUFHLEtBQUssSUFBSSxFQUFFO01BQ2hCLE9BQU8sSUFBSTtJQUNiO0lBQ0EsTUFBTThCLENBQUMsR0FBRyxJQUFJQyxJQUFJLENBQUMvQixHQUFHLENBQUM7SUFDdkIsSUFBSWdDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLEVBQUUsQ0FBQyxFQUFFO01BQ3RCLE9BQU9uQyxZQUFZLENBQUMsTUFBTSxFQUFFRSxHQUFHLENBQUM7SUFDbEM7SUFDQSxPQUFPOEIsQ0FBQztFQUNWO0VBRUEsU0FBU0ksZUFBZUEsQ0FDdEIzQixLQUEyQixFQUMzQjRCLFVBQWUsRUFDZm5DLEdBQVEsRUFDSDtJQUNMLElBQUlBLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsSUFBSTBCLEtBQUssQ0FBQ0MsT0FBTyxDQUFDM0IsR0FBRyxDQUFDLEVBQUU7TUFDakUsT0FBT0YsWUFBWSxDQUFDLFFBQVEsRUFBRUUsR0FBRyxDQUFDO0lBQ3BDO0lBQ0EsTUFBTW9DLE1BQVcsR0FBRyxDQUFDLENBQUM7SUFDdEJDLE1BQU0sQ0FBQ0MsbUJBQW1CLENBQUMvQixLQUFLLENBQUMsQ0FBQ0MsT0FBTyxDQUFFUCxHQUFHLElBQUs7TUFDakQsTUFBTXNDLElBQUksR0FBR2hDLEtBQUssQ0FBQ04sR0FBRyxDQUFDO01BQ3ZCLE1BQU11QyxDQUFDLEdBQUdILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQzNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDLEdBQ3BERCxHQUFHLENBQUNDLEdBQUcsQ0FBQyxHQUNSSSxTQUFTO01BQ2IrQixNQUFNLENBQUNHLElBQUksQ0FBQ3RDLEdBQUcsQ0FBQyxHQUFHWSxTQUFTLENBQUMyQixDQUFDLEVBQUVELElBQUksQ0FBQ3hDLEdBQUcsRUFBRWUsUUFBUSxFQUFFeUIsSUFBSSxDQUFDdEMsR0FBRyxDQUFDO0lBQy9ELENBQUMsQ0FBQztJQUNGb0MsTUFBTSxDQUFDQyxtQkFBbUIsQ0FBQ3RDLEdBQUcsQ0FBQyxDQUFDUSxPQUFPLENBQUVQLEdBQUcsSUFBSztNQUMvQyxJQUFJLENBQUNvQyxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNwQyxLQUFLLEVBQUVOLEdBQUcsQ0FBQyxFQUFFO1FBQ3JEbUMsTUFBTSxDQUFDbkMsR0FBRyxDQUFDLEdBQUdZLFNBQVMsQ0FBQ2IsR0FBRyxDQUFDQyxHQUFHLENBQUMsRUFBRWtDLFVBQVUsRUFBRXJCLFFBQVEsRUFBRWIsR0FBRyxDQUFDO01BQzlEO0lBQ0YsQ0FBQyxDQUFDO0lBQ0YsT0FBT21DLE1BQU07RUFDZjtFQUVBLElBQUlyQyxHQUFHLEtBQUssS0FBSyxFQUFFLE9BQU9DLEdBQUc7RUFDN0IsSUFBSUQsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNoQixJQUFJQyxHQUFHLEtBQUssSUFBSSxFQUFFLE9BQU9BLEdBQUc7SUFDNUIsT0FBT0YsWUFBWSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUMvQjtFQUNBO0VBQ0EsT0FBTyxPQUFPRCxHQUFHLEtBQUssUUFBUSxJQUFJQSxHQUFHLENBQUM2QyxHQUFHLEtBQUt2QyxTQUFTLEVBQUU7SUFDdkROLEdBQUcsR0FBRzhDLE9BQU8sQ0FBQzlDLEdBQUcsQ0FBQzZDLEdBQUcsQ0FBQztFQUN4QjtFQUNBLElBQUlsQixLQUFLLENBQUNDLE9BQU8sQ0FBQzVCLEdBQUcsQ0FBQyxFQUFFLE9BQU91QixhQUFhLENBQUN2QixHQUFHLEVBQUVDLEdBQUcsQ0FBQztFQUN0RCxJQUFJLE9BQU9ELEdBQUcsS0FBSyxRQUFRLEVBQUU7SUFDM0IsT0FBT0EsR0FBRyxDQUFDMkMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxHQUNyQzFCLGNBQWMsQ0FBQ2pCLEdBQUcsQ0FBQytDLFlBQVksRUFBRTlDLEdBQUcsQ0FBQyxHQUNyQ0QsR0FBRyxDQUFDMkMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUNoQ2pCLGNBQWMsQ0FBQzFCLEdBQUcsQ0FBQ2dELFVBQVUsRUFBRS9DLEdBQUcsQ0FBQyxHQUNuQ0QsR0FBRyxDQUFDMkMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUMzQlIsZUFBZSxDQUFDcEIsUUFBUSxDQUFDZixHQUFHLENBQUMsRUFBRUEsR0FBRyxDQUFDb0MsVUFBVSxFQUFFbkMsR0FBRyxDQUFDLEdBQ25ERixZQUFZLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0VBQzVCO0VBQ0E7RUFDQSxJQUFJRCxHQUFHLEtBQUtnQyxJQUFJLElBQUksT0FBTy9CLEdBQUcsS0FBSyxRQUFRLEVBQUUsT0FBTzZCLGFBQWEsQ0FBQzdCLEdBQUcsQ0FBQztFQUN0RSxPQUFPZSxrQkFBa0IsQ0FBQ2hCLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0FBQ3JDO0FBRUEsU0FBU2QsSUFBSUEsQ0FBSWMsR0FBUSxFQUFFRCxHQUFRLEVBQUs7RUFDdEMsT0FBT2MsU0FBUyxDQUFDYixHQUFHLEVBQUVELEdBQUcsRUFBRUksYUFBYSxDQUFDO0FBQzNDO0FBRUEsU0FBU1YsTUFBTUEsQ0FBSU8sR0FBTSxFQUFFRCxHQUFRLEVBQU87RUFDeEMsT0FBT2MsU0FBUyxDQUFDYixHQUFHLEVBQUVELEdBQUcsRUFBRVksYUFBYSxDQUFDO0FBQzNDO0FBRUEsU0FBU3FDLENBQUNBLENBQUNqRCxHQUFRLEVBQUU7RUFDbkIsT0FBTztJQUFFZ0QsVUFBVSxFQUFFaEQ7RUFBSSxDQUFDO0FBQzVCO0FBRUEsU0FBU2tELENBQUNBLENBQUMsR0FBR2hDLElBQVcsRUFBRTtFQUN6QixPQUFPO0lBQUU2QixZQUFZLEVBQUU3QjtFQUFLLENBQUM7QUFDL0I7QUFFQSxTQUFTaUMsQ0FBQ0EsQ0FBQzNDLEtBQVksRUFBRTRCLFVBQWUsRUFBRTtFQUN4QyxPQUFPO0lBQUU1QixLQUFLO0lBQUU0QjtFQUFXLENBQUM7QUFDOUI7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFNBQVM5QyxDQUFDQSxDQUFDOEQsSUFBWSxFQUFFO0VBQ3ZCLE9BQU87SUFBRVAsR0FBRyxFQUFFTztFQUFLLENBQUM7QUFDdEI7QUFFQSxNQUFNTixPQUFZLEdBQUc7RUFDbkJPLFdBQVcsRUFBRUYsQ0FBQyxDQUNaLENBQ0U7SUFDRWpFLElBQUksRUFBRSxtQkFBbUI7SUFDekJ5QixFQUFFLEVBQUUsbUJBQW1CO0lBQ3ZCWCxHQUFHLEVBQUVpRCxDQUFDLENBQUMzRCxDQUFDLENBQUMsaUJBQWlCLENBQUM7RUFDN0IsQ0FBQyxDQUNGLEVBQ0QsS0FBSyxDQUNOO0VBQ0RnRSxlQUFlLEVBQUVILENBQUMsQ0FDaEIsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLG9CQUFvQjtJQUFFeUIsRUFBRSxFQUFFLG9CQUFvQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pFO0lBQUVkLElBQUksRUFBRSxhQUFhO0lBQUV5QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxrQkFBa0I7RUFBRSxDQUFDLENBQ3ZFLEVBQ0QsS0FBSyxDQUNOO0VBQ0RpRSxnQkFBZ0IsRUFBRUosQ0FBQyxDQUNqQixDQUFDO0lBQUVqRSxJQUFJLEVBQUUsWUFBWTtJQUFFeUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFaUQsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLFlBQVksQ0FBQztFQUFFLENBQUMsQ0FBQyxFQUNuRSxLQUFLLENBQ047RUFDRGtFLGlCQUFpQixFQUFFTCxDQUFDLENBQ2xCLENBQUM7SUFBRWpFLElBQUksRUFBRSxZQUFZO0lBQUV5QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxZQUFZO0VBQUUsQ0FBQyxDQUFDLEVBQ2hFLEtBQUssQ0FDTjtFQUNEbUUsVUFBVSxFQUFFTixDQUFDLENBQ1gsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLEtBQUs7SUFBRXlCLEVBQUUsRUFBRSxLQUFLO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkM7SUFBRWQsSUFBSSxFQUFFLFdBQVc7SUFBRXlCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRWQsSUFBSSxFQUFFLGFBQWE7SUFBRXlCLEVBQUUsRUFBRSxhQUFhO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkQ7SUFDRWQsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QnlCLEVBQUUsRUFBRSxnQkFBZ0I7SUFDcEJYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLGdCQUFnQjtFQUN6QixDQUFDLEVBQ0Q7SUFBRUosSUFBSSxFQUFFLFdBQVc7SUFBRXlCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDL0M7SUFBRWQsSUFBSSxFQUFFLG9CQUFvQjtJQUFFeUIsRUFBRSxFQUFFLG9CQUFvQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pFO0lBQUVkLElBQUksRUFBRSxlQUFlO0lBQUV5QixFQUFFLEVBQUUsZUFBZTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsRUFDckU7SUFDRXBCLElBQUksRUFBRSwwQkFBMEI7SUFDaEN5QixFQUFFLEVBQUUsMEJBQTBCO0lBQzlCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFDRXBCLElBQUksRUFBRSxxQkFBcUI7SUFDM0J5QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFBRXBCLElBQUksRUFBRSxhQUFhO0lBQUV5QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxhQUFhO0VBQUUsQ0FBQyxFQUNqRTtJQUNFSixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCeUIsRUFBRSxFQUFFLHVCQUF1QjtJQUMzQlgsR0FBRyxFQUFFVixDQUFDLENBQUMsdUJBQXVCO0VBQ2hDLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsT0FBTztJQUFFeUIsRUFBRSxFQUFFLE9BQU87SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFaEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztFQUFFLENBQUMsRUFDN0Q7SUFBRUosSUFBSSxFQUFFLFlBQVk7SUFBRXlCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLFlBQVk7RUFBRSxDQUFDLEVBQzlEO0lBQ0VKLElBQUksRUFBRSxnQkFBZ0I7SUFDdEJ5QixFQUFFLEVBQUUsZ0JBQWdCO0lBQ3BCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsZ0JBQWdCLENBQUM7RUFDdkMsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxxQkFBcUI7SUFDM0J5QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFBRXBCLElBQUksRUFBRSxXQUFXO0lBQUV5QixFQUFFLEVBQUUsV0FBVztJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQy9DO0lBQ0VkLElBQUksRUFBRSxjQUFjO0lBQ3BCeUIsRUFBRSxFQUFFLGNBQWM7SUFDbEJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyxjQUFjLENBQUM7RUFDckMsQ0FBQyxFQUNEO0lBQ0VKLElBQUksRUFBRSxtQkFBbUI7SUFDekJ5QixFQUFFLEVBQUUsbUJBQW1CO0lBQ3ZCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsWUFBWSxDQUFDO0VBQ25DLENBQUMsRUFDRDtJQUNFSixJQUFJLEVBQUUscUJBQXFCO0lBQzNCeUIsRUFBRSxFQUFFLHFCQUFxQjtJQUN6QlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFaEIsQ0FBQyxDQUFDLFlBQVksQ0FBQztFQUNuQyxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLGtDQUFrQztJQUN4Q3lCLEVBQUUsRUFBRSxrQ0FBa0M7SUFDdENYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLGtDQUFrQztFQUMzQyxDQUFDLENBQ0YsRUFDRCxLQUFLLENBQ047RUFDRG9FLEtBQUssRUFBRVAsQ0FBQyxDQUNOLENBQ0U7SUFDRWpFLElBQUksRUFBRSxxQkFBcUI7SUFDM0J5QixFQUFFLEVBQUUscUJBQXFCO0lBQ3pCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFDRXBCLElBQUksRUFBRSxlQUFlO0lBQ3JCeUIsRUFBRSxFQUFFLGVBQWU7SUFDbkJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyxlQUFlLENBQUM7RUFDdEMsQ0FBQyxDQUNGLEVBQ0QsS0FBSyxDQUNOO0VBQ0RxRSxhQUFhLEVBQUVSLENBQUMsQ0FDZCxDQUNFO0lBQUVqRSxJQUFJLEVBQUUsWUFBWTtJQUFFeUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQy9EO0lBQ0VwQixJQUFJLEVBQUUsWUFBWTtJQUNsQnlCLEVBQUUsRUFBRSxZQUFZO0lBQ2hCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsWUFBWSxDQUFDO0VBQ25DLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsZ0JBQWdCO0lBQUV5QixFQUFFLEVBQUUsZ0JBQWdCO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUN2RTtJQUNFcEIsSUFBSSxFQUFFLHlCQUF5QjtJQUMvQnlCLEVBQUUsRUFBRSx5QkFBeUI7SUFDN0JYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztFQUNoRCxDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLDBCQUEwQjtJQUNoQ3lCLEVBQUUsRUFBRSwwQkFBMEI7SUFDOUJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztFQUNqRCxDQUFDLENBQ0YsRUFDRCxLQUFLLENBQ047RUFDRHNFLFVBQVUsRUFBRVQsQ0FBQyxDQUFDLENBQUM7SUFBRWpFLElBQUksRUFBRSxZQUFZO0lBQUV5QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7RUFDekU2RCx1QkFBdUIsRUFBRVYsQ0FBQyxDQUN4QixDQUNFO0lBQ0VqRSxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCeUIsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFMkMsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0VBQ3hDLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsU0FBUztJQUFFeUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ3pEO0lBQUVwQixJQUFJLEVBQUUsU0FBUztJQUFFeUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ3pEO0lBQUVwQixJQUFJLEVBQUUsVUFBVTtJQUFFeUIsRUFBRSxFQUFFLFVBQVU7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxDQUM5QyxFQUNELEtBQUssQ0FDTjtFQUNEOEQsWUFBWSxFQUFFWCxDQUFDLENBQ2IsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFNBQVM7SUFBRXlCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDM0M7SUFBRWQsSUFBSSxFQUFFLGNBQWM7SUFBRXlCLEVBQUUsRUFBRSxjQUFjO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDckQ7SUFBRWQsSUFBSSxFQUFFLHdCQUF3QjtJQUFFeUIsRUFBRSxFQUFFLHdCQUF3QjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pFO0lBQUVkLElBQUksRUFBRSxnQkFBZ0I7SUFBRXlCLEVBQUUsRUFBRSxnQkFBZ0I7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN6RDtJQUFFZCxJQUFJLEVBQUUsUUFBUTtJQUFFeUIsRUFBRSxFQUFFLFFBQVE7SUFBRVgsR0FBRyxFQUFFVixDQUFDLENBQUMsUUFBUTtFQUFFLENBQUMsRUFDbEQ7SUFDRUosSUFBSSxFQUFFLGVBQWU7SUFDckJ5QixFQUFFLEVBQUUsZUFBZTtJQUNuQlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFMkMsQ0FBQyxDQUFDM0QsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7RUFDMUMsQ0FBQyxDQUNGLEVBQ0QsS0FBSyxDQUNOO0VBQ0R5RSxjQUFjLEVBQUVaLENBQUMsQ0FDZixDQUNFO0lBQUVqRSxJQUFJLEVBQUUsSUFBSTtJQUFFeUIsRUFBRSxFQUFFLElBQUk7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNqQztJQUFFZCxJQUFJLEVBQUUsU0FBUztJQUFFeUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMzQztJQUFFZCxJQUFJLEVBQUUsd0JBQXdCO0lBQUV5QixFQUFFLEVBQUUsd0JBQXdCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekU7SUFBRWQsSUFBSSxFQUFFLGdCQUFnQjtJQUFFeUIsRUFBRSxFQUFFLGdCQUFnQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pEO0lBQUVkLElBQUksRUFBRSxRQUFRO0lBQUV5QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxDQUNuRCxFQUNELEtBQUssQ0FDTjtFQUNEMEUsd0JBQXdCLEVBQUViLENBQUMsQ0FDekIsQ0FDRTtJQUNFakUsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QnlCLEVBQUUsRUFBRSxpQkFBaUI7SUFDckJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTJDLENBQUMsQ0FBQzNELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0VBQzNDLENBQUMsRUFDRDtJQUFFSixJQUFJLEVBQUUsU0FBUztJQUFFeUIsRUFBRSxFQUFFLFNBQVM7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFaEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztFQUFFLENBQUMsRUFDakU7SUFBRUosSUFBSSxFQUFFLFNBQVM7SUFBRXlCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyxPQUFPLENBQUM7RUFBRSxDQUFDLEVBQ2pFO0lBQUVKLElBQUksRUFBRSxVQUFVO0lBQUV5QixFQUFFLEVBQUUsVUFBVTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLENBQzlDLEVBQ0QsS0FBSyxDQUNOO0VBQ0RpRSxlQUFlLEVBQUVkLENBQUMsQ0FDaEIsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFNBQVM7SUFBRXlCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDM0M7SUFBRWQsSUFBSSxFQUFFLGNBQWM7SUFBRXlCLEVBQUUsRUFBRSxjQUFjO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUNuRTtJQUNFcEIsSUFBSSxFQUFFLHNDQUFzQztJQUM1Q3lCLEVBQUUsRUFBRSxzQ0FBc0M7SUFDMUNYLEdBQUcsRUFBRTtFQUNQLENBQUMsRUFDRDtJQUNFZCxJQUFJLEVBQUUsOEJBQThCO0lBQ3BDeUIsRUFBRSxFQUFFLDhCQUE4QjtJQUNsQ1gsR0FBRyxFQUFFO0VBQ1AsQ0FBQyxFQUNEO0lBQ0VkLElBQUksRUFBRSw4QkFBOEI7SUFDcEN5QixFQUFFLEVBQUUsOEJBQThCO0lBQ2xDWCxHQUFHLEVBQUU7RUFDUCxDQUFDLEVBQ0Q7SUFBRWQsSUFBSSxFQUFFLHNCQUFzQjtJQUFFeUIsRUFBRSxFQUFFLHNCQUFzQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3JFO0lBQUVkLElBQUksRUFBRSxRQUFRO0lBQUV5QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUNFSixJQUFJLEVBQUUsZUFBZTtJQUNyQnlCLEVBQUUsRUFBRSxlQUFlO0lBQ25CWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUyQyxDQUFDLENBQUMzRCxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztFQUMzQyxDQUFDLEVBQ0Q7SUFBRUosSUFBSSxFQUFFLElBQUk7SUFBRXlCLEVBQUUsRUFBRSxJQUFJO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxDQUNoRCxFQUNELEtBQUssQ0FDTjtFQUNENEQsS0FBSyxFQUFFZixDQUFDLENBQ04sQ0FDRTtJQUFFakUsSUFBSSxFQUFFLGdCQUFnQjtJQUFFeUIsRUFBRSxFQUFFLGdCQUFnQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pEO0lBQUVkLElBQUksRUFBRSxRQUFRO0lBQUV5QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ3pDO0lBQUVkLElBQUksRUFBRSxPQUFPO0lBQUV5QixFQUFFLEVBQUUsT0FBTztJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLENBQ3hDLEVBQ0QsS0FBSyxDQUNOO0VBQ0RtRSxVQUFVLEVBQUVoQixDQUFDLENBQ1gsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFdBQVc7SUFBRXlCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTBCLElBQUk7RUFBRSxDQUFDLEVBQy9EO0lBQ0U5QyxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCeUIsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFMEIsSUFBSTtFQUN4QixDQUFDLEVBQ0Q7SUFBRTlDLElBQUksRUFBRSxpQkFBaUI7SUFBRXlCLEVBQUUsRUFBRSxpQkFBaUI7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMzRDtJQUNFZCxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCeUIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QlgsR0FBRyxFQUFFVixDQUFDLENBQUMsb0JBQW9CO0VBQzdCLENBQUMsRUFDRDtJQUNFSixJQUFJLEVBQUUsVUFBVTtJQUNoQnlCLEVBQUUsRUFBRSxVQUFVO0lBQ2RYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRTBCLElBQUk7RUFDeEIsQ0FBQyxFQUNEO0lBQ0U5QyxJQUFJLEVBQUUsTUFBTTtJQUNaeUIsRUFBRSxFQUFFLE1BQU07SUFDVlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFaEIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0VBQ3ZDLENBQUMsQ0FDRixFQUNELEtBQUssQ0FDTjtFQUNEOEUsa0JBQWtCLEVBQUVqQixDQUFDLENBQ25CLENBQ0U7SUFBRWpFLElBQUksRUFBRSxNQUFNO0lBQUV5QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxnQkFBZ0I7RUFBRSxDQUFDLEVBQ3REO0lBQ0VKLElBQUksRUFBRSxVQUFVO0lBQ2hCeUIsRUFBRSxFQUFFLFVBQVU7SUFDZFgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFaEIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0VBQzNDLENBQUMsQ0FDRixFQUNELEtBQUssQ0FDTjtFQUNEK0UsY0FBYyxFQUFFbEIsQ0FBQyxDQUNmLENBQ0U7SUFBRWpFLElBQUksRUFBRSxNQUFNO0lBQUV5QixFQUFFLEVBQUUsTUFBTTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxvQkFBb0I7RUFBRSxDQUFDLEVBQzFEO0lBQUVKLElBQUksRUFBRSxTQUFTO0lBQUV5QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyx1QkFBdUI7RUFBRSxDQUFDLENBQ3BFLEVBQ0QsS0FBSyxDQUNOO0VBQ0RnRixrQkFBa0IsRUFBRW5CLENBQUMsQ0FDbkIsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLE1BQU07SUFBRXlCLEVBQUUsRUFBRSxNQUFNO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLG9CQUFvQjtFQUFFLENBQUMsRUFDMUQ7SUFBRUosSUFBSSxFQUFFLFNBQVM7SUFBRXlCLEVBQUUsRUFBRSxTQUFTO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLGdCQUFnQjtFQUFFLENBQUMsQ0FDN0QsRUFDRCxLQUFLLENBQ047RUFDRGlGLFVBQVUsRUFBRXBCLENBQUMsQ0FDWCxDQUNFO0lBQUVqRSxJQUFJLEVBQUUsY0FBYztJQUFFeUIsRUFBRSxFQUFFLGNBQWM7SUFBRVgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ25FO0lBQ0VwQixJQUFJLEVBQUUsY0FBYztJQUNwQnlCLEVBQUUsRUFBRSxjQUFjO0lBQ2xCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsY0FBYyxDQUFDO0VBQ3JDLENBQUMsQ0FDRixFQUNELEtBQUssQ0FDTjtFQUNEa0YsY0FBYyxFQUFFckIsQ0FBQyxDQUNmLENBQ0U7SUFBRWpFLElBQUksRUFBRSxZQUFZO0lBQUV5QixFQUFFLEVBQUUsWUFBWTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pEO0lBQUVkLElBQUksRUFBRSxrQkFBa0I7SUFBRXlCLEVBQUUsRUFBRSxrQkFBa0I7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUM3RDtJQUFFZCxJQUFJLEVBQUUscUJBQXFCO0lBQUV5QixFQUFFLEVBQUUscUJBQXFCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDbkU7SUFBRWQsSUFBSSxFQUFFLFlBQVk7SUFBRXlCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsQ0FDbEQsRUFDRCxLQUFLLENBQ047RUFDRHlFLFlBQVksRUFBRXRCLENBQUMsQ0FDYixDQUNFO0lBQ0VqRSxJQUFJLEVBQUUsU0FBUztJQUNmeUIsRUFBRSxFQUFFLFNBQVM7SUFDYlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFDdEIsQ0FBQyxFQUNEO0lBQ0VwQixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCeUIsRUFBRSxFQUFFLGlCQUFpQjtJQUNyQlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFDdEIsQ0FBQyxDQUNGLEVBQ0QsS0FBSyxDQUNOO0VBQ0RvRSxxQkFBcUIsRUFBRXZCLENBQUMsQ0FDdEIsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFVBQVU7SUFBRXlCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyxVQUFVLENBQUM7RUFBRSxDQUFDLEVBQ3RFO0lBQ0VKLElBQUksRUFBRSxRQUFRO0lBQ2R5QixFQUFFLEVBQUUsUUFBUTtJQUNaWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsUUFBUSxDQUFDO0VBQy9CLENBQUMsRUFDRDtJQUNFSixJQUFJLEVBQUUsY0FBYztJQUNwQnlCLEVBQUUsRUFBRSxjQUFjO0lBQ2xCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUVoQixDQUFDLENBQUMsY0FBYyxDQUFDO0VBQ3JDLENBQUMsQ0FDRixFQUNELEtBQUssQ0FDTjtFQUNEcUYsTUFBTSxFQUFFeEIsQ0FBQyxDQUNQLENBQ0U7SUFDRWpFLElBQUksRUFBRSxhQUFhO0lBQ25CeUIsRUFBRSxFQUFFLGFBQWE7SUFDakJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRWhCLENBQUMsQ0FBQyxhQUFhLENBQUM7RUFDcEMsQ0FBQyxFQUNEO0lBQUVKLElBQUksRUFBRSxRQUFRO0lBQUV5QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsRUFDdkQ7SUFDRXBCLElBQUksRUFBRSxtQkFBbUI7SUFDekJ5QixFQUFFLEVBQUUsbUJBQW1CO0lBQ3ZCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLENBQ0YsRUFDRCxLQUFLLENBQ047RUFDRHNFLFFBQVEsRUFBRXpCLENBQUMsQ0FDVCxDQUNFO0lBQUVqRSxJQUFJLEVBQUUsT0FBTztJQUFFeUIsRUFBRSxFQUFFLE9BQU87SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUN2QztJQUNFZCxJQUFJLEVBQUUsMEJBQTBCO0lBQ2hDeUIsRUFBRSxFQUFFLDBCQUEwQjtJQUM5QlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFDdEIsQ0FBQyxFQUNEO0lBQ0VwQixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCeUIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFDdEIsQ0FBQyxFQUNEO0lBQUVwQixJQUFJLEVBQUUsTUFBTTtJQUFFeUIsRUFBRSxFQUFFLE1BQU07SUFBRVgsR0FBRyxFQUFFVixDQUFDLENBQUMsY0FBYztFQUFFLENBQUMsRUFDcEQ7SUFDRUosSUFBSSxFQUFFLGFBQWE7SUFDbkJ5QixFQUFFLEVBQUUsYUFBYTtJQUNqQlgsR0FBRyxFQUFFVixDQUFDLENBQUMsYUFBYTtFQUN0QixDQUFDLEVBQ0Q7SUFDRUosSUFBSSxFQUFFLG1CQUFtQjtJQUN6QnlCLEVBQUUsRUFBRSxtQkFBbUI7SUFDdkJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQ3RCLENBQUMsRUFDRDtJQUFFcEIsSUFBSSxFQUFFLG9CQUFvQjtJQUFFeUIsRUFBRSxFQUFFLG9CQUFvQjtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLEVBQ2pFO0lBQUVkLElBQUksRUFBRSxxQkFBcUI7SUFBRXlCLEVBQUUsRUFBRSxxQkFBcUI7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUNuRTtJQUNFZCxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCeUIsRUFBRSxFQUFFLHNCQUFzQjtJQUMxQlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFLEVBQUU7RUFDdEIsQ0FBQyxDQUNGLEVBQ0QsS0FBSyxDQUNOO0VBQ0R1RSxZQUFZLEVBQUUxQixDQUFDLENBQ2IsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFVBQVU7SUFBRXlCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQUVKLElBQUksRUFBRSxtQkFBbUI7SUFBRXlCLEVBQUUsRUFBRSxtQkFBbUI7SUFBRVgsR0FBRyxFQUFFO0VBQUcsQ0FBQyxFQUMvRDtJQUFFZCxJQUFJLEVBQUUsZ0JBQWdCO0lBQUV5QixFQUFFLEVBQUUsZ0JBQWdCO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsRUFDekQ7SUFBRWQsSUFBSSxFQUFFLFlBQVk7SUFBRXlCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRTtFQUFHLENBQUMsQ0FDbEQsRUFDRCxLQUFLLENBQ047RUFDRDhFLGNBQWMsRUFBRTNCLENBQUMsQ0FDZixDQUNFO0lBQUVqRSxJQUFJLEVBQUUsS0FBSztJQUFFeUIsRUFBRSxFQUFFLEtBQUs7SUFBRVgsR0FBRyxFQUFFVixDQUFDLENBQUMsS0FBSztFQUFFLENBQUMsRUFDekM7SUFBRUosSUFBSSxFQUFFLFVBQVU7SUFBRXlCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLFVBQVU7RUFBRSxDQUFDLEVBQ3hEO0lBQ0VKLElBQUksRUFBRSxzQkFBc0I7SUFDNUJ5QixFQUFFLEVBQUUsc0JBQXNCO0lBQzFCWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxzQkFBc0I7RUFDL0IsQ0FBQyxFQUNEO0lBQUVKLElBQUksRUFBRSxTQUFTO0lBQUV5QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxTQUFTO0VBQUUsQ0FBQyxDQUN0RCxFQUNELEtBQUssQ0FDTjtFQUNEeUYsT0FBTyxFQUFFNUIsQ0FBQyxDQUFDLENBQUM7SUFBRWpFLElBQUksRUFBRSxhQUFhO0lBQUV5QixFQUFFLEVBQUUsYUFBYTtJQUFFWCxHQUFHLEVBQUU7RUFBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7RUFDeEVnRixvQkFBb0IsRUFBRTdCLENBQUMsQ0FDckIsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLFVBQVU7SUFBRXlCLEVBQUUsRUFBRSxVQUFVO0lBQUVYLEdBQUcsRUFBRTtFQUFNLENBQUMsRUFDaEQ7SUFBRWQsSUFBSSxFQUFFLFdBQVc7SUFBRXlCLEVBQUUsRUFBRSxXQUFXO0lBQUVYLEdBQUcsRUFBRTtFQUFNLENBQUMsRUFDbEQ7SUFBRWQsSUFBSSxFQUFFLFlBQVk7SUFBRXlCLEVBQUUsRUFBRSxZQUFZO0lBQUVYLEdBQUcsRUFBRTtFQUFNLENBQUMsRUFDcEQ7SUFBRWQsSUFBSSxFQUFFLGVBQWU7SUFBRXlCLEVBQUUsRUFBRSxlQUFlO0lBQUVYLEdBQUcsRUFBRTtFQUFNLENBQUMsRUFDMUQ7SUFBRWQsSUFBSSxFQUFFLGdCQUFnQjtJQUFFeUIsRUFBRSxFQUFFLGdCQUFnQjtJQUFFWCxHQUFHLEVBQUU7RUFBTSxDQUFDLENBQzdELEVBQ0QsS0FBSyxDQUNOO0VBQ0RpRixRQUFRLEVBQUU5QixDQUFDLENBQ1QsQ0FDRTtJQUFFakUsSUFBSSxFQUFFLE1BQU07SUFBRXlCLEVBQUUsRUFBRSxNQUFNO0lBQUVYLEdBQUcsRUFBRVYsQ0FBQyxDQUFDLGNBQWM7RUFBRSxDQUFDLEVBQ3BEO0lBQUVKLElBQUksRUFBRSxTQUFTO0lBQUV5QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxLQUFLO0VBQUUsQ0FBQyxDQUNsRCxFQUNELEtBQUssQ0FDTjtFQUNENEYsV0FBVyxFQUFFL0IsQ0FBQyxDQUNaLENBQ0U7SUFBRWpFLElBQUksRUFBRSxRQUFRO0lBQUV5QixFQUFFLEVBQUUsUUFBUTtJQUFFWCxHQUFHLEVBQUVWLENBQUMsQ0FBQyxRQUFRO0VBQUUsQ0FBQyxFQUNsRDtJQUNFSixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCeUIsRUFBRSxFQUFFLG1CQUFtQjtJQUN2QlgsR0FBRyxFQUFFa0QsQ0FBQyxDQUFDNUMsU0FBUyxFQUFFMkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztFQUN6QixDQUFDLEVBQ0Q7SUFDRS9ELElBQUksRUFBRSxTQUFTO0lBQ2Z5QixFQUFFLEVBQUUsU0FBUztJQUNiWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFBRXBCLElBQUksRUFBRSxTQUFTO0lBQUV5QixFQUFFLEVBQUUsU0FBUztJQUFFWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUFFLENBQUMsQ0FDMUQsRUFDRCxLQUFLLENBQ047RUFDRDZFLE1BQU0sRUFBRWhDLENBQUMsQ0FDUCxDQUNFO0lBQUVqRSxJQUFJLEVBQUUsWUFBWTtJQUFFeUIsRUFBRSxFQUFFLFlBQVk7SUFBRVgsR0FBRyxFQUFFVixDQUFDLENBQUMsWUFBWTtFQUFFLENBQUMsRUFDOUQ7SUFDRUosSUFBSSxFQUFFLGlCQUFpQjtJQUN2QnlCLEVBQUUsRUFBRSxpQkFBaUI7SUFDckJYLEdBQUcsRUFBRWtELENBQUMsQ0FBQzVDLFNBQVMsRUFBRSxFQUFFO0VBQ3RCLENBQUMsRUFDRDtJQUNFcEIsSUFBSSxFQUFFLFdBQVc7SUFDakJ5QixFQUFFLEVBQUUsV0FBVztJQUNmWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFDRXBCLElBQUksRUFBRSxvQkFBb0I7SUFDMUJ5QixFQUFFLEVBQUUsb0JBQW9CO0lBQ3hCWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLEVBQ0Q7SUFDRXBCLElBQUksRUFBRSwyQkFBMkI7SUFDakN5QixFQUFFLEVBQUUsMkJBQTJCO0lBQy9CWCxHQUFHLEVBQUVrRCxDQUFDLENBQUM1QyxTQUFTLEVBQUUsRUFBRTtFQUN0QixDQUFDLENBQ0YsRUFDRCxLQUFLLENBQ047RUFDRGxDLGdDQUFnQyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztFQUMxREMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7RUFDbkRDLGtCQUFrQixFQUFFLENBQ2xCLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsRUFDUixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLEdBQUcsRUFDSCxJQUFJLEVBQ0osR0FBRyxDQUNKO0VBQ0RDLHFCQUFxQixFQUFFLENBQ3JCLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsUUFBUSxDQUNUO0VBQ0RDLGNBQWMsRUFBRSxDQUNkLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsOEJBQThCLEVBQzlCLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULGdDQUFnQyxFQUNoQyx3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sUUFBUSxFQUNSLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILDBCQUEwQixFQUMxQixRQUFRLEVBQ1IsUUFBUSxFQUNSLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QixPQUFPLENBQ1I7RUFDREMsWUFBWSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7RUFDOUNDLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0VBQ3BDQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7RUFDeERDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO0VBQ3pCQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7RUFDWkMsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO0VBQzdCQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLFlBQVk7QUFDckQsQ0FBQyJ9
832
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkV0YXRBbWVuZGVtZW50Q29kZSIsIkV0YXRBbWVuZGVtZW50TGliZWxsZSIsIlNvcnRBbWVuZGVtZW50IiwiVHlwZVBvc2l0aW9uIiwiQXZhbnRBQXByZXMiLCJEaXZpc2lvblR5cGUiLCJDb2RlRXRhdCIsIk5vbSIsIlR5cGVNaW1lVHlwZSIsIlR5cGVBdXRldXIiLCJDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYW1lbmRlbWVudFRvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9BbWVuZGVtZW50cyIsImFtZW5kZW1lbnRzVG9Kc29uIiwidG9UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWZUb0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJrZXkiLCJFcnJvciIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInVuZGVmaW5lZCIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImxlbmd0aCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIm8iLCJuYW1lIiwiQW1lbmRlbWVudHMiLCJUZXh0ZUxlZ2lzbGF0aWYiLCJBbWVuZGVtZW50c0NsYXNzIiwiQW1lbmRlbWVudFdyYXBwZXIiLCJBbWVuZGVtZW50IiwiQ29ycHMiLCJDb250ZW51QXV0ZXVyIiwiQXZhbnRBcHBlbCIsIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwiUHJvZ3JhbW1lUGxmIiwiTGlnbmVDcmVkaXRQTEYiLCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIiLCJMaWduZUNyZWRpdFBMRlIiLCJUb3RhbCIsIkN5Y2xlRGVWaWUiLCJFdGF0RGVzVHJhaXRlbWVudHMiLCJFdGF0QW1lbmRlbWVudCIsIlNvdXNFdGF0QW1lbmRlbWVudCIsIkRpc2N1c3Npb24iLCJJZGVudGlmaWNhdGlvbiIsIkxvaVJlZmVyZW5jZSIsIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZSIsIkFsaW5lYSIsIkRpdmlzaW9uIiwiTWlzc2lvblZpc2VlIiwiUmVwcmVzZW50YXRpb24iLCJDb250ZW51IiwiU3RhdHV0UmVwcmVzZW50YXRpb24iLCJUeXBlTWltZSIsIlNpZ25hdGFpcmVzIiwiQXV0ZXVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIEFtZW5kZW1lbnQsIEFtZW5kZW1lbnRzIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgYW1lbmRlbWVudCA9IENvbnZlcnQudG9BbWVuZGVtZW50KGpzb24pO1xuLy8gICBjb25zdCBhbWVuZGVtZW50cyA9IENvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHMge1xuICB0ZXh0ZXNMZWdpc2xhdGlmczogVGV4dGVMZWdpc2xhdGlmW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUxlZ2lzbGF0aWYge1xuICByZWZUZXh0ZUxlZ2lzbGF0aWY6IHN0cmluZ1xuICBhbWVuZGVtZW50czogQW1lbmRlbWVudFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgY2hyb25vdGFnOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU6IHN0cmluZ1xuICBpZGVudGlmaWNhdGlvbjogSWRlbnRpZmljYXRpb25cbiAgZXhhbWVuUmVmOiBzdHJpbmdcbiAgdGV4dGVMZWdpc2xhdGlmUmVmOiBzdHJpbmdcbiAgdHJpQW1lbmRlbWVudD86IHN0cmluZ1xuICBjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXM/OiBzdHJpbmdcbiAgYW1lbmRlbWVudFBhcmVudFJlZj86IHN0cmluZ1xuICBzaWduYXRhaXJlczogU2lnbmF0YWlyZXNcbiAgcG9pbnRldXJGcmFnbWVudFRleHRlOiBQb2ludGV1ckZyYWdtZW50VGV4dGVcbiAgY29ycHM/OiBDb3Jwc1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIHJlcHJlc2VudGF0aW9uPzogUmVwcmVzZW50YXRpb25cbiAgc2VhbmNlRGlzY3Vzc2lvblJlZj86IHN0cmluZ1xuICBhcnRpY2xlOTk6IHN0cmluZ1xuICBsb2lSZWZlcmVuY2U/OiBMb2lSZWZlcmVuY2VcbiAgZGlzY3Vzc2lvbkNvbW11bmU/OiBEaXNjdXNzaW9uXG4gIGRpc2N1c3Npb25JZGVudGlxdWU/OiBEaXNjdXNzaW9uXG4gIGFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpOiBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVxufVxuXG5leHBvcnQgZW51bSBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSB7XG4gIEFjY29yZCA9IFwiQWNjb3JkXCIsXG4gIFNhbnNPYmpldCA9IFwiU2FucyBvYmpldFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcnBzIHtcbiAgY2FydG91Y2hlSW5mb3JtYXRpZj86IHN0cmluZ1xuICBjb250ZW51QXV0ZXVyPzogQ29udGVudUF1dGV1clxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnVBdXRldXIge1xuICBkaXNwb3NpdGlmPzogc3RyaW5nXG4gIGF2YW50QXBwZWw/OiBBdmFudEFwcGVsXG4gIGV4cG9zZVNvbW1haXJlPzogc3RyaW5nXG4gIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcbiAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbnRBcHBlbCB7XG4gIGRpc3Bvc2l0aWY6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIHtcbiAgbGlzdGVQcm9ncmFtbWVzPzogUHJvZ3JhbW1lUGxmW11cbiAgc29sZGVBRT86IHN0cmluZ1xuICBzb2xkZUNQPzogc3RyaW5nXG4gIGNwRWdhbEFlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmFtbWVQbGYge1xuICBsaWJlbGxlOiBzdHJpbmdcbiAgcHJvZ3JhbW1lUmVmOiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudDogc3RyaW5nXG4gIGNyZWRpdFBhaWVtZW50OiBzdHJpbmdcbiAgYWN0aW9uOiBBY3Rpb25cbiAgbGlnbmVzQ3JlZGl0cz86IExpZ25lQ3JlZGl0UExGW11cbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgQ3LDqWF0aW9uID0gXCJjcsOpYXRpb25cIixcbiAgTW9kaWZpY2F0aW9uID0gXCJtb2RpZmljYXRpb25cIixcbiAgU3VwcHJlc3Npb24gPSBcInN1cHByZXNzaW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRQTEYge1xuICBpZDogc3RyaW5nXG4gIGxpYmVsbGU6IHN0cmluZ1xuICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50OiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnQ6IHN0cmluZ1xuICBhY3Rpb246IEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiB7XG4gIGxpc3RlUHJvZ3JhbW1lcz86IExpZ25lQ3JlZGl0UExGUltdXG4gIHRvdGFsQUU/OiBUb3RhbFxuICB0b3RhbENQPzogVG90YWxcbiAgY3BFZ2FsQWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ25lQ3JlZGl0UExGUiB7XG4gIGxpYmVsbGU6IHN0cmluZ1xuICBwcm9ncmFtbWVSZWY/OiBzdHJpbmdcbiAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlOiBzdHJpbmdcbiAgY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZTogc3RyaW5nXG4gIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGU6IHN0cmluZ1xuICBjcmVkaXRQYWllbWVudEFubnVsZTogc3RyaW5nXG4gIGFjdGlvbjogQWN0aW9uXG4gIGxpZ25lc0NyZWRpdHM/OiBMaWduZUNyZWRpdFBMRlJbXVxuICBpZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsIHtcbiAgc3VwcGxlbWVudGFpcmU6IHN0cmluZ1xuICBhbm51bGU6IHN0cmluZ1xuICBzb2xkZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGRhdGVEZXBvdD86IERhdGVcbiAgZGF0ZVB1YmxpY2F0aW9uPzogRGF0ZVxuICBzb3VtaXNBcnRpY2xlNDA6IHN0cmluZ1xuICBldGF0RGVzVHJhaXRlbWVudHM6IEV0YXREZXNUcmFpdGVtZW50c1xuICBkYXRlU29ydD86IERhdGVcbiAgc29ydD86IFNvcnRBbWVuZGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRhdERlc1RyYWl0ZW1lbnRzIHtcbiAgZXRhdDogRXRhdEFtZW5kZW1lbnRcbiAgc291c0V0YXQ/OiBTb3VzRXRhdEFtZW5kZW1lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0QW1lbmRlbWVudCB7XG4gIGNvZGU6IEV0YXRBbWVuZGVtZW50Q29kZVxuICBsaWJlbGxlOiBFdGF0QW1lbmRlbWVudExpYmVsbGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEFtZW5kZW1lbnRDb2RlIHtcbiAgQUMgPSBcIkFDXCIsXG4gIEF0ID0gXCJBVFwiLFxuICBEaSA9IFwiRElcIixcbiAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICBFciA9IFwiRVJcIixcbiAgRXQgPSBcIkVUXCIsXG4gIElSID0gXCJJUlwiLFxuICBJcnIxMjcgPSBcIklSUjEyN1wiLFxuICBJcnIyMCA9IFwiSVJSMjBcIixcbiAgSXJyMzcgPSBcIklSUjM3XCIsXG4gIElycjM4ID0gXCJJUlIzOFwiLFxuICBJcnI0MSA9IFwiSVJSNDFcIixcbiAgSXJyNDIgPSBcIklSUjQyXCIsXG4gIElycjQ1ID0gXCJJUlI0NVwiLFxuICBJcnI0OCA9IFwiSVJSNDhcIixcbiAgSXJyNTMgPSBcIklSUjUzXCIsXG4gIElycmFpID0gXCJJUlJBSVwiLFxuICBJcnJhaWYgPSBcIklSUkFJRlwiLFxuICBJcnJkID0gXCJJUlJEXCIsXG4gIElycmhjID0gXCJJUlJIQ1wiLCAvLyBJcnJlY2V2YWJsZSwgaG9ycyBjaGFtcFxuICBJcnJoZCA9IFwiSVJSSERcIixcbiAgSXJyc2EgPSBcIklSUlNBXCIsXG4gIFIgPSBcIlJcIixcbiAgUnQgPSBcIlJUXCIsXG4gIFQgPSBcIlRcIixcbn1cblxuZXhwb3J0IGVudW0gRXRhdEFtZW5kZW1lbnRMaWJlbGxlIHtcbiAgQURpc2N1dGVyID0gXCJBIGRpc2N1dGVyXCIsXG4gIEFEw6lwb3NlciA9IFwiQSBkw6lwb3NlclwiLFxuICBEaXNjdXTDqSA9IFwiRGlzY3V0w6lcIixcbiAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICBFblJlY2V2YWJpbGl0w6kgPSBcIkVuIHJlY2V2YWJpbGl0w6lcIixcbiAgRW5UcmFpdGVtZW50ID0gXCJFbiB0cmFpdGVtZW50XCIsXG4gIElycmVjZXZhYmxlID0gXCJJcnJlY2V2YWJsZVwiLFxuICBJcnJlY2V2YWJsZTQwID0gXCJJcnJlY2V2YWJsZSA0MFwiLFxuICBSZXRpcsOpID0gXCJSZXRpcsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291c0V0YXRBbWVuZGVtZW50IHtcbiAgY29kZTogRXRhdEFtZW5kZW1lbnRDb2RlXG4gIGxpYmVsbGU6IFNvcnRBbWVuZGVtZW50XG59XG5cbmV4cG9ydCBlbnVtIFNvcnRBbWVuZGVtZW50IHtcbiAgQWRvcHTDqSA9IFwiQWRvcHTDqVwiLFxuICBBdXRyZUlycmVjZXZhYmlsaXTDqSA9IFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gIEF1dHJlSXJyZWNldmFiaWxpdMOpNDAgPSBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqSA0MFwiLFxuICBBdXRyZXNJcnJMT0xGID0gXCJBdXRyZXMgaXJyIExPTEZcIixcbiAgQXV0cmVzSXJyTE9MRlNTID0gXCJBdXRyZXMgaXJyIExPTEZTU1wiLFxuICBDYXZhbGllcjQ1ID0gXCJDYXZhbGllciAoNDUpXCIsXG4gIENhdmFsaWVyQnVkZ8OpdGFpcmUgPSBcIkNhdmFsaWVyIGJ1ZGfDqXRhaXJlXCIsXG4gIENhdmFsaWVyU29jaWFsID0gXCJDYXZhbGllciBzb2NpYWxcIixcbiAgQ2hhbXBEZUxIYWJpbGl0YXRpb24zOCA9IFwiQ2hhbXAgZGUgbCdoYWJpbGl0YXRpb24gKDM4KVwiLFxuICBDaGFyZ2UgPSBcIkNoYXJnZVwiLFxuICBDbXA0NSA9IFwiQ01QICg0NSlcIixcbiAgQ3LDqWRpdHMgPSBcIkNyw6lkaXRzXCIsXG4gIERpc3Bvc2l0aW9uUsOpZ2xlbWVudGFpcmUzNyA9IFwiRGlzcG9zaXRpb24gcsOpZ2xlbWVudGFpcmUgKDM3KVwiLFxuICBEb21haW5lRGVMYUxvaTQxID0gXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gIERvbWFpbmVMb2lPcmdhbmlxdWUxMjcgPSBcIkRvbWFpbmUgbG9pIG9yZ2FuaXF1ZSAoMTI3KVwiLFxuICBEb3VibG9uID0gXCJEb3VibG9uXCIsXG4gIEVudG9ubm9pcjQ1ID0gXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICBHYWdlID0gXCJHYWdlXCIsXG4gIEhvcnNEw6lsYWlzID0gXCJIb3JzLWTDqWxhaXNcIixcbiAgSW5qb25jdGlvbjIwID0gXCJJbmpvbmN0aW9uICgyMClcIixcbiAgSXJyRW5QcmVtacOocmVQYXJ0aWUgPSBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gIElyckVuU2Vjb25kZVBhcnRpZSA9IFwiSXJyIGVuIHNlY29uZGUgcGFydGllXCIsXG4gIExvbGYgPSBcIkxPTEZcIixcbiAgTG9sZnNzID0gXCJMT0xGU1NcIixcbiAgTm9uU291dGVudSA9IFwiTm9uIHNvdXRlbnVcIixcbiAgT3JkcmVEdUpvdXI0OCA9IFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gIFIgPSBcIlJcIixcbiAgUmF0aWZpY2F0aW9uVHJhaXTDqTUzID0gXCJSYXRpZmljYXRpb24gdHJhaXTDqSAoNTMpXCIsXG4gIFJlamV0w6kgPSBcIlJlamV0w6lcIixcbiAgUmV0aXLDqSA9IFwiUmV0aXLDqVwiLFxuICBSZXRpcsOpQXByw6hzUHVibGljYXRpb24gPSBcIlJldGlyw6kgYXByw6hzIHB1YmxpY2F0aW9uXCIsXG4gIFJldGlyw6lBdmFudFB1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGF2YW50IHB1YmxpY2F0aW9uXCIsXG4gIFNhdGlzZmFpdE91SW5vcMOpcmFudDQyID0gXCJTYXRpc2ZhaXQgb3UgaW5vcMOpcmFudCAoNDIpXCIsXG4gIFNvdXNBbWVuZGVtZW50OTggPSBcIlNvdXMtYW1lbmRlbWVudCAoOTgpXCIsXG4gIFRvbWLDqSA9IFwiVG9tYsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY3Vzc2lvbiB7XG4gIGlkRGlzY3Vzc2lvbj86IHN0cmluZ1xuICB0eXBlUG9zaXRpb24/OiBUeXBlUG9zaXRpb25cbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvc2l0aW9uIHtcbiAgRGVybmllciA9IFwiRGVybmllclwiLFxuICBNaWxpZXUgPSBcIk1pbGlldVwiLFxuICBQcmVtaWVyID0gXCJQcmVtaWVyXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmljYXRpb24ge1xuICBudW1lcm9Mb25nOiBzdHJpbmdcbiAgbnVtZXJvT3JkcmVEZXBvdDogc3RyaW5nXG4gIHByZWZpeGVPcmdhbmVFeGFtZW46IHN0cmluZ1xuICBudW1lcm9SZWN0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2lSZWZlcmVuY2Uge1xuICBjb2RlTG9pPzogc3RyaW5nXG4gIGRpdmlzaW9uQ29kZUxvaT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50ZXVyRnJhZ21lbnRUZXh0ZSB7XG4gIGRpdmlzaW9uPzogRGl2aXNpb25cbiAgYWxpbmVhPzogQWxpbmVhXG4gIG1pc3Npb25WaXNlZT86IE1pc3Npb25WaXNlZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsaW5lYSB7XG4gIGF2YW50QUFwcmVzPzogQXZhbnRBQXByZXNcbiAgbnVtZXJvPzogc3RyaW5nXG4gIGFsaW5lYURlc2lnbmF0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIEF2YW50QUFwcmVzIHtcbiAgQSA9IFwiQVwiLFxuICBBcHJlcyA9IFwiQXByZXNcIixcbiAgQXZhbnQgPSBcIkF2YW50XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGl2aXNpb24ge1xuICB0aXRyZTogc3RyaW5nXG4gIGFydGljbGVEZXNpZ25hdGlvbkNvdXJ0ZT86IHN0cmluZ1xuICBhcnRpY2xlRGVzaWduYXRpb24/OiBzdHJpbmdcbiAgdHlwZTogRGl2aXNpb25UeXBlXG4gIGF2YW50QUFwcmVzOiBBdmFudEFBcHJlc1xuICBkaXZpc2lvblJhdHRhY2hlZT86IHN0cmluZ1xuICBhcnRpY2xlQWRkaXRpb25uZWw6IHN0cmluZ1xuICBjaGFwaXRyZUFkZGl0aW9ubmVsOiBzdHJpbmdcbiAgdXJsRGl2aXNpb25UZXh0ZVZpc2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gRGl2aXNpb25UeXBlIHtcbiAgQW5uZXhlID0gXCJBTk5FWEVcIixcbiAgQXJ0aWNsZSA9IFwiQVJUSUNMRVwiLFxuICBDaGFwaXRyZSA9IFwiQ0hBUElUUkVcIixcbiAgVGl0cmUgPSBcIlRJVFJFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2lvblZpc2VlIHtcbiAgY29kZUV0YXQ6IENvZGVFdGF0XG4gIGNvZGVNaXNzaW9uTWluZWZpOiBzdHJpbmdcbiAgbGliZWxsZU1pc3Npb246IHN0cmluZ1xuICBtaXNzaW9uUmVmOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ29kZUV0YXQge1xuICBCID0gXCJCXCIsXG4gIEMgPSBcIkNcIixcbiAgRCA9IFwiRFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9uIHtcbiAgbm9tOiBOb21cbiAgdHlwZU1pbWU6IFR5cGVNaW1lXG4gIHN0YXR1dFJlcHJlc2VudGF0aW9uOiBTdGF0dXRSZXByZXNlbnRhdGlvblxuICBjb250ZW51OiBDb250ZW51XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gIGRvY3VtZW50VVJJOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gTm9tIHtcbiAgUGRmID0gXCJQREZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXRSZXByZXNlbnRhdGlvbiB7XG4gIHZlcmJhdGltOiBib29sZWFuXG4gIGNhbm9uaXF1ZTogYm9vbGVhblxuICBvZmZpY2llbGxlOiBib29sZWFuXG4gIHRyYW5zY3JpcHRpb246IGJvb2xlYW5cbiAgZW5yZWdpc3RyZW1lbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlTWltZSB7XG4gIHR5cGU6IFR5cGVNaW1lVHlwZVxuICBzdWJUeXBlOiBOb21cbn1cblxuZXhwb3J0IGVudW0gVHlwZU1pbWVUeXBlIHtcbiAgQXBwbGljYXRpb24gPSBcImFwcGxpY2F0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0YWlyZXMge1xuICBhdXRldXI6IEF1dGV1clxuICBjb3NpZ25hdGFpcmVzUmVmcz86IHN0cmluZ1tdXG4gIGNvc2lnbmF0YWlyZXM/OiBBY3RldXJbXSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBzdWZmaXhlPzogc3RyaW5nXG4gIGxpYmVsbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICB0eXBlQXV0ZXVyOiBUeXBlQXV0ZXVyXG4gIGdvdXZlcm5lbWVudFJlZj86IHN0cmluZ1xuICBnb3V2ZXJuZW1lbnQ/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgYWN0ZXVyUmVmPzogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBncm91cGVQb2xpdGlxdWVSZWY/OiBzdHJpbmdcbiAgZ3JvdXBlUG9saXRpcXVlPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIGF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWY/OiBzdHJpbmdcbiAgYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgZW51bSBUeXBlQXV0ZXVyIHtcbiAgRMOpcHV0w6kgPSBcIkTDqXB1dMOpXCIsXG4gIEdvdXZlcm5lbWVudCA9IFwiR291dmVybmVtZW50XCIsXG4gIFJhcHBvcnRldXIgPSBcIlJhcHBvcnRldXJcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9BbWVuZGVtZW50KGpzb246IHN0cmluZyk6IEFtZW5kZW1lbnQge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50XCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhbWVuZGVtZW50VG9Kc29uKHZhbHVlOiBBbWVuZGVtZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudFwiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvQW1lbmRlbWVudHMoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudHMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50c1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYW1lbmRlbWVudHNUb0pzb24odmFsdWU6IEFtZW5kZW1lbnRzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudHNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1RleHRlTGVnaXNsYXRpZihqc29uOiBzdHJpbmcpOiBUZXh0ZUxlZ2lzbGF0aWYge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRleHRlTGVnaXNsYXRpZlRvSnNvbih2YWx1ZTogVGV4dGVMZWdpc2xhdGlmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiVGV4dGVMZWdpc2xhdGlmXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKVxuICAgICAgfSBjYXRjaCAoXykge31cbiAgICB9XG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbClcbiAgICB9XG4gICAgcmV0dXJuIGRcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChcbiAgICBwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sXG4gICAgYWRkaXRpb25hbDogYW55LFxuICAgIHZhbDogYW55LFxuICApOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSlcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIilcbiAgICAgID8gdHJhbnNmb3JtT2JqZWN0KGdldFByb3BzKHR5cCksIHR5cC5hZGRpdGlvbmFsLCB2YWwpXG4gICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbClcbiAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbClcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcylcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgQW1lbmRlbWVudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIGpzOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIHR5cDogYShyKFwiVGV4dGVMZWdpc2xhdGlmXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGV4dGVMZWdpc2xhdGlmOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJyZWZUZXh0ZUxlZ2lzbGF0aWZcIiwganM6IFwicmVmVGV4dGVMZWdpc2xhdGlmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRzXCIsIGpzOiBcImFtZW5kZW1lbnRzXCIsIHR5cDogcihcIkFtZW5kZW1lbnRzQ2xhc3NcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBbWVuZGVtZW50c0NsYXNzOiBvKFxuICAgIFt7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogYShyKFwiQW1lbmRlbWVudFwiKSkgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnRXcmFwcGVyOiBvKFxuICAgIFt7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogcihcIkFtZW5kZW1lbnRcIikgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vdGFnXCIsIGpzOiBcImNocm9ub3RhZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpZGVudGlmaWNhdGlvblwiLFxuICAgICAgICBqczogXCJpZGVudGlmaWNhdGlvblwiLFxuICAgICAgICB0eXA6IHIoXCJJZGVudGlmaWNhdGlvblwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZXhhbWVuUmVmXCIsIGpzOiBcImV4YW1lblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0ZXh0ZUxlZ2lzbGF0aWZSZWZcIiwganM6IFwidGV4dGVMZWdpc2xhdGlmUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRyaUFtZW5kZW1lbnRcIiwganM6IFwidHJpQW1lbmRlbWVudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLFxuICAgICAgICBqczogXCJjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFtZW5kZW1lbnRQYXJlbnRSZWZcIixcbiAgICAgICAganM6IFwiYW1lbmRlbWVudFBhcmVudFJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2lnbmF0YWlyZXNcIiwganM6IFwic2lnbmF0YWlyZXNcIiwgdHlwOiByKFwiU2lnbmF0YWlyZXNcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludGV1ckZyYWdtZW50VGV4dGVcIixcbiAgICAgICAganM6IFwicG9pbnRldXJGcmFnbWVudFRleHRlXCIsXG4gICAgICAgIHR5cDogcihcIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY29ycHNcIiwganM6IFwiY29ycHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvcnBzXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicmVwcmVzZW50YXRpb25cIixcbiAgICAgICAganM6IFwicmVwcmVzZW50YXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJlcHJlc2VudGF0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic2VhbmNlRGlzY3Vzc2lvblJlZlwiLFxuICAgICAgICBqczogXCJzZWFuY2VEaXNjdXNzaW9uUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhcnRpY2xlOTlcIiwganM6IFwiYXJ0aWNsZTk5XCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxvaVJlZmVyZW5jZVwiLFxuICAgICAgICBqczogXCJsb2lSZWZlcmVuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxvaVJlZmVyZW5jZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpc2N1c3Npb25Db21tdW5lXCIsXG4gICAgICAgIGpzOiBcImRpc2N1c3Npb25Db21tdW5lXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNjdXNzaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzY3Vzc2lvbklkZW50aXF1ZVwiLFxuICAgICAgICBqczogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNjdXNzaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIixcbiAgICAgICAganM6IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIixcbiAgICAgICAgdHlwOiByKFwiQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvcnBzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjYXJ0b3VjaGVJbmZvcm1hdGlmXCIsXG4gICAgICAgIGpzOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRlbnVBdXRldXJcIixcbiAgICAgICAganM6IFwiY29udGVudUF1dGV1clwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29udGVudUF1dGV1clwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbnRlbnVBdXRldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRpc3Bvc2l0aWZcIiwganM6IFwiZGlzcG9zaXRpZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF2YW50QXBwZWxcIixcbiAgICAgICAganM6IFwiYXZhbnRBcHBlbFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBcHBlbFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImV4cG9zZVNvbW1haXJlXCIsIGpzOiBcImV4cG9zZVNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIixcbiAgICAgICAganM6IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIsXG4gICAgICAgIGpzOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXZhbnRBcHBlbDogbyhbeyBqc29uOiBcImRpc3Bvc2l0aWZcIiwganM6IFwiZGlzcG9zaXRpZlwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEY6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImxpc3RlUHJvZ3JhbW1lc1wiLFxuICAgICAgICBqczogXCJsaXN0ZVByb2dyYW1tZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUHJvZ3JhbW1lUGxmXCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInNvbGRlQUVcIiwganM6IFwic29sZGVBRVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvbGRlQ1BcIiwganM6IFwic29sZGVDUFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFByb2dyYW1tZVBsZjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2dyYW1tZVJlZlwiLCBqczogXCJwcm9ncmFtbWVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLFxuICAgICAgICBqczogXCJsaWduZXNDcmVkaXRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkxpZ25lQ3JlZGl0UExGXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpZ25lQ3JlZGl0UExGOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJsaXN0ZVByb2dyYW1tZXNcIixcbiAgICAgICAganM6IFwibGlzdGVQcm9ncmFtbWVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkxpZ25lQ3JlZGl0UExGUlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0b3RhbEFFXCIsIGpzOiBcInRvdGFsQUVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlRvdGFsXCIpKSB9LFxuICAgICAgeyBqc29uOiBcInRvdGFsQ1BcIiwganM6IFwidG90YWxDUFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVG90YWxcIikpIH0sXG4gICAgICB7IGpzb246IFwiY3BFZ2FsQWVcIiwganM6IFwiY3BFZ2FsQWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlnbmVDcmVkaXRQTEZSOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvZ3JhbW1lUmVmXCIsIGpzOiBcInByb2dyYW1tZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZVwiLFxuICAgICAgICBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50U3VwcGxlbWVudGFpcmVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjcmVkaXRQYWllbWVudFN1cHBsZW1lbnRhaXJlXCIsXG4gICAgICAgIGpzOiBcImNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50QW5udWxlXCIsXG4gICAgICAgIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjcmVkaXRQYWllbWVudEFubnVsZVwiLCBqczogXCJjcmVkaXRQYWllbWVudEFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxpZ25lc0NyZWRpdHNcIixcbiAgICAgICAganM6IFwibGlnbmVzQ3JlZGl0c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJMaWduZUNyZWRpdFBMRlJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiaWRcIiwganM6IFwiaWRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUb3RhbDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic3VwcGxlbWVudGFpcmVcIiwganM6IFwic3VwcGxlbWVudGFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYW5udWxlXCIsIGpzOiBcImFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzb2xkZVwiLCBqczogXCJzb2xkZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlRGVwb3RcIiwganM6IFwiZGF0ZURlcG90XCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZVB1YmxpY2F0aW9uXCIsXG4gICAgICAgIGpzOiBcImRhdGVQdWJsaWNhdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic291bWlzQXJ0aWNsZTQwXCIsIGpzOiBcInNvdW1pc0FydGljbGU0MFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJldGF0RGVzVHJhaXRlbWVudHNcIixcbiAgICAgICAganM6IFwiZXRhdERlc1RyYWl0ZW1lbnRzXCIsXG4gICAgICAgIHR5cDogcihcIkV0YXREZXNUcmFpdGVtZW50c1wiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZVNvcnRcIixcbiAgICAgICAganM6IFwiZGF0ZVNvcnRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvcnRcIixcbiAgICAgICAganM6IFwic29ydFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiU29ydEFtZW5kZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFdGF0RGVzVHJhaXRlbWVudHM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudFwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvdXNFdGF0XCIsXG4gICAgICAgIGpzOiBcInNvdXNFdGF0XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTb3VzRXRhdEFtZW5kZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFdGF0QW1lbmRlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkV0YXRBbWVuZGVtZW50Q29kZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudExpYmVsbGVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTb3VzRXRhdEFtZW5kZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHIoXCJFdGF0QW1lbmRlbWVudENvZGVcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiByKFwiU29ydEFtZW5kZW1lbnRcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEaXNjdXNzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJpZERpc2N1c3Npb25cIiwganM6IFwiaWREaXNjdXNzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVBvc2l0aW9uXCIsXG4gICAgICAgIGpzOiBcInR5cGVQb3NpdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZVBvc2l0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmljYXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bWVyb0xvbmdcIiwganM6IFwibnVtZXJvTG9uZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9PcmRyZURlcG90XCIsIGpzOiBcIm51bWVyb09yZHJlRGVwb3RcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJlZml4ZU9yZ2FuZUV4YW1lblwiLCBqczogXCJwcmVmaXhlT3JnYW5lRXhhbWVuXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bWVyb1JlY3RcIiwganM6IFwibnVtZXJvUmVjdFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMb2lSZWZlcmVuY2U6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImNvZGVMb2lcIixcbiAgICAgICAganM6IFwiY29kZUxvaVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGl2aXNpb25Db2RlTG9pXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uQ29kZUxvaVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUG9pbnRldXJGcmFnbWVudFRleHRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkaXZpc2lvblwiLCBqczogXCJkaXZpc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGl2aXNpb25cIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWxpbmVhXCIsXG4gICAgICAgIGpzOiBcImFsaW5lYVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQWxpbmVhXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWlzc2lvblZpc2VlXCIsXG4gICAgICAgIGpzOiBcIm1pc3Npb25WaXNlZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzc2lvblZpc2VlXCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWxpbmVhOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICBqczogXCJhdmFudEFBcHJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBQXByZXNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWxpbmVhRGVzaWduYXRpb25cIixcbiAgICAgICAganM6IFwiYWxpbmVhRGVzaWduYXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERpdmlzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0aXRyZVwiLCBqczogXCJ0aXRyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25Db3VydGVcIixcbiAgICAgICAganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25cIixcbiAgICAgICAganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiRGl2aXNpb25UeXBlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYXZhbnRBQXByZXNcIixcbiAgICAgICAganM6IFwiYXZhbnRBQXByZXNcIixcbiAgICAgICAgdHlwOiByKFwiQXZhbnRBQXByZXNcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhcnRpY2xlQWRkaXRpb25uZWxcIiwganM6IFwiYXJ0aWNsZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNoYXBpdHJlQWRkaXRpb25uZWxcIiwganM6IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ1cmxEaXZpc2lvblRleHRlVmlzZVwiLFxuICAgICAgICBqczogXCJ1cmxEaXZpc2lvblRleHRlVmlzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTWlzc2lvblZpc2VlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlRXRhdFwiLCBqczogXCJjb2RlRXRhdFwiLCB0eXA6IHIoXCJDb2RlRXRhdFwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIGpzOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVNaXNzaW9uXCIsIGpzOiBcImxpYmVsbGVNaXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm1pc3Npb25SZWZcIiwganM6IFwibWlzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXByZXNlbnRhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHIoXCJOb21cIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlTWltZVwiLCBqczogXCJ0eXBlTWltZVwiLCB0eXA6IHIoXCJUeXBlTWltZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsXG4gICAgICAgIHR5cDogcihcIlN0YXR1dFJlcHJlc2VudGF0aW9uXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb250ZW51XCIsIGpzOiBcImNvbnRlbnVcIiwgdHlwOiByKFwiQ29udGVudVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbnRlbnU6IG8oW3sganNvbjogXCJkb2N1bWVudFVSSVwiLCBqczogXCJkb2N1bWVudFVSSVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgU3RhdHV0UmVwcmVzZW50YXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInZlcmJhdGltXCIsIGpzOiBcInZlcmJhdGltXCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHsganNvbjogXCJjYW5vbmlxdWVcIiwganM6IFwiY2Fub25pcXVlXCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHsganNvbjogXCJvZmZpY2llbGxlXCIsIGpzOiBcIm9mZmljaWVsbGVcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAgeyBqc29uOiBcInRyYW5zY3JpcHRpb25cIiwganM6IFwidHJhbnNjcmlwdGlvblwiLCB0eXA6IGZhbHNlIH0sXG4gICAgICB7IGpzb246IFwiZW5yZWdpc3RyZW1lbnRcIiwganM6IFwiZW5yZWdpc3RyZW1lbnRcIiwgdHlwOiBmYWxzZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFR5cGVNaW1lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiVHlwZU1pbWVUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwic3ViVHlwZVwiLCBqczogXCJzdWJUeXBlXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNpZ25hdGFpcmVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhdXRldXJcIiwganM6IFwiYXV0ZXVyXCIsIHR5cDogcihcIkF1dGV1clwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvc2lnbmF0YWlyZXNSZWZzXCIsXG4gICAgICAgIGpzOiBcImNvc2lnbmF0YWlyZXNSZWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdWZmaXhlXCIsXG4gICAgICAgIGpzOiBcInN1ZmZpeGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEF1dGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidHlwZUF1dGV1clwiLCBqczogXCJ0eXBlQXV0ZXVyXCIsIHR5cDogcihcIlR5cGVBdXRldXJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJnb3V2ZXJuZW1lbnRSZWZcIixcbiAgICAgICAganM6IFwiZ291dmVybmVtZW50UmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY3RldXJSZWZcIixcbiAgICAgICAganM6IFwiYWN0ZXVyUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJncm91cGVQb2xpdGlxdWVSZWZcIixcbiAgICAgICAganM6IFwiZ3JvdXBlUG9saXRpcXVlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmXCIsXG4gICAgICAgIGpzOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpOiBbXCJBY2NvcmRcIiwgXCJTYW5zIG9iamV0XCJdLFxuICBBY3Rpb246IFtcImNyw6lhdGlvblwiLCBcIm1vZGlmaWNhdGlvblwiLCBcInN1cHByZXNzaW9uXCJdLFxuICBFdGF0QW1lbmRlbWVudENvZGU6IFtcbiAgICBcIkFDXCIsXG4gICAgXCJBVFwiLFxuICAgIFwiRElcIixcbiAgICBcImVmZmFjw6lcIixcbiAgICBcIkVSXCIsXG4gICAgXCJFVFwiLFxuICAgIFwiSVJcIixcbiAgICBcIklSUjEyN1wiLFxuICAgIFwiSVJSMjBcIixcbiAgICBcIklSUjM3XCIsXG4gICAgXCJJUlIzOFwiLFxuICAgIFwiSVJSNDFcIixcbiAgICBcIklSUjQyXCIsXG4gICAgXCJJUlI0NVwiLFxuICAgIFwiSVJSNDhcIixcbiAgICBcIklSUjUzXCIsXG4gICAgXCJJUlJBSVwiLFxuICAgIFwiSVJSQUlGXCIsXG4gICAgXCJJUlJEXCIsXG4gICAgXCJJUlJIQ1wiLFxuICAgIFwiSVJSSERcIixcbiAgICBcIklSUlNBXCIsXG4gICAgXCJSXCIsXG4gICAgXCJSVFwiLFxuICAgIFwiVFwiLFxuICBdLFxuICBFdGF0QW1lbmRlbWVudExpYmVsbGU6IFtcbiAgICBcIkEgZGlzY3V0ZXJcIixcbiAgICBcIkEgZMOpcG9zZXJcIixcbiAgICBcIkRpc2N1dMOpXCIsXG4gICAgXCJlZmZhY8OpXCIsXG4gICAgXCJFbiByZWNldmFiaWxpdMOpXCIsXG4gICAgXCJFbiB0cmFpdGVtZW50XCIsXG4gICAgXCJJcnJlY2V2YWJsZVwiLFxuICAgIFwiSXJyZWNldmFibGUgNDBcIixcbiAgICBcIlJldGlyw6lcIixcbiAgXSxcbiAgU29ydEFtZW5kZW1lbnQ6IFtcbiAgICBcIkFkb3B0w6lcIixcbiAgICBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqVwiLFxuICAgIFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpIDQwXCIsXG4gICAgXCJBdXRyZXMgaXJyIExPTEZcIixcbiAgICBcIkF1dHJlcyBpcnIgTE9MRlNTXCIsXG4gICAgXCJDYXZhbGllciAoNDUpXCIsXG4gICAgXCJDYXZhbGllciBidWRnw6l0YWlyZVwiLFxuICAgIFwiQ2F2YWxpZXIgc29jaWFsXCIsXG4gICAgXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgXCJDaGFyZ2VcIixcbiAgICBcIkNNUCAoNDUpXCIsXG4gICAgXCJDcsOpZGl0c1wiLFxuICAgIFwiRGlzcG9zaXRpb24gcsOpZ2xlbWVudGFpcmUgKDM3KVwiLFxuICAgIFwiRG9tYWluZSBkZSBsYSBsb2kgKDQxKVwiLFxuICAgIFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgXCJEb3VibG9uXCIsXG4gICAgXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICAgIFwiR2FnZVwiLFxuICAgIFwiSG9ycy1kw6lsYWlzXCIsXG4gICAgXCJJbmpvbmN0aW9uICgyMClcIixcbiAgICBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gICAgXCJJcnIgZW4gc2Vjb25kZSBwYXJ0aWVcIixcbiAgICBcIkxPTEZcIixcbiAgICBcIkxPTEZTU1wiLFxuICAgIFwiTm9uIHNvdXRlbnVcIixcbiAgICBcIk9yZHJlIGR1IGpvdXIgKDQ4KVwiLFxuICAgIFwiUlwiLFxuICAgIFwiUmF0aWZpY2F0aW9uIHRyYWl0w6kgKDUzKVwiLFxuICAgIFwiUmVqZXTDqVwiLFxuICAgIFwiUmV0aXLDqVwiLFxuICAgIFwiUmV0aXLDqSBhcHLDqHMgcHVibGljYXRpb25cIixcbiAgICBcIlJldGlyw6kgYXZhbnQgcHVibGljYXRpb25cIixcbiAgICBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICBcIlNvdXMtYW1lbmRlbWVudCAoOTgpXCIsXG4gICAgXCJUb21iw6lcIixcbiAgXSxcbiAgVHlwZVBvc2l0aW9uOiBbXCJEZXJuaWVyXCIsIFwiTWlsaWV1XCIsIFwiUHJlbWllclwiXSxcbiAgQXZhbnRBQXByZXM6IFtcIkFcIiwgXCJBcHJlc1wiLCBcIkF2YW50XCJdLFxuICBEaXZpc2lvblR5cGU6IFtcIkFOTkVYRVwiLCBcIkFSVElDTEVcIiwgXCJDSEFQSVRSRVwiLCBcIlRJVFJFXCJdLFxuICBDb2RlRXRhdDogW1wiQlwiLCBcIkNcIiwgXCJEXCJdLFxuICBOb206IFtcIlBERlwiXSxcbiAgVHlwZU1pbWVUeXBlOiBbXCJhcHBsaWNhdGlvblwiXSxcbiAgVHlwZUF1dGV1cjogW1wiRMOpcHV0w6lcIiwgXCJHb3V2ZXJuZW1lbnRcIiwgXCJSYXBwb3J0ZXVyXCJdLFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBcUNBLFdBQVlBLGdDQUFnQywwQkFBaENBLGdDQUFnQztFQUFoQ0EsZ0NBQWdDO0VBQWhDQSxnQ0FBZ0M7RUFBQSxPQUFoQ0EsZ0NBQWdDO0FBQUE7QUFzQzVDLFdBQVlDLE1BQU0sMEJBQU5BLE1BQU07RUFBTkEsTUFBTTtFQUFOQSxNQUFNO0VBQU5BLE1BQU07RUFBQSxPQUFOQSxNQUFNO0FBQUE7QUEwRGxCLFdBQVlDLGtCQUFrQiwwQkFBbEJBLGtC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