@tricoteuses/assemblee 1.0.7 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api.js +3 -9
- package/lib/api.mjs +4 -5
- package/lib/bugs/acteur-00010/plugin.test.js +3 -50
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +2 -57
- package/lib/bugs/acteur-00010.mjs +1 -6
- package/lib/bugs/agenda-00002/plugin.test.js +3 -53
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -3
- package/lib/bugs/agenda-00002.js +3 -148
- package/lib/bugs/agenda-00002.mjs +1 -28
- package/lib/bugs/agenda-00008/plugin.test.js +3 -52
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +2 -61
- package/lib/bugs/agenda-00008.mjs +1 -5
- package/lib/bugs/agenda-00011/plugin.test.js +5 -99
- package/lib/bugs/agenda-00011/plugin.test.mjs +3 -3
- package/lib/bugs/agenda-00011.js +4 -105
- package/lib/bugs/agenda-00011.mjs +3 -29
- package/lib/bugs.js +3 -164
- package/lib/bugs.mjs +1 -26
- package/lib/cleaners/actes_legislatifs.js +11 -115
- package/lib/cleaners/actes_legislatifs.mjs +7 -82
- package/lib/cleaners/acteurs.js +12 -92
- package/lib/cleaners/acteurs.mjs +7 -38
- package/lib/cleaners/amendements.js +10 -103
- package/lib/cleaners/amendements.mjs +4 -58
- package/lib/cleaners/documents.js +5 -67
- package/lib/cleaners/documents.mjs +1 -37
- package/lib/cleaners/dossiers_legislatifs.js +5 -61
- package/lib/cleaners/dossiers_legislatifs.mjs +1 -29
- package/lib/cleaners/index.js +1 -9
- package/lib/cleaners/index.mjs +1 -1
- package/lib/cleaners/organes.js +1 -33
- package/lib/cleaners/organes.mjs +1 -17
- package/lib/cleaners/reunions.js +4 -119
- package/lib/cleaners/reunions.mjs +1 -64
- package/lib/cleaners/scrutins.js +10 -102
- package/lib/cleaners/scrutins.mjs +1 -48
- package/lib/cleaners/xml.js +8 -42
- package/lib/cleaners/xml.mjs +6 -8
- package/lib/datasets.js +14 -113
- package/lib/datasets.mjs +6 -46
- package/lib/dates.js +7 -37
- package/lib/dates.mjs +9 -14
- package/lib/dossiers_legislatifs.js +6 -68
- package/lib/dossiers_legislatifs.mjs +5 -36
- package/lib/file_systems.js +56 -139
- package/lib/file_systems.mjs +1 -9
- package/lib/git.js +4 -53
- package/lib/git.mjs +1 -12
- package/lib/index.js +1 -15
- package/lib/index.mjs +1 -1
- package/lib/inserters.js +23 -146
- package/lib/inserters.mjs +6 -87
- package/lib/loaders.js +44 -316
- package/lib/loaders.mjs +12 -135
- package/lib/organes.js +1 -7
- package/lib/organes.mjs +1 -4
- package/lib/parsers/documents.js +22 -151
- package/lib/parsers/documents.mjs +19 -81
- package/lib/parsers/index.js +1 -4
- package/lib/parsers/index.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +302 -527
- package/lib/parsers/recherche_amendements.mjs +8 -31
- package/lib/raw_types/acteurs_et_organes.d.ts +1 -30
- package/lib/raw_types/acteurs_et_organes.js +5 -124
- package/lib/raw_types/acteurs_et_organes.mjs +5 -105
- package/lib/raw_types/agendas.js +6 -89
- package/lib/raw_types/agendas.mjs +9 -65
- package/lib/raw_types/amendements.d.ts +2 -0
- package/lib/raw_types/amendements.js +10 -90
- package/lib/raw_types/amendements.mjs +11 -69
- package/lib/raw_types/dossiers_legislatifs.js +6 -96
- package/lib/raw_types/dossiers_legislatifs.mjs +6 -73
- package/lib/raw_types/scrutins.js +6 -81
- package/lib/raw_types/scrutins.mjs +9 -57
- package/lib/scripts/bugs_helper.js +2 -181
- package/lib/scripts/bugs_helper.mjs +2 -39
- package/lib/scripts/clean_data.js +27 -143
- package/lib/scripts/clean_data.mjs +15 -34
- package/lib/scripts/clean_reorganized_data.js +76 -240
- package/lib/scripts/clean_reorganized_data.mjs +36 -99
- package/lib/scripts/diff_amendements.js +19 -79
- package/lib/scripts/diff_amendements.mjs +17 -35
- package/lib/scripts/document_dossiers_legislatifs.js +17 -142
- package/lib/scripts/document_dossiers_legislatifs.mjs +6 -90
- package/lib/scripts/get_today_reunions.js +4 -22
- package/lib/scripts/get_today_reunions.mjs +1 -7
- package/lib/scripts/merge_scrutins.js +3 -47
- package/lib/scripts/merge_scrutins.mjs +1 -9
- package/lib/scripts/parse_textes_lois.js +15 -44
- package/lib/scripts/parse_textes_lois.mjs +18 -19
- package/lib/scripts/raw_types_from_amendements.js +3 -95
- package/lib/scripts/raw_types_from_amendements.mjs +1 -16
- package/lib/scripts/reorganize_data.js +74 -294
- package/lib/scripts/reorganize_data.mjs +22 -133
- package/lib/scripts/retrieve_deputes_photos.js +6 -119
- package/lib/scripts/retrieve_deputes_photos.mjs +7 -33
- package/lib/scripts/retrieve_documents.js +4 -192
- package/lib/scripts/retrieve_documents.mjs +2 -50
- package/lib/scripts/retrieve_open_data.js +44 -116
- package/lib/scripts/retrieve_open_data.mjs +14 -19
- package/lib/scripts/retrieve_pending_amendments.js +4 -98
- package/lib/scripts/retrieve_pending_amendments.mjs +1 -14
- package/lib/scripts/retrieve_senateurs_photos.js +18 -114
- package/lib/scripts/retrieve_senateurs_photos.mjs +20 -48
- package/lib/scripts/retrieve_textes_lois.js +3 -122
- package/lib/scripts/retrieve_textes_lois.mjs +3 -21
- package/lib/scripts/test_load.js +2 -10
- package/lib/scripts/test_load.mjs +2 -1
- package/lib/scripts/test_load_big_files.js +2 -10
- package/lib/scripts/test_load_big_files.mjs +2 -1
- package/lib/scripts/validate_json.js +4 -119
- package/lib/scripts/validate_json.mjs +2 -36
- package/lib/shared_types/codes_actes.js +1 -24
- package/lib/shared_types/codes_actes.mjs +3 -10
- package/lib/strings.js +1 -5
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +9 -84
- package/lib/types/acteurs_et_organes.mjs +10 -63
- package/lib/types/agendas.js +8 -90
- package/lib/types/agendas.mjs +11 -66
- package/lib/types/amendements.d.ts +2 -0
- package/lib/types/amendements.js +12 -92
- package/lib/types/amendements.mjs +15 -70
- package/lib/types/dossiers_legislatifs.js +8 -96
- package/lib/types/dossiers_legislatifs.mjs +10 -72
- package/lib/types/legislatures.js +1 -3
- package/lib/types/legislatures.mjs +1 -2
- package/lib/types/scrutins.js +8 -82
- package/lib/types/scrutins.mjs +11 -58
- package/lib/urls.js +3 -27
- package/lib/urls.mjs +3 -21
- package/package.json +1 -1
package/lib/types/agendas.mjs
CHANGED
|
@@ -7,48 +7,38 @@
|
|
|
7
7
|
//
|
|
8
8
|
// These functions will throw an error if the JSON doesn't
|
|
9
9
|
// match the expected interface, even if the JSON is valid.
|
|
10
|
-
export let ReunionXsiType;
|
|
11
10
|
|
|
11
|
+
export let ReunionXsiType;
|
|
12
12
|
(function (ReunionXsiType) {
|
|
13
13
|
ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
|
|
14
14
|
ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
|
|
15
15
|
ReunionXsiType["SeanceType"] = "seance_type";
|
|
16
16
|
})(ReunionXsiType || (ReunionXsiType = {}));
|
|
17
|
-
|
|
18
17
|
export let PointOdjXsiType;
|
|
19
|
-
|
|
20
18
|
(function (PointOdjXsiType) {
|
|
21
19
|
PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
|
|
22
20
|
PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
|
|
23
21
|
})(PointOdjXsiType || (PointOdjXsiType = {}));
|
|
24
|
-
|
|
25
22
|
export let EtatCycleDeVie;
|
|
26
|
-
|
|
27
23
|
(function (EtatCycleDeVie) {
|
|
28
24
|
EtatCycleDeVie["Annul\xE9"] = "Annul\xE9";
|
|
29
25
|
EtatCycleDeVie["Confirm\xE9"] = "Confirm\xE9";
|
|
30
26
|
EtatCycleDeVie["Eventuel"] = "Eventuel";
|
|
31
27
|
EtatCycleDeVie["Supprim\xE9"] = "Supprim\xE9";
|
|
32
28
|
})(EtatCycleDeVie || (EtatCycleDeVie = {}));
|
|
33
|
-
|
|
34
29
|
export let NatureTravauxOdj;
|
|
35
|
-
|
|
36
30
|
(function (NatureTravauxOdj) {
|
|
37
31
|
NatureTravauxOdj["Odjpr"] = "ODJPR";
|
|
38
32
|
NatureTravauxOdj["Odjsn"] = "ODJSN";
|
|
39
33
|
})(NatureTravauxOdj || (NatureTravauxOdj = {}));
|
|
40
|
-
|
|
41
34
|
export let Procedure;
|
|
42
|
-
|
|
43
35
|
(function (Procedure) {
|
|
44
36
|
Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
|
|
45
37
|
Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
|
|
46
38
|
Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
|
|
47
39
|
Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
|
|
48
40
|
})(Procedure || (Procedure = {}));
|
|
49
|
-
|
|
50
41
|
export let TypePointOdj;
|
|
51
|
-
|
|
52
42
|
(function (TypePointOdj) {
|
|
53
43
|
TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
|
|
54
44
|
TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
|
|
@@ -84,50 +74,40 @@ export let TypePointOdj;
|
|
|
84
74
|
TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
|
|
85
75
|
TypePointOdj["VoteSolennel"] = "Vote solennel";
|
|
86
76
|
})(TypePointOdj || (TypePointOdj = {}));
|
|
87
|
-
|
|
88
77
|
export let FormatReunion;
|
|
89
|
-
|
|
90
78
|
(function (FormatReunion) {
|
|
91
79
|
FormatReunion["AuditionExterne"] = "AuditionExterne";
|
|
92
80
|
FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
|
|
93
81
|
FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
|
|
94
82
|
FormatReunion["Ordinaire"] = "Ordinaire";
|
|
95
83
|
})(FormatReunion || (FormatReunion = {}));
|
|
96
|
-
|
|
97
84
|
export let Quantieme;
|
|
98
|
-
|
|
99
85
|
(function (Quantieme) {
|
|
100
86
|
Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
|
|
101
87
|
Quantieme["Premi\xE8re"] = "Premi\xE8re";
|
|
102
88
|
Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
|
|
103
89
|
Quantieme["Unique"] = "Unique";
|
|
104
90
|
})(Quantieme || (Quantieme = {}));
|
|
105
|
-
|
|
106
91
|
export let Presence;
|
|
107
|
-
|
|
108
92
|
(function (Presence) {
|
|
109
93
|
Presence["Absent"] = "absent";
|
|
110
94
|
Presence["Excus\xE9"] = "excus\xE9";
|
|
111
95
|
Presence["Pr\xE9sent"] = "pr\xE9sent";
|
|
112
96
|
})(Presence || (Presence = {}));
|
|
113
|
-
|
|
114
97
|
export let Civ;
|
|
115
|
-
|
|
116
98
|
(function (Civ) {
|
|
117
99
|
Civ["M"] = "M.";
|
|
118
100
|
Civ["Mme"] = "Mme";
|
|
119
101
|
})(Civ || (Civ = {}));
|
|
120
|
-
|
|
121
102
|
export let PersonneAuditionneeXsiType;
|
|
122
|
-
|
|
123
103
|
(function (PersonneAuditionneeXsiType) {
|
|
124
104
|
PersonneAuditionneeXsiType["IdActeurType"] = "IdActeur_type";
|
|
125
105
|
PersonneAuditionneeXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
|
|
126
106
|
})(PersonneAuditionneeXsiType || (PersonneAuditionneeXsiType = {}));
|
|
107
|
+
export let TypeReunion;
|
|
127
108
|
|
|
128
|
-
|
|
109
|
+
// Converts JSON strings to/from your types
|
|
129
110
|
// and asserts the results of JSON.parse at runtime
|
|
130
|
-
|
|
131
111
|
(function (TypeReunion) {
|
|
132
112
|
TypeReunion["Dep"] = "DEP";
|
|
133
113
|
TypeReunion["Ga"] = "GA";
|
|
@@ -136,34 +116,26 @@ export let TypeReunion; // Converts JSON strings to/from your types
|
|
|
136
116
|
TypeReunion["Gp"] = "GP";
|
|
137
117
|
TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
|
|
138
118
|
})(TypeReunion || (TypeReunion = {}));
|
|
139
|
-
|
|
140
119
|
export class Convert {
|
|
141
120
|
static toAgendas(json) {
|
|
142
121
|
return cast(JSON.parse(json), r("Agendas"));
|
|
143
122
|
}
|
|
144
|
-
|
|
145
123
|
static agendasToJson(value) {
|
|
146
124
|
return JSON.stringify(uncast(value, r("Agendas")), null, 2);
|
|
147
125
|
}
|
|
148
|
-
|
|
149
126
|
static toReunion(json) {
|
|
150
127
|
return cast(JSON.parse(json), r("Reunion"));
|
|
151
128
|
}
|
|
152
|
-
|
|
153
129
|
static reunionToJson(value) {
|
|
154
130
|
return JSON.stringify(uncast(value, r("Reunion")), null, 2);
|
|
155
131
|
}
|
|
156
|
-
|
|
157
132
|
}
|
|
158
|
-
|
|
159
133
|
function invalidValue(typ, val, key = "") {
|
|
160
134
|
if (key) {
|
|
161
135
|
throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
|
|
162
136
|
}
|
|
163
|
-
|
|
164
137
|
throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
|
|
165
138
|
}
|
|
166
|
-
|
|
167
139
|
function jsonToJSProps(typ) {
|
|
168
140
|
if (typ.jsonToJS === undefined) {
|
|
169
141
|
var map = {};
|
|
@@ -173,10 +145,8 @@ function jsonToJSProps(typ) {
|
|
|
173
145
|
});
|
|
174
146
|
typ.jsonToJS = map;
|
|
175
147
|
}
|
|
176
|
-
|
|
177
148
|
return typ.jsonToJS;
|
|
178
149
|
}
|
|
179
|
-
|
|
180
150
|
function jsToJSONProps(typ) {
|
|
181
151
|
if (typ.jsToJSON === undefined) {
|
|
182
152
|
var map = {};
|
|
@@ -186,61 +156,47 @@ function jsToJSONProps(typ) {
|
|
|
186
156
|
});
|
|
187
157
|
typ.jsToJSON = map;
|
|
188
158
|
}
|
|
189
|
-
|
|
190
159
|
return typ.jsToJSON;
|
|
191
160
|
}
|
|
192
|
-
|
|
193
161
|
function transform(val, typ, getProps, key = "") {
|
|
194
162
|
function transformPrimitive(typ, val) {
|
|
195
163
|
if (typeof typ === typeof val) return val;
|
|
196
164
|
return invalidValue(typ, val, key);
|
|
197
165
|
}
|
|
198
|
-
|
|
199
166
|
function transformUnion(typs, val) {
|
|
200
167
|
// val must validate against one typ in typs
|
|
201
168
|
const l = typs.length;
|
|
202
|
-
|
|
203
169
|
for (let i = 0; i < l; i++) {
|
|
204
170
|
const typ = typs[i];
|
|
205
|
-
|
|
206
171
|
try {
|
|
207
172
|
return transform(val, typ, getProps);
|
|
208
173
|
} catch (_) {}
|
|
209
174
|
}
|
|
210
|
-
|
|
211
175
|
return invalidValue(typs, val);
|
|
212
176
|
}
|
|
213
|
-
|
|
214
177
|
function transformEnum(cases, val) {
|
|
215
178
|
if (cases.indexOf(val) !== -1) return val;
|
|
216
179
|
return invalidValue(cases, val);
|
|
217
180
|
}
|
|
218
|
-
|
|
219
181
|
function transformArray(typ, val) {
|
|
220
182
|
// val must be an array with no invalid elements
|
|
221
183
|
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
222
184
|
return val.map(el => transform(el, typ, getProps));
|
|
223
185
|
}
|
|
224
|
-
|
|
225
186
|
function transformDate(val) {
|
|
226
187
|
if (val === null) {
|
|
227
188
|
return null;
|
|
228
189
|
}
|
|
229
|
-
|
|
230
190
|
const d = new Date(val);
|
|
231
|
-
|
|
232
191
|
if (isNaN(d.valueOf())) {
|
|
233
192
|
return invalidValue("Date", val);
|
|
234
193
|
}
|
|
235
|
-
|
|
236
194
|
return d;
|
|
237
195
|
}
|
|
238
|
-
|
|
239
196
|
function transformObject(props, additional, val) {
|
|
240
197
|
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
241
198
|
return invalidValue("object", val);
|
|
242
199
|
}
|
|
243
|
-
|
|
244
200
|
const result = {};
|
|
245
201
|
Object.getOwnPropertyNames(props).forEach(key => {
|
|
246
202
|
const prop = props[key];
|
|
@@ -254,66 +210,55 @@ function transform(val, typ, getProps, key = "") {
|
|
|
254
210
|
});
|
|
255
211
|
return result;
|
|
256
212
|
}
|
|
257
|
-
|
|
258
213
|
if (typ === "any") return val;
|
|
259
|
-
|
|
260
214
|
if (typ === null) {
|
|
261
215
|
if (val === null) return val;
|
|
262
216
|
return invalidValue(typ, val);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
|
|
217
|
+
}
|
|
218
|
+
// if (typ === false) return invalidValue(typ, val)
|
|
266
219
|
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
267
220
|
typ = typeMap[typ.ref];
|
|
268
221
|
}
|
|
269
|
-
|
|
270
222
|
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
271
|
-
|
|
272
223
|
if (typeof typ === "object") {
|
|
273
224
|
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);
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
225
|
+
}
|
|
226
|
+
// Numbers can be parsed by Date but shouldn't be.
|
|
277
227
|
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
278
228
|
return transformPrimitive(typ, val);
|
|
279
229
|
}
|
|
280
|
-
|
|
281
230
|
function cast(val, typ) {
|
|
282
231
|
return transform(val, typ, jsonToJSProps);
|
|
283
232
|
}
|
|
284
|
-
|
|
285
233
|
function uncast(val, typ) {
|
|
286
234
|
return transform(val, typ, jsToJSONProps);
|
|
287
235
|
}
|
|
288
|
-
|
|
289
236
|
function a(typ) {
|
|
290
237
|
return {
|
|
291
238
|
arrayItems: typ
|
|
292
239
|
};
|
|
293
240
|
}
|
|
294
|
-
|
|
295
241
|
function u(...typs) {
|
|
296
242
|
return {
|
|
297
243
|
unionMembers: typs
|
|
298
244
|
};
|
|
299
245
|
}
|
|
300
|
-
|
|
301
246
|
function o(props, additional) {
|
|
302
247
|
return {
|
|
303
248
|
props,
|
|
304
249
|
additional
|
|
305
250
|
};
|
|
306
|
-
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// function m(additional: any) {
|
|
307
254
|
// return { props: [], additional }
|
|
308
255
|
// }
|
|
309
256
|
|
|
310
|
-
|
|
311
257
|
function r(name) {
|
|
312
258
|
return {
|
|
313
259
|
ref: name
|
|
314
260
|
};
|
|
315
261
|
}
|
|
316
|
-
|
|
317
262
|
const typeMap = {
|
|
318
263
|
Agendas: o([{
|
|
319
264
|
json: "reunions",
|
|
@@ -620,4 +565,4 @@ const typeMap = {
|
|
|
620
565
|
PersonneAuditionneeXsiType: ["IdActeur_type", "IdPersonneExterne_type"],
|
|
621
566
|
TypeReunion: ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"]
|
|
622
567
|
};
|
|
623
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXRDeWNsZURlVmllIiwiTmF0dXJlVHJhdmF1eE9kaiIsIlByb2NlZHVyZSIsIlR5cGVQb2ludE9kaiIsIkZvcm1hdFJldW5pb24iLCJRdWFudGllbWUiLCJQcmVzZW5jZSIsIkNpdiIsIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIiwiVHlwZVJldW5pb24iLCJDb252ZXJ0IiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9SZXVuaW9uIiwicmV1bmlvblRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiLCJBZ2VuZGFzIiwiUmV1bmlvbiIsIk9kaiIsIlBvaW50T2RqIiwiQ3ljbGVEZVZpZSIsIkNocm9ubyIsIkRlbWFuZGV1cnMiLCJEZW1hbmRldXJBY3RldXIiLCJEZW1hbmRldXJPcmdhbmUiLCJJZGVudGlmaWFudHMiLCJJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUiLCJMaWV1IiwiUGFydGljaXBhbnRzIiwiUGFydGljaXBhbnRJbnRlcm5lIiwiUGVyc29ubmVBdWRpdGlvbm5lZSIsIklkZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW5kYXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUmV1bmlvbiwgQWdlbmRhcyB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IHJldW5pb24gPSBDb252ZXJ0LnRvUmV1bmlvbihqc29uKTtcbi8vICAgY29uc3QgYWdlbmRhcyA9IENvbnZlcnQudG9BZ2VuZGFzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmltcG9ydCB7IEFjdGV1ciwgT3JnYW5lIH0gZnJvbSBcIi4vYWN0ZXVyc19ldF9vcmdhbmVzXCJcblxuZXhwb3J0IGludGVyZmFjZSBBZ2VuZGFzIHtcbiAgcmV1bmlvbnM6IFJldW5pb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldW5pb24ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHhzaVR5cGU/OiBSZXVuaW9uWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICB0aW1lc3RhbXBEZWJ1dDogRGF0ZVxuICB0aW1lc3RhbXBGaW4/OiBEYXRlXG4gIGxpZXU/OiBMaWV1XG4gIGN5Y2xlRGVWaWU6IEN5Y2xlRGVWaWVcbiAgZGVtYW5kZXVycz86IERlbWFuZGV1cnNcbiAgb3JnYW5lUmV1bmlSZWY/OiBzdHJpbmdcbiAgb3JnYW5lUmV1bmk/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgdHlwZVJldW5pb24/OiBUeXBlUmV1bmlvblxuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudHNcbiAgc2Vzc2lvblJlZj86IHN0cmluZ1xuICBvdXZlcnR1cmVQcmVzc2U/OiBib29sZWFuXG4gIG9kaj86IE9kalxuICBjb21wdGVSZW5kdVJlZj86IHN0cmluZ1xuICBpZGVudGlmaWFudHM/OiBJZGVudGlmaWFudHNcbiAgZm9ybWF0UmV1bmlvbj86IEZvcm1hdFJldW5pb25cbiAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlPzogSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXG4gIGNhcHRhdGlvblZpZGVvPzogYm9vbGVhblxuICB2aXNpb0NvbmZlcmVuY2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUmV1bmlvblhzaVR5cGUge1xuICBSZXVuaW9uQ29tbWlzc2lvblR5cGUgPSBcInJldW5pb25Db21taXNzaW9uX3R5cGVcIixcbiAgUmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlVHlwZSA9IFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgU2VhbmNlVHlwZSA9IFwic2VhbmNlX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZGoge1xuICBjb252b2NhdGlvbk9kaj86IHN0cmluZ1tdXG4gIHJlc3VtZU9kaj86IHN0cmluZ1tdXG4gIHBvaW50c09kaj86IFBvaW50T2RqW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludE9kaiB7XG4gIHhzaVR5cGU6IFBvaW50T2RqWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIG9iamV0OiBzdHJpbmdcbiAgcHJvY2VkdXJlPzogUHJvY2VkdXJlXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzPzogc3RyaW5nW11cbiAgdHlwZVBvaW50T2RqOiBUeXBlUG9pbnRPZGpcbiAgY29taXRlU2VjcmV0OiBib29sZWFuXG4gIG5hdHVyZVRyYXZhdXhPZGo/OiBOYXR1cmVUcmF2YXV4T2RqXG4gIGRhdGVDb25mUHJlcz86IERhdGVcbiAgZGF0ZUxldHRyZU1pbmlzdHJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBQb2ludE9kalhzaVR5cGUge1xuICBQb2RqUmV1bmlvblR5cGUgPSBcInBvZGpSZXVuaW9uX3R5cGVcIixcbiAgUG9kalNlYW5jZUNvbmZQcmVzVHlwZSA9IFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDeWNsZURlVmllIHtcbiAgZXRhdDogRXRhdEN5Y2xlRGVWaWVcbiAgY2hyb25vOiBDaHJvbm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJvbm8ge1xuICBjcmVhdGlvbjogRGF0ZVxuICBjbG90dXJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBFdGF0Q3ljbGVEZVZpZSB7XG4gIEFubnVsw6kgPSBcIkFubnVsw6lcIixcbiAgQ29uZmlybcOpID0gXCJDb25maXJtw6lcIixcbiAgRXZlbnR1ZWwgPSBcIkV2ZW50dWVsXCIsXG4gIFN1cHByaW3DqSA9IFwiU3VwcHJpbcOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIE5hdHVyZVRyYXZhdXhPZGoge1xuICBPZGpwciA9IFwiT0RKUFJcIixcbiAgT2Rqc24gPSBcIk9ESlNOXCIsXG59XG5cbmV4cG9ydCBlbnVtIFByb2NlZHVyZSB7XG4gIERpc2N1c3Npb25Hw6luw6lyYWxlQ29tbXVuZSA9IFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDMgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDYgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgUHJvY8OpZHVyZURlTMOpZ2lzbGF0aW9uRW5Db21taXNzaW9uQXJ0aWNsZTEwNzEgPSBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlUG9pbnRPZGoge1xuICBBbWVuZGVtZW50c0FydDg4ID0gXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgQW1lbmRlbWVudHNBcnQ5MSA9IFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gIEF1ZGl0aW9uID0gXCJBdWRpdGlvblwiLFxuICBBdWRpdGlvbk1pbmlzdHJlID0gXCJBdWRpdGlvbiBtaW5pc3RyZVwiLFxuICBBdWRpdGlvbk1pbmlzdHJlT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIEF1ZGl0aW9uT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIENvbW11bmljYXRpb24gPSBcIkNvbW11bmljYXRpb25cIixcbiAgQ29uc3RpdHV0aW9uRGVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJDb25zdGl0dXRpb24gZGUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIERpc2N1c3Npb24gPSBcIkRpc2N1c3Npb25cIixcbiAgRMOpYmF0REluaXRpYXRpdmVQYXJsZW1lbnRhaXJlID0gXCJEw6liYXQgZCdpbml0aWF0aXZlIHBhcmxlbWVudGFpcmVcIixcbiAgRMOpY2xhcmF0aW9uRHVHb3V2ZXJuZW1lbnRTdWl2aWVEVW5Ew6liYXQgPSBcIkTDqWNsYXJhdGlvbiBkdSBHb3V2ZXJuZW1lbnQgc3VpdmllIGQndW4gZMOpYmF0XCIsXG4gIEVjaGFuZ2VzRGVWdWVzID0gXCJFY2hhbmdlcyBkZSB2dWVzXCIsXG4gIEV4YW1lbiA9IFwiRXhhbWVuXCIsXG4gIEV4cGxpY2F0aW9uc0RlVm90ZURlc0dyb3VwZXNFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBGaXhhdGlvbkRlTE9yZHJlRHVKb3VyID0gXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgTm9taW5hdGlvbkJ1cmVhdSA9IFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgTm9taW5hdGlvbkNhbmRpZGF0c09yZ2FuaXNtZUV4dHJhcGFybGVtZW50YWlyZSA9IFwiTm9taW5hdGlvbiBjYW5kaWRhdHMgb3JnYW5pc21lIGV4dHJhcGFybGVtZW50YWlyZVwiLFxuICBOb21pbmF0aW9uRFVuTWVtYnJlRFVuZU1pc3Npb25ESW5mb3JtYXRpb24gPSBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJEQXBwbGljYXRpb24gPSBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1clBvdXJBdmlzID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gIE91dmVydHVyZUV0Q2zDtHR1cmVEZVNlc3Npb24gPSBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gIFF1ZXN0aW9uc0F1R291dmVybmVtZW50ID0gXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gIFF1ZXN0aW9uc09yYWxlc1NhbnNEw6liYXQgPSBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgUmFwcG9ydCA9IFwiUmFwcG9ydFwiLFxuICBSYXBwb3J0REluZm9ybWF0aW9uID0gXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgUmFwcG9ydFBvdXJBdmlzID0gXCJSYXBwb3J0IHBvdXIgYXZpc1wiLFxuICBTdWl0ZURlTGFEaXNjdXNzaW9uID0gXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gIFRhYmxlUm9uZGUgPSBcIlRhYmxlIHJvbmRlXCIsXG4gIFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBWb3RlU29sZW5uZWwgPSBcIlZvdGUgc29sZW5uZWxcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJzIHtcbiAgYWN0ZXVycz86IERlbWFuZGV1ckFjdGV1cltdXG4gIG9yZ2FuZT86IERlbWFuZGV1ck9yZ2FuZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1ckFjdGV1ciB7XG4gIG5vbT86IHN0cmluZ1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBhY3RldXI/OiBBY3RldXIgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJPcmdhbmUge1xuICBub206IHN0cmluZ1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBvcmdhbmU/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGVudW0gRm9ybWF0UmV1bmlvbiB7XG4gIEF1ZGl0aW9uRXh0ZXJuZSA9IFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gIEF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvbiA9IFwiQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uXCIsXG4gIEF1ZGl0aW9uUGFyUmFwcG9ydGV1ciA9IFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gIE9yZGluYWlyZSA9IFwiT3JkaW5haXJlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhbnRzIHtcbiAgbnVtU2VhbmNlSm8/OiBzdHJpbmdcbiAgaWRKbz86IHN0cmluZ1xuICBxdWFudGllbWU6IFF1YW50aWVtZVxuICBkYXRlU2VhbmNlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUXVhbnRpZW1lIHtcbiAgRGV1eGnDqG1lID0gXCJEZXV4acOobWVcIixcbiAgUHJlbWnDqHJlID0gXCJQcmVtacOocmVcIixcbiAgVHJvaXNpw6htZSA9IFwiVHJvaXNpw6htZVwiLFxuICBVbmlxdWUgPSBcIlVuaXF1ZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSB7XG4gIGVzdFJldW5pb25JbnRlcm5hdGlvbmFsZTogYm9vbGVhblxuICBsaXN0ZVBheXM/OiBzdHJpbmdbXVxuICBpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWV1IHtcbiAgY29kZT86IHN0cmluZ1xuICBsaWJlbGxlQ291cnQ/OiBzdHJpbmdcbiAgbGliZWxsZUxvbmc/OiBzdHJpbmdcbiAgbGlldVJlZj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50cyB7XG4gIHBhcnRpY2lwYW50c0ludGVybmVzPzogUGFydGljaXBhbnRJbnRlcm5lW11cbiAgcGVyc29ubmVzQXVkaXRpb25uZWVzPzogUGVyc29ubmVBdWRpdGlvbm5lZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGljaXBhbnRJbnRlcm5lIHtcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHByZXNlbmNlOiBQcmVzZW5jZVxufVxuXG5leHBvcnQgZW51bSBQcmVzZW5jZSB7XG4gIEFic2VudCA9IFwiYWJzZW50XCIsXG4gIEV4Y3Vzw6kgPSBcImV4Y3Vzw6lcIixcbiAgUHLDqXNlbnQgPSBcInByw6lzZW50XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29ubmVBdWRpdGlvbm5lZSB7XG4gIHhzaVR5cGU6IFBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXG4gIHVpZDogc3RyaW5nXG4gIGlkZW50OiBJZGVudFxuICBkYXRlTmFpcz86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudCB7XG4gIGNpdjogQ2l2XG4gIHByZW5vbTogc3RyaW5nXG4gIG5vbTogc3RyaW5nXG4gIGFscGhhPzogc3RyaW5nXG4gIHRyaWdyYW1tZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDaXYge1xuICBNID0gXCJNLlwiLFxuICBNbWUgPSBcIk1tZVwiLFxufVxuXG5leHBvcnQgZW51bSBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSB7XG4gIElkQWN0ZXVyVHlwZSA9IFwiSWRBY3RldXJfdHlwZVwiLFxuICBJZFBlcnNvbm5lRXh0ZXJuZVR5cGUgPSBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVJldW5pb24ge1xuICBEZXAgPSBcIkRFUFwiLCAvLyBEw6lwdXTDqVxuICBHYSA9IFwiR0FcIiwgLy8gR3JvdXBlIGQnYW1pdGnDqVxuICBHZSA9IFwiR0VcIiwgLy8gR3JvdXBlIGQnw6l0dWRlXG4gIEdldmkgPSBcIkdFVklcIiwgLy8gR3JvdXBlIGQnw6l0dWRlIMOgIHZvY2F0aW9uIGludGVybmF0aW9uYWxlXG4gIEdwID0gXCJHUFwiLCAvLyBHcm91cGUgcGFybGVtZW50YWlyZVxuICBIw6lBdXLDqWxpZW4gPSBcIkjDiSBBdXLDqWxpZW5cIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9BZ2VuZGFzKGpzb246IHN0cmluZyk6IEFnZW5kYXMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBZ2VuZGFzXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZ2VuZGFzVG9Kc29uKHZhbHVlOiBBZ2VuZGFzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQWdlbmRhc1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvUmV1bmlvbihqc29uOiBzdHJpbmcpOiBSZXVuaW9uIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUmV1bmlvblwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmV1bmlvblRvSnNvbih2YWx1ZTogUmV1bmlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlJldW5pb25cIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNUb0pTT04gPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzVG9KU09OXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gXCJcIik6IGFueSB7XG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsXG4gIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfVxuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIEFnZW5kYXM6IG8oXG4gICAgW3sganNvbjogXCJyZXVuaW9uc1wiLCBqczogXCJyZXVuaW9uc1wiLCB0eXA6IGEocihcIlJldW5pb25cIikpIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ4c2lUeXBlXCIsXG4gICAgICAgIGpzOiBcInhzaVR5cGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJldW5pb25Yc2lUeXBlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBEZWJ1dFwiLCBqczogXCJ0aW1lc3RhbXBEZWJ1dFwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBGaW5cIiwganM6IFwidGltZXN0YW1wRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWV1XCIpKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICBqczogXCJkZW1hbmRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmV1bmlSZWZcIiwganM6IFwib3JnYW5lUmV1bmlSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICBqczogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZVJldW5pb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNcIixcbiAgICAgICAganM6IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQYXJ0aWNpcGFudHNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvdXZlcnR1cmVQcmVzc2VcIixcbiAgICAgICAganM6IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib2RqXCIsIGpzOiBcIm9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiT2RqXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImNvbXB0ZVJlbmR1UmVmXCIsIGpzOiBcImNvbXB0ZVJlbmR1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaWRlbnRpZmlhbnRzXCIsXG4gICAgICAgIGpzOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSWRlbnRpZmlhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICBqczogXCJmb3JtYXRSZXVuaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGb3JtYXRSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAganM6IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ2aXNpb0NvbmZlcmVuY2VcIiwganM6IFwidmlzaW9Db25mZXJlbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT2RqOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICBqczogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVzdW1lT2RqXCIsIGpzOiBcInJlc3VtZU9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvaW50c09kalwiLFxuICAgICAgICBqczogXCJwb2ludHNPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUG9pbnRPZGpcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUG9pbnRPZGo6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQb2ludE9kalhzaVR5cGVcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvY2VkdXJlXCIsIGpzOiBcInByb2NlZHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvY2VkdXJlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIGpzOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlUG9pbnRPZGpcIiwganM6IFwidHlwZVBvaW50T2RqXCIsIHR5cDogcihcIlR5cGVQb2ludE9kalwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvbWl0ZVNlY3JldFwiLCBqczogXCJjb21pdGVTZWNyZXRcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAganM6IFwibmF0dXJlVHJhdmF1eE9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTmF0dXJlVHJhdmF1eE9kalwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRhdGVDb25mUHJlc1wiLCBqczogXCJkYXRlQ29uZlByZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlTGV0dHJlTWluaXN0cmVcIixcbiAgICAgICAganM6IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiByKFwiRXRhdEN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHsganNvbjogXCJjaHJvbm9cIiwganM6IFwiY2hyb25vXCIsIHR5cDogcihcIkNocm9ub1wiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENocm9ubzogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY3JlYXRpb25cIiwganM6IFwiY3JlYXRpb25cIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyczogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXVyc1wiLFxuICAgICAgICBqczogXCJhY3RldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkRlbWFuZGV1ckFjdGV1clwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVcIiwganM6IFwib3JnYW5lXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJPcmdhbmVcIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXJPcmdhbmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGlmaWFudHM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZUpvXCIsIGpzOiBcIm51bVNlYW5jZUpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRKb1wiLCBqczogXCJpZEpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicXVhbnRpZW1lXCIsIGpzOiBcInF1YW50aWVtZVwiLCB0eXA6IHIoXCJRdWFudGllbWVcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlU2VhbmNlXCIsIGpzOiBcImRhdGVTZWFuY2VcIiwgdHlwOiBEYXRlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAganM6IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIHR5cDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpc3RlUGF5c1wiLCBqczogXCJsaXN0ZVBheXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXNcIixcbiAgICAgICAganM6IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMaWV1OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQ291cnRcIiwganM6IFwibGliZWxsZUNvdXJ0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUxvbmdcIiwganM6IFwibGliZWxsZUxvbmdcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWV1UmVmXCIsIGpzOiBcImxpZXVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQYXJ0aWNpcGFudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBhcnRpY2lwYW50SW50ZXJuZVwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIixcbiAgICAgICAganM6IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBlcnNvbm5lQXVkaXRpb25uZWVcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRJbnRlcm5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByZXNlbmNlXCIsIGpzOiBcInByZXNlbmNlXCIsIHR5cDogcihcIlByZXNlbmNlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZGVudFwiLCBqczogXCJpZGVudFwiLCB0eXA6IHIoXCJJZGVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVOYWlzXCIsIGpzOiBcImRhdGVOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNpdlwiLCBqczogXCJjaXZcIiwgdHlwOiByKFwiQ2l2XCIpIH0sXG4gICAgICB7IGpzb246IFwicHJlbm9tXCIsIGpzOiBcInByZW5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFscGhhXCIsIGpzOiBcImFscGhhXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHJpZ3JhbW1lXCIsIGpzOiBcInRyaWdyYW1tZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJldW5pb25Yc2lUeXBlOiBbXG4gICAgXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gICAgXCJyZXVuaW9uSW5pdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgIFwic2VhbmNlX3R5cGVcIixcbiAgXSxcbiAgUG9pbnRPZGpYc2lUeXBlOiBbXCJwb2RqUmV1bmlvbl90eXBlXCIsIFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIl0sXG4gIEV0YXRDeWNsZURlVmllOiBbXCJBbm51bMOpXCIsIFwiQ29uZmlybcOpXCIsIFwiRXZlbnR1ZWxcIiwgXCJTdXBwcmltw6lcIl0sXG4gIE5hdHVyZVRyYXZhdXhPZGo6IFtcIk9ESlBSXCIsIFwiT0RKU05cIl0sXG4gIFByb2NlZHVyZTogW1xuICAgIFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgICBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxuICBdLFxuICBUeXBlUG9pbnRPZGo6IFtcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDg4KVwiLFxuICAgIFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gICAgXCJBdWRpdGlvblwiLFxuICAgIFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gICAgXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQ29tbXVuaWNhdGlvblwiLFxuICAgIFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiRGlzY3Vzc2lvblwiLFxuICAgIFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICAgIFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICAgIFwiRXhhbWVuXCIsXG4gICAgXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkZpeGF0aW9uIGRlIGwnb3JkcmUgZHUgam91clwiLFxuICAgIFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgICBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgICBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICAgIFwiT3V2ZXJ0dXJlIGV0IGNsw7R0dXJlIGRlIHNlc3Npb25cIixcbiAgICBcIlF1ZXN0aW9ucyBhdSBHb3V2ZXJuZW1lbnRcIixcbiAgICBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgICBcIlJhcHBvcnRcIixcbiAgICBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgICBcIlN1aXRlIGRlIGxhIGRpc2N1c3Npb25cIixcbiAgICBcIlRhYmxlIHJvbmRlXCIsXG4gICAgXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiVm90ZSBzb2xlbm5lbFwiLFxuICBdLFxuICBGb3JtYXRSZXVuaW9uOiBbXG4gICAgXCJBdWRpdGlvbkV4dGVybmVcIixcbiAgICBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICAgIFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gICAgXCJPcmRpbmFpcmVcIixcbiAgXSxcbiAgUXVhbnRpZW1lOiBbXCJEZXV4acOobWVcIiwgXCJQcmVtacOocmVcIiwgXCJUcm9pc2nDqG1lXCIsIFwiVW5pcXVlXCJdLFxuICBQcmVzZW5jZTogW1wiYWJzZW50XCIsIFwiZXhjdXPDqVwiLCBcInByw6lzZW50XCJdLFxuICBDaXY6IFtcIk0uXCIsIFwiTW1lXCJdLFxuICBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZTogW1wiSWRBY3RldXJfdHlwZVwiLCBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIl0sXG4gIFR5cGVSZXVuaW9uOiBbXCJERVBcIiwgXCJHQVwiLCBcIkdFXCIsIFwiR0VWSVwiLCBcIkdQXCIsIFwiSMOJIEF1csOpbGllblwiXSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0NBLFdBQVlBLGNBQVo7O1dBQVlBLGM7RUFBQUEsYztFQUFBQSxjO0VBQUFBLGM7R0FBQUEsYyxLQUFBQSxjOztBQTBCWixXQUFZQyxlQUFaOztXQUFZQSxlO0VBQUFBLGU7RUFBQUEsZTtHQUFBQSxlLEtBQUFBLGU7O0FBZVosV0FBWUMsY0FBWjs7V0FBWUEsYztFQUFBQSxjO0VBQUFBLGM7RUFBQUEsYztFQUFBQSxjO0dBQUFBLGMsS0FBQUEsYzs7QUFPWixXQUFZQyxnQkFBWjs7V0FBWUEsZ0I7RUFBQUEsZ0I7RUFBQUEsZ0I7R0FBQUEsZ0IsS0FBQUEsZ0I7O0FBS1osV0FBWUMsU0FBWjs7V0FBWUEsUztFQUFBQSxTO0VBQUFBLFM7RUFBQUEsUztFQUFBQSxTO0dBQUFBLFMsS0FBQUEsUzs7QUFPWixXQUFZQyxZQUFaOztXQUFZQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZ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
|
|
568
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXRDeWNsZURlVmllIiwiTmF0dXJlVHJhdmF1eE9kaiIsIlByb2NlZHVyZSIsIlR5cGVQb2ludE9kaiIsIkZvcm1hdFJldW5pb24iLCJRdWFudGllbWUiLCJQcmVzZW5jZSIsIkNpdiIsIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIiwiVHlwZVJldW5pb24iLCJDb252ZXJ0IiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9SZXVuaW9uIiwicmV1bmlvblRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiLCJBZ2VuZGFzIiwiUmV1bmlvbiIsIk9kaiIsIlBvaW50T2RqIiwiQ3ljbGVEZVZpZSIsIkNocm9ubyIsIkRlbWFuZGV1cnMiLCJEZW1hbmRldXJBY3RldXIiLCJEZW1hbmRldXJPcmdhbmUiLCJJZGVudGlmaWFudHMiLCJJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUiLCJMaWV1IiwiUGFydGljaXBhbnRzIiwiUGFydGljaXBhbnRJbnRlcm5lIiwiUGVyc29ubmVBdWRpdGlvbm5lZSIsIklkZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW5kYXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUmV1bmlvbiwgQWdlbmRhcyB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IHJldW5pb24gPSBDb252ZXJ0LnRvUmV1bmlvbihqc29uKTtcbi8vICAgY29uc3QgYWdlbmRhcyA9IENvbnZlcnQudG9BZ2VuZGFzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmltcG9ydCB7IEFjdGV1ciwgT3JnYW5lIH0gZnJvbSBcIi4vYWN0ZXVyc19ldF9vcmdhbmVzXCJcblxuZXhwb3J0IGludGVyZmFjZSBBZ2VuZGFzIHtcbiAgcmV1bmlvbnM6IFJldW5pb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldW5pb24ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHhzaVR5cGU/OiBSZXVuaW9uWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICB0aW1lc3RhbXBEZWJ1dDogRGF0ZVxuICB0aW1lc3RhbXBGaW4/OiBEYXRlXG4gIGxpZXU/OiBMaWV1XG4gIGN5Y2xlRGVWaWU6IEN5Y2xlRGVWaWVcbiAgZGVtYW5kZXVycz86IERlbWFuZGV1cnNcbiAgb3JnYW5lUmV1bmlSZWY/OiBzdHJpbmdcbiAgb3JnYW5lUmV1bmk/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgdHlwZVJldW5pb24/OiBUeXBlUmV1bmlvblxuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudHNcbiAgc2Vzc2lvblJlZj86IHN0cmluZ1xuICBvdXZlcnR1cmVQcmVzc2U/OiBib29sZWFuXG4gIG9kaj86IE9kalxuICBjb21wdGVSZW5kdVJlZj86IHN0cmluZ1xuICBpZGVudGlmaWFudHM/OiBJZGVudGlmaWFudHNcbiAgZm9ybWF0UmV1bmlvbj86IEZvcm1hdFJldW5pb25cbiAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlPzogSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXG4gIGNhcHRhdGlvblZpZGVvPzogYm9vbGVhblxuICB2aXNpb0NvbmZlcmVuY2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUmV1bmlvblhzaVR5cGUge1xuICBSZXVuaW9uQ29tbWlzc2lvblR5cGUgPSBcInJldW5pb25Db21taXNzaW9uX3R5cGVcIixcbiAgUmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlVHlwZSA9IFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgU2VhbmNlVHlwZSA9IFwic2VhbmNlX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZGoge1xuICBjb252b2NhdGlvbk9kaj86IHN0cmluZ1tdXG4gIHJlc3VtZU9kaj86IHN0cmluZ1tdXG4gIHBvaW50c09kaj86IFBvaW50T2RqW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludE9kaiB7XG4gIHhzaVR5cGU6IFBvaW50T2RqWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIG9iamV0OiBzdHJpbmdcbiAgcHJvY2VkdXJlPzogUHJvY2VkdXJlXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzPzogc3RyaW5nW11cbiAgdHlwZVBvaW50T2RqOiBUeXBlUG9pbnRPZGpcbiAgY29taXRlU2VjcmV0OiBib29sZWFuXG4gIG5hdHVyZVRyYXZhdXhPZGo/OiBOYXR1cmVUcmF2YXV4T2RqXG4gIGRhdGVDb25mUHJlcz86IERhdGVcbiAgZGF0ZUxldHRyZU1pbmlzdHJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBQb2ludE9kalhzaVR5cGUge1xuICBQb2RqUmV1bmlvblR5cGUgPSBcInBvZGpSZXVuaW9uX3R5cGVcIixcbiAgUG9kalNlYW5jZUNvbmZQcmVzVHlwZSA9IFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDeWNsZURlVmllIHtcbiAgZXRhdDogRXRhdEN5Y2xlRGVWaWVcbiAgY2hyb25vOiBDaHJvbm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJvbm8ge1xuICBjcmVhdGlvbjogRGF0ZVxuICBjbG90dXJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBFdGF0Q3ljbGVEZVZpZSB7XG4gIEFubnVsw6kgPSBcIkFubnVsw6lcIixcbiAgQ29uZmlybcOpID0gXCJDb25maXJtw6lcIixcbiAgRXZlbnR1ZWwgPSBcIkV2ZW50dWVsXCIsXG4gIFN1cHByaW3DqSA9IFwiU3VwcHJpbcOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIE5hdHVyZVRyYXZhdXhPZGoge1xuICBPZGpwciA9IFwiT0RKUFJcIixcbiAgT2Rqc24gPSBcIk9ESlNOXCIsXG59XG5cbmV4cG9ydCBlbnVtIFByb2NlZHVyZSB7XG4gIERpc2N1c3Npb25Hw6luw6lyYWxlQ29tbXVuZSA9IFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDMgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDYgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgUHJvY8OpZHVyZURlTMOpZ2lzbGF0aW9uRW5Db21taXNzaW9uQXJ0aWNsZTEwNzEgPSBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlUG9pbnRPZGoge1xuICBBbWVuZGVtZW50c0FydDg4ID0gXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgQW1lbmRlbWVudHNBcnQ5MSA9IFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gIEF1ZGl0aW9uID0gXCJBdWRpdGlvblwiLFxuICBBdWRpdGlvbk1pbmlzdHJlID0gXCJBdWRpdGlvbiBtaW5pc3RyZVwiLFxuICBBdWRpdGlvbk1pbmlzdHJlT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIEF1ZGl0aW9uT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIENvbW11bmljYXRpb24gPSBcIkNvbW11bmljYXRpb25cIixcbiAgQ29uc3RpdHV0aW9uRGVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJDb25zdGl0dXRpb24gZGUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIERpc2N1c3Npb24gPSBcIkRpc2N1c3Npb25cIixcbiAgRMOpYmF0REluaXRpYXRpdmVQYXJsZW1lbnRhaXJlID0gXCJEw6liYXQgZCdpbml0aWF0aXZlIHBhcmxlbWVudGFpcmVcIixcbiAgRMOpY2xhcmF0aW9uRHVHb3V2ZXJuZW1lbnRTdWl2aWVEVW5Ew6liYXQgPSBcIkTDqWNsYXJhdGlvbiBkdSBHb3V2ZXJuZW1lbnQgc3VpdmllIGQndW4gZMOpYmF0XCIsXG4gIEVjaGFuZ2VzRGVWdWVzID0gXCJFY2hhbmdlcyBkZSB2dWVzXCIsXG4gIEV4YW1lbiA9IFwiRXhhbWVuXCIsXG4gIEV4cGxpY2F0aW9uc0RlVm90ZURlc0dyb3VwZXNFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBGaXhhdGlvbkRlTE9yZHJlRHVKb3VyID0gXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgTm9taW5hdGlvbkJ1cmVhdSA9IFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgTm9taW5hdGlvbkNhbmRpZGF0c09yZ2FuaXNtZUV4dHJhcGFybGVtZW50YWlyZSA9IFwiTm9taW5hdGlvbiBjYW5kaWRhdHMgb3JnYW5pc21lIGV4dHJhcGFybGVtZW50YWlyZVwiLFxuICBOb21pbmF0aW9uRFVuTWVtYnJlRFVuZU1pc3Npb25ESW5mb3JtYXRpb24gPSBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJEQXBwbGljYXRpb24gPSBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1clBvdXJBdmlzID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gIE91dmVydHVyZUV0Q2zDtHR1cmVEZVNlc3Npb24gPSBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gIFF1ZXN0aW9uc0F1R291dmVybmVtZW50ID0gXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gIFF1ZXN0aW9uc09yYWxlc1NhbnNEw6liYXQgPSBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgUmFwcG9ydCA9IFwiUmFwcG9ydFwiLFxuICBSYXBwb3J0REluZm9ybWF0aW9uID0gXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgUmFwcG9ydFBvdXJBdmlzID0gXCJSYXBwb3J0IHBvdXIgYXZpc1wiLFxuICBTdWl0ZURlTGFEaXNjdXNzaW9uID0gXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gIFRhYmxlUm9uZGUgPSBcIlRhYmxlIHJvbmRlXCIsXG4gIFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBWb3RlU29sZW5uZWwgPSBcIlZvdGUgc29sZW5uZWxcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJzIHtcbiAgYWN0ZXVycz86IERlbWFuZGV1ckFjdGV1cltdXG4gIG9yZ2FuZT86IERlbWFuZGV1ck9yZ2FuZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1ckFjdGV1ciB7XG4gIG5vbT86IHN0cmluZ1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBhY3RldXI/OiBBY3RldXIgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJPcmdhbmUge1xuICBub206IHN0cmluZ1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBvcmdhbmU/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGVudW0gRm9ybWF0UmV1bmlvbiB7XG4gIEF1ZGl0aW9uRXh0ZXJuZSA9IFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gIEF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvbiA9IFwiQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uXCIsXG4gIEF1ZGl0aW9uUGFyUmFwcG9ydGV1ciA9IFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gIE9yZGluYWlyZSA9IFwiT3JkaW5haXJlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhbnRzIHtcbiAgbnVtU2VhbmNlSm8/OiBzdHJpbmdcbiAgaWRKbz86IHN0cmluZ1xuICBxdWFudGllbWU6IFF1YW50aWVtZVxuICBkYXRlU2VhbmNlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUXVhbnRpZW1lIHtcbiAgRGV1eGnDqG1lID0gXCJEZXV4acOobWVcIixcbiAgUHJlbWnDqHJlID0gXCJQcmVtacOocmVcIixcbiAgVHJvaXNpw6htZSA9IFwiVHJvaXNpw6htZVwiLFxuICBVbmlxdWUgPSBcIlVuaXF1ZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSB7XG4gIGVzdFJldW5pb25JbnRlcm5hdGlvbmFsZTogYm9vbGVhblxuICBsaXN0ZVBheXM/OiBzdHJpbmdbXVxuICBpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWV1IHtcbiAgY29kZT86IHN0cmluZ1xuICBsaWJlbGxlQ291cnQ/OiBzdHJpbmdcbiAgbGliZWxsZUxvbmc/OiBzdHJpbmdcbiAgbGlldVJlZj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50cyB7XG4gIHBhcnRpY2lwYW50c0ludGVybmVzPzogUGFydGljaXBhbnRJbnRlcm5lW11cbiAgcGVyc29ubmVzQXVkaXRpb25uZWVzPzogUGVyc29ubmVBdWRpdGlvbm5lZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGljaXBhbnRJbnRlcm5lIHtcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHByZXNlbmNlOiBQcmVzZW5jZVxufVxuXG5leHBvcnQgZW51bSBQcmVzZW5jZSB7XG4gIEFic2VudCA9IFwiYWJzZW50XCIsXG4gIEV4Y3Vzw6kgPSBcImV4Y3Vzw6lcIixcbiAgUHLDqXNlbnQgPSBcInByw6lzZW50XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29ubmVBdWRpdGlvbm5lZSB7XG4gIHhzaVR5cGU6IFBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXG4gIHVpZDogc3RyaW5nXG4gIGlkZW50OiBJZGVudFxuICBkYXRlTmFpcz86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudCB7XG4gIGNpdjogQ2l2XG4gIHByZW5vbTogc3RyaW5nXG4gIG5vbTogc3RyaW5nXG4gIGFscGhhPzogc3RyaW5nXG4gIHRyaWdyYW1tZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDaXYge1xuICBNID0gXCJNLlwiLFxuICBNbWUgPSBcIk1tZVwiLFxufVxuXG5leHBvcnQgZW51bSBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSB7XG4gIElkQWN0ZXVyVHlwZSA9IFwiSWRBY3RldXJfdHlwZVwiLFxuICBJZFBlcnNvbm5lRXh0ZXJuZVR5cGUgPSBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVJldW5pb24ge1xuICBEZXAgPSBcIkRFUFwiLCAvLyBEw6lwdXTDqVxuICBHYSA9IFwiR0FcIiwgLy8gR3JvdXBlIGQnYW1pdGnDqVxuICBHZSA9IFwiR0VcIiwgLy8gR3JvdXBlIGQnw6l0dWRlXG4gIEdldmkgPSBcIkdFVklcIiwgLy8gR3JvdXBlIGQnw6l0dWRlIMOgIHZvY2F0aW9uIGludGVybmF0aW9uYWxlXG4gIEdwID0gXCJHUFwiLCAvLyBHcm91cGUgcGFybGVtZW50YWlyZVxuICBIw6lBdXLDqWxpZW4gPSBcIkjDiSBBdXLDqWxpZW5cIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9BZ2VuZGFzKGpzb246IHN0cmluZyk6IEFnZW5kYXMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBZ2VuZGFzXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZ2VuZGFzVG9Kc29uKHZhbHVlOiBBZ2VuZGFzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQWdlbmRhc1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvUmV1bmlvbihqc29uOiBzdHJpbmcpOiBSZXVuaW9uIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUmV1bmlvblwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmV1bmlvblRvSnNvbih2YWx1ZTogUmV1bmlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlJldW5pb25cIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNUb0pTT04gPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzVG9KU09OXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gXCJcIik6IGFueSB7XG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsXG4gIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfVxuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIEFnZW5kYXM6IG8oXG4gICAgW3sganNvbjogXCJyZXVuaW9uc1wiLCBqczogXCJyZXVuaW9uc1wiLCB0eXA6IGEocihcIlJldW5pb25cIikpIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ4c2lUeXBlXCIsXG4gICAgICAgIGpzOiBcInhzaVR5cGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJldW5pb25Yc2lUeXBlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBEZWJ1dFwiLCBqczogXCJ0aW1lc3RhbXBEZWJ1dFwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBGaW5cIiwganM6IFwidGltZXN0YW1wRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWV1XCIpKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICBqczogXCJkZW1hbmRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmV1bmlSZWZcIiwganM6IFwib3JnYW5lUmV1bmlSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICBqczogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZVJldW5pb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNcIixcbiAgICAgICAganM6IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQYXJ0aWNpcGFudHNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvdXZlcnR1cmVQcmVzc2VcIixcbiAgICAgICAganM6IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib2RqXCIsIGpzOiBcIm9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiT2RqXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImNvbXB0ZVJlbmR1UmVmXCIsIGpzOiBcImNvbXB0ZVJlbmR1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaWRlbnRpZmlhbnRzXCIsXG4gICAgICAgIGpzOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSWRlbnRpZmlhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICBqczogXCJmb3JtYXRSZXVuaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGb3JtYXRSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAganM6IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ2aXNpb0NvbmZlcmVuY2VcIiwganM6IFwidmlzaW9Db25mZXJlbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT2RqOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICBqczogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVzdW1lT2RqXCIsIGpzOiBcInJlc3VtZU9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvaW50c09kalwiLFxuICAgICAgICBqczogXCJwb2ludHNPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUG9pbnRPZGpcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUG9pbnRPZGo6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQb2ludE9kalhzaVR5cGVcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvY2VkdXJlXCIsIGpzOiBcInByb2NlZHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvY2VkdXJlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIGpzOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlUG9pbnRPZGpcIiwganM6IFwidHlwZVBvaW50T2RqXCIsIHR5cDogcihcIlR5cGVQb2ludE9kalwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvbWl0ZVNlY3JldFwiLCBqczogXCJjb21pdGVTZWNyZXRcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAganM6IFwibmF0dXJlVHJhdmF1eE9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTmF0dXJlVHJhdmF1eE9kalwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRhdGVDb25mUHJlc1wiLCBqczogXCJkYXRlQ29uZlByZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlTGV0dHJlTWluaXN0cmVcIixcbiAgICAgICAganM6IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiByKFwiRXRhdEN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHsganNvbjogXCJjaHJvbm9cIiwganM6IFwiY2hyb25vXCIsIHR5cDogcihcIkNocm9ub1wiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENocm9ubzogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY3JlYXRpb25cIiwganM6IFwiY3JlYXRpb25cIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyczogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXVyc1wiLFxuICAgICAgICBqczogXCJhY3RldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkRlbWFuZGV1ckFjdGV1clwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVcIiwganM6IFwib3JnYW5lXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJPcmdhbmVcIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXJPcmdhbmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGlmaWFudHM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZUpvXCIsIGpzOiBcIm51bVNlYW5jZUpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRKb1wiLCBqczogXCJpZEpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicXVhbnRpZW1lXCIsIGpzOiBcInF1YW50aWVtZVwiLCB0eXA6IHIoXCJRdWFudGllbWVcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlU2VhbmNlXCIsIGpzOiBcImRhdGVTZWFuY2VcIiwgdHlwOiBEYXRlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAganM6IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIHR5cDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpc3RlUGF5c1wiLCBqczogXCJsaXN0ZVBheXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXNcIixcbiAgICAgICAganM6IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMaWV1OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQ291cnRcIiwganM6IFwibGliZWxsZUNvdXJ0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUxvbmdcIiwganM6IFwibGliZWxsZUxvbmdcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWV1UmVmXCIsIGpzOiBcImxpZXVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQYXJ0aWNpcGFudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBhcnRpY2lwYW50SW50ZXJuZVwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIixcbiAgICAgICAganM6IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBlcnNvbm5lQXVkaXRpb25uZWVcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRJbnRlcm5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByZXNlbmNlXCIsIGpzOiBcInByZXNlbmNlXCIsIHR5cDogcihcIlByZXNlbmNlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZGVudFwiLCBqczogXCJpZGVudFwiLCB0eXA6IHIoXCJJZGVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVOYWlzXCIsIGpzOiBcImRhdGVOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNpdlwiLCBqczogXCJjaXZcIiwgdHlwOiByKFwiQ2l2XCIpIH0sXG4gICAgICB7IGpzb246IFwicHJlbm9tXCIsIGpzOiBcInByZW5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFscGhhXCIsIGpzOiBcImFscGhhXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHJpZ3JhbW1lXCIsIGpzOiBcInRyaWdyYW1tZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJldW5pb25Yc2lUeXBlOiBbXG4gICAgXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gICAgXCJyZXVuaW9uSW5pdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgIFwic2VhbmNlX3R5cGVcIixcbiAgXSxcbiAgUG9pbnRPZGpYc2lUeXBlOiBbXCJwb2RqUmV1bmlvbl90eXBlXCIsIFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIl0sXG4gIEV0YXRDeWNsZURlVmllOiBbXCJBbm51bMOpXCIsIFwiQ29uZmlybcOpXCIsIFwiRXZlbnR1ZWxcIiwgXCJTdXBwcmltw6lcIl0sXG4gIE5hdHVyZVRyYXZhdXhPZGo6IFtcIk9ESlBSXCIsIFwiT0RKU05cIl0sXG4gIFByb2NlZHVyZTogW1xuICAgIFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgICBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxuICBdLFxuICBUeXBlUG9pbnRPZGo6IFtcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDg4KVwiLFxuICAgIFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gICAgXCJBdWRpdGlvblwiLFxuICAgIFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gICAgXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQ29tbXVuaWNhdGlvblwiLFxuICAgIFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiRGlzY3Vzc2lvblwiLFxuICAgIFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICAgIFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICAgIFwiRXhhbWVuXCIsXG4gICAgXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkZpeGF0aW9uIGRlIGwnb3JkcmUgZHUgam91clwiLFxuICAgIFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgICBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgICBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICAgIFwiT3V2ZXJ0dXJlIGV0IGNsw7R0dXJlIGRlIHNlc3Npb25cIixcbiAgICBcIlF1ZXN0aW9ucyBhdSBHb3V2ZXJuZW1lbnRcIixcbiAgICBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgICBcIlJhcHBvcnRcIixcbiAgICBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgICBcIlN1aXRlIGRlIGxhIGRpc2N1c3Npb25cIixcbiAgICBcIlRhYmxlIHJvbmRlXCIsXG4gICAgXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiVm90ZSBzb2xlbm5lbFwiLFxuICBdLFxuICBGb3JtYXRSZXVuaW9uOiBbXG4gICAgXCJBdWRpdGlvbkV4dGVybmVcIixcbiAgICBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICAgIFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gICAgXCJPcmRpbmFpcmVcIixcbiAgXSxcbiAgUXVhbnRpZW1lOiBbXCJEZXV4acOobWVcIiwgXCJQcmVtacOocmVcIiwgXCJUcm9pc2nDqG1lXCIsIFwiVW5pcXVlXCJdLFxuICBQcmVzZW5jZTogW1wiYWJzZW50XCIsIFwiZXhjdXPDqVwiLCBcInByw6lzZW50XCJdLFxuICBDaXY6IFtcIk0uXCIsIFwiTW1lXCJdLFxuICBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZTogW1wiSWRBY3RldXJfdHlwZVwiLCBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIl0sXG4gIFR5cGVSZXVuaW9uOiBbXCJERVBcIiwgXCJHQVwiLCBcIkdFXCIsIFwiR0VWSVwiLCBcIkdQXCIsIFwiSMOJIEF1csOpbGllblwiXSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWdDQSxXQUFZQSxjQUFjO0FBSXpCLFdBSldBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7QUFBQSxHQUFkQSxjQUFjLEtBQWRBLGNBQWM7QUEwQjFCLFdBQVlDLGVBQWU7QUFHMUIsV0FIV0EsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7QUFBQSxHQUFmQSxlQUFlLEtBQWZBLGVBQWU7QUFlM0IsV0FBWUMsY0FBYztBQUt6QixXQUxXQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7QUFBQSxHQUFkQSxjQUFjLEtBQWRBLGNBQWM7QUFPMUIsV0FBWUMsZ0JBQWdCO0FBRzNCLFdBSFdBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0I7QUFBQSxHQUFoQkEsZ0JBQWdCLEtBQWhCQSxnQkFBZ0I7QUFLNUIsV0FBWUMsU0FBUztBQUtwQixXQUxX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
|
|
@@ -129,6 +129,7 @@ export declare enum EtatAmendementCode {
|
|
|
129
129
|
Irr48 = "IRR48",
|
|
130
130
|
Irr53 = "IRR53",
|
|
131
131
|
Irrai = "IRRAI",
|
|
132
|
+
Irraif = "IRRAIF",
|
|
132
133
|
Irrd = "IRRD",
|
|
133
134
|
Irrhd = "IRRHD",
|
|
134
135
|
Irrsa = "IRRSA",
|
|
@@ -154,6 +155,7 @@ export interface SousEtatAmendement {
|
|
|
154
155
|
export declare enum SortAmendement {
|
|
155
156
|
Adopté = "Adopt\u00E9",
|
|
156
157
|
AutreIrrecevabilité = "Autre irrecevabilit\u00E9",
|
|
158
|
+
AutreIrrecevabilité40 = "Autre irrecevabilit\u00E9 40",
|
|
157
159
|
AutresIrrLOLF = "Autres irr LOLF",
|
|
158
160
|
AutresIrrLOLFSS = "Autres irr LOLFSS",
|
|
159
161
|
Cavalier45 = "Cavalier (45)",
|