@tricoteuses/assemblee 1.0.0-next.2 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/api.js +23 -7
- package/lib/api.mjs +41 -0
- package/lib/bugs/acteur-00010/plugin.test.js +139 -33
- package/lib/bugs/acteur-00010/plugin.test.mjs +33 -0
- package/lib/bugs/acteur-00010.js +166 -24
- package/lib/bugs/acteur-00010.mjs +31 -0
- package/lib/bugs/agenda-00002/plugin.test.js +178 -52
- package/lib/bugs/agenda-00002/plugin.test.mjs +52 -0
- package/lib/bugs/agenda-00002.js +507 -143
- package/lib/bugs/agenda-00002.mjs +197 -0
- package/lib/bugs/agenda-00008/plugin.test.js +143 -31
- package/lib/bugs/agenda-00008/plugin.test.mjs +31 -0
- package/lib/bugs/agenda-00008.js +180 -25
- package/lib/bugs/agenda-00008.mjs +30 -0
- package/lib/bugs/agenda-00011/plugin.test.js +371 -156
- package/lib/bugs/agenda-00011/plugin.test.mjs +156 -0
- package/lib/bugs/agenda-00011.js +416 -117
- package/lib/bugs/agenda-00011.mjs +150 -0
- package/lib/bugs.js +591 -54
- package/lib/bugs.mjs +93 -0
- package/lib/cleaners/actes_legislatifs.js +149 -61
- package/lib/cleaners/actes_legislatifs.mjs +311 -0
- package/lib/cleaners/acteurs.js +255 -123
- package/lib/cleaners/acteurs.mjs +211 -0
- package/lib/cleaners/amendements.js +242 -117
- package/lib/cleaners/amendements.mjs +292 -0
- package/lib/cleaners/documents.js +147 -62
- package/lib/cleaners/documents.mjs +162 -0
- package/lib/cleaners/dossiers_legislatifs.js +132 -45
- package/lib/cleaners/dossiers_legislatifs.mjs +123 -0
- package/lib/cleaners/index.js +64 -8
- package/lib/cleaners/index.mjs +8 -0
- package/lib/cleaners/organes.js +54 -21
- package/lib/cleaners/organes.mjs +64 -0
- package/lib/cleaners/reunions.js +237 -127
- package/lib/cleaners/reunions.mjs +318 -0
- package/lib/cleaners/scrutins.js +261 -99
- package/lib/cleaners/scrutins.mjs +254 -0
- package/lib/cleaners/xml.js +81 -16
- package/lib/cleaners/xml.mjs +42 -0
- package/lib/datasets.js +284 -153
- package/lib/datasets.mjs +596 -0
- package/lib/dates.js +93 -34
- package/lib/dates.mjs +98 -0
- package/lib/dossiers_legislatifs.js +107 -33
- package/lib/dossiers_legislatifs.mjs +215 -0
- package/lib/file_systems.js +203 -35
- package/lib/file_systems.mjs +64 -0
- package/lib/git.js +139 -41
- package/lib/git.mjs +114 -0
- package/lib/index.js +310 -16
- package/lib/index.mjs +16 -0
- package/lib/inserters.js +355 -131
- package/lib/inserters.mjs +413 -0
- package/lib/loaders.js +900 -440
- package/lib/loaders.mjs +678 -0
- package/lib/organes.js +15 -5
- package/lib/organes.mjs +18 -0
- package/lib/parsers/documents.js +241 -89
- package/lib/parsers/documents.mjs +433 -0
- package/lib/parsers/index.js +36 -3
- package/lib/parsers/index.mjs +3 -0
- package/lib/parsers/recherche_amendements.js +616 -173
- package/lib/parsers/recherche_amendements.mjs +189 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +36 -148
- package/lib/raw_types/acteurs_et_organes.js +228 -506
- package/lib/raw_types/acteurs_et_organes.mjs +1240 -0
- package/lib/raw_types/agendas.js +165 -75
- package/lib/raw_types/agendas.mjs +944 -0
- package/lib/raw_types/amendements.js +165 -77
- package/lib/raw_types/amendements.mjs +1040 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +1 -43
- package/lib/raw_types/dossiers_legislatifs.js +181 -143
- package/lib/raw_types/dossiers_legislatifs.mjs +1792 -0
- package/lib/raw_types/scrutins.js +144 -61
- package/lib/raw_types/scrutins.mjs +645 -0
- package/lib/scripts/bugs_helper.js +657 -155
- package/lib/scripts/bugs_helper.mjs +286 -0
- package/lib/scripts/clean_data.js +380 -145
- package/lib/scripts/clean_data.mjs +190 -0
- package/lib/scripts/clean_reorganized_data.js +627 -331
- package/lib/scripts/clean_reorganized_data.mjs +520 -0
- package/lib/scripts/diff_amendements.js +159 -73
- package/lib/scripts/diff_amendements.mjs +234 -0
- package/lib/scripts/document_dossiers_legislatifs.js +570 -288
- package/lib/scripts/document_dossiers_legislatifs.mjs +494 -0
- package/lib/scripts/get_today_reunions.js +37 -20
- package/lib/scripts/get_today_reunions.mjs +41 -0
- package/lib/scripts/merge_scrutins.js +121 -39
- package/lib/scripts/merge_scrutins.mjs +69 -0
- package/lib/scripts/parse_textes_lois.js +179 -125
- package/lib/scripts/parse_textes_lois.mjs +215 -0
- package/lib/scripts/raw_types_from_amendements.js +276 -77
- package/lib/scripts/raw_types_from_amendements.mjs +118 -0
- package/lib/scripts/reorganize_data.js +867 -446
- package/lib/scripts/reorganize_data.mjs +712 -0
- package/lib/scripts/retrieve_deputes_photos.js +378 -157
- package/lib/scripts/retrieve_deputes_photos.mjs +230 -0
- package/lib/scripts/retrieve_documents.js +648 -172
- package/lib/scripts/retrieve_documents.mjs +292 -0
- package/lib/scripts/retrieve_open_data.js +286 -85
- package/lib/scripts/retrieve_open_data.mjs +125 -0
- package/lib/scripts/retrieve_pending_amendments.js +302 -69
- package/lib/scripts/retrieve_pending_amendments.mjs +130 -0
- package/lib/scripts/retrieve_senateurs_photos.js +374 -198
- package/lib/scripts/retrieve_senateurs_photos.mjs +277 -0
- package/lib/scripts/retrieve_textes_lois.js +343 -89
- package/lib/scripts/retrieve_textes_lois.mjs +168 -0
- package/lib/scripts/test_load.js +30 -11
- package/lib/scripts/test_load.mjs +26 -0
- package/lib/scripts/test_load_big_files.js +30 -11
- package/lib/scripts/test_load_big_files.mjs +26 -0
- package/lib/scripts/validate_json.js +370 -120
- package/lib/scripts/validate_json.mjs +216 -0
- package/lib/shared_types/codes_actes.js +50 -15
- package/lib/shared_types/codes_actes.mjs +228 -0
- package/lib/strings.js +16 -3
- package/lib/strings.mjs +7 -0
- package/lib/types/acteurs_et_organes.js +156 -71
- package/lib/types/acteurs_et_organes.mjs +918 -0
- package/lib/types/agendas.js +154 -67
- package/lib/types/agendas.mjs +623 -0
- package/lib/types/amendements.js +166 -77
- package/lib/types/amendements.mjs +885 -0
- package/lib/types/dossiers_legislatifs.d.ts +1 -42
- package/lib/types/dossiers_legislatifs.js +182 -143
- package/lib/types/dossiers_legislatifs.mjs +1120 -0
- package/lib/types/legislatures.js +12 -3
- package/lib/types/legislatures.mjs +9 -0
- package/lib/types/scrutins.js +144 -61
- package/lib/types/scrutins.mjs +528 -0
- package/lib/urls.js +44 -25
- package/lib/urls.mjs +201 -0
- package/package.json +33 -12
|
@@ -1,3 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.symbol.description.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.array.iterator.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.string.iterator.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
14
|
+
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: true
|
|
17
|
+
});
|
|
18
|
+
exports.TypePosition = exports.TypeMIMEType = exports.TypeAuteur = exports.SortEnum = exports.Nom = exports.Libelle = exports.DivisionType = exports.Convert = exports.CodeEtat = exports.Code = exports.AvantAApres = exports.Action = exports.AccordGouvernementDepotHorsDelai = void 0;
|
|
19
|
+
|
|
20
|
+
require("core-js/modules/es.array.concat.js");
|
|
21
|
+
|
|
22
|
+
require("core-js/modules/es.array.for-each.js");
|
|
23
|
+
|
|
24
|
+
require("core-js/modules/es.object.to-string.js");
|
|
25
|
+
|
|
26
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
27
|
+
|
|
28
|
+
require("core-js/modules/es.array.index-of.js");
|
|
29
|
+
|
|
30
|
+
require("core-js/modules/es.array.is-array.js");
|
|
31
|
+
|
|
32
|
+
require("core-js/modules/es.array.map.js");
|
|
33
|
+
|
|
34
|
+
require("core-js/modules/es.date.to-string.js");
|
|
35
|
+
|
|
36
|
+
require("core-js/modules/es.object.get-own-property-names.js");
|
|
37
|
+
|
|
38
|
+
require("core-js/modules/es.object.define-property.js");
|
|
39
|
+
|
|
40
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
41
|
+
|
|
42
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
43
|
+
|
|
44
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
45
|
+
|
|
46
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
47
|
+
|
|
1
48
|
// To parse this data:
|
|
2
49
|
//
|
|
3
50
|
// import { Amendements, AmendementWrapper, Convert, TexteLegislatif } from "./file";
|
|
@@ -8,22 +55,25 @@
|
|
|
8
55
|
//
|
|
9
56
|
// These functions will throw an error if the JSON doesn't
|
|
10
57
|
// match the expected interface, even if the JSON is valid.
|
|
11
|
-
|
|
58
|
+
var AccordGouvernementDepotHorsDelai;
|
|
59
|
+
exports.AccordGouvernementDepotHorsDelai = AccordGouvernementDepotHorsDelai;
|
|
12
60
|
|
|
13
61
|
(function (AccordGouvernementDepotHorsDelai) {
|
|
14
62
|
AccordGouvernementDepotHorsDelai["Accord"] = "Accord";
|
|
15
63
|
AccordGouvernementDepotHorsDelai["SansObjet"] = "Sans objet";
|
|
16
|
-
})(AccordGouvernementDepotHorsDelai || (AccordGouvernementDepotHorsDelai = {}));
|
|
64
|
+
})(AccordGouvernementDepotHorsDelai || (exports.AccordGouvernementDepotHorsDelai = AccordGouvernementDepotHorsDelai = {}));
|
|
17
65
|
|
|
18
|
-
|
|
66
|
+
var Action;
|
|
67
|
+
exports.Action = Action;
|
|
19
68
|
|
|
20
69
|
(function (Action) {
|
|
21
70
|
Action["Cr\xE9ation"] = "cr\xE9ation";
|
|
22
71
|
Action["Modification"] = "modification";
|
|
23
72
|
Action["Suppression"] = "suppression";
|
|
24
|
-
})(Action || (Action = {}));
|
|
73
|
+
})(Action || (exports.Action = Action = {}));
|
|
25
74
|
|
|
26
|
-
|
|
75
|
+
var Code;
|
|
76
|
+
exports.Code = Code;
|
|
27
77
|
|
|
28
78
|
(function (Code) {
|
|
29
79
|
Code["AC"] = "AC";
|
|
@@ -48,9 +98,10 @@ export let Code;
|
|
|
48
98
|
Code["R"] = "R";
|
|
49
99
|
Code["Rt"] = "RT";
|
|
50
100
|
Code["T"] = "T";
|
|
51
|
-
})(Code || (Code = {}));
|
|
101
|
+
})(Code || (exports.Code = Code = {}));
|
|
52
102
|
|
|
53
|
-
|
|
103
|
+
var Libelle;
|
|
104
|
+
exports.Libelle = Libelle;
|
|
54
105
|
|
|
55
106
|
(function (Libelle) {
|
|
56
107
|
Libelle["ADiscuter"] = "A discuter";
|
|
@@ -62,9 +113,10 @@ export let Libelle;
|
|
|
62
113
|
Libelle["Irrecevable"] = "Irrecevable";
|
|
63
114
|
Libelle["Irrecevable40"] = "Irrecevable 40";
|
|
64
115
|
Libelle["Retir\xE9"] = "Retir\xE9";
|
|
65
|
-
})(Libelle || (Libelle = {}));
|
|
116
|
+
})(Libelle || (exports.Libelle = Libelle = {}));
|
|
66
117
|
|
|
67
|
-
|
|
118
|
+
var SortEnum;
|
|
119
|
+
exports.SortEnum = SortEnum;
|
|
68
120
|
|
|
69
121
|
(function (SortEnum) {
|
|
70
122
|
SortEnum["Adopt\xE9"] = "Adopt\xE9";
|
|
@@ -101,104 +153,130 @@ export let SortEnum;
|
|
|
101
153
|
SortEnum["SatisfaitOuInop\xE9rant42"] = "Satisfait ou inop\xE9rant (42)";
|
|
102
154
|
SortEnum["SousAmendement98"] = "Sous-amendement (98)";
|
|
103
155
|
SortEnum["Tomb\xE9"] = "Tomb\xE9";
|
|
104
|
-
})(SortEnum || (SortEnum = {}));
|
|
156
|
+
})(SortEnum || (exports.SortEnum = SortEnum = {}));
|
|
105
157
|
|
|
106
|
-
|
|
158
|
+
var TypePosition;
|
|
159
|
+
exports.TypePosition = TypePosition;
|
|
107
160
|
|
|
108
161
|
(function (TypePosition) {
|
|
109
162
|
TypePosition["Dernier"] = "Dernier";
|
|
110
163
|
TypePosition["Milieu"] = "Milieu";
|
|
111
164
|
TypePosition["Premier"] = "Premier";
|
|
112
|
-
})(TypePosition || (TypePosition = {}));
|
|
165
|
+
})(TypePosition || (exports.TypePosition = TypePosition = {}));
|
|
113
166
|
|
|
114
|
-
|
|
167
|
+
var AvantAApres;
|
|
168
|
+
exports.AvantAApres = AvantAApres;
|
|
115
169
|
|
|
116
170
|
(function (AvantAApres) {
|
|
117
171
|
AvantAApres["A"] = "A";
|
|
118
172
|
AvantAApres["Apr\xE8s"] = "Apr\xE8s";
|
|
119
173
|
AvantAApres["Avant"] = "Avant";
|
|
120
|
-
})(AvantAApres || (AvantAApres = {}));
|
|
174
|
+
})(AvantAApres || (exports.AvantAApres = AvantAApres = {}));
|
|
121
175
|
|
|
122
|
-
|
|
176
|
+
var DivisionType;
|
|
177
|
+
exports.DivisionType = DivisionType;
|
|
123
178
|
|
|
124
179
|
(function (DivisionType) {
|
|
125
180
|
DivisionType["Annexe"] = "ANNEXE";
|
|
126
181
|
DivisionType["Article"] = "ARTICLE";
|
|
127
182
|
DivisionType["Chapitre"] = "CHAPITRE";
|
|
128
183
|
DivisionType["Titre"] = "TITRE";
|
|
129
|
-
})(DivisionType || (DivisionType = {}));
|
|
184
|
+
})(DivisionType || (exports.DivisionType = DivisionType = {}));
|
|
130
185
|
|
|
131
|
-
|
|
186
|
+
var CodeEtat;
|
|
187
|
+
exports.CodeEtat = CodeEtat;
|
|
132
188
|
|
|
133
189
|
(function (CodeEtat) {
|
|
134
190
|
CodeEtat["B"] = "B";
|
|
135
191
|
CodeEtat["C"] = "C";
|
|
136
192
|
CodeEtat["D"] = "D";
|
|
137
|
-
})(CodeEtat || (CodeEtat = {}));
|
|
193
|
+
})(CodeEtat || (exports.CodeEtat = CodeEtat = {}));
|
|
138
194
|
|
|
139
|
-
|
|
195
|
+
var Nom;
|
|
196
|
+
exports.Nom = Nom;
|
|
140
197
|
|
|
141
198
|
(function (Nom) {
|
|
142
199
|
Nom["PDF"] = "PDF";
|
|
143
|
-
})(Nom || (Nom = {}));
|
|
200
|
+
})(Nom || (exports.Nom = Nom = {}));
|
|
144
201
|
|
|
145
|
-
|
|
202
|
+
var TypeMIMEType;
|
|
203
|
+
exports.TypeMIMEType = TypeMIMEType;
|
|
146
204
|
|
|
147
205
|
(function (TypeMIMEType) {
|
|
148
206
|
TypeMIMEType["Application"] = "application";
|
|
149
|
-
})(TypeMIMEType || (TypeMIMEType = {}));
|
|
207
|
+
})(TypeMIMEType || (exports.TypeMIMEType = TypeMIMEType = {}));
|
|
150
208
|
|
|
151
|
-
|
|
209
|
+
var TypeAuteur;
|
|
210
|
+
exports.TypeAuteur = TypeAuteur;
|
|
152
211
|
|
|
153
212
|
(function (TypeAuteur) {
|
|
154
213
|
TypeAuteur["D\xE9put\xE9"] = "D\xE9put\xE9";
|
|
155
214
|
TypeAuteur["Gouvernement"] = "Gouvernement";
|
|
156
215
|
TypeAuteur["Rapporteur"] = "Rapporteur";
|
|
157
|
-
})(TypeAuteur || (TypeAuteur = {}));
|
|
216
|
+
})(TypeAuteur || (exports.TypeAuteur = TypeAuteur = {}));
|
|
158
217
|
|
|
159
218
|
// Converts JSON strings to/from your types
|
|
160
219
|
// and asserts the results of JSON.parse at runtime
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
220
|
+
var Convert = /*#__PURE__*/function () {
|
|
221
|
+
function Convert() {
|
|
222
|
+
_classCallCheck(this, Convert);
|
|
164
223
|
}
|
|
165
224
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
225
|
+
_createClass(Convert, null, [{
|
|
226
|
+
key: "toAmendements",
|
|
227
|
+
value: function toAmendements(json) {
|
|
228
|
+
return cast(JSON.parse(json), r("Amendements"));
|
|
229
|
+
}
|
|
230
|
+
}, {
|
|
231
|
+
key: "amendementsToJson",
|
|
232
|
+
value: function amendementsToJson(value) {
|
|
233
|
+
return JSON.stringify(uncast(value, r("Amendements")), null, 2);
|
|
234
|
+
}
|
|
235
|
+
}, {
|
|
236
|
+
key: "toTexteLegislatif",
|
|
237
|
+
value: function toTexteLegislatif(json) {
|
|
238
|
+
return cast(JSON.parse(json), r("TexteLegislatif"));
|
|
239
|
+
}
|
|
240
|
+
}, {
|
|
241
|
+
key: "texteLegislatifToJson",
|
|
242
|
+
value: function texteLegislatifToJson(value) {
|
|
243
|
+
return JSON.stringify(uncast(value, r("TexteLegislatif")), null, 2);
|
|
244
|
+
}
|
|
245
|
+
}, {
|
|
246
|
+
key: "toAmendementWrapper",
|
|
247
|
+
value: function toAmendementWrapper(json) {
|
|
248
|
+
return cast(JSON.parse(json), r("AmendementWrapper"));
|
|
249
|
+
}
|
|
250
|
+
}, {
|
|
251
|
+
key: "amendementWrapperToJson",
|
|
252
|
+
value: function amendementWrapperToJson(value) {
|
|
253
|
+
return JSON.stringify(uncast(value, r("AmendementWrapper")), null, 2);
|
|
254
|
+
}
|
|
255
|
+
}]);
|
|
177
256
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
257
|
+
return Convert;
|
|
258
|
+
}();
|
|
181
259
|
|
|
182
|
-
|
|
183
|
-
return JSON.stringify(uncast(value, r("AmendementWrapper")), null, 2);
|
|
184
|
-
}
|
|
260
|
+
exports.Convert = Convert;
|
|
185
261
|
|
|
186
|
-
|
|
262
|
+
function invalidValue(typ, val) {
|
|
263
|
+
var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
187
264
|
|
|
188
|
-
function invalidValue(typ, val, key = '') {
|
|
189
265
|
if (key) {
|
|
190
|
-
throw Error(
|
|
266
|
+
throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
|
|
191
267
|
}
|
|
192
268
|
|
|
193
|
-
throw Error(
|
|
269
|
+
throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
|
|
194
270
|
}
|
|
195
271
|
|
|
196
272
|
function jsonToJSProps(typ) {
|
|
197
273
|
if (typ.jsonToJS === undefined) {
|
|
198
|
-
|
|
199
|
-
typ.props.forEach(
|
|
200
|
-
|
|
201
|
-
|
|
274
|
+
var map = {};
|
|
275
|
+
typ.props.forEach(function (p) {
|
|
276
|
+
return map[p.json] = {
|
|
277
|
+
key: p.js,
|
|
278
|
+
typ: p.typ
|
|
279
|
+
};
|
|
202
280
|
});
|
|
203
281
|
typ.jsonToJS = map;
|
|
204
282
|
}
|
|
@@ -208,10 +286,12 @@ function jsonToJSProps(typ) {
|
|
|
208
286
|
|
|
209
287
|
function jsToJSONProps(typ) {
|
|
210
288
|
if (typ.jsToJSON === undefined) {
|
|
211
|
-
|
|
212
|
-
typ.props.forEach(
|
|
213
|
-
|
|
214
|
-
|
|
289
|
+
var map = {};
|
|
290
|
+
typ.props.forEach(function (p) {
|
|
291
|
+
return map[p.js] = {
|
|
292
|
+
key: p.json,
|
|
293
|
+
typ: p.typ
|
|
294
|
+
};
|
|
215
295
|
});
|
|
216
296
|
typ.jsToJSON = map;
|
|
217
297
|
}
|
|
@@ -219,21 +299,23 @@ function jsToJSONProps(typ) {
|
|
|
219
299
|
return typ.jsToJSON;
|
|
220
300
|
}
|
|
221
301
|
|
|
222
|
-
function transform(val, typ, getProps
|
|
302
|
+
function transform(val, typ, getProps) {
|
|
303
|
+
var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
304
|
+
|
|
223
305
|
function transformPrimitive(typ, val) {
|
|
224
|
-
if (
|
|
306
|
+
if (_typeof(typ) === _typeof(val)) return val;
|
|
225
307
|
return invalidValue(typ, val, key);
|
|
226
308
|
}
|
|
227
309
|
|
|
228
310
|
function transformUnion(typs, val) {
|
|
229
311
|
// val must validate against one typ in typs
|
|
230
|
-
|
|
312
|
+
var l = typs.length;
|
|
231
313
|
|
|
232
|
-
for (
|
|
233
|
-
|
|
314
|
+
for (var i = 0; i < l; i++) {
|
|
315
|
+
var _typ = typs[i];
|
|
234
316
|
|
|
235
317
|
try {
|
|
236
|
-
return transform(val,
|
|
318
|
+
return transform(val, _typ, getProps);
|
|
237
319
|
} catch (_) {}
|
|
238
320
|
}
|
|
239
321
|
|
|
@@ -248,7 +330,9 @@ function transform(val, typ, getProps, key = '') {
|
|
|
248
330
|
function transformArray(typ, val) {
|
|
249
331
|
// val must be an array with no invalid elements
|
|
250
332
|
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
251
|
-
return val.map(
|
|
333
|
+
return val.map(function (el) {
|
|
334
|
+
return transform(el, typ, getProps);
|
|
335
|
+
});
|
|
252
336
|
}
|
|
253
337
|
|
|
254
338
|
function transformDate(val) {
|
|
@@ -256,7 +340,7 @@ function transform(val, typ, getProps, key = '') {
|
|
|
256
340
|
return null;
|
|
257
341
|
}
|
|
258
342
|
|
|
259
|
-
|
|
343
|
+
var d = new Date(val);
|
|
260
344
|
|
|
261
345
|
if (isNaN(d.valueOf())) {
|
|
262
346
|
return invalidValue("Date", val);
|
|
@@ -266,17 +350,17 @@ function transform(val, typ, getProps, key = '') {
|
|
|
266
350
|
}
|
|
267
351
|
|
|
268
352
|
function transformObject(props, additional, val) {
|
|
269
|
-
if (val === null ||
|
|
353
|
+
if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
|
|
270
354
|
return invalidValue("object", val);
|
|
271
355
|
}
|
|
272
356
|
|
|
273
|
-
|
|
274
|
-
Object.getOwnPropertyNames(props).forEach(key
|
|
275
|
-
|
|
276
|
-
|
|
357
|
+
var result = {};
|
|
358
|
+
Object.getOwnPropertyNames(props).forEach(function (key) {
|
|
359
|
+
var prop = props[key];
|
|
360
|
+
var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
277
361
|
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
278
362
|
});
|
|
279
|
-
Object.getOwnPropertyNames(val).forEach(key
|
|
363
|
+
Object.getOwnPropertyNames(val).forEach(function (key) {
|
|
280
364
|
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
281
365
|
result[key] = transform(val[key], additional, getProps, key);
|
|
282
366
|
}
|
|
@@ -293,13 +377,13 @@ function transform(val, typ, getProps, key = '') {
|
|
|
293
377
|
|
|
294
378
|
if (typ === false) return invalidValue(typ, val);
|
|
295
379
|
|
|
296
|
-
while (
|
|
380
|
+
while (_typeof(typ) === "object" && typ.ref !== undefined) {
|
|
297
381
|
typ = typeMap[typ.ref];
|
|
298
382
|
}
|
|
299
383
|
|
|
300
384
|
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
301
385
|
|
|
302
|
-
if (
|
|
386
|
+
if (_typeof(typ) === "object") {
|
|
303
387
|
return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
|
|
304
388
|
} // Numbers can be parsed by Date but shouldn't be.
|
|
305
389
|
|
|
@@ -322,7 +406,11 @@ function a(typ) {
|
|
|
322
406
|
};
|
|
323
407
|
}
|
|
324
408
|
|
|
325
|
-
function u(
|
|
409
|
+
function u() {
|
|
410
|
+
for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
411
|
+
typs[_key] = arguments[_key];
|
|
412
|
+
}
|
|
413
|
+
|
|
326
414
|
return {
|
|
327
415
|
unionMembers: typs
|
|
328
416
|
};
|
|
@@ -330,8 +418,8 @@ function u(...typs) {
|
|
|
330
418
|
|
|
331
419
|
function o(props, additional) {
|
|
332
420
|
return {
|
|
333
|
-
props,
|
|
334
|
-
additional
|
|
421
|
+
props: props,
|
|
422
|
+
additional: additional
|
|
335
423
|
};
|
|
336
424
|
} // function m(additional: any) {
|
|
337
425
|
// return { props: [], additional };
|
|
@@ -344,7 +432,7 @@ function r(name) {
|
|
|
344
432
|
};
|
|
345
433
|
}
|
|
346
434
|
|
|
347
|
-
|
|
435
|
+
var typeMap = {
|
|
348
436
|
"Amendements": o([{
|
|
349
437
|
json: "textesLegislatifs",
|
|
350
438
|
js: "textesLegislatifs",
|
|
@@ -1037,4 +1125,4 @@ const typeMap = {
|
|
|
1037
1125
|
"TypeMIMEType": ["application"],
|
|
1038
1126
|
"TypeAuteur": ["Député", "Gouvernement", "Rapporteur"]
|
|
1039
1127
|
};
|
|
1040
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkNvZGUiLCJMaWJlbGxlIiwiU29ydEVudW0iLCJUeXBlUG9zaXRpb24iLCJBdmFudEFBcHJlcyIsIkRpdmlzaW9uVHlwZSIsIkNvZGVFdGF0IiwiTm9tIiwiVHlwZU1JTUVUeXBlIiwiVHlwZUF1dGV1ciIsIkNvbnZlcnQiLCJ0b0FtZW5kZW1lbnRzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYW1lbmRlbWVudHNUb0pzb24iLCJ2YWx1ZSIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvVGV4dGVMZWdpc2xhdGlmIiwidGV4dGVMZWdpc2xhdGlmVG9Kc29uIiwidG9BbWVuZGVtZW50V3JhcHBlciIsImFtZW5kZW1lbnRXcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwia2V5IiwiRXJyb3IiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJ1bmRlZmluZWQiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJsZW5ndGgiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvYW1lbmRlbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQW1lbmRlbWVudHMsIEFtZW5kZW1lbnRXcmFwcGVyLCBDb252ZXJ0LCBUZXh0ZUxlZ2lzbGF0aWYgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBhbWVuZGVtZW50cyA9IENvbnZlcnQudG9BbWVuZGVtZW50cyhqc29uKTtcbi8vICAgY29uc3QgYW1lbmRlbWVudFdyYXBwZXIgPSBDb252ZXJ0LnRvQW1lbmRlbWVudFdyYXBwZXIoanNvbik7XG4vLyAgIGNvbnN0IHRleHRlTGVnaXNsYXRpZiA9IENvbnZlcnQudG9UZXh0ZUxlZ2lzbGF0aWYoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50cyB7XG4gIHRleHRlc0xlZ2lzbGF0aWZzOiBUZXh0ZUxlZ2lzbGF0aWZbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlTGVnaXNsYXRpZiB7XG4gICAgXCJAeG1sbnM6eHNpXCI6ICAgICAgIHN0cmluZztcbiAgICByZWZUZXh0ZUxlZ2lzbGF0aWY6IHN0cmluZztcbiAgICBhbWVuZGVtZW50czogICAgICAgIEFtZW5kZW1lbnRzQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHNDbGFzcyB7XG4gICAgYW1lbmRlbWVudDogQW1lbmRlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRXcmFwcGVyIHtcbiAgYW1lbmRlbWVudDogQW1lbmRlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnQge1xuICAgIFwiQHhtbG5zXCI6ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB1aWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNocm9ub3RhZzogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZGVudGlmaWNhdGlvbjogICAgICAgICAgICAgICAgICAgSWRlbnRpZmljYXRpb247XG4gICAgZXhhbWVuUmVmOiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB0ZXh0ZUxlZ2lzbGF0aWZSZWY6ICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHRyaUFtZW5kZW1lbnQ6ICAgICAgICAgICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgY2FyZGluYWxpdGVBbWR0TXVsdGlwbGVzOiAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhbWVuZGVtZW50UGFyZW50UmVmOiAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIHNpZ25hdGFpcmVzOiAgICAgICAgICAgICAgICAgICAgICBTaWduYXRhaXJlcztcbiAgICBwb2ludGV1ckZyYWdtZW50VGV4dGU6ICAgICAgICAgICAgUG9pbnRldXJGcmFnbWVudFRleHRlO1xuICAgIGNvcnBzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JwcztcbiAgICBjeWNsZURlVmllOiAgICAgICAgICAgICAgICAgICAgICAgQ3ljbGVEZVZpZTtcbiAgICByZXByZXNlbnRhdGlvbnM6ICAgICAgICAgICAgICAgICAgUmVwcmVzZW50YXRpb25zIHwgbnVsbDtcbiAgICBzZWFuY2VEaXNjdXNzaW9uUmVmOiAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFydGljbGU5OTogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbG9pUmVmZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgIExvaVJlZmVyZW5jZTtcbiAgICBkaXNjdXNzaW9uQ29tbXVuZTogICAgICAgICAgICAgICAgRGlzY3Vzc2lvbjtcbiAgICBkaXNjdXNzaW9uSWRlbnRpcXVlOiAgICAgICAgICAgICAgRGlzY3Vzc2lvbjtcbiAgICBhY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaTogQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWk7XG59XG5cbmV4cG9ydCBlbnVtIEFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpIHtcbiAgICBBY2NvcmQgPSBcIkFjY29yZFwiLFxuICAgIFNhbnNPYmpldCA9IFwiU2FucyBvYmpldFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB7XG4gICAgXCJAeG1sbnM6eHNpXCI6IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI6ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcnBzIHtcbiAgICBjYXJ0b3VjaGVJbmZvcm1hdGlmPzogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGNvbnRlbnVBdXRldXI/OiAgICAgICBDb250ZW51QXV0ZXVyO1xuICAgIFwiQHhtbG5zOnhzaVwiPzogICAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudUF1dGV1ciB7XG4gICAgZGlzcG9zaXRpZj86ICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF2YW50QXBwZWw/OiAgICAgICAgICAgICAgIEF2YW50QXBwZWw7XG4gICAgZXhwb3NlU29tbWFpcmU/OiAgICAgICAgICAgc3RyaW5nO1xuICAgIGFubmV4ZUV4cG9zZVNvbW1haXJlPzogICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgICAgICAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRj86ICBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRjtcbiAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlI/OiBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXZhbnRBcHBlbCB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgZGlzcG9zaXRpZj86ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIHtcbiAgICBsaXN0ZVByb2dyYW1tZXM/OiBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lcztcbiAgICBzb2xkZUFFPzogICAgICAgICBzdHJpbmc7XG4gICAgc29sZGVDUD86ICAgICAgICAgc3RyaW5nO1xuICAgIGNwRWdhbEFlOiAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lcyB7XG4gICAgcHJvZ3JhbW1lOiBQdXJwbGVQcm9ncmFtbWVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJwbGVQcm9ncmFtbWUge1xuICAgIGxpYmVsbGU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBwcm9ncmFtbWVSZWY6ICAgICAgICAgICBzdHJpbmc7XG4gICAgYXV0b3Jpc2F0aW9uRW5nYWdlbWVudDogc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50OiAgICAgICAgIHN0cmluZztcbiAgICBhY3Rpb246ICAgICAgICAgICAgICAgICBBY3Rpb247XG4gICAgbGlnbmVzQ3JlZGl0czogICAgICAgICAgUHVycGxlTGlnbmVzQ3JlZGl0cztcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgICBDcsOpYXRpb24gPSBcImNyw6lhdGlvblwiLFxuICAgIE1vZGlmaWNhdGlvbiA9IFwibW9kaWZpY2F0aW9uXCIsXG4gICAgU3VwcHJlc3Npb24gPSBcInN1cHByZXNzaW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVycGxlTGlnbmVzQ3JlZGl0cyB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgbGlnbmVDcmVkaXQ/OiAgTGlnbmVDcmVkaXRDbGFzc1tdIHwgTGlnbmVDcmVkaXRDbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWduZUNyZWRpdENsYXNzIHtcbiAgICBpZDogICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnQ6IHN0cmluZztcbiAgICBjcmVkaXRQYWllbWVudDogICAgICAgICBzdHJpbmc7XG4gICAgYWN0aW9uOiAgICAgICAgICAgICAgICAgQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiB7XG4gICAgbGlzdGVQcm9ncmFtbWVzPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSTGlzdGVQcm9ncmFtbWVzO1xuICAgIHRvdGFsQUU/OiAgICAgICAgIFRvdGFsO1xuICAgIHRvdGFsQ1A/OiAgICAgICAgIFRvdGFsO1xuICAgIGNwRWdhbEFlOiAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJMaXN0ZVByb2dyYW1tZXMge1xuICAgIHByb2dyYW1tZTogTGlnbmVDcmVkaXRFbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzIHtcbiAgICBcIkB4bWxuczp4c2lcIj86IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgIHN0cmluZztcbiAgICBsaWduZUNyZWRpdD86ICBMaWduZUNyZWRpdEVsZW1lbnRbXSB8IExpZ25lQ3JlZGl0RWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWduZUNyZWRpdEVsZW1lbnQge1xuICAgIGxpYmVsbGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHByb2dyYW1tZVJlZj86ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZTogc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmU6ICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGU6ICAgICAgICAgc3RyaW5nO1xuICAgIGNyZWRpdFBhaWVtZW50QW5udWxlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFjdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uO1xuICAgIGxpZ25lc0NyZWRpdHM/OiAgICAgICAgICAgICAgICAgICAgICAgTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzO1xuICAgIGlkPzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsIHtcbiAgICBzdXBwbGVtZW50YWlyZTogc3RyaW5nO1xuICAgIGFubnVsZTogICAgICAgICBzdHJpbmc7XG4gICAgc29sZGU6ICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDeWNsZURlVmllIHtcbiAgICBkYXRlRGVwb3Q6ICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IERhdGU7XG4gICAgZGF0ZVB1YmxpY2F0aW9uOiAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBEYXRlO1xuICAgIHNvdW1pc0FydGljbGU0MDogICAgc3RyaW5nO1xuICAgIGV0YXREZXNUcmFpdGVtZW50czogRXRhdERFU1RyYWl0ZW1lbnRzO1xuICAgIGRhdGVTb3J0OiAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgRGF0ZTtcbiAgICBzb3J0OiAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IFNvcnRFbnVtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0YXRERVNUcmFpdGVtZW50cyB7XG4gICAgZXRhdDogICAgIEV0YXQ7XG4gICAgc291c0V0YXQ6IFNvdXNFdGF0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0YXQge1xuICAgIGNvZGU6ICAgIENvZGU7XG4gICAgbGliZWxsZTogTGliZWxsZTtcbn1cblxuZXhwb3J0IGVudW0gQ29kZSB7XG4gICAgQUMgPSBcIkFDXCIsXG4gICAgQXQgPSBcIkFUXCIsXG4gICAgRGkgPSBcIkRJXCIsXG4gICAgRWZmYWPDqSA9IFwiZWZmYWPDqVwiLFxuICAgIEVyID0gXCJFUlwiLFxuICAgIElSID0gXCJJUlwiLFxuICAgIElycjEyNyA9IFwiSVJSMTI3XCIsXG4gICAgSXJyMjAgPSBcIklSUjIwXCIsXG4gICAgSXJyMzcgPSBcIklSUjM3XCIsXG4gICAgSXJyMzggPSBcIklSUjM4XCIsXG4gICAgSXJyNDEgPSBcIklSUjQxXCIsXG4gICAgSXJyNDIgPSBcIklSUjQyXCIsXG4gICAgSXJyNDUgPSBcIklSUjQ1XCIsXG4gICAgSXJyNDggPSBcIklSUjQ4XCIsXG4gICAgSXJyNTMgPSBcIklSUjUzXCIsXG4gICAgSXJyYWkgPSBcIklSUkFJXCIsXG4gICAgSXJyZCA9IFwiSVJSRFwiLFxuICAgIElycmhkID0gXCJJUlJIRFwiLFxuICAgIElycnNhID0gXCJJUlJTQVwiLFxuICAgIFIgPSBcIlJcIixcbiAgICBSdCA9IFwiUlRcIixcbiAgICBUID0gXCJUXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIEFEaXNjdXRlciA9IFwiQSBkaXNjdXRlclwiLFxuICAgIEFEw6lwb3NlciA9IFwiQSBkw6lwb3NlclwiLFxuICAgIERpc2N1dMOpID0gXCJEaXNjdXTDqVwiLFxuICAgIEVmZmFjw6kgPSBcImVmZmFjw6lcIixcbiAgICBFblJlY2V2YWJpbGl0w6kgPSBcIkVuIHJlY2V2YWJpbGl0w6lcIixcbiAgICBFblRyYWl0ZW1lbnQgPSBcIkVuIHRyYWl0ZW1lbnRcIixcbiAgICBJcnJlY2V2YWJsZSA9IFwiSXJyZWNldmFibGVcIixcbiAgICBJcnJlY2V2YWJsZTQwID0gXCJJcnJlY2V2YWJsZSA0MFwiLFxuICAgIFJldGlyw6kgPSBcIlJldGlyw6lcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3VzRXRhdCB7XG4gICAgY29kZT86ICAgICAgICAgQ29kZTtcbiAgICBsaWJlbGxlPzogICAgICBTb3J0RW51bTtcbiAgICBcIkB4bWxuczp4c2lcIj86IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gU29ydEVudW0ge1xuICAgIEFkb3B0w6kgPSBcIkFkb3B0w6lcIixcbiAgICBBdXRyZUlycmVjZXZhYmlsaXTDqSA9IFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gICAgQXV0cmVzSXJyTE9MRiA9IFwiQXV0cmVzIGlyciBMT0xGXCIsXG4gICAgQXV0cmVzSXJyTE9MRlNTID0gXCJBdXRyZXMgaXJyIExPTEZTU1wiLFxuICAgIENhdmFsaWVyNDUgPSBcIkNhdmFsaWVyICg0NSlcIixcbiAgICBDYXZhbGllckJ1ZGfDqXRhaXJlID0gXCJDYXZhbGllciBidWRnw6l0YWlyZVwiLFxuICAgIENhdmFsaWVyU29jaWFsID0gXCJDYXZhbGllciBzb2NpYWxcIixcbiAgICBDaGFtcERlTEhhYmlsaXRhdGlvbjM4ID0gXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgQ2hhcmdlID0gXCJDaGFyZ2VcIixcbiAgICBDbXA0NSA9IFwiQ01QICg0NSlcIixcbiAgICBDcsOpZGl0cyA9IFwiQ3LDqWRpdHNcIixcbiAgICBEaXNwb3NpdGlvblLDqWdsZW1lbnRhaXJlMzcgPSBcIkRpc3Bvc2l0aW9uIHLDqWdsZW1lbnRhaXJlICgzNylcIixcbiAgICBEb21haW5lRGVMYUxvaTQxID0gXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gICAgRG9tYWluZUxvaU9yZ2FuaXF1ZTEyNyA9IFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgRG91YmxvbiA9IFwiRG91YmxvblwiLFxuICAgIEVudG9ubm9pcjQ1ID0gXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICAgIEdhZ2UgPSBcIkdhZ2VcIixcbiAgICBIb3JzRMOpbGFpcyA9IFwiSG9ycy1kw6lsYWlzXCIsXG4gICAgSW5qb25jdGlvbjIwID0gXCJJbmpvbmN0aW9uICgyMClcIixcbiAgICBJcnJFblByZW1pw6hyZVBhcnRpZSA9IFwiSXJyIGVuIHByZW1pw6hyZSBwYXJ0aWVcIixcbiAgICBJcnJFblNlY29uZGVQYXJ0aWUgPSBcIklyciBlbiBzZWNvbmRlIHBhcnRpZVwiLFxuICAgIExvbGYgPSBcIkxPTEZcIixcbiAgICBMb2xmc3MgPSBcIkxPTEZTU1wiLFxuICAgIE5vblNvdXRlbnUgPSBcIk5vbiBzb3V0ZW51XCIsXG4gICAgT3JkcmVEdUpvdXI0OCA9IFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gICAgUiA9IFwiUlwiLFxuICAgIFJhdGlmaWNhdGlvblRyYWl0w6k1MyA9IFwiUmF0aWZpY2F0aW9uIHRyYWl0w6kgKDUzKVwiLFxuICAgIFJlamV0w6kgPSBcIlJlamV0w6lcIixcbiAgICBSZXRpcsOpID0gXCJSZXRpcsOpXCIsXG4gICAgUmV0aXLDqUFwcsOoc1B1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGFwcsOocyBwdWJsaWNhdGlvblwiLFxuICAgIFJldGlyw6lBdmFudFB1YmxpY2F0aW9uID0gXCJSZXRpcsOpIGF2YW50IHB1YmxpY2F0aW9uXCIsXG4gICAgU2F0aXNmYWl0T3VJbm9ww6lyYW50NDIgPSBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICBTb3VzQW1lbmRlbWVudDk4ID0gXCJTb3VzLWFtZW5kZW1lbnQgKDk4KVwiLFxuICAgIFRvbWLDqSA9IFwiVG9tYsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY3Vzc2lvbiB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgaWREaXNjdXNzaW9uPzogc3RyaW5nO1xuICAgIHR5cGVQb3NpdGlvbj86IFR5cGVQb3NpdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvc2l0aW9uIHtcbiAgICBEZXJuaWVyID0gXCJEZXJuaWVyXCIsXG4gICAgTWlsaWV1ID0gXCJNaWxpZXVcIixcbiAgICBQcmVtaWVyID0gXCJQcmVtaWVyXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmljYXRpb24ge1xuICAgIG51bWVyb0xvbmc6ICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm9PcmRyZURlcG90OiAgICBzdHJpbmc7XG4gICAgcHJlZml4ZU9yZ2FuZUV4YW1lbjogc3RyaW5nO1xuICAgIG51bWVyb1JlY3Q6ICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2lSZWZlcmVuY2Uge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogICAgc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgICAgc3RyaW5nO1xuICAgIGNvZGVMb2k/OiAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG4gICAgZGl2aXNpb25Db2RlTG9pPzogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgbnVsbCB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludGV1ckZyYWdtZW50VGV4dGUge1xuICAgIHBhcnRpZUFtZW5kYWJsZVJlZjogIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBkaXZpc2lvbj86ICAgICAgICAgICBEaXZpc2lvbjtcbiAgICBhbWVuZGVtZW50U3RhbmRhcmQ/OiBBbWVuZGVtZW50U3RhbmRhcmQ7XG4gICAgbWlzc2lvblZpc2VlPzogICAgICAgTWlzc2lvblZpc2VlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRTdGFuZGFyZCB7XG4gICAgYWxpbmVhOiBBbGluZWE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxpbmVhIHtcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgICAgc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgICAgICBzdHJpbmc7XG4gICAgYXZhbnRfQV9BcHJlcz86ICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIG51bWVybz86ICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFsaW5lYURlc2lnbmF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpdmlzaW9uIHtcbiAgICB0aXRyZTogICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhcnRpY2xlRGVzaWduYXRpb25Db3VydGU6IG51bGwgfCBzdHJpbmc7XG4gICAgYXJ0aWNsZURlc2lnbmF0aW9uOiAgICAgICBudWxsIHwgc3RyaW5nO1xuICAgIHR5cGU6ICAgICAgICAgICAgICAgICAgICAgRGl2aXNpb25UeXBlO1xuICAgIGF2YW50X0FfQXByZXM6ICAgICAgICAgICAgQXZhbnRBQXByZXM7XG4gICAgZGl2aXNpb25SYXR0YWNoZWU6ICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYXJ0aWNsZUFkZGl0aW9ubmVsOiAgICAgICBzdHJpbmc7XG4gICAgY2hhcGl0cmVBZGRpdGlvbm5lbDogICAgICBzdHJpbmc7XG4gICAgdXJsRGl2aXNpb25UZXh0ZVZpc2U6ICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEF2YW50QUFwcmVzIHtcbiAgICBBID0gXCJBXCIsXG4gICAgQXByw6hzID0gXCJBcHLDqHNcIixcbiAgICBBdmFudCA9IFwiQXZhbnRcIixcbn1cblxuZXhwb3J0IGVudW0gRGl2aXNpb25UeXBlIHtcbiAgICBBbm5leGUgPSBcIkFOTkVYRVwiLFxuICAgIEFydGljbGUgPSBcIkFSVElDTEVcIixcbiAgICBDaGFwaXRyZSA9IFwiQ0hBUElUUkVcIixcbiAgICBUaXRyZSA9IFwiVElUUkVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNzaW9uVmlzZWUge1xuICAgIGNvZGVFdGF0OiAgICAgICAgICBDb2RlRXRhdDtcbiAgICBjb2RlTWlzc2lvbk1pbmVmaTogc3RyaW5nO1xuICAgIGxpYmVsbGVNaXNzaW9uOiAgICBzdHJpbmc7XG4gICAgbWlzc2lvblJlZjogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQ29kZUV0YXQge1xuICAgIEIgPSBcIkJcIixcbiAgICBDID0gXCJDXCIsXG4gICAgRCA9IFwiRFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9ucyB7XG4gICAgcmVwcmVzZW50YXRpb246IFJlcHJlc2VudGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcHJlc2VudGF0aW9uIHtcbiAgICBub206ICAgICAgICAgICAgICAgICAgICAgTm9tO1xuICAgIHR5cGVNaW1lOiAgICAgICAgICAgICAgICBUeXBlTUlNRTtcbiAgICBzdGF0dXRSZXByZXNlbnRhdGlvbjogICAgU3RhdHV0UmVwcmVzZW50YXRpb247XG4gICAgcmVwU291cmNlOiAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBvZmZzZXQ6ICAgICAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzO1xuICAgIGNvbnRlbnU6ICAgICAgICAgICAgICAgICBDb250ZW51O1xuICAgIGRhdGVEaXNwb1JlcHJlc2VudGF0aW9uOiBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gICAgZG9jdW1lbnRVUkk6IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gTm9tIHtcbiAgICBQREYgPSBcIlBERlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1dFJlcHJlc2VudGF0aW9uIHtcbiAgICB2ZXJiYXRpbTogICAgICAgc3RyaW5nO1xuICAgIGNhbm9uaXF1ZTogICAgICBzdHJpbmc7XG4gICAgb2ZmaWNpZWxsZTogICAgIHN0cmluZztcbiAgICB0cmFuc2NyaXB0aW9uOiAgc3RyaW5nO1xuICAgIGVucmVnaXN0cmVtZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU1JTUUge1xuICAgIHR5cGU6ICAgIFR5cGVNSU1FVHlwZTtcbiAgICBzdWJUeXBlOiBOb207XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVNSU1FVHlwZSB7XG4gICAgQXBwbGljYXRpb24gPSBcImFwcGxpY2F0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0YWlyZXMge1xuICAgIGF1dGV1cjogICAgICAgIEF1dGV1cjtcbiAgICBjb3NpZ25hdGFpcmVzOiBDb3NpZ25hdGFpcmVzO1xuICAgIHN1ZmZpeGU6ICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBsaWJlbGxlOiAgICAgICBudWxsIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ciB7XG4gICAgdHlwZUF1dGV1cjogICAgICAgICAgICAgICAgVHlwZUF1dGV1cjtcbiAgICBnb3V2ZXJuZW1lbnRSZWY6ICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYWN0ZXVyUmVmOiAgICAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGdyb3VwZVBvbGl0aXF1ZVJlZjogICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmOiBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVBdXRldXIge1xuICAgIETDqXB1dMOpID0gXCJEw6lwdXTDqVwiLFxuICAgIEdvdXZlcm5lbWVudCA9IFwiR291dmVybmVtZW50XCIsXG4gICAgUmFwcG9ydGV1ciA9IFwiUmFwcG9ydGV1clwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvc2lnbmF0YWlyZXMge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgc3RyaW5nO1xuICAgIGFjdGV1clJlZj86ICAgIHN0cmluZ1tdIHwgc3RyaW5nO1xufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgICBwdWJsaWMgc3RhdGljIHRvQW1lbmRlbWVudHMoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudHMge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQW1lbmRlbWVudHNcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYW1lbmRlbWVudHNUb0pzb24odmFsdWU6IEFtZW5kZW1lbnRzKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFtZW5kZW1lbnRzXCIpKSwgbnVsbCwgMik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b1RleHRlTGVnaXNsYXRpZihqc29uOiBzdHJpbmcpOiBUZXh0ZUxlZ2lzbGF0aWYge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiVGV4dGVMZWdpc2xhdGlmXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRleHRlTGVnaXNsYXRpZlRvSnNvbih2YWx1ZTogVGV4dGVMZWdpc2xhdGlmKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlRleHRlTGVnaXNsYXRpZlwiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9BbWVuZGVtZW50V3JhcHBlcihqc29uOiBzdHJpbmcpOiBBbWVuZGVtZW50V3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBbWVuZGVtZW50V3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBhbWVuZGVtZW50V3JhcHBlclRvSnNvbih2YWx1ZTogQW1lbmRlbWVudFdyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQW1lbmRlbWVudFdyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIkFtZW5kZW1lbnRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGV4dGVzTGVnaXNsYXRpZnNcIiwganM6IFwidGV4dGVzTGVnaXNsYXRpZnNcIiwgdHlwOiBhKHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVGV4dGVMZWdpc2xhdGlmXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicmVmVGV4dGVMZWdpc2xhdGlmXCIsIGpzOiBcInJlZlRleHRlTGVnaXNsYXRpZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRzXCIsIGpzOiBcImFtZW5kZW1lbnRzXCIsIHR5cDogcihcIkFtZW5kZW1lbnRzQ2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYW1lbmRlbWVudFwiLCBqczogXCJhbWVuZGVtZW50XCIsIHR5cDogYShyKFwiQW1lbmRlbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50V3JhcHBlclwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRcIiwganM6IFwiYW1lbmRlbWVudFwiLCB0eXA6IHIoXCJBbWVuZGVtZW50XCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW1lbmRlbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuc1wiLCBqczogXCJAeG1sbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2hyb25vdGFnXCIsIGpzOiBcImNocm9ub3RhZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiaWRlbnRpZmljYXRpb25cIiwganM6IFwiaWRlbnRpZmljYXRpb25cIiwgdHlwOiByKFwiSWRlbnRpZmljYXRpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImV4YW1lblJlZlwiLCBqczogXCJleGFtZW5SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0ZXh0ZUxlZ2lzbGF0aWZSZWZcIiwganM6IFwidGV4dGVMZWdpc2xhdGlmUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidHJpQW1lbmRlbWVudFwiLCBqczogXCJ0cmlBbWVuZGVtZW50XCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY2FyZGluYWxpdGVBbWR0TXVsdGlwbGVzXCIsIGpzOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRQYXJlbnRSZWZcIiwganM6IFwiYW1lbmRlbWVudFBhcmVudFJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInNpZ25hdGFpcmVzXCIsIGpzOiBcInNpZ25hdGFpcmVzXCIsIHR5cDogcihcIlNpZ25hdGFpcmVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJwb2ludGV1ckZyYWdtZW50VGV4dGVcIiwganM6IFwicG9pbnRldXJGcmFnbWVudFRleHRlXCIsIHR5cDogcihcIlBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29ycHNcIiwganM6IFwiY29ycHNcIiwgdHlwOiByKFwiQ29ycHNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZXByZXNlbnRhdGlvbnNcIiwganM6IFwicmVwcmVzZW50YXRpb25zXCIsIHR5cDogdShyKFwiUmVwcmVzZW50YXRpb25zXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwic2VhbmNlRGlzY3Vzc2lvblJlZlwiLCBqczogXCJzZWFuY2VEaXNjdXNzaW9uUmVmXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZTk5XCIsIGpzOiBcImFydGljbGU5OVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxvaVJlZmVyZW5jZVwiLCBqczogXCJsb2lSZWZlcmVuY2VcIiwgdHlwOiByKFwiTG9pUmVmZXJlbmNlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNjdXNzaW9uQ29tbXVuZVwiLCBqczogXCJkaXNjdXNzaW9uQ29tbXVuZVwiLCB0eXA6IHIoXCJEaXNjdXNzaW9uXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsIGpzOiBcImRpc2N1c3Npb25JZGVudGlxdWVcIiwgdHlwOiByKFwiRGlzY3Vzc2lvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiwganM6IFwiYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIiwgdHlwOiByKFwiQWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWlcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb3Jwc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIiwganM6IFwiY2FydG91Y2hlSW5mb3JtYXRpZlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udGVudUF1dGV1clwiLCBqczogXCJjb250ZW51QXV0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb250ZW51QXV0ZXVyXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNvbnRlbnVBdXRldXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJkaXNwb3NpdGlmXCIsIGpzOiBcImRpc3Bvc2l0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF2YW50QXBwZWxcIiwganM6IFwiYXZhbnRBcHBlbFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQXZhbnRBcHBlbFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImV4cG9zZVNvbW1haXJlXCIsIGpzOiBcImV4cG9zZVNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhbm5leGVFeHBvc2VTb21tYWlyZVwiLCBqczogXCJhbm5leGVFeHBvc2VTb21tYWlyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIiwganM6IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIsIGpzOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF2YW50QXBwZWxcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXNwb3NpdGlmXCIsIGpzOiBcImRpc3Bvc2l0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImxpc3RlUHJvZ3JhbW1lc1wiLCBqczogXCJsaXN0ZVByb2dyYW1tZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGTGlzdGVQcm9ncmFtbWVzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwic29sZGVBRVwiLCBqczogXCJzb2xkZUFFXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb2xkZUNQXCIsIGpzOiBcInNvbGRlQ1BcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGTGlzdGVQcm9ncmFtbWVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicHJvZ3JhbW1lXCIsIGpzOiBcInByb2dyYW1tZVwiLCB0eXA6IGEocihcIlB1cnBsZVByb2dyYW1tZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQdXJwbGVQcm9ncmFtbWVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcm9ncmFtbWVSZWZcIiwganM6IFwicHJvZ3JhbW1lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLCBqczogXCJsaWduZXNDcmVkaXRzXCIsIHR5cDogcihcIlB1cnBsZUxpZ25lc0NyZWRpdHNcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQdXJwbGVMaWduZXNDcmVkaXRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVDcmVkaXRcIiwganM6IFwibGlnbmVDcmVkaXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJMaWduZUNyZWRpdENsYXNzXCIpKSwgcihcIkxpZ25lQ3JlZGl0Q2xhc3NcIikpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkxpZ25lQ3JlZGl0Q2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaXN0ZVByb2dyYW1tZXNcIiwganM6IFwibGlzdGVQcm9ncmFtbWVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJMaXN0ZVByb2dyYW1tZXNcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJ0b3RhbEFFXCIsIGpzOiBcInRvdGFsQUVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlRvdGFsXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwidG90YWxDUFwiLCBqczogXCJ0b3RhbENQXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUb3RhbFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNwRWdhbEFlXCIsIGpzOiBcImNwRWdhbEFlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUkxpc3RlUHJvZ3JhbW1lc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInByb2dyYW1tZVwiLCBqczogXCJwcm9ncmFtbWVcIiwgdHlwOiBhKHIoXCJMaWduZUNyZWRpdEVsZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVDcmVkaXRcIiwganM6IFwibGlnbmVDcmVkaXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJMaWduZUNyZWRpdEVsZW1lbnRcIikpLCByKFwiTGlnbmVDcmVkaXRFbGVtZW50XCIpKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJMaWduZUNyZWRpdEVsZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcm9ncmFtbWVSZWZcIiwganM6IFwicHJvZ3JhbW1lUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50U3VwcGxlbWVudGFpcmVcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZVwiLCBqczogXCJjcmVkaXRQYWllbWVudFN1cHBsZW1lbnRhaXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudEFubnVsZVwiLCBqczogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50QW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY3JlZGl0UGFpZW1lbnRBbm51bGVcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRBbm51bGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhY3Rpb25cIiwganM6IFwiYWN0aW9uXCIsIHR5cDogcihcIkFjdGlvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGlnbmVzQ3JlZGl0c1wiLCBqczogXCJsaWduZXNDcmVkaXRzXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWduZUNyZWRpdExpZ25lc0NyZWRpdHNcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRvdGFsXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic3VwcGxlbWVudGFpcmVcIiwganM6IFwic3VwcGxlbWVudGFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbm51bGVcIiwganM6IFwiYW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic29sZGVcIiwganM6IFwic29sZGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ3ljbGVEZVZpZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFwiLCBqczogXCJkYXRlRGVwb3RcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIERhdGUpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlUHVibGljYXRpb25cIiwganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBEYXRlKSB9LFxuICAgICAgICB7IGpzb246IFwic291bWlzQXJ0aWNsZTQwXCIsIGpzOiBcInNvdW1pc0FydGljbGU0MFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImV0YXREZXNUcmFpdGVtZW50c1wiLCBqczogXCJldGF0RGVzVHJhaXRlbWVudHNcIiwgdHlwOiByKFwiRXRhdERFU1RyYWl0ZW1lbnRzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlU29ydFwiLCBqczogXCJkYXRlU29ydFwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgRGF0ZSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvcnRcIiwganM6IFwic29ydFwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgcihcIlNvcnRFbnVtXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkV0YXRERVNUcmFpdGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3VzRXRhdFwiLCBqczogXCJzb3VzRXRhdFwiLCB0eXA6IHIoXCJTb3VzRXRhdFwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkV0YXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiByKFwiQ29kZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3VzRXRhdFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29kZVwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiU29ydEVudW1cIikpIH0sXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGlzY3Vzc2lvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImlkRGlzY3Vzc2lvblwiLCBqczogXCJpZERpc2N1c3Npb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVQb3NpdGlvblwiLCBqczogXCJ0eXBlUG9zaXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVQb3NpdGlvblwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJJZGVudGlmaWNhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb0xvbmdcIiwganM6IFwibnVtZXJvTG9uZ1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb09yZHJlRGVwb3RcIiwganM6IFwibnVtZXJvT3JkcmVEZXBvdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInByZWZpeGVPcmdhbmVFeGFtZW5cIiwganM6IFwicHJlZml4ZU9yZ2FuZUV4YW1lblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1JlY3RcIiwganM6IFwibnVtZXJvUmVjdFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJMb2lSZWZlcmVuY2VcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlTG9pXCIsIGpzOiBcImNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBudWxsLCBcIlwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImRpdmlzaW9uQ29kZUxvaVwiLCBqczogXCJkaXZpc2lvbkNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBudWxsLCBcIlwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJQb2ludGV1ckZyYWdtZW50VGV4dGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwYXJ0aWVBbWVuZGFibGVSZWZcIiwganM6IFwicGFydGllQW1lbmRhYmxlUmVmXCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGl2aXNpb25cIiwganM6IFwiZGl2aXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpdmlzaW9uXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiYW1lbmRlbWVudFN0YW5kYXJkXCIsIGpzOiBcImFtZW5kZW1lbnRTdGFuZGFyZFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQW1lbmRlbWVudFN0YW5kYXJkXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwibWlzc2lvblZpc2VlXCIsIGpzOiBcIm1pc3Npb25WaXNlZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzc2lvblZpc2VlXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFtZW5kZW1lbnRTdGFuZGFyZFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFsaW5lYVwiLCBqczogXCJhbGluZWFcIiwgdHlwOiByKFwiQWxpbmVhXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQWxpbmVhXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXZhbnRfQV9BcHJlc1wiLCBqczogXCJhdmFudF9BX0FwcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJhbGluZWFEZXNpZ25hdGlvblwiLCBqczogXCJhbGluZWFEZXNpZ25hdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpdmlzaW9uXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidGl0cmVcIiwganM6IFwidGl0cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhcnRpY2xlRGVzaWduYXRpb25Db3VydGVcIiwganM6IFwiYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZURlc2lnbmF0aW9uXCIsIGpzOiBcImFydGljbGVEZXNpZ25hdGlvblwiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJEaXZpc2lvblR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF2YW50X0FfQXByZXNcIiwganM6IFwiYXZhbnRfQV9BcHJlc1wiLCB0eXA6IHIoXCJBdmFudEFBcHJlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGl2aXNpb25SYXR0YWNoZWVcIiwganM6IFwiZGl2aXNpb25SYXR0YWNoZWVcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhcnRpY2xlQWRkaXRpb25uZWxcIiwganM6IFwiYXJ0aWNsZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCBqczogXCJjaGFwaXRyZUFkZGl0aW9ubmVsXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidXJsRGl2aXNpb25UZXh0ZVZpc2VcIiwganM6IFwidXJsRGl2aXNpb25UZXh0ZVZpc2VcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzc2lvblZpc2VlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZUV0YXRcIiwganM6IFwiY29kZUV0YXRcIiwgdHlwOiByKFwiQ29kZUV0YXRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIGpzOiBcImNvZGVNaXNzaW9uTWluZWZpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZU1pc3Npb25cIiwganM6IFwibGliZWxsZU1pc3Npb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNzaW9uUmVmXCIsIGpzOiBcIm1pc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVwcmVzZW50YXRpb25zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicmVwcmVzZW50YXRpb25cIiwganM6IFwicmVwcmVzZW50YXRpb25cIiwgdHlwOiByKFwiUmVwcmVzZW50YXRpb25cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJSZXByZXNlbnRhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiByKFwiTm9tXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlTWltZVwiLCBqczogXCJ0eXBlTWltZVwiLCB0eXA6IHIoXCJUeXBlTUlNRVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIiwganM6IFwic3RhdHV0UmVwcmVzZW50YXRpb25cIiwgdHlwOiByKFwiU3RhdHV0UmVwcmVzZW50YXRpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcInJlcFNvdXJjZVwiLCBqczogXCJyZXBTb3VyY2VcIiwgdHlwOiByKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJvZmZzZXRcIiwganM6IFwib2Zmc2V0XCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udGVudVwiLCBqczogXCJjb250ZW51XCIsIHR5cDogcihcIkNvbnRlbnVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRhdGVEaXNwb1JlcHJlc2VudGF0aW9uXCIsIGpzOiBcImRhdGVEaXNwb1JlcHJlc2VudGF0aW9uXCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkNvbnRlbnVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJkb2N1bWVudFVSSVwiLCBqczogXCJkb2N1bWVudFVSSVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTdGF0dXRSZXByZXNlbnRhdGlvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZlcmJhdGltXCIsIGpzOiBcInZlcmJhdGltXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiY2Fub25pcXVlXCIsIGpzOiBcImNhbm9uaXF1ZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm9mZmljaWVsbGVcIiwganM6IFwib2ZmaWNpZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInRyYW5zY3JpcHRpb25cIiwganM6IFwidHJhbnNjcmlwdGlvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImVucmVnaXN0cmVtZW50XCIsIGpzOiBcImVucmVnaXN0cmVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlR5cGVNSU1FXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIlR5cGVNSU1FVHlwZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ViVHlwZVwiLCBqczogXCJzdWJUeXBlXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNpZ25hdGFpcmVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYXV0ZXVyXCIsIGpzOiBcImF1dGV1clwiLCB0eXA6IHIoXCJBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvc2lnbmF0YWlyZXNcIiwganM6IFwiY29zaWduYXRhaXJlc1wiLCB0eXA6IHIoXCJDb3NpZ25hdGFpcmVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzdWZmaXhlXCIsIGpzOiBcInN1ZmZpeGVcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidHlwZUF1dGV1clwiLCBqczogXCJ0eXBlQXV0ZXVyXCIsIHR5cDogcihcIlR5cGVBdXRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdvdXZlcm5lbWVudFJlZlwiLCBqczogXCJnb3V2ZXJuZW1lbnRSZWZcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZ3JvdXBlUG9saXRpcXVlUmVmXCIsIGpzOiBcImdyb3VwZVBvbGl0aXF1ZVJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIiwganM6IFwiYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb3NpZ25hdGFpcmVzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KGEoXCJcIiksIFwiXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpXCI6IFtcbiAgICAgICAgXCJBY2NvcmRcIixcbiAgICAgICAgXCJTYW5zIG9iamV0XCIsXG4gICAgXSxcbiAgICBcIkFjdGlvblwiOiBbXG4gICAgICAgIFwiY3LDqWF0aW9uXCIsXG4gICAgICAgIFwibW9kaWZpY2F0aW9uXCIsXG4gICAgICAgIFwic3VwcHJlc3Npb25cIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiQUNcIixcbiAgICAgICAgXCJBVFwiLFxuICAgICAgICBcIkRJXCIsXG4gICAgICAgIFwiZWZmYWPDqVwiLFxuICAgICAgICBcIkVSXCIsXG4gICAgICAgIFwiSVJcIixcbiAgICAgICAgXCJJUlIxMjdcIixcbiAgICAgICAgXCJJUlIyMFwiLFxuICAgICAgICBcIklSUjM3XCIsXG4gICAgICAgIFwiSVJSMzhcIixcbiAgICAgICAgXCJJUlI0MVwiLFxuICAgICAgICBcIklSUjQyXCIsXG4gICAgICAgIFwiSVJSNDVcIixcbiAgICAgICAgXCJJUlI0OFwiLFxuICAgICAgICBcIklSUjUzXCIsXG4gICAgICAgIFwiSVJSQUlcIixcbiAgICAgICAgXCJJUlJEXCIsXG4gICAgICAgIFwiSVJSSERcIixcbiAgICAgICAgXCJJUlJTQVwiLFxuICAgICAgICBcIlJcIixcbiAgICAgICAgXCJSVFwiLFxuICAgICAgICBcIlRcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwiQSBkaXNjdXRlclwiLFxuICAgICAgICBcIkEgZMOpcG9zZXJcIixcbiAgICAgICAgXCJEaXNjdXTDqVwiLFxuICAgICAgICBcImVmZmFjw6lcIixcbiAgICAgICAgXCJFbiByZWNldmFiaWxpdMOpXCIsXG4gICAgICAgIFwiRW4gdHJhaXRlbWVudFwiLFxuICAgICAgICBcIklycmVjZXZhYmxlXCIsXG4gICAgICAgIFwiSXJyZWNldmFibGUgNDBcIixcbiAgICAgICAgXCJSZXRpcsOpXCIsXG4gICAgXSxcbiAgICBcIlNvcnRFbnVtXCI6IFtcbiAgICAgICAgXCJBZG9wdMOpXCIsXG4gICAgICAgIFwiQXV0cmUgaXJyZWNldmFiaWxpdMOpXCIsXG4gICAgICAgIFwiQXV0cmVzIGlyciBMT0xGXCIsXG4gICAgICAgIFwiQXV0cmVzIGlyciBMT0xGU1NcIixcbiAgICAgICAgXCJDYXZhbGllciAoNDUpXCIsXG4gICAgICAgIFwiQ2F2YWxpZXIgYnVkZ8OpdGFpcmVcIixcbiAgICAgICAgXCJDYXZhbGllciBzb2NpYWxcIixcbiAgICAgICAgXCJDaGFtcCBkZSBsJ2hhYmlsaXRhdGlvbiAoMzgpXCIsXG4gICAgICAgIFwiQ2hhcmdlXCIsXG4gICAgICAgIFwiQ01QICg0NSlcIixcbiAgICAgICAgXCJDcsOpZGl0c1wiLFxuICAgICAgICBcIkRpc3Bvc2l0aW9uIHLDqWdsZW1lbnRhaXJlICgzNylcIixcbiAgICAgICAgXCJEb21haW5lIGRlIGxhIGxvaSAoNDEpXCIsXG4gICAgICAgIFwiRG9tYWluZSBsb2kgb3JnYW5pcXVlICgxMjcpXCIsXG4gICAgICAgIFwiRG91YmxvblwiLFxuICAgICAgICBcIkVudG9ubm9pciAoNDUpXCIsXG4gICAgICAgIFwiR2FnZVwiLFxuICAgICAgICBcIkhvcnMtZMOpbGFpc1wiLFxuICAgICAgICBcIkluam9uY3Rpb24gKDIwKVwiLFxuICAgICAgICBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gICAgICAgIFwiSXJyIGVuIHNlY29uZGUgcGFydGllXCIsXG4gICAgICAgIFwiTE9MRlwiLFxuICAgICAgICBcIkxPTEZTU1wiLFxuICAgICAgICBcIk5vbiBzb3V0ZW51XCIsXG4gICAgICAgIFwiT3JkcmUgZHUgam91ciAoNDgpXCIsXG4gICAgICAgIFwiUlwiLFxuICAgICAgICBcIlJhdGlmaWNhdGlvbiB0cmFpdMOpICg1MylcIixcbiAgICAgICAgXCJSZWpldMOpXCIsXG4gICAgICAgIFwiUmV0aXLDqVwiLFxuICAgICAgICBcIlJldGlyw6kgYXByw6hzIHB1YmxpY2F0aW9uXCIsXG4gICAgICAgIFwiUmV0aXLDqSBhdmFudCBwdWJsaWNhdGlvblwiLFxuICAgICAgICBcIlNhdGlzZmFpdCBvdSBpbm9ww6lyYW50ICg0MilcIixcbiAgICAgICAgXCJTb3VzLWFtZW5kZW1lbnQgKDk4KVwiLFxuICAgICAgICBcIlRvbWLDqVwiLFxuICAgIF0sXG4gICAgXCJUeXBlUG9zaXRpb25cIjogW1xuICAgICAgICBcIkRlcm5pZXJcIixcbiAgICAgICAgXCJNaWxpZXVcIixcbiAgICAgICAgXCJQcmVtaWVyXCIsXG4gICAgXSxcbiAgICBcIkF2YW50QUFwcmVzXCI6IFtcbiAgICAgICAgXCJBXCIsXG4gICAgICAgIFwiQXByw6hzXCIsXG4gICAgICAgIFwiQXZhbnRcIixcbiAgICBdLFxuICAgIFwiRGl2aXNpb25UeXBlXCI6IFtcbiAgICAgICAgXCJBTk5FWEVcIixcbiAgICAgICAgXCJBUlRJQ0xFXCIsXG4gICAgICAgIFwiQ0hBUElUUkVcIixcbiAgICAgICAgXCJUSVRSRVwiLFxuICAgIF0sXG4gICAgXCJDb2RlRXRhdFwiOiBbXG4gICAgICAgIFwiQlwiLFxuICAgICAgICBcIkNcIixcbiAgICAgICAgXCJEXCIsXG4gICAgXSxcbiAgICBcIk5vbVwiOiBbXG4gICAgICAgIFwiUERGXCIsXG4gICAgXSxcbiAgICBcIlR5cGVNSU1FVHlwZVwiOiBbXG4gICAgICAgIFwiYXBwbGljYXRpb25cIixcbiAgICBdLFxuICAgIFwiVHlwZUF1dGV1clwiOiBbXG4gICAgICAgIFwiRMOpcHV0w6lcIixcbiAgICAgICAgXCJHb3V2ZXJuZW1lbnRcIixcbiAgICAgICAgXCJSYXBwb3J0ZXVyXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNENBLFdBQVlBLGdDQUFaOztXQUFZQSxnQztFQUFBQSxnQztFQUFBQSxnQztHQUFBQSxnQyxLQUFBQSxnQzs7QUFzRFosV0FBWUMsTUFBWjs7V0FBWUEsTTtFQUFBQSxNO0VBQUFBLE07RUFBQUEsTTtHQUFBQSxNLEtBQUFBLE07O0FBMEVaLFdBQVlDLElBQVo7O1dBQVlBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtHQUFBQSxJLEtBQUFBLEk7O0FBeUJaLFdBQVlDLE9BQVo7O1dBQVlBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87R0FBQUEsTyxLQUFBQSxPOztBQW1CWixXQUFZQyxRQUFaOztXQUFZQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7R0FBQUEsUSxLQUFBQSxROztBQTRDWixXQUFZQyxZQUFaOztXQUFZQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0dBQUFBLFksS0FBQUEsWTs7QUFtRFosV0FBWUMsV0FBWjs7V0FBWUEsVztFQUFBQSxXO0VBQUFBLFc7RUFBQUEsVztHQUFBQSxXLEtBQUFBLFc7O0FBTVosV0FBWUMsWUFBWjs7V0FBWUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0dBQUFBLFksS0FBQUEsWTs7QUFjWixXQUFZQyxRQUFaOztXQUFZQSxRO0VBQUFBLFE7RUFBQUEsUTtF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
|
|
1128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSIsIkFjdGlvbiIsIkNvZGUiLCJMaWJlbGxlIiwiU29ydEVudW0iLCJUeXBlUG9zaXRpb24iLCJBdmFudEFBcHJlcyIsIkRpdmlzaW9uVHlwZSIsIkNvZGVFdGF0IiwiTm9tIiwiVHlwZU1JTUVUeXBlIiwiVHlwZUF1dGV1ciIsIkNvbnZlcnQiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJ2YWx1ZSIsInN0cmluZ2lmeSIsInVuY2FzdCIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcmF3X3R5cGVzL2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IEFtZW5kZW1lbnRzLCBBbWVuZGVtZW50V3JhcHBlciwgQ29udmVydCwgVGV4dGVMZWdpc2xhdGlmIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgYW1lbmRlbWVudHMgPSBDb252ZXJ0LnRvQW1lbmRlbWVudHMoanNvbik7XG4vLyAgIGNvbnN0IGFtZW5kZW1lbnRXcmFwcGVyID0gQ29udmVydC50b0FtZW5kZW1lbnRXcmFwcGVyKGpzb24pO1xuLy8gICBjb25zdCB0ZXh0ZUxlZ2lzbGF0aWYgPSBDb252ZXJ0LnRvVGV4dGVMZWdpc2xhdGlmKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHMge1xuICB0ZXh0ZXNMZWdpc2xhdGlmczogVGV4dGVMZWdpc2xhdGlmW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUxlZ2lzbGF0aWYge1xuICAgIFwiQHhtbG5zOnhzaVwiOiAgICAgICBzdHJpbmc7XG4gICAgcmVmVGV4dGVMZWdpc2xhdGlmOiBzdHJpbmc7XG4gICAgYW1lbmRlbWVudHM6ICAgICAgICBBbWVuZGVtZW50c0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtZW5kZW1lbnRzQ2xhc3Mge1xuICAgIGFtZW5kZW1lbnQ6IEFtZW5kZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50V3JhcHBlciB7XG4gIGFtZW5kZW1lbnQ6IEFtZW5kZW1lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50IHtcbiAgICBcIkB4bWxuc1wiOiAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjaHJvbm90YWc6ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGxlZ2lzbGF0dXJlOiAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgaWRlbnRpZmljYXRpb246ICAgICAgICAgICAgICAgICAgIElkZW50aWZpY2F0aW9uO1xuICAgIGV4YW1lblJlZjogICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgdGV4dGVMZWdpc2xhdGlmUmVmOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICB0cmlBbWVuZGVtZW50OiAgICAgICAgICAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGNhcmRpbmFsaXRlQW1kdE11bHRpcGxlczogICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYW1lbmRlbWVudFBhcmVudFJlZjogICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBzaWduYXRhaXJlczogICAgICAgICAgICAgICAgICAgICAgU2lnbmF0YWlyZXM7XG4gICAgcG9pbnRldXJGcmFnbWVudFRleHRlOiAgICAgICAgICAgIFBvaW50ZXVyRnJhZ21lbnRUZXh0ZTtcbiAgICBjb3JwczogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ycHM7XG4gICAgY3ljbGVEZVZpZTogICAgICAgICAgICAgICAgICAgICAgIEN5Y2xlRGVWaWU7XG4gICAgcmVwcmVzZW50YXRpb25zOiAgICAgICAgICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyB8IG51bGw7XG4gICAgc2VhbmNlRGlzY3Vzc2lvblJlZjogICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhcnRpY2xlOTk6ICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGxvaVJlZmVyZW5jZTogICAgICAgICAgICAgICAgICAgICBMb2lSZWZlcmVuY2U7XG4gICAgZGlzY3Vzc2lvbkNvbW11bmU6ICAgICAgICAgICAgICAgIERpc2N1c3Npb247XG4gICAgZGlzY3Vzc2lvbklkZW50aXF1ZTogICAgICAgICAgICAgIERpc2N1c3Npb247XG4gICAgYWNjb3JkR291dmVybmVtZW50RGVwb3RIb3JzRGVsYWk6IEFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpO1xufVxuXG5leHBvcnQgZW51bSBBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaSB7XG4gICAgQWNjb3JkID0gXCJBY2NvcmRcIixcbiAgICBTYW5zT2JqZXQgPSBcIlNhbnMgb2JqZXRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3Mge1xuICAgIFwiQHhtbG5zOnhzaVwiOiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiOiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3JwcyB7XG4gICAgY2FydG91Y2hlSW5mb3JtYXRpZj86IEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBjb250ZW51QXV0ZXVyPzogICAgICAgQ29udGVudUF1dGV1cjtcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgICAgICBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnVBdXRldXIge1xuICAgIGRpc3Bvc2l0aWY/OiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhdmFudEFwcGVsPzogICAgICAgICAgICAgICBBdmFudEFwcGVsO1xuICAgIGV4cG9zZVNvbW1haXJlPzogICAgICAgICAgIHN0cmluZztcbiAgICBhbm5leGVFeHBvc2VTb21tYWlyZT86ICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3M7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEY/OiAgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEY7XG4gICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YW50QXBwZWwge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgc3RyaW5nO1xuICAgIGRpc3Bvc2l0aWY/OiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRiB7XG4gICAgbGlzdGVQcm9ncmFtbWVzPzogRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZMaXN0ZVByb2dyYW1tZXM7XG4gICAgc29sZGVBRT86ICAgICAgICAgc3RyaW5nO1xuICAgIHNvbGRlQ1A/OiAgICAgICAgIHN0cmluZztcbiAgICBjcEVnYWxBZTogICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZMaXN0ZVByb2dyYW1tZXMge1xuICAgIHByb2dyYW1tZTogUHVycGxlUHJvZ3JhbW1lW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVycGxlUHJvZ3JhbW1lIHtcbiAgICBsaWJlbGxlOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgcHJvZ3JhbW1lUmVmOiAgICAgICAgICAgc3RyaW5nO1xuICAgIGF1dG9yaXNhdGlvbkVuZ2FnZW1lbnQ6IHN0cmluZztcbiAgICBjcmVkaXRQYWllbWVudDogICAgICAgICBzdHJpbmc7XG4gICAgYWN0aW9uOiAgICAgICAgICAgICAgICAgQWN0aW9uO1xuICAgIGxpZ25lc0NyZWRpdHM6ICAgICAgICAgIFB1cnBsZUxpZ25lc0NyZWRpdHM7XG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvbiB7XG4gICAgQ3LDqWF0aW9uID0gXCJjcsOpYXRpb25cIixcbiAgICBNb2RpZmljYXRpb24gPSBcIm1vZGlmaWNhdGlvblwiLFxuICAgIFN1cHByZXNzaW9uID0gXCJzdXBwcmVzc2lvblwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cnBsZUxpZ25lc0NyZWRpdHMge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgc3RyaW5nO1xuICAgIGxpZ25lQ3JlZGl0PzogIExpZ25lQ3JlZGl0Q2xhc3NbXSB8IExpZ25lQ3JlZGl0Q2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRDbGFzcyB7XG4gICAgaWQ6ICAgICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGxpYmVsbGU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50OiBzdHJpbmc7XG4gICAgY3JlZGl0UGFpZW1lbnQ6ICAgICAgICAgc3RyaW5nO1xuICAgIGFjdGlvbjogICAgICAgICAgICAgICAgIEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIge1xuICAgIGxpc3RlUHJvZ3JhbW1lcz86IERpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUkxpc3RlUHJvZ3JhbW1lcztcbiAgICB0b3RhbEFFPzogICAgICAgICBUb3RhbDtcbiAgICB0b3RhbENQPzogICAgICAgICBUb3RhbDtcbiAgICBjcEVnYWxBZTogICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSTGlzdGVQcm9ncmFtbWVzIHtcbiAgICBwcm9ncmFtbWU6IExpZ25lQ3JlZGl0RWxlbWVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ25lQ3JlZGl0TGlnbmVzQ3JlZGl0cyB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG4gICAgbGlnbmVDcmVkaXQ/OiAgTGlnbmVDcmVkaXRFbGVtZW50W10gfCBMaWduZUNyZWRpdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnbmVDcmVkaXRFbGVtZW50IHtcbiAgICBsaWJlbGxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBwcm9ncmFtbWVSZWY/OiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50U3VwcGxlbWVudGFpcmU6IHN0cmluZztcbiAgICBjcmVkaXRQYWllbWVudFN1cHBsZW1lbnRhaXJlOiAgICAgICAgIHN0cmluZztcbiAgICBhdXRvcmlzYXRpb25FbmdhZ2VtZW50QW5udWxlOiAgICAgICAgIHN0cmluZztcbiAgICBjcmVkaXRQYWllbWVudEFubnVsZTogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhY3Rpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvbjtcbiAgICBsaWduZXNDcmVkaXRzPzogICAgICAgICAgICAgICAgICAgICAgIExpZ25lQ3JlZGl0TGlnbmVzQ3JlZGl0cztcbiAgICBpZD86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb3RhbCB7XG4gICAgc3VwcGxlbWVudGFpcmU6IHN0cmluZztcbiAgICBhbm51bGU6ICAgICAgICAgc3RyaW5nO1xuICAgIHNvbGRlOiAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gICAgZGF0ZURlcG90OiAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBEYXRlO1xuICAgIGRhdGVQdWJsaWNhdGlvbjogICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgRGF0ZTtcbiAgICBzb3VtaXNBcnRpY2xlNDA6ICAgIHN0cmluZztcbiAgICBldGF0RGVzVHJhaXRlbWVudHM6IEV0YXRERVNUcmFpdGVtZW50cztcbiAgICBkYXRlU29ydDogICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IERhdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBTb3J0RW51bTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0REVTVHJhaXRlbWVudHMge1xuICAgIGV0YXQ6ICAgICBFdGF0O1xuICAgIHNvdXNFdGF0OiBTb3VzRXRhdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGF0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFDID0gXCJBQ1wiLFxuICAgIEF0ID0gXCJBVFwiLFxuICAgIERpID0gXCJESVwiLFxuICAgIEVmZmFjw6kgPSBcImVmZmFjw6lcIixcbiAgICBFciA9IFwiRVJcIixcbiAgICBJUiA9IFwiSVJcIixcbiAgICBJcnIxMjcgPSBcIklSUjEyN1wiLFxuICAgIElycjIwID0gXCJJUlIyMFwiLFxuICAgIElycjM3ID0gXCJJUlIzN1wiLFxuICAgIElycjM4ID0gXCJJUlIzOFwiLFxuICAgIElycjQxID0gXCJJUlI0MVwiLFxuICAgIElycjQyID0gXCJJUlI0MlwiLFxuICAgIElycjQ1ID0gXCJJUlI0NVwiLFxuICAgIElycjQ4ID0gXCJJUlI0OFwiLFxuICAgIElycjUzID0gXCJJUlI1M1wiLFxuICAgIElycmFpID0gXCJJUlJBSVwiLFxuICAgIElycmQgPSBcIklSUkRcIixcbiAgICBJcnJoZCA9IFwiSVJSSERcIixcbiAgICBJcnJzYSA9IFwiSVJSU0FcIixcbiAgICBSID0gXCJSXCIsXG4gICAgUnQgPSBcIlJUXCIsXG4gICAgVCA9IFwiVFwiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlIHtcbiAgICBBRGlzY3V0ZXIgPSBcIkEgZGlzY3V0ZXJcIixcbiAgICBBRMOpcG9zZXIgPSBcIkEgZMOpcG9zZXJcIixcbiAgICBEaXNjdXTDqSA9IFwiRGlzY3V0w6lcIixcbiAgICBFZmZhY8OpID0gXCJlZmZhY8OpXCIsXG4gICAgRW5SZWNldmFiaWxpdMOpID0gXCJFbiByZWNldmFiaWxpdMOpXCIsXG4gICAgRW5UcmFpdGVtZW50ID0gXCJFbiB0cmFpdGVtZW50XCIsXG4gICAgSXJyZWNldmFibGUgPSBcIklycmVjZXZhYmxlXCIsXG4gICAgSXJyZWNldmFibGU0MCA9IFwiSXJyZWNldmFibGUgNDBcIixcbiAgICBSZXRpcsOpID0gXCJSZXRpcsOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291c0V0YXQge1xuICAgIGNvZGU/OiAgICAgICAgIENvZGU7XG4gICAgbGliZWxsZT86ICAgICAgU29ydEVudW07XG4gICAgXCJAeG1sbnM6eHNpXCI/OiBzdHJpbmc7XG4gICAgXCJAeHNpOm5pbFwiPzogICBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFNvcnRFbnVtIHtcbiAgICBBZG9wdMOpID0gXCJBZG9wdMOpXCIsXG4gICAgQXV0cmVJcnJlY2V2YWJpbGl0w6kgPSBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqVwiLFxuICAgIEF1dHJlc0lyckxPTEYgPSBcIkF1dHJlcyBpcnIgTE9MRlwiLFxuICAgIEF1dHJlc0lyckxPTEZTUyA9IFwiQXV0cmVzIGlyciBMT0xGU1NcIixcbiAgICBDYXZhbGllcjQ1ID0gXCJDYXZhbGllciAoNDUpXCIsXG4gICAgQ2F2YWxpZXJCdWRnw6l0YWlyZSA9IFwiQ2F2YWxpZXIgYnVkZ8OpdGFpcmVcIixcbiAgICBDYXZhbGllclNvY2lhbCA9IFwiQ2F2YWxpZXIgc29jaWFsXCIsXG4gICAgQ2hhbXBEZUxIYWJpbGl0YXRpb24zOCA9IFwiQ2hhbXAgZGUgbCdoYWJpbGl0YXRpb24gKDM4KVwiLFxuICAgIENoYXJnZSA9IFwiQ2hhcmdlXCIsXG4gICAgQ21wNDUgPSBcIkNNUCAoNDUpXCIsXG4gICAgQ3LDqWRpdHMgPSBcIkNyw6lkaXRzXCIsXG4gICAgRGlzcG9zaXRpb25Sw6lnbGVtZW50YWlyZTM3ID0gXCJEaXNwb3NpdGlvbiByw6lnbGVtZW50YWlyZSAoMzcpXCIsXG4gICAgRG9tYWluZURlTGFMb2k0MSA9IFwiRG9tYWluZSBkZSBsYSBsb2kgKDQxKVwiLFxuICAgIERvbWFpbmVMb2lPcmdhbmlxdWUxMjcgPSBcIkRvbWFpbmUgbG9pIG9yZ2FuaXF1ZSAoMTI3KVwiLFxuICAgIERvdWJsb24gPSBcIkRvdWJsb25cIixcbiAgICBFbnRvbm5vaXI0NSA9IFwiRW50b25ub2lyICg0NSlcIixcbiAgICBHYWdlID0gXCJHYWdlXCIsXG4gICAgSG9yc0TDqWxhaXMgPSBcIkhvcnMtZMOpbGFpc1wiLFxuICAgIEluam9uY3Rpb24yMCA9IFwiSW5qb25jdGlvbiAoMjApXCIsXG4gICAgSXJyRW5QcmVtacOocmVQYXJ0aWUgPSBcIklyciBlbiBwcmVtacOocmUgcGFydGllXCIsXG4gICAgSXJyRW5TZWNvbmRlUGFydGllID0gXCJJcnIgZW4gc2Vjb25kZSBwYXJ0aWVcIixcbiAgICBMb2xmID0gXCJMT0xGXCIsXG4gICAgTG9sZnNzID0gXCJMT0xGU1NcIixcbiAgICBOb25Tb3V0ZW51ID0gXCJOb24gc291dGVudVwiLFxuICAgIE9yZHJlRHVKb3VyNDggPSBcIk9yZHJlIGR1IGpvdXIgKDQ4KVwiLFxuICAgIFIgPSBcIlJcIixcbiAgICBSYXRpZmljYXRpb25UcmFpdMOpNTMgPSBcIlJhdGlmaWNhdGlvbiB0cmFpdMOpICg1MylcIixcbiAgICBSZWpldMOpID0gXCJSZWpldMOpXCIsXG4gICAgUmV0aXLDqSA9IFwiUmV0aXLDqVwiLFxuICAgIFJldGlyw6lBcHLDqHNQdWJsaWNhdGlvbiA9IFwiUmV0aXLDqSBhcHLDqHMgcHVibGljYXRpb25cIixcbiAgICBSZXRpcsOpQXZhbnRQdWJsaWNhdGlvbiA9IFwiUmV0aXLDqSBhdmFudCBwdWJsaWNhdGlvblwiLFxuICAgIFNhdGlzZmFpdE91SW5vcMOpcmFudDQyID0gXCJTYXRpc2ZhaXQgb3UgaW5vcMOpcmFudCAoNDIpXCIsXG4gICAgU291c0FtZW5kZW1lbnQ5OCA9IFwiU291cy1hbWVuZGVtZW50ICg5OClcIixcbiAgICBUb21iw6kgPSBcIlRvbWLDqVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2N1c3Npb24ge1xuICAgIFwiQHhtbG5zOnhzaVwiPzogc3RyaW5nO1xuICAgIFwiQHhzaTpuaWxcIj86ICAgc3RyaW5nO1xuICAgIGlkRGlzY3Vzc2lvbj86IHN0cmluZztcbiAgICB0eXBlUG9zaXRpb24/OiBUeXBlUG9zaXRpb247XG59XG5cbmV4cG9ydCBlbnVtIFR5cGVQb3NpdGlvbiB7XG4gICAgRGVybmllciA9IFwiRGVybmllclwiLFxuICAgIE1pbGlldSA9IFwiTWlsaWV1XCIsXG4gICAgUHJlbWllciA9IFwiUHJlbWllclwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpY2F0aW9uIHtcbiAgICBudW1lcm9Mb25nOiAgICAgICAgICBzdHJpbmc7XG4gICAgbnVtZXJvT3JkcmVEZXBvdDogICAgc3RyaW5nO1xuICAgIHByZWZpeGVPcmdhbmVFeGFtZW46IHN0cmluZztcbiAgICBudW1lcm9SZWN0OiAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9pUmVmZXJlbmNlIHtcbiAgICBcIkB4bWxuczp4c2lcIj86ICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgIHN0cmluZztcbiAgICBjb2RlTG9pPzogICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIGRpdmlzaW9uQ29kZUxvaT86IEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRldXJGcmFnbWVudFRleHRlIHtcbiAgICBwYXJ0aWVBbWVuZGFibGVSZWY6ICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3M7XG4gICAgZGl2aXNpb24/OiAgICAgICAgICAgRGl2aXNpb247XG4gICAgYW1lbmRlbWVudFN0YW5kYXJkPzogQW1lbmRlbWVudFN0YW5kYXJkO1xuICAgIG1pc3Npb25WaXNlZT86ICAgICAgIE1pc3Npb25WaXNlZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50U3RhbmRhcmQge1xuICAgIGFsaW5lYTogQWxpbmVhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsaW5lYSB7XG4gICAgXCJAeG1sbnM6eHNpXCI/OiAgICAgIHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgICAgICAgc3RyaW5nO1xuICAgIGF2YW50X0FfQXByZXM/OiAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgbnVsbCB8IHN0cmluZztcbiAgICBudW1lcm8/OiAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBhbGluZWFEZXNpZ25hdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXZpc2lvbiB7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlOiBudWxsIHwgc3RyaW5nO1xuICAgIGFydGljbGVEZXNpZ25hdGlvbjogICAgICAgbnVsbCB8IHN0cmluZztcbiAgICB0eXBlOiAgICAgICAgICAgICAgICAgICAgIERpdmlzaW9uVHlwZTtcbiAgICBhdmFudF9BX0FwcmVzOiAgICAgICAgICAgIEF2YW50QUFwcmVzO1xuICAgIGRpdmlzaW9uUmF0dGFjaGVlOiAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFydGljbGVBZGRpdGlvbm5lbDogICAgICAgc3RyaW5nO1xuICAgIGNoYXBpdHJlQWRkaXRpb25uZWw6ICAgICAgc3RyaW5nO1xuICAgIHVybERpdmlzaW9uVGV4dGVWaXNlOiAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBBdmFudEFBcHJlcyB7XG4gICAgQSA9IFwiQVwiLFxuICAgIEFwcsOocyA9IFwiQXByw6hzXCIsXG4gICAgQXZhbnQgPSBcIkF2YW50XCIsXG59XG5cbmV4cG9ydCBlbnVtIERpdmlzaW9uVHlwZSB7XG4gICAgQW5uZXhlID0gXCJBTk5FWEVcIixcbiAgICBBcnRpY2xlID0gXCJBUlRJQ0xFXCIsXG4gICAgQ2hhcGl0cmUgPSBcIkNIQVBJVFJFXCIsXG4gICAgVGl0cmUgPSBcIlRJVFJFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzc2lvblZpc2VlIHtcbiAgICBjb2RlRXRhdDogICAgICAgICAgQ29kZUV0YXQ7XG4gICAgY29kZU1pc3Npb25NaW5lZmk6IHN0cmluZztcbiAgICBsaWJlbGxlTWlzc2lvbjogICAgc3RyaW5nO1xuICAgIG1pc3Npb25SZWY6ICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIENvZGVFdGF0IHtcbiAgICBCID0gXCJCXCIsXG4gICAgQyA9IFwiQ1wiLFxuICAgIEQgPSBcIkRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXByZXNlbnRhdGlvbnMge1xuICAgIHJlcHJlc2VudGF0aW9uOiBSZXByZXNlbnRhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXByZXNlbnRhdGlvbiB7XG4gICAgbm9tOiAgICAgICAgICAgICAgICAgICAgIE5vbTtcbiAgICB0eXBlTWltZTogICAgICAgICAgICAgICAgVHlwZU1JTUU7XG4gICAgc3RhdHV0UmVwcmVzZW50YXRpb246ICAgIFN0YXR1dFJlcHJlc2VudGF0aW9uO1xuICAgIHJlcFNvdXJjZTogICAgICAgICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3M7XG4gICAgb2Zmc2V0OiAgICAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcztcbiAgICBjb250ZW51OiAgICAgICAgICAgICAgICAgQ29udGVudTtcbiAgICBkYXRlRGlzcG9SZXByZXNlbnRhdGlvbjogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnUge1xuICAgIGRvY3VtZW50VVJJOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIE5vbSB7XG4gICAgUERGID0gXCJQREZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXRSZXByZXNlbnRhdGlvbiB7XG4gICAgdmVyYmF0aW06ICAgICAgIHN0cmluZztcbiAgICBjYW5vbmlxdWU6ICAgICAgc3RyaW5nO1xuICAgIG9mZmljaWVsbGU6ICAgICBzdHJpbmc7XG4gICAgdHJhbnNjcmlwdGlvbjogIHN0cmluZztcbiAgICBlbnJlZ2lzdHJlbWVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVNSU1FIHtcbiAgICB0eXBlOiAgICBUeXBlTUlNRVR5cGU7XG4gICAgc3ViVHlwZTogTm9tO1xufVxuXG5leHBvcnQgZW51bSBUeXBlTUlNRVR5cGUge1xuICAgIEFwcGxpY2F0aW9uID0gXCJhcHBsaWNhdGlvblwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdGFpcmVzIHtcbiAgICBhdXRldXI6ICAgICAgICBBdXRldXI7XG4gICAgY29zaWduYXRhaXJlczogQ29zaWduYXRhaXJlcztcbiAgICBzdWZmaXhlOiAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgbGliZWxsZTogICAgICAgbnVsbCB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICAgIHR5cGVBdXRldXI6ICAgICAgICAgICAgICAgIFR5cGVBdXRldXI7XG4gICAgZ291dmVybmVtZW50UmVmOiAgICAgICAgICAgQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xuICAgIGFjdGV1clJlZjogICAgICAgICAgICAgICAgIEFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzcyB8IHN0cmluZztcbiAgICBncm91cGVQb2xpdGlxdWVSZWY6ICAgICAgICBBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3MgfCBzdHJpbmc7XG4gICAgYXV0ZXVyUmFwcG9ydGV1ck9yZ2FuZVJlZjogQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBUeXBlQXV0ZXVyIHtcbiAgICBEw6lwdXTDqSA9IFwiRMOpcHV0w6lcIixcbiAgICBHb3V2ZXJuZW1lbnQgPSBcIkdvdXZlcm5lbWVudFwiLFxuICAgIFJhcHBvcnRldXIgPSBcIlJhcHBvcnRldXJcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3NpZ25hdGFpcmVzIHtcbiAgICBcIkB4bWxuczp4c2lcIj86IHN0cmluZztcbiAgICBcIkB4c2k6bmlsXCI/OiAgIHN0cmluZztcbiAgICBhY3RldXJSZWY/OiAgICBzdHJpbmdbXSB8IHN0cmluZztcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b0FtZW5kZW1lbnRzKGpzb246IHN0cmluZyk6IEFtZW5kZW1lbnRzIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFtZW5kZW1lbnRzXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGFtZW5kZW1lbnRzVG9Kc29uKHZhbHVlOiBBbWVuZGVtZW50cyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBbWVuZGVtZW50c1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9UZXh0ZUxlZ2lzbGF0aWYoanNvbjogc3RyaW5nKTogVGV4dGVMZWdpc2xhdGlmIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlRleHRlTGVnaXNsYXRpZlwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0ZXh0ZUxlZ2lzbGF0aWZUb0pzb24odmFsdWU6IFRleHRlTGVnaXNsYXRpZik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJUZXh0ZUxlZ2lzbGF0aWZcIikpLCBudWxsLCAyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvQW1lbmRlbWVudFdyYXBwZXIoanNvbjogc3RyaW5nKTogQW1lbmRlbWVudFdyYXBwZXIge1xuICAgICAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQW1lbmRlbWVudFdyYXBwZXJcIikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYW1lbmRlbWVudFdyYXBwZXJUb0pzb24odmFsdWU6IEFtZW5kZW1lbnRXcmFwcGVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFtZW5kZW1lbnRXcmFwcGVyXCIpKSwgbnVsbCwgMik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9ICcnKTogbmV2ZXIge1xuICAgIGlmIChrZXkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCk7XG4gICAgfVxuICAgIHRocm93IEVycm9yKGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsICk7XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNvblRvSlMgPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNvblRvSlM7XG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBtYXA6IGFueSA9IHt9O1xuICAgICAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiBtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pO1xuICAgICAgICB0eXAuanNUb0pTT04gPSBtYXA7XG4gICAgfVxuICAgIHJldHVybiB0eXAuanNUb0pTT047XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gJycpOiBhbnkge1xuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgICAgICBjb25zdCBsID0gdHlwcy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0eXAgPSB0eXBzW2ldO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbDtcbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgICAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpO1xuICAgICAgICByZXR1cm4gdmFsLm1hcChlbCA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbCk7XG4gICAgICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSwgYWRkaXRpb25hbDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV07XG4gICAgICAgICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KSA/IHZhbFtrZXldIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWw7XG4gICAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbCk7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKSA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKSAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKTtcbiAgICB9XG4gICAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbCk7XG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcyk7XG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKTtcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICAgIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9O1xufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gICAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH07XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9O1xufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB7IHJlZjogbmFtZSB9O1xufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gICAgXCJBbWVuZGVtZW50c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsIGpzOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsIHR5cDogYShyKFwiVGV4dGVMZWdpc2xhdGlmXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlRleHRlTGVnaXNsYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInJlZlRleHRlTGVnaXNsYXRpZlwiLCBqczogXCJyZWZUZXh0ZUxlZ2lzbGF0aWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhbWVuZGVtZW50c1wiLCBqczogXCJhbWVuZGVtZW50c1wiLCB0eXA6IHIoXCJBbWVuZGVtZW50c0NsYXNzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW1lbmRlbWVudHNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRcIiwganM6IFwiYW1lbmRlbWVudFwiLCB0eXA6IGEocihcIkFtZW5kZW1lbnRcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW1lbmRlbWVudFdyYXBwZXJcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhbWVuZGVtZW50XCIsIGpzOiBcImFtZW5kZW1lbnRcIiwgdHlwOiByKFwiQW1lbmRlbWVudFwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFtZW5kZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnNcIiwganM6IFwiQHhtbG5zXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNocm9ub3RhZ1wiLCBqczogXCJjaHJvbm90YWdcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImlkZW50aWZpY2F0aW9uXCIsIGpzOiBcImlkZW50aWZpY2F0aW9uXCIsIHR5cDogcihcIklkZW50aWZpY2F0aW9uXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJleGFtZW5SZWZcIiwganM6IFwiZXhhbWVuUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidGV4dGVMZWdpc2xhdGlmUmVmXCIsIGpzOiBcInRleHRlTGVnaXNsYXRpZlJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInRyaUFtZW5kZW1lbnRcIiwganM6IFwidHJpQW1lbmRlbWVudFwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNhcmRpbmFsaXRlQW1kdE11bHRpcGxlc1wiLCBqczogXCJjYXJkaW5hbGl0ZUFtZHRNdWx0aXBsZXNcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhbWVuZGVtZW50UGFyZW50UmVmXCIsIGpzOiBcImFtZW5kZW1lbnRQYXJlbnRSZWZcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJzaWduYXRhaXJlc1wiLCBqczogXCJzaWduYXRhaXJlc1wiLCB0eXA6IHIoXCJTaWduYXRhaXJlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwicG9pbnRldXJGcmFnbWVudFRleHRlXCIsIGpzOiBcInBvaW50ZXVyRnJhZ21lbnRUZXh0ZVwiLCB0eXA6IHIoXCJQb2ludGV1ckZyYWdtZW50VGV4dGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvcnBzXCIsIGpzOiBcImNvcnBzXCIsIHR5cDogcihcIkNvcnBzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVwcmVzZW50YXRpb25zXCIsIGpzOiBcInJlcHJlc2VudGF0aW9uc1wiLCB0eXA6IHUocihcIlJlcHJlc2VudGF0aW9uc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInNlYW5jZURpc2N1c3Npb25SZWZcIiwganM6IFwic2VhbmNlRGlzY3Vzc2lvblJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFydGljbGU5OVwiLCBqczogXCJhcnRpY2xlOTlcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsb2lSZWZlcmVuY2VcIiwganM6IFwibG9pUmVmZXJlbmNlXCIsIHR5cDogcihcIkxvaVJlZmVyZW5jZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzY3Vzc2lvbkNvbW11bmVcIiwganM6IFwiZGlzY3Vzc2lvbkNvbW11bmVcIiwgdHlwOiByKFwiRGlzY3Vzc2lvblwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzY3Vzc2lvbklkZW50aXF1ZVwiLCBqczogXCJkaXNjdXNzaW9uSWRlbnRpcXVlXCIsIHR5cDogcihcIkRpc2N1c3Npb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpXCIsIGpzOiBcImFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpXCIsIHR5cDogcihcIkFjY29yZEdvdXZlcm5lbWVudERlcG90SG9yc0RlbGFpXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ29ycHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjYXJ0b3VjaGVJbmZvcm1hdGlmXCIsIGpzOiBcImNhcnRvdWNoZUluZm9ybWF0aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRlbnVBdXRldXJcIiwganM6IFwiY29udGVudUF1dGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29udGVudUF1dGV1clwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb250ZW51QXV0ZXVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZlwiLCBqczogXCJkaXNwb3NpdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdmFudEFwcGVsXCIsIGpzOiBcImF2YW50QXBwZWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkF2YW50QXBwZWxcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJleHBvc2VTb21tYWlyZVwiLCBqczogXCJleHBvc2VTb21tYWlyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYW5uZXhlRXhwb3NlU29tbWFpcmVcIiwganM6IFwiYW5uZXhlRXhwb3NlU29tbWFpcmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIsIGpzOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiLCBqczogXCJkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBdmFudEFwcGVsXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGlzcG9zaXRpZlwiLCBqczogXCJkaXNwb3NpdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaXN0ZVByb2dyYW1tZXNcIiwganM6IFwibGlzdGVQcm9ncmFtbWVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lc1wiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvbGRlQUVcIiwganM6IFwic29sZGVBRVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29sZGVDUFwiLCBqczogXCJzb2xkZUNQXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjcEVnYWxBZVwiLCBqczogXCJjcEVnYWxBZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRkxpc3RlUHJvZ3JhbW1lc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInByb2dyYW1tZVwiLCBqczogXCJwcm9ncmFtbWVcIiwgdHlwOiBhKHIoXCJQdXJwbGVQcm9ncmFtbWVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUHVycGxlUHJvZ3JhbW1lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicHJvZ3JhbW1lUmVmXCIsIGpzOiBcInByb2dyYW1tZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50XCIsIGpzOiBcImNyZWRpdFBhaWVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpZ25lc0NyZWRpdHNcIiwganM6IFwibGlnbmVzQ3JlZGl0c1wiLCB0eXA6IHIoXCJQdXJwbGVMaWduZXNDcmVkaXRzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUHVycGxlTGlnbmVzQ3JlZGl0c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpZ25lQ3JlZGl0XCIsIGpzOiBcImxpZ25lQ3JlZGl0XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiTGlnbmVDcmVkaXRDbGFzc1wiKSksIHIoXCJMaWduZUNyZWRpdENsYXNzXCIpKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJMaWduZUNyZWRpdENsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiaWRcIiwganM6IFwiaWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRvcmlzYXRpb25FbmdhZ2VtZW50XCIsIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjcmVkaXRQYWllbWVudFwiLCBqczogXCJjcmVkaXRQYWllbWVudFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImFjdGlvblwiLCBqczogXCJhY3Rpb25cIiwgdHlwOiByKFwiQWN0aW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibGlzdGVQcm9ncmFtbWVzXCIsIGpzOiBcImxpc3RlUHJvZ3JhbW1lc1wiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSTGlzdGVQcm9ncmFtbWVzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwidG90YWxBRVwiLCBqczogXCJ0b3RhbEFFXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUb3RhbFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcInRvdGFsQ1BcIiwganM6IFwidG90YWxDUFwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiVG90YWxcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJjcEVnYWxBZVwiLCBqczogXCJjcEVnYWxBZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJMaXN0ZVByb2dyYW1tZXNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwcm9ncmFtbWVcIiwganM6IFwicHJvZ3JhbW1lXCIsIHR5cDogYShyKFwiTGlnbmVDcmVkaXRFbGVtZW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkxpZ25lQ3JlZGl0TGlnbmVzQ3JlZGl0c1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpZ25lQ3JlZGl0XCIsIGpzOiBcImxpZ25lQ3JlZGl0XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiTGlnbmVDcmVkaXRFbGVtZW50XCIpKSwgcihcIkxpZ25lQ3JlZGl0RWxlbWVudFwiKSkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTGlnbmVDcmVkaXRFbGVtZW50XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicHJvZ3JhbW1lUmVmXCIsIGpzOiBcInByb2dyYW1tZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudFN1cHBsZW1lbnRhaXJlXCIsIGpzOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRTdXBwbGVtZW50YWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50U3VwcGxlbWVudGFpcmVcIiwganM6IFwiY3JlZGl0UGFpZW1lbnRTdXBwbGVtZW50YWlyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImF1dG9yaXNhdGlvbkVuZ2FnZW1lbnRBbm51bGVcIiwganM6IFwiYXV0b3Jpc2F0aW9uRW5nYWdlbWVudEFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNyZWRpdFBhaWVtZW50QW5udWxlXCIsIGpzOiBcImNyZWRpdFBhaWVtZW50QW5udWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWN0aW9uXCIsIGpzOiBcImFjdGlvblwiLCB0eXA6IHIoXCJBY3Rpb25cIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpZ25lc0NyZWRpdHNcIiwganM6IFwibGlnbmVzQ3JlZGl0c1wiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlnbmVDcmVkaXRMaWduZXNDcmVkaXRzXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiaWRcIiwganM6IFwiaWRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUb3RhbFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInN1cHBsZW1lbnRhaXJlXCIsIGpzOiBcInN1cHBsZW1lbnRhaXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5udWxlXCIsIGpzOiBcImFubnVsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInNvbGRlXCIsIGpzOiBcInNvbGRlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkN5Y2xlRGVWaWVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJkYXRlRGVwb3RcIiwganM6IFwiZGF0ZURlcG90XCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBEYXRlKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVB1YmxpY2F0aW9uXCIsIGpzOiBcImRhdGVQdWJsaWNhdGlvblwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgRGF0ZSkgfSxcbiAgICAgICAgeyBqc29uOiBcInNvdW1pc0FydGljbGU0MFwiLCBqczogXCJzb3VtaXNBcnRpY2xlNDBcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJldGF0RGVzVHJhaXRlbWVudHNcIiwganM6IFwiZXRhdERlc1RyYWl0ZW1lbnRzXCIsIHR5cDogcihcIkV0YXRERVNUcmFpdGVtZW50c1wiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNvcnRcIiwganM6IFwiZGF0ZVNvcnRcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIERhdGUpIH0sXG4gICAgICAgIHsganNvbjogXCJzb3J0XCIsIGpzOiBcInNvcnRcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIHIoXCJTb3J0RW51bVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJFdGF0REVTVHJhaXRlbWVudHNcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiByKFwiRXRhdFwiKSB9LFxuICAgICAgICB7IGpzb246IFwic291c0V0YXRcIiwganM6IFwic291c0V0YXRcIiwgdHlwOiByKFwiU291c0V0YXRcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJFdGF0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU291c0V0YXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvZGVcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlNvcnRFbnVtXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRpc2N1c3Npb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJAeG1sbnM6eHNpXCIsIGpzOiBcIkB4bWxuczp4c2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIkB4c2k6bmlsXCIsIGpzOiBcIkB4c2k6bmlsXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJpZERpc2N1c3Npb25cIiwganM6IFwiaWREaXNjdXNzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlUG9zaXRpb25cIiwganM6IFwidHlwZVBvc2l0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlUG9zaXRpb25cIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiSWRlbnRpZmljYXRpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJudW1lcm9Mb25nXCIsIGpzOiBcIm51bWVyb0xvbmdcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJudW1lcm9PcmRyZURlcG90XCIsIGpzOiBcIm51bWVyb09yZHJlRGVwb3RcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJwcmVmaXhlT3JnYW5lRXhhbWVuXCIsIGpzOiBcInByZWZpeGVPcmdhbmVFeGFtZW5cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJudW1lcm9SZWN0XCIsIGpzOiBcIm51bWVyb1JlY3RcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTG9pUmVmZXJlbmNlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJAeHNpOm5pbFwiLCBqczogXCJAeHNpOm5pbFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY29kZUxvaVwiLCBqczogXCJjb2RlTG9pXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgICAgIHsganNvbjogXCJkaXZpc2lvbkNvZGVMb2lcIiwganM6IFwiZGl2aXNpb25Db2RlTG9pXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgbnVsbCwgXCJcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUG9pbnRldXJGcmFnbWVudFRleHRlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwicGFydGllQW1lbmRhYmxlUmVmXCIsIGpzOiBcInBhcnRpZUFtZW5kYWJsZVJlZlwiLCB0eXA6IHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRpdmlzaW9uXCIsIGpzOiBcImRpdmlzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEaXZpc2lvblwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFtZW5kZW1lbnRTdGFuZGFyZFwiLCBqczogXCJhbWVuZGVtZW50U3RhbmRhcmRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkFtZW5kZW1lbnRTdGFuZGFyZFwiKSkgfSxcbiAgICAgICAgeyBqc29uOiBcIm1pc3Npb25WaXNlZVwiLCBqczogXCJtaXNzaW9uVmlzZWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk1pc3Npb25WaXNlZVwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBbWVuZGVtZW50U3RhbmRhcmRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhbGluZWFcIiwganM6IFwiYWxpbmVhXCIsIHR5cDogcihcIkFsaW5lYVwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkFsaW5lYVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImF2YW50X0FfQXByZXNcIiwganM6IFwiYXZhbnRfQV9BcHJlc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiYWxpbmVhRGVzaWduYXRpb25cIiwganM6IFwiYWxpbmVhRGVzaWduYXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEaXZpc2lvblwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZURlc2lnbmF0aW9uQ291cnRlXCIsIGpzOiBcImFydGljbGVEZXNpZ25hdGlvbkNvdXJ0ZVwiLCB0eXA6IHUobnVsbCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFydGljbGVEZXNpZ25hdGlvblwiLCBqczogXCJhcnRpY2xlRGVzaWduYXRpb25cIiwgdHlwOiB1KG51bGwsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiRGl2aXNpb25UeXBlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdmFudF9BX0FwcmVzXCIsIGpzOiBcImF2YW50X0FfQXByZXNcIiwgdHlwOiByKFwiQXZhbnRBQXByZXNcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsIGpzOiBcImRpdmlzaW9uUmF0dGFjaGVlXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYXJ0aWNsZUFkZGl0aW9ubmVsXCIsIGpzOiBcImFydGljbGVBZGRpdGlvbm5lbFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNoYXBpdHJlQWRkaXRpb25uZWxcIiwganM6IFwiY2hhcGl0cmVBZGRpdGlvbm5lbFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInVybERpdmlzaW9uVGV4dGVWaXNlXCIsIGpzOiBcInVybERpdmlzaW9uVGV4dGVWaXNlXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk1pc3Npb25WaXNlZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImNvZGVFdGF0XCIsIGpzOiBcImNvZGVFdGF0XCIsIHR5cDogcihcIkNvZGVFdGF0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjb2RlTWlzc2lvbk1pbmVmaVwiLCBqczogXCJjb2RlTWlzc2lvbk1pbmVmaVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVNaXNzaW9uXCIsIGpzOiBcImxpYmVsbGVNaXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWlzc2lvblJlZlwiLCBqczogXCJtaXNzaW9uUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlJlcHJlc2VudGF0aW9uc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInJlcHJlc2VudGF0aW9uXCIsIGpzOiBcInJlcHJlc2VudGF0aW9uXCIsIHR5cDogcihcIlJlcHJlc2VudGF0aW9uXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUmVwcmVzZW50YXRpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogcihcIk5vbVwiKSB9LFxuICAgICAgICB7IGpzb246IFwidHlwZU1pbWVcIiwganM6IFwidHlwZU1pbWVcIiwgdHlwOiByKFwiVHlwZU1JTUVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsIGpzOiBcInN0YXR1dFJlcHJlc2VudGF0aW9uXCIsIHR5cDogcihcIlN0YXR1dFJlcHJlc2VudGF0aW9uXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJyZXBTb3VyY2VcIiwganM6IFwicmVwU291cmNlXCIsIHR5cDogcihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwib2Zmc2V0XCIsIGpzOiBcIm9mZnNldFwiLCB0eXA6IHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRlbnVcIiwganM6IFwiY29udGVudVwiLCB0eXA6IHIoXCJDb250ZW51XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvblwiLCBqczogXCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvblwiLCB0eXA6IHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb250ZW51XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiZG9jdW1lbnRVUklcIiwganM6IFwiZG9jdW1lbnRVUklcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3RhdHV0UmVwcmVzZW50YXRpb25cIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2ZXJiYXRpbVwiLCBqczogXCJ2ZXJiYXRpbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImNhbm9uaXF1ZVwiLCBqczogXCJjYW5vbmlxdWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvZmZpY2llbGxlXCIsIGpzOiBcIm9mZmljaWVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0cmFuc2NyaXB0aW9uXCIsIGpzOiBcInRyYW5zY3JpcHRpb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJlbnJlZ2lzdHJlbWVudFwiLCBqczogXCJlbnJlZ2lzdHJlbWVudFwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJUeXBlTUlNRVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHIoXCJUeXBlTUlNRVR5cGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInN1YlR5cGVcIiwganM6IFwic3ViVHlwZVwiLCB0eXA6IHIoXCJOb21cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTaWduYXRhaXJlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImF1dGV1clwiLCBqczogXCJhdXRldXJcIiwgdHlwOiByKFwiQXV0ZXVyXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJjb3NpZ25hdGFpcmVzXCIsIGpzOiBcImNvc2lnbmF0YWlyZXNcIiwgdHlwOiByKFwiQ29zaWduYXRhaXJlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3VmZml4ZVwiLCBqczogXCJzdWZmaXhlXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkF1dGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInR5cGVBdXRldXJcIiwganM6IFwidHlwZUF1dGV1clwiLCB0eXA6IHIoXCJUeXBlQXV0ZXVyXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJnb3V2ZXJuZW1lbnRSZWZcIiwganM6IFwiZ291dmVybmVtZW50UmVmXCIsIHR5cDogdShyKFwiQW1lbmRlbWVudFBhcmVudFJlZkNsYXNzXCIpLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IHUocihcIkFtZW5kZW1lbnRQYXJlbnRSZWZDbGFzc1wiKSwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVBvbGl0aXF1ZVJlZlwiLCBqczogXCJncm91cGVQb2xpdGlxdWVSZWZcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJhdXRldXJSYXBwb3J0ZXVyT3JnYW5lUmVmXCIsIGpzOiBcImF1dGV1clJhcHBvcnRldXJPcmdhbmVSZWZcIiwgdHlwOiB1KHIoXCJBbWVuZGVtZW50UGFyZW50UmVmQ2xhc3NcIiksIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiQ29zaWduYXRhaXJlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIkB4bWxuczp4c2lcIiwganM6IFwiQHhtbG5zOnhzaVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhzaTpuaWxcIiwganM6IFwiQHhzaTpuaWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKFwiXCIpLCBcIlwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJBY2NvcmRHb3V2ZXJuZW1lbnREZXBvdEhvcnNEZWxhaVwiOiBbXG4gICAgICAgIFwiQWNjb3JkXCIsXG4gICAgICAgIFwiU2FucyBvYmpldFwiLFxuICAgIF0sXG4gICAgXCJBY3Rpb25cIjogW1xuICAgICAgICBcImNyw6lhdGlvblwiLFxuICAgICAgICBcIm1vZGlmaWNhdGlvblwiLFxuICAgICAgICBcInN1cHByZXNzaW9uXCIsXG4gICAgXSxcbiAgICBcIkNvZGVcIjogW1xuICAgICAgICBcIkFDXCIsXG4gICAgICAgIFwiQVRcIixcbiAgICAgICAgXCJESVwiLFxuICAgICAgICBcImVmZmFjw6lcIixcbiAgICAgICAgXCJFUlwiLFxuICAgICAgICBcIklSXCIsXG4gICAgICAgIFwiSVJSMTI3XCIsXG4gICAgICAgIFwiSVJSMjBcIixcbiAgICAgICAgXCJJUlIzN1wiLFxuICAgICAgICBcIklSUjM4XCIsXG4gICAgICAgIFwiSVJSNDFcIixcbiAgICAgICAgXCJJUlI0MlwiLFxuICAgICAgICBcIklSUjQ1XCIsXG4gICAgICAgIFwiSVJSNDhcIixcbiAgICAgICAgXCJJUlI1M1wiLFxuICAgICAgICBcIklSUkFJXCIsXG4gICAgICAgIFwiSVJSRFwiLFxuICAgICAgICBcIklSUkhEXCIsXG4gICAgICAgIFwiSVJSU0FcIixcbiAgICAgICAgXCJSXCIsXG4gICAgICAgIFwiUlRcIixcbiAgICAgICAgXCJUXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVcIjogW1xuICAgICAgICBcIkEgZGlzY3V0ZXJcIixcbiAgICAgICAgXCJBIGTDqXBvc2VyXCIsXG4gICAgICAgIFwiRGlzY3V0w6lcIixcbiAgICAgICAgXCJlZmZhY8OpXCIsXG4gICAgICAgIFwiRW4gcmVjZXZhYmlsaXTDqVwiLFxuICAgICAgICBcIkVuIHRyYWl0ZW1lbnRcIixcbiAgICAgICAgXCJJcnJlY2V2YWJsZVwiLFxuICAgICAgICBcIklycmVjZXZhYmxlIDQwXCIsXG4gICAgICAgIFwiUmV0aXLDqVwiLFxuICAgIF0sXG4gICAgXCJTb3J0RW51bVwiOiBbXG4gICAgICAgIFwiQWRvcHTDqVwiLFxuICAgICAgICBcIkF1dHJlIGlycmVjZXZhYmlsaXTDqVwiLFxuICAgICAgICBcIkF1dHJlcyBpcnIgTE9MRlwiLFxuICAgICAgICBcIkF1dHJlcyBpcnIgTE9MRlNTXCIsXG4gICAgICAgIFwiQ2F2YWxpZXIgKDQ1KVwiLFxuICAgICAgICBcIkNhdmFsaWVyIGJ1ZGfDqXRhaXJlXCIsXG4gICAgICAgIFwiQ2F2YWxpZXIgc29jaWFsXCIsXG4gICAgICAgIFwiQ2hhbXAgZGUgbCdoYWJpbGl0YXRpb24gKDM4KVwiLFxuICAgICAgICBcIkNoYXJnZVwiLFxuICAgICAgICBcIkNNUCAoNDUpXCIsXG4gICAgICAgIFwiQ3LDqWRpdHNcIixcbiAgICAgICAgXCJEaXNwb3NpdGlvbiByw6lnbGVtZW50YWlyZSAoMzcpXCIsXG4gICAgICAgIFwiRG9tYWluZSBkZSBsYSBsb2kgKDQxKVwiLFxuICAgICAgICBcIkRvbWFpbmUgbG9pIG9yZ2FuaXF1ZSAoMTI3KVwiLFxuICAgICAgICBcIkRvdWJsb25cIixcbiAgICAgICAgXCJFbnRvbm5vaXIgKDQ1KVwiLFxuICAgICAgICBcIkdhZ2VcIixcbiAgICAgICAgXCJIb3JzLWTDqWxhaXNcIixcbiAgICAgICAgXCJJbmpvbmN0aW9uICgyMClcIixcbiAgICAgICAgXCJJcnIgZW4gcHJlbWnDqHJlIHBhcnRpZVwiLFxuICAgICAgICBcIklyciBlbiBzZWNvbmRlIHBhcnRpZVwiLFxuICAgICAgICBcIkxPTEZcIixcbiAgICAgICAgXCJMT0xGU1NcIixcbiAgICAgICAgXCJOb24gc291dGVudVwiLFxuICAgICAgICBcIk9yZHJlIGR1IGpvdXIgKDQ4KVwiLFxuICAgICAgICBcIlJcIixcbiAgICAgICAgXCJSYXRpZmljYXRpb24gdHJhaXTDqSAoNTMpXCIsXG4gICAgICAgIFwiUmVqZXTDqVwiLFxuICAgICAgICBcIlJldGlyw6lcIixcbiAgICAgICAgXCJSZXRpcsOpIGFwcsOocyBwdWJsaWNhdGlvblwiLFxuICAgICAgICBcIlJldGlyw6kgYXZhbnQgcHVibGljYXRpb25cIixcbiAgICAgICAgXCJTYXRpc2ZhaXQgb3UgaW5vcMOpcmFudCAoNDIpXCIsXG4gICAgICAgIFwiU291cy1hbWVuZGVtZW50ICg5OClcIixcbiAgICAgICAgXCJUb21iw6lcIixcbiAgICBdLFxuICAgIFwiVHlwZVBvc2l0aW9uXCI6IFtcbiAgICAgICAgXCJEZXJuaWVyXCIsXG4gICAgICAgIFwiTWlsaWV1XCIsXG4gICAgICAgIFwiUHJlbWllclwiLFxuICAgIF0sXG4gICAgXCJBdmFudEFBcHJlc1wiOiBbXG4gICAgICAgIFwiQVwiLFxuICAgICAgICBcIkFwcsOoc1wiLFxuICAgICAgICBcIkF2YW50XCIsXG4gICAgXSxcbiAgICBcIkRpdmlzaW9uVHlwZVwiOiBbXG4gICAgICAgIFwiQU5ORVhFXCIsXG4gICAgICAgIFwiQVJUSUNMRVwiLFxuICAgICAgICBcIkNIQVBJVFJFXCIsXG4gICAgICAgIFwiVElUUkVcIixcbiAgICBdLFxuICAgIFwiQ29kZUV0YXRcIjogW1xuICAgICAgICBcIkJcIixcbiAgICAgICAgXCJDXCIsXG4gICAgICAgIFwiRFwiLFxuICAgIF0sXG4gICAgXCJOb21cIjogW1xuICAgICAgICBcIlBERlwiLFxuICAgIF0sXG4gICAgXCJUeXBlTUlNRVR5cGVcIjogW1xuICAgICAgICBcImFwcGxpY2F0aW9uXCIsXG4gICAgXSxcbiAgICBcIlR5cGVBdXRldXJcIjogW1xuICAgICAgICBcIkTDqXB1dMOpXCIsXG4gICAgICAgIFwiR291dmVybmVtZW50XCIsXG4gICAgICAgIFwiUmFwcG9ydGV1clwiLFxuICAgIF0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBNENZQSxnQzs7O1dBQUFBLGdDO0VBQUFBLGdDO0VBQUFBLGdDO0dBQUFBLGdDLGdEQUFBQSxnQzs7SUFzREFDLE07OztXQUFBQSxNO0VBQUFBLE07RUFBQUEsTTtFQUFBQSxNO0dBQUFBLE0sc0JBQUFBLE07O0lBMEVBQyxJOzs7V0FBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0VBQUFBLEk7RUFBQUEsSTtFQUFBQSxJO0dBQUFBLEksb0JBQUFBLEk7O0lBeUJBQyxPOzs7V0FBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztFQUFBQSxPO0VBQUFBLE87RUFBQUEsTztHQUFBQSxPLHVCQUFBQSxPOztJQW1CQUMsUTs7O1dBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7RUFBQUEsUTtHQUFBQSxRLHdCQUFBQSxROztJQTRDQUMsWTs7O1dBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7R0FBQUEsWSw0QkFBQUEsWTs7SUFtREFDLFc7OztXQUFBQSxXO0VBQUFBLFc7RUFBQUEsVztFQUFBQSxXO0dBQUFBLFcsMkJBQUFBLFc7O0lBTUFDLFk7OztXQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7R0FBQUEsWSw0QkFBQUEsWTs7SUFjQUMsUTs7O1dBQUFBLFE7RUFBQUEsUTtFQUFBQSxRO0VBQUFBLFE7R0FBQUEsUSx3QkFBQUEsUTs7SUF3QkFDLEc7OztXQUFBQSxHO0VBQUFBLEc7R0FBQUEsRyxtQkFBQUEsRzs7SUFpQkFDLFk7OztXQUFBQSxZO0VBQUFBLFk7R0FBQUEsWSw0QkFBQUEsWTs7SUFtQkFDLFU7OztXQUFBQSxVO0VB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
|