@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
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
// To parse this data:
|
|
2
|
+
//
|
|
3
|
+
// import { Convert, Scrutins } from "./file";
|
|
4
|
+
//
|
|
5
|
+
// const scrutins = Convert.toScrutins(json);
|
|
6
|
+
//
|
|
7
|
+
// These functions will throw an error if the JSON doesn't
|
|
8
|
+
// match the expected interface, even if the JSON is valid.
|
|
9
|
+
export let ModePublicationDesVotes;
|
|
10
|
+
|
|
11
|
+
(function (ModePublicationDesVotes) {
|
|
12
|
+
ModePublicationDesVotes["DecompteDissidentsPositionGroupe"] = "DecompteDissidentsPositionGroupe";
|
|
13
|
+
ModePublicationDesVotes["DecompteNominatif"] = "DecompteNominatif";
|
|
14
|
+
})(ModePublicationDesVotes || (ModePublicationDesVotes = {}));
|
|
15
|
+
|
|
16
|
+
export let Code;
|
|
17
|
+
|
|
18
|
+
(function (Code) {
|
|
19
|
+
Code["Adopt\xE9"] = "adopt\xE9";
|
|
20
|
+
Code["Rejet\xE9"] = "rejet\xE9";
|
|
21
|
+
})(Code || (Code = {}));
|
|
22
|
+
|
|
23
|
+
export let Libelle;
|
|
24
|
+
|
|
25
|
+
(function (Libelle) {
|
|
26
|
+
Libelle["LAssembl\xE9eNationaleAAdopt\xE9"] = "l'Assembl\xE9e nationale a adopt\xE9";
|
|
27
|
+
Libelle["LAssembl\xE9eNationaleNAPasAdopt\xE9"] = "L'Assembl\xE9e nationale n'a pas adopt\xE9";
|
|
28
|
+
})(Libelle || (Libelle = {}));
|
|
29
|
+
|
|
30
|
+
export let CodeTypeVote;
|
|
31
|
+
|
|
32
|
+
(function (CodeTypeVote) {
|
|
33
|
+
CodeTypeVote["Moc"] = "MOC";
|
|
34
|
+
CodeTypeVote["Sat"] = "SAT";
|
|
35
|
+
CodeTypeVote["Spo"] = "SPO";
|
|
36
|
+
CodeTypeVote["Sps"] = "SPS";
|
|
37
|
+
})(CodeTypeVote || (CodeTypeVote = {}));
|
|
38
|
+
|
|
39
|
+
export let LibelleTypeVote;
|
|
40
|
+
|
|
41
|
+
(function (LibelleTypeVote) {
|
|
42
|
+
LibelleTypeVote["MotionDeCensure"] = "motion de censure";
|
|
43
|
+
LibelleTypeVote["ScrutinPublicOrdinaire"] = "scrutin public ordinaire";
|
|
44
|
+
LibelleTypeVote["ScrutinPublicSolennel"] = "scrutin public solennel";
|
|
45
|
+
LibelleTypeVote["Scrutin\xC0LaTribune"] = "scrutin \xE0 la tribune";
|
|
46
|
+
})(LibelleTypeVote || (LibelleTypeVote = {}));
|
|
47
|
+
|
|
48
|
+
export let TypeMajorite;
|
|
49
|
+
|
|
50
|
+
(function (TypeMajorite) {
|
|
51
|
+
TypeMajorite["Majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "majorit\xE9 absolue des suffrages exprim\xE9s";
|
|
52
|
+
TypeMajorite["Majorit\xE9DesMembresComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composant l'Assembl\xE9e nationale";
|
|
53
|
+
TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9e"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e";
|
|
54
|
+
TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e nationale";
|
|
55
|
+
})(TypeMajorite || (TypeMajorite = {}));
|
|
56
|
+
|
|
57
|
+
export let CausePositionVote;
|
|
58
|
+
|
|
59
|
+
(function (CausePositionVote) {
|
|
60
|
+
CausePositionVote["Mg"] = "MG";
|
|
61
|
+
CausePositionVote["Pan"] = "PAN";
|
|
62
|
+
CausePositionVote["Pse"] = "PSE";
|
|
63
|
+
})(CausePositionVote || (CausePositionVote = {}));
|
|
64
|
+
|
|
65
|
+
export let PositionMajoritaire; // Converts JSON strings to/from your types
|
|
66
|
+
// and asserts the results of JSON.parse at runtime
|
|
67
|
+
|
|
68
|
+
(function (PositionMajoritaire) {
|
|
69
|
+
PositionMajoritaire["Abstention"] = "abstention";
|
|
70
|
+
PositionMajoritaire["Contre"] = "contre";
|
|
71
|
+
PositionMajoritaire["Pour"] = "pour";
|
|
72
|
+
})(PositionMajoritaire || (PositionMajoritaire = {}));
|
|
73
|
+
|
|
74
|
+
export class Convert {
|
|
75
|
+
static toScrutins(json) {
|
|
76
|
+
return cast(JSON.parse(json), r("Scrutins"));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
static scrutinsToJson(value) {
|
|
80
|
+
return JSON.stringify(uncast(value, r("Scrutins")), null, 2);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
static toScrutin(json) {
|
|
84
|
+
return cast(JSON.parse(json), r("Scrutin"));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static scrutinToJson(value) {
|
|
88
|
+
return JSON.stringify(uncast(value, r("Scrutin")), null, 2);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function invalidValue(typ, val, key = "") {
|
|
94
|
+
if (key) {
|
|
95
|
+
throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function jsonToJSProps(typ) {
|
|
102
|
+
if (typ.jsonToJS === undefined) {
|
|
103
|
+
const map = {};
|
|
104
|
+
typ.props.forEach(p => map[p.json] = {
|
|
105
|
+
key: p.js,
|
|
106
|
+
typ: p.typ
|
|
107
|
+
});
|
|
108
|
+
typ.jsonToJS = map;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return typ.jsonToJS;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function jsToJSONProps(typ) {
|
|
115
|
+
if (typ.jsToJSON === undefined) {
|
|
116
|
+
const map = {};
|
|
117
|
+
typ.props.forEach(p => map[p.js] = {
|
|
118
|
+
key: p.json,
|
|
119
|
+
typ: p.typ
|
|
120
|
+
});
|
|
121
|
+
typ.jsToJSON = map;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return typ.jsToJSON;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function transform(val, typ, getProps, key = "") {
|
|
128
|
+
function transformPrimitive(typ, val) {
|
|
129
|
+
if (typeof typ === typeof val) return val;
|
|
130
|
+
return invalidValue(typ, val, key);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function transformUnion(typs, val) {
|
|
134
|
+
// val must validate against one typ in typs
|
|
135
|
+
const l = typs.length;
|
|
136
|
+
|
|
137
|
+
for (let i = 0; i < l; i++) {
|
|
138
|
+
const typ = typs[i];
|
|
139
|
+
|
|
140
|
+
try {
|
|
141
|
+
return transform(val, typ, getProps);
|
|
142
|
+
} catch (_) {}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return invalidValue(typs, val);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function transformEnum(cases, val) {
|
|
149
|
+
if (cases.indexOf(val) !== -1) return val;
|
|
150
|
+
return invalidValue(cases, val);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function transformArray(typ, val) {
|
|
154
|
+
// val must be an array with no invalid elements
|
|
155
|
+
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
156
|
+
return val.map(el => transform(el, typ, getProps));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function transformDate(val) {
|
|
160
|
+
if (val === null) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const d = new Date(val);
|
|
165
|
+
|
|
166
|
+
if (isNaN(d.valueOf())) {
|
|
167
|
+
return invalidValue("Date", val);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return d;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function transformObject(props, additional, val) {
|
|
174
|
+
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
175
|
+
return invalidValue("object", val);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
const result = {};
|
|
179
|
+
Object.getOwnPropertyNames(props).forEach(key => {
|
|
180
|
+
const prop = props[key];
|
|
181
|
+
const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
182
|
+
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
183
|
+
});
|
|
184
|
+
Object.getOwnPropertyNames(val).forEach(key => {
|
|
185
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
186
|
+
result[key] = transform(val[key], additional, getProps, key);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (typ === "any") return val;
|
|
193
|
+
|
|
194
|
+
if (typ === null) {
|
|
195
|
+
if (val === null) return val;
|
|
196
|
+
return invalidValue(typ, val);
|
|
197
|
+
} // if (typ === false) return invalidValue(typ, val)
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
201
|
+
typ = typeMap[typ.ref];
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
205
|
+
|
|
206
|
+
if (typeof typ === "object") {
|
|
207
|
+
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);
|
|
208
|
+
} // Numbers can be parsed by Date but shouldn't be.
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
212
|
+
return transformPrimitive(typ, val);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function cast(val, typ) {
|
|
216
|
+
return transform(val, typ, jsonToJSProps);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function uncast(val, typ) {
|
|
220
|
+
return transform(val, typ, jsToJSONProps);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function a(typ) {
|
|
224
|
+
return {
|
|
225
|
+
arrayItems: typ
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
function u(...typs) {
|
|
230
|
+
return {
|
|
231
|
+
unionMembers: typs
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function o(props, additional) {
|
|
236
|
+
return {
|
|
237
|
+
props,
|
|
238
|
+
additional
|
|
239
|
+
};
|
|
240
|
+
} // function m(additional: any) {
|
|
241
|
+
// return { props: [], additional }
|
|
242
|
+
// }
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
function r(name) {
|
|
246
|
+
return {
|
|
247
|
+
ref: name
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
const typeMap = {
|
|
252
|
+
Scrutins: o([{
|
|
253
|
+
json: "scrutins",
|
|
254
|
+
js: "scrutins",
|
|
255
|
+
typ: a(r("Scrutin"))
|
|
256
|
+
}], false),
|
|
257
|
+
Scrutin: o([{
|
|
258
|
+
json: "schemaVersion",
|
|
259
|
+
js: "schemaVersion",
|
|
260
|
+
typ: u(undefined, "")
|
|
261
|
+
}, {
|
|
262
|
+
json: "uid",
|
|
263
|
+
js: "uid",
|
|
264
|
+
typ: ""
|
|
265
|
+
}, {
|
|
266
|
+
json: "numero",
|
|
267
|
+
js: "numero",
|
|
268
|
+
typ: ""
|
|
269
|
+
}, {
|
|
270
|
+
json: "organeRef",
|
|
271
|
+
js: "organeRef",
|
|
272
|
+
typ: ""
|
|
273
|
+
}, {
|
|
274
|
+
json: "legislature",
|
|
275
|
+
js: "legislature",
|
|
276
|
+
typ: ""
|
|
277
|
+
}, {
|
|
278
|
+
json: "sessionRef",
|
|
279
|
+
js: "sessionRef",
|
|
280
|
+
typ: ""
|
|
281
|
+
}, {
|
|
282
|
+
json: "seanceRef",
|
|
283
|
+
js: "seanceRef",
|
|
284
|
+
typ: ""
|
|
285
|
+
}, {
|
|
286
|
+
json: "dateScrutin",
|
|
287
|
+
js: "dateScrutin",
|
|
288
|
+
typ: Date
|
|
289
|
+
}, {
|
|
290
|
+
json: "quantiemeJourSeance",
|
|
291
|
+
js: "quantiemeJourSeance",
|
|
292
|
+
typ: ""
|
|
293
|
+
}, {
|
|
294
|
+
json: "typeVote",
|
|
295
|
+
js: "typeVote",
|
|
296
|
+
typ: r("TypeVote")
|
|
297
|
+
}, {
|
|
298
|
+
json: "sort",
|
|
299
|
+
js: "sort",
|
|
300
|
+
typ: r("SortScrutin")
|
|
301
|
+
}, {
|
|
302
|
+
json: "titre",
|
|
303
|
+
js: "titre",
|
|
304
|
+
typ: ""
|
|
305
|
+
}, {
|
|
306
|
+
json: "demandeur",
|
|
307
|
+
js: "demandeur",
|
|
308
|
+
typ: r("Demandeur")
|
|
309
|
+
}, {
|
|
310
|
+
json: "objet",
|
|
311
|
+
js: "objet",
|
|
312
|
+
typ: r("Objet")
|
|
313
|
+
}, {
|
|
314
|
+
json: "modePublicationDesVotes",
|
|
315
|
+
js: "modePublicationDesVotes",
|
|
316
|
+
typ: r("ModePublicationDesVotes")
|
|
317
|
+
}, {
|
|
318
|
+
json: "syntheseVote",
|
|
319
|
+
js: "syntheseVote",
|
|
320
|
+
typ: r("SyntheseVote")
|
|
321
|
+
}, {
|
|
322
|
+
json: "ventilationVotes",
|
|
323
|
+
js: "ventilationVotes",
|
|
324
|
+
typ: r("Organe")
|
|
325
|
+
}, {
|
|
326
|
+
json: "miseAuPoint",
|
|
327
|
+
js: "miseAuPoint",
|
|
328
|
+
typ: u(undefined, r("MiseAuPoint"))
|
|
329
|
+
}], false),
|
|
330
|
+
Demandeur: o([{
|
|
331
|
+
json: "texte",
|
|
332
|
+
js: "texte",
|
|
333
|
+
typ: u(undefined, "")
|
|
334
|
+
}], false),
|
|
335
|
+
MiseAuPoint: o([{
|
|
336
|
+
json: "nonVotants",
|
|
337
|
+
js: "nonVotants",
|
|
338
|
+
typ: u(undefined, a(r("Votant")))
|
|
339
|
+
}, {
|
|
340
|
+
json: "pour",
|
|
341
|
+
js: "pour",
|
|
342
|
+
typ: u(undefined, a(r("Votant")))
|
|
343
|
+
}, {
|
|
344
|
+
json: "contre",
|
|
345
|
+
js: "contre",
|
|
346
|
+
typ: u(undefined, a(r("Votant")))
|
|
347
|
+
}, {
|
|
348
|
+
json: "abstentions",
|
|
349
|
+
js: "abstentions",
|
|
350
|
+
typ: u(undefined, a(r("Votant")))
|
|
351
|
+
}, {
|
|
352
|
+
json: "nonVotantsVolontaires",
|
|
353
|
+
js: "nonVotantsVolontaires",
|
|
354
|
+
typ: u(undefined, a(r("Votant")))
|
|
355
|
+
}, {
|
|
356
|
+
json: "dysfonctionnement",
|
|
357
|
+
js: "dysfonctionnement",
|
|
358
|
+
typ: u(undefined, r("Dysfonctionnement"))
|
|
359
|
+
}], false),
|
|
360
|
+
Dysfonctionnement: o([{
|
|
361
|
+
json: "nonVotants",
|
|
362
|
+
js: "nonVotants",
|
|
363
|
+
typ: u(undefined, a(r("Votant")))
|
|
364
|
+
}, {
|
|
365
|
+
json: "pour",
|
|
366
|
+
js: "pour",
|
|
367
|
+
typ: u(undefined, a(r("Votant")))
|
|
368
|
+
}, {
|
|
369
|
+
json: "contre",
|
|
370
|
+
js: "contre",
|
|
371
|
+
typ: u(undefined, a(r("Votant")))
|
|
372
|
+
}, {
|
|
373
|
+
json: "abstentions",
|
|
374
|
+
js: "abstentions",
|
|
375
|
+
typ: u(undefined, a(r("Votant")))
|
|
376
|
+
}, {
|
|
377
|
+
json: "nonVotantsVolontaires",
|
|
378
|
+
js: "nonVotantsVolontaires",
|
|
379
|
+
typ: u(undefined, a(r("Votant")))
|
|
380
|
+
}], false),
|
|
381
|
+
Objet: o([{
|
|
382
|
+
json: "libelle",
|
|
383
|
+
js: "libelle",
|
|
384
|
+
typ: ""
|
|
385
|
+
}], false),
|
|
386
|
+
SortScrutin: o([{
|
|
387
|
+
json: "code",
|
|
388
|
+
js: "code",
|
|
389
|
+
typ: r("Code")
|
|
390
|
+
}, {
|
|
391
|
+
json: "libelle",
|
|
392
|
+
js: "libelle",
|
|
393
|
+
typ: r("Libelle")
|
|
394
|
+
}], false),
|
|
395
|
+
SyntheseVote: o([{
|
|
396
|
+
json: "nombreVotants",
|
|
397
|
+
js: "nombreVotants",
|
|
398
|
+
typ: ""
|
|
399
|
+
}, {
|
|
400
|
+
json: "suffragesExprimes",
|
|
401
|
+
js: "suffragesExprimes",
|
|
402
|
+
typ: ""
|
|
403
|
+
}, {
|
|
404
|
+
json: "nbrSuffragesRequis",
|
|
405
|
+
js: "nbrSuffragesRequis",
|
|
406
|
+
typ: ""
|
|
407
|
+
}, {
|
|
408
|
+
json: "annonce",
|
|
409
|
+
js: "annonce",
|
|
410
|
+
typ: r("Libelle")
|
|
411
|
+
}, {
|
|
412
|
+
json: "decompte",
|
|
413
|
+
js: "decompte",
|
|
414
|
+
typ: r("DecompteVoix")
|
|
415
|
+
}], false),
|
|
416
|
+
TypeVote: o([{
|
|
417
|
+
json: "codeTypeVote",
|
|
418
|
+
js: "codeTypeVote",
|
|
419
|
+
typ: r("CodeTypeVote")
|
|
420
|
+
}, {
|
|
421
|
+
json: "libelleTypeVote",
|
|
422
|
+
js: "libelleTypeVote",
|
|
423
|
+
typ: r("LibelleTypeVote")
|
|
424
|
+
}, {
|
|
425
|
+
json: "typeMajorite",
|
|
426
|
+
js: "typeMajorite",
|
|
427
|
+
typ: r("TypeMajorite")
|
|
428
|
+
}], false),
|
|
429
|
+
Organe: o([{
|
|
430
|
+
json: "organeRef",
|
|
431
|
+
js: "organeRef",
|
|
432
|
+
typ: ""
|
|
433
|
+
}, {
|
|
434
|
+
json: "groupes",
|
|
435
|
+
js: "groupes",
|
|
436
|
+
typ: a(r("Groupe"))
|
|
437
|
+
}], false),
|
|
438
|
+
Groupe: o([{
|
|
439
|
+
json: "organeRef",
|
|
440
|
+
js: "organeRef",
|
|
441
|
+
typ: ""
|
|
442
|
+
}, {
|
|
443
|
+
json: "nombreMembresGroupe",
|
|
444
|
+
js: "nombreMembresGroupe",
|
|
445
|
+
typ: ""
|
|
446
|
+
}, {
|
|
447
|
+
json: "vote",
|
|
448
|
+
js: "vote",
|
|
449
|
+
typ: r("Vote")
|
|
450
|
+
}], false),
|
|
451
|
+
Vote: o([{
|
|
452
|
+
json: "positionMajoritaire",
|
|
453
|
+
js: "positionMajoritaire",
|
|
454
|
+
typ: r("PositionMajoritaire")
|
|
455
|
+
}, {
|
|
456
|
+
json: "decompteVoix",
|
|
457
|
+
js: "decompteVoix",
|
|
458
|
+
typ: r("DecompteVoix")
|
|
459
|
+
}, {
|
|
460
|
+
json: "decompteNominatif",
|
|
461
|
+
js: "decompteNominatif",
|
|
462
|
+
typ: r("DecompteNominatif")
|
|
463
|
+
}], false),
|
|
464
|
+
DecompteNominatif: o([{
|
|
465
|
+
json: "nonVotants",
|
|
466
|
+
js: "nonVotants",
|
|
467
|
+
typ: u(undefined, a(r("Votant")))
|
|
468
|
+
}, {
|
|
469
|
+
json: "pour",
|
|
470
|
+
js: "pour",
|
|
471
|
+
typ: u(undefined, a(r("Votant")))
|
|
472
|
+
}, {
|
|
473
|
+
json: "contre",
|
|
474
|
+
js: "contre",
|
|
475
|
+
typ: u(undefined, a(r("Votant")))
|
|
476
|
+
}, {
|
|
477
|
+
json: "abstentions",
|
|
478
|
+
js: "abstentions",
|
|
479
|
+
typ: u(undefined, a(r("Votant")))
|
|
480
|
+
}], false),
|
|
481
|
+
Votant: o([{
|
|
482
|
+
json: "acteurRef",
|
|
483
|
+
js: "acteurRef",
|
|
484
|
+
typ: ""
|
|
485
|
+
}, {
|
|
486
|
+
json: "mandatRef",
|
|
487
|
+
js: "mandatRef",
|
|
488
|
+
typ: ""
|
|
489
|
+
}, {
|
|
490
|
+
json: "causePositionVote",
|
|
491
|
+
js: "causePositionVote",
|
|
492
|
+
typ: u(undefined, r("CausePositionVote"))
|
|
493
|
+
}, {
|
|
494
|
+
json: "parDelegation",
|
|
495
|
+
js: "parDelegation",
|
|
496
|
+
typ: u(undefined, false)
|
|
497
|
+
}], false),
|
|
498
|
+
DecompteVoix: o([{
|
|
499
|
+
json: "pour",
|
|
500
|
+
js: "pour",
|
|
501
|
+
typ: ""
|
|
502
|
+
}, {
|
|
503
|
+
json: "contre",
|
|
504
|
+
js: "contre",
|
|
505
|
+
typ: ""
|
|
506
|
+
}, {
|
|
507
|
+
json: "nonVotants",
|
|
508
|
+
js: "nonVotants",
|
|
509
|
+
typ: u(undefined, "")
|
|
510
|
+
}, {
|
|
511
|
+
json: "abstentions",
|
|
512
|
+
js: "abstentions",
|
|
513
|
+
typ: u(undefined, "")
|
|
514
|
+
}, {
|
|
515
|
+
json: "nonVotantsVolontaires",
|
|
516
|
+
js: "nonVotantsVolontaires",
|
|
517
|
+
typ: u(undefined, "")
|
|
518
|
+
}], false),
|
|
519
|
+
ModePublicationDesVotes: ["DecompteDissidentsPositionGroupe", "DecompteNominatif"],
|
|
520
|
+
Code: ["adopté", "rejeté"],
|
|
521
|
+
Libelle: ["l'Assemblée nationale a adopté", "L'Assemblée nationale n'a pas adopté"],
|
|
522
|
+
CodeTypeVote: ["MOC", "SAT", "SPO", "SPS"],
|
|
523
|
+
LibelleTypeVote: ["motion de censure", "scrutin public ordinaire", "scrutin public solennel", "scrutin à la tribune"],
|
|
524
|
+
TypeMajorite: ["majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale"],
|
|
525
|
+
CausePositionVote: ["MG", "PAN", "PSE"],
|
|
526
|
+
PositionMajoritaire: ["abstention", "contre", "pour"]
|
|
527
|
+
};
|
|
528
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsIkNvZGUiLCJMaWJlbGxlIiwiQ29kZVR5cGVWb3RlIiwiTGliZWxsZVR5cGVWb3RlIiwiVHlwZU1ham9yaXRlIiwiQ2F1c2VQb3NpdGlvblZvdGUiLCJQb3NpdGlvbk1ham9yaXRhaXJlIiwiQ29udmVydCIsInRvU2NydXRpbnMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJzY3J1dGluc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluIiwic2NydXRpblRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiLCJTY3J1dGlucyIsIlNjcnV0aW4iLCJEZW1hbmRldXIiLCJNaXNlQXVQb2ludCIsIkR5c2ZvbmN0aW9ubmVtZW50IiwiT2JqZXQiLCJTb3J0U2NydXRpbiIsIlN5bnRoZXNlVm90ZSIsIlR5cGVWb3RlIiwiT3JnYW5lIiwiR3JvdXBlIiwiVm90ZSIsIkRlY29tcHRlTm9taW5hdGlmIiwiVm90YW50IiwiRGVjb21wdGVWb2l4Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NjcnV0aW5zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFNjcnV0aW5zIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vL1xuLy8gVGhlc2UgZnVuY3Rpb25zIHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIEpTT04gZG9lc24ndFxuLy8gbWF0Y2ggdGhlIGV4cGVjdGVkIGludGVyZmFjZSwgZXZlbiBpZiB0aGUgSlNPTiBpcyB2YWxpZC5cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGlucyB7XG4gIHNjcnV0aW5zOiBTY3J1dGluW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB1aWQ6IHN0cmluZ1xuICBudW1lcm86IHN0cmluZ1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBsZWdpc2xhdHVyZTogc3RyaW5nXG4gIHNlc3Npb25SZWY6IHN0cmluZ1xuICBzZWFuY2VSZWY6IHN0cmluZ1xuICBkYXRlU2NydXRpbjogRGF0ZVxuICBxdWFudGllbWVKb3VyU2VhbmNlOiBzdHJpbmdcbiAgdHlwZVZvdGU6IFR5cGVWb3RlXG4gIHNvcnQ6IFNvcnRTY3J1dGluXG4gIHRpdHJlOiBzdHJpbmdcbiAgZGVtYW5kZXVyOiBEZW1hbmRldXJcbiAgb2JqZXQ6IE9iamV0XG4gIG1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzOiBNb2RlUHVibGljYXRpb25EZXNWb3Rlc1xuICBzeW50aGVzZVZvdGU6IFN5bnRoZXNlVm90ZVxuICB2ZW50aWxhdGlvblZvdGVzOiBPcmdhbmVcbiAgbWlzZUF1UG9pbnQ/OiBNaXNlQXVQb2ludFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1ciB7XG4gIHRleHRlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlzZUF1UG9pbnQge1xuICBub25Wb3RhbnRzPzogVm90YW50W11cbiAgcG91cj86IFZvdGFudFtdXG4gIGNvbnRyZT86IFZvdGFudFtdXG4gIGFic3RlbnRpb25zPzogVm90YW50W11cbiAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogVm90YW50W11cbiAgZHlzZm9uY3Rpb25uZW1lbnQ/OiBEeXNmb25jdGlvbm5lbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIER5c2ZvbmN0aW9ubmVtZW50IHtcbiAgbm9uVm90YW50cz86IFZvdGFudFtdXG4gIHBvdXI/OiBWb3RhbnRbXVxuICBjb250cmU/OiBWb3RhbnRbXVxuICBhYnN0ZW50aW9ucz86IFZvdGFudFtdXG4gIG5vblZvdGFudHNWb2xvbnRhaXJlcz86IFZvdGFudFtdXG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGUgPSBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gIERlY29tcHRlTm9taW5hdGlmID0gXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamV0IHtcbiAgbGliZWxsZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydFNjcnV0aW4ge1xuICBjb2RlOiBDb2RlXG4gIGxpYmVsbGU6IExpYmVsbGVcbn1cblxuZXhwb3J0IGVudW0gQ29kZSB7XG4gIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgUmVqZXTDqSA9IFwicmVqZXTDqVwiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlIHtcbiAgTEFzc2VtYmzDqWVOYXRpb25hbGVBQWRvcHTDqSA9IFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ludGhlc2VWb3RlIHtcbiAgbm9tYnJlVm90YW50czogc3RyaW5nXG4gIHN1ZmZyYWdlc0V4cHJpbWVzOiBzdHJpbmdcbiAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmdcbiAgYW5ub25jZTogTGliZWxsZVxuICBkZWNvbXB0ZTogRGVjb21wdGVWb2l4XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICBjb2RlVHlwZVZvdGU6IENvZGVUeXBlVm90ZVxuICBsaWJlbGxlVHlwZVZvdGU6IExpYmVsbGVUeXBlVm90ZVxuICB0eXBlTWFqb3JpdGU6IFR5cGVNYWpvcml0ZVxufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICBNb2MgPSBcIk1PQ1wiLFxuICBTYXQgPSBcIlNBVFwiLFxuICBTcG8gPSBcIlNQT1wiLFxuICBTcHMgPSBcIlNQU1wiLFxufVxuXG5leHBvcnQgZW51bSBMaWJlbGxlVHlwZVZvdGUge1xuICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gIFNjcnV0aW5QdWJsaWNPcmRpbmFpcmUgPSBcInNjcnV0aW4gcHVibGljIG9yZGluYWlyZVwiLFxuICBTY3J1dGluUHVibGljU29sZW5uZWwgPSBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVNYWpvcml0ZSB7XG4gIE1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgTWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmUge1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBncm91cGVzOiBHcm91cGVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gIG9yZ2FuZVJlZjogc3RyaW5nXG4gIG5vbWJyZU1lbWJyZXNHcm91cGU6IHN0cmluZ1xuICB2b3RlOiBWb3RlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90ZSB7XG4gIHBvc2l0aW9uTWFqb3JpdGFpcmU6IFBvc2l0aW9uTWFqb3JpdGFpcmVcbiAgZGVjb21wdGVWb2l4OiBEZWNvbXB0ZVZvaXhcbiAgZGVjb21wdGVOb21pbmF0aWY6IERlY29tcHRlTm9taW5hdGlmXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVOb21pbmF0aWYge1xuICBub25Wb3RhbnRzPzogVm90YW50W11cbiAgcG91cj86IFZvdGFudFtdXG4gIGNvbnRyZT86IFZvdGFudFtdXG4gIGFic3RlbnRpb25zPzogVm90YW50W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnQge1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBtYW5kYXRSZWY6IHN0cmluZ1xuICBjYXVzZVBvc2l0aW9uVm90ZT86IENhdXNlUG9zaXRpb25Wb3RlXG4gIHBhckRlbGVnYXRpb24/OiBib29sZWFuXG59XG5cbmV4cG9ydCBlbnVtIENhdXNlUG9zaXRpb25Wb3RlIHtcbiAgTWcgPSBcIk1HXCIsXG4gIFBhbiA9IFwiUEFOXCIsXG4gIFBzZSA9IFwiUFNFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVWb2l4IHtcbiAgcG91cjogc3RyaW5nXG4gIGNvbnRyZTogc3RyaW5nXG4gIG5vblZvdGFudHM/OiBzdHJpbmdcbiAgYWJzdGVudGlvbnM/OiBzdHJpbmdcbiAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFBvc2l0aW9uTWFqb3JpdGFpcmUge1xuICBBYnN0ZW50aW9uID0gXCJhYnN0ZW50aW9uXCIsXG4gIENvbnRyZSA9IFwiY29udHJlXCIsXG4gIFBvdXIgPSBcInBvdXJcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGlucyhqc29uOiBzdHJpbmcpOiBTY3J1dGlucyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzY3J1dGluc1RvSnNvbih2YWx1ZTogU2NydXRpbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvU2NydXRpbihqc29uOiBzdHJpbmcpOiBTY3J1dGluIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiU2NydXRpblwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2NydXRpblRvSnNvbih2YWx1ZTogU2NydXRpbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlNjcnV0aW5cIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBTY3J1dGluczogbyhcbiAgICBbeyBqc29uOiBcInNjcnV0aW5zXCIsIGpzOiBcInNjcnV0aW5zXCIsIHR5cDogYShyKFwiU2NydXRpblwiKSkgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNjcnV0aW46IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtZXJvXCIsIGpzOiBcIm51bWVyb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImRhdGVTY3J1dGluXCIsIGpzOiBcImRhdGVTY3J1dGluXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwganM6IFwicXVhbnRpZW1lSm91clNlYW5jZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvcnRcIiwganM6IFwic29ydFwiLCB0eXA6IHIoXCJTb3J0U2NydXRpblwiKSB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImRlbWFuZGV1clwiLCBqczogXCJkZW1hbmRldXJcIiwgdHlwOiByKFwiRGVtYW5kZXVyXCIpIH0sXG4gICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiByKFwiT2JqZXRcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLFxuICAgICAgICBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLFxuICAgICAgICB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ2ZW50aWxhdGlvblZvdGVzXCIsXG4gICAgICAgIGpzOiBcInZlbnRpbGF0aW9uVm90ZXNcIixcbiAgICAgICAgdHlwOiByKFwiT3JnYW5lXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJtaXNlQXVQb2ludFwiLFxuICAgICAgICBqczogXCJtaXNlQXVQb2ludFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzZUF1UG9pbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXI6IG8oW3sganNvbjogXCJ0ZXh0ZVwiLCBqczogXCJ0ZXh0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9XSwgZmFsc2UpLFxuICBNaXNlQXVQb2ludDogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9uVm90YW50c1wiLFxuICAgICAgICBqczogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb3VyXCIsXG4gICAgICAgIGpzOiBcInBvdXJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRyZVwiLFxuICAgICAgICBqczogXCJjb250cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIGpzOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIixcbiAgICAgICAganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkeXNmb25jdGlvbm5lbWVudFwiLFxuICAgICAgICBqczogXCJkeXNmb25jdGlvbm5lbWVudFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRHlzZm9uY3Rpb25uZW1lbnRcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEeXNmb25jdGlvbm5lbWVudDogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9uVm90YW50c1wiLFxuICAgICAgICBqczogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb3VyXCIsXG4gICAgICAgIGpzOiBcInBvdXJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnRyZVwiLFxuICAgICAgICBqczogXCJjb250cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIGpzOiBcImFic3RlbnRpb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIixcbiAgICAgICAganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlZvdGFudFwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBPYmpldDogbyhbeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgU29ydFNjcnV0aW46IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHIoXCJDb2RlXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTeW50aGVzZVZvdGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbWJyZVZvdGFudHNcIiwganM6IFwibm9tYnJlVm90YW50c1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCBqczogXCJzdWZmcmFnZXNFeHByaW1lc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFubm9uY2VcIiwganM6IFwiYW5ub25jZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGVjb21wdGVcIiwganM6IFwiZGVjb21wdGVcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVHlwZVZvdGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVUeXBlVm90ZVwiLCBqczogXCJjb2RlVHlwZVZvdGVcIiwgdHlwOiByKFwiQ29kZVR5cGVWb3RlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsXG4gICAgICAgIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLFxuICAgICAgICB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IGEocihcIkdyb3VwZVwiKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBHcm91cGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCBqczogXCJub21icmVNZW1icmVzR3JvdXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVm90ZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLFxuICAgICAgICBqczogXCJwb3NpdGlvbk1ham9yaXRhaXJlXCIsXG4gICAgICAgIHR5cDogcihcIlBvc2l0aW9uTWFqb3JpdGFpcmVcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRlY29tcHRlVm9peFwiLCBqczogXCJkZWNvbXB0ZVZvaXhcIiwgdHlwOiByKFwiRGVjb21wdGVWb2l4XCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIixcbiAgICAgICAganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIixcbiAgICAgICAgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlY29tcHRlTm9taW5hdGlmOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJub25Wb3RhbnRzXCIsXG4gICAgICAgIGpzOiBcIm5vblZvdGFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvdXJcIixcbiAgICAgICAganM6IFwicG91clwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJWb3RhbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udHJlXCIsXG4gICAgICAgIGpzOiBcImNvbnRyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJWb3RhbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWJzdGVudGlvbnNcIixcbiAgICAgICAganM6IFwiYWJzdGVudGlvbnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiVm90YW50XCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFZvdGFudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsXG4gICAgICAgIGpzOiBcImNhdXNlUG9zaXRpb25Wb3RlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDYXVzZVBvc2l0aW9uVm90ZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZWNvbXB0ZVZvaXg6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsXG4gICAgICAgIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM6IFtcbiAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiLFxuICBdLFxuICBDb2RlOiBbXCJhZG9wdMOpXCIsIFwicmVqZXTDqVwiXSxcbiAgTGliZWxsZTogW1xuICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gIF0sXG4gIENvZGVUeXBlVm90ZTogW1wiTU9DXCIsIFwiU0FUXCIsIFwiU1BPXCIsIFwiU1BTXCJdLFxuICBMaWJlbGxlVHlwZVZvdGU6IFtcbiAgICBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICBcInNjcnV0aW4gcHVibGljIHNvbGVubmVsXCIsXG4gICAgXCJzY3J1dGluIMOgIGxhIHRyaWJ1bmVcIixcbiAgXSxcbiAgVHlwZU1ham9yaXRlOiBbXG4gICAgXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICBdLFxuICBDYXVzZVBvc2l0aW9uVm90ZTogW1wiTUdcIiwgXCJQQU5cIiwgXCJQU0VcIl0sXG4gIFBvc2l0aW9uTWFqb3JpdGFpcmU6IFtcImFic3RlbnRpb25cIiwgXCJjb250cmVcIiwgXCJwb3VyXCJdLFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0RBLFdBQVlBLHVCQUFaOztXQUFZQSx1QjtFQUFBQSx1QjtFQUFBQSx1QjtHQUFB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
|