@tricoteuses/assemblee 1.0.7 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/lib/api.js +3 -9
  2. package/lib/api.mjs +4 -5
  3. package/lib/bugs/acteur-00010/plugin.test.js +3 -50
  4. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  5. package/lib/bugs/acteur-00010.js +2 -57
  6. package/lib/bugs/acteur-00010.mjs +1 -6
  7. package/lib/bugs/agenda-00002/plugin.test.js +3 -53
  8. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -3
  9. package/lib/bugs/agenda-00002.js +3 -148
  10. package/lib/bugs/agenda-00002.mjs +1 -28
  11. package/lib/bugs/agenda-00008/plugin.test.js +3 -52
  12. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  13. package/lib/bugs/agenda-00008.js +2 -61
  14. package/lib/bugs/agenda-00008.mjs +1 -5
  15. package/lib/bugs/agenda-00011/plugin.test.js +5 -99
  16. package/lib/bugs/agenda-00011/plugin.test.mjs +3 -3
  17. package/lib/bugs/agenda-00011.js +4 -105
  18. package/lib/bugs/agenda-00011.mjs +3 -29
  19. package/lib/bugs.js +3 -164
  20. package/lib/bugs.mjs +1 -26
  21. package/lib/cleaners/actes_legislatifs.js +11 -115
  22. package/lib/cleaners/actes_legislatifs.mjs +7 -82
  23. package/lib/cleaners/acteurs.js +12 -92
  24. package/lib/cleaners/acteurs.mjs +7 -38
  25. package/lib/cleaners/amendements.js +10 -103
  26. package/lib/cleaners/amendements.mjs +4 -58
  27. package/lib/cleaners/documents.js +5 -67
  28. package/lib/cleaners/documents.mjs +1 -37
  29. package/lib/cleaners/dossiers_legislatifs.js +5 -61
  30. package/lib/cleaners/dossiers_legislatifs.mjs +1 -29
  31. package/lib/cleaners/index.js +1 -9
  32. package/lib/cleaners/index.mjs +1 -1
  33. package/lib/cleaners/organes.js +1 -33
  34. package/lib/cleaners/organes.mjs +1 -17
  35. package/lib/cleaners/reunions.js +4 -119
  36. package/lib/cleaners/reunions.mjs +1 -64
  37. package/lib/cleaners/scrutins.js +10 -102
  38. package/lib/cleaners/scrutins.mjs +1 -48
  39. package/lib/cleaners/xml.js +8 -42
  40. package/lib/cleaners/xml.mjs +6 -8
  41. package/lib/datasets.js +14 -113
  42. package/lib/datasets.mjs +6 -46
  43. package/lib/dates.js +7 -37
  44. package/lib/dates.mjs +9 -14
  45. package/lib/dossiers_legislatifs.js +6 -68
  46. package/lib/dossiers_legislatifs.mjs +5 -36
  47. package/lib/file_systems.js +56 -139
  48. package/lib/file_systems.mjs +1 -9
  49. package/lib/git.js +4 -53
  50. package/lib/git.mjs +1 -12
  51. package/lib/index.js +1 -15
  52. package/lib/index.mjs +1 -1
  53. package/lib/inserters.js +23 -146
  54. package/lib/inserters.mjs +6 -87
  55. package/lib/loaders.js +44 -316
  56. package/lib/loaders.mjs +12 -135
  57. package/lib/organes.js +1 -7
  58. package/lib/organes.mjs +1 -4
  59. package/lib/parsers/documents.js +22 -151
  60. package/lib/parsers/documents.mjs +19 -81
  61. package/lib/parsers/index.js +1 -4
  62. package/lib/parsers/index.mjs +1 -1
  63. package/lib/parsers/recherche_amendements.js +302 -527
  64. package/lib/parsers/recherche_amendements.mjs +8 -31
  65. package/lib/raw_types/acteurs_et_organes.d.ts +1 -30
  66. package/lib/raw_types/acteurs_et_organes.js +5 -124
  67. package/lib/raw_types/acteurs_et_organes.mjs +5 -105
  68. package/lib/raw_types/agendas.js +6 -89
  69. package/lib/raw_types/agendas.mjs +9 -65
  70. package/lib/raw_types/amendements.d.ts +2 -0
  71. package/lib/raw_types/amendements.js +10 -90
  72. package/lib/raw_types/amendements.mjs +11 -69
  73. package/lib/raw_types/dossiers_legislatifs.js +6 -96
  74. package/lib/raw_types/dossiers_legislatifs.mjs +6 -73
  75. package/lib/raw_types/scrutins.js +6 -81
  76. package/lib/raw_types/scrutins.mjs +9 -57
  77. package/lib/scripts/bugs_helper.js +2 -181
  78. package/lib/scripts/bugs_helper.mjs +2 -39
  79. package/lib/scripts/clean_data.js +27 -143
  80. package/lib/scripts/clean_data.mjs +15 -34
  81. package/lib/scripts/clean_reorganized_data.js +76 -240
  82. package/lib/scripts/clean_reorganized_data.mjs +36 -99
  83. package/lib/scripts/diff_amendements.js +19 -79
  84. package/lib/scripts/diff_amendements.mjs +17 -35
  85. package/lib/scripts/document_dossiers_legislatifs.js +17 -142
  86. package/lib/scripts/document_dossiers_legislatifs.mjs +6 -90
  87. package/lib/scripts/get_today_reunions.js +4 -22
  88. package/lib/scripts/get_today_reunions.mjs +1 -7
  89. package/lib/scripts/merge_scrutins.js +3 -47
  90. package/lib/scripts/merge_scrutins.mjs +1 -9
  91. package/lib/scripts/parse_textes_lois.js +15 -44
  92. package/lib/scripts/parse_textes_lois.mjs +18 -19
  93. package/lib/scripts/raw_types_from_amendements.js +3 -95
  94. package/lib/scripts/raw_types_from_amendements.mjs +1 -16
  95. package/lib/scripts/reorganize_data.js +74 -294
  96. package/lib/scripts/reorganize_data.mjs +22 -133
  97. package/lib/scripts/retrieve_deputes_photos.js +6 -119
  98. package/lib/scripts/retrieve_deputes_photos.mjs +7 -33
  99. package/lib/scripts/retrieve_documents.js +4 -192
  100. package/lib/scripts/retrieve_documents.mjs +2 -50
  101. package/lib/scripts/retrieve_open_data.js +44 -116
  102. package/lib/scripts/retrieve_open_data.mjs +14 -19
  103. package/lib/scripts/retrieve_pending_amendments.js +4 -98
  104. package/lib/scripts/retrieve_pending_amendments.mjs +1 -14
  105. package/lib/scripts/retrieve_senateurs_photos.js +18 -114
  106. package/lib/scripts/retrieve_senateurs_photos.mjs +20 -48
  107. package/lib/scripts/retrieve_textes_lois.js +3 -122
  108. package/lib/scripts/retrieve_textes_lois.mjs +3 -21
  109. package/lib/scripts/test_load.js +2 -10
  110. package/lib/scripts/test_load.mjs +2 -1
  111. package/lib/scripts/test_load_big_files.js +2 -10
  112. package/lib/scripts/test_load_big_files.mjs +2 -1
  113. package/lib/scripts/validate_json.js +4 -119
  114. package/lib/scripts/validate_json.mjs +2 -36
  115. package/lib/shared_types/codes_actes.js +1 -24
  116. package/lib/shared_types/codes_actes.mjs +3 -10
  117. package/lib/strings.js +1 -5
  118. package/lib/strings.mjs +1 -1
  119. package/lib/types/acteurs_et_organes.js +9 -84
  120. package/lib/types/acteurs_et_organes.mjs +10 -63
  121. package/lib/types/agendas.js +8 -90
  122. package/lib/types/agendas.mjs +11 -66
  123. package/lib/types/amendements.d.ts +2 -0
  124. package/lib/types/amendements.js +12 -92
  125. package/lib/types/amendements.mjs +15 -70
  126. package/lib/types/dossiers_legislatifs.js +8 -96
  127. package/lib/types/dossiers_legislatifs.mjs +10 -72
  128. package/lib/types/legislatures.js +1 -3
  129. package/lib/types/legislatures.mjs +1 -2
  130. package/lib/types/scrutins.js +8 -82
  131. package/lib/types/scrutins.mjs +11 -58
  132. package/lib/urls.js +3 -27
  133. package/lib/urls.mjs +3 -21
  134. package/package.json +1 -1
@@ -1,10 +1,8 @@
1
1
  import assert from "assert";
2
2
  import { cleanBooleanAttribute, cleanXmlArtefacts } from "./xml.mjs";
3
-
4
3
  function cleanDecompteNominatif(decompteNominatif) {
5
4
  cleanXmlArtefacts(decompteNominatif);
6
5
  let nonVotants = decompteNominatif.nonVotants;
7
-
8
6
  if (nonVotants !== undefined) {
9
7
  if (typeof nonVotants === "string") {
10
8
  assert.strictEqual(nonVotants, "0");
@@ -13,17 +11,13 @@ function cleanDecompteNominatif(decompteNominatif) {
13
11
  assert(nonVotants);
14
12
  nonVotants = [nonVotants];
15
13
  }
16
-
17
14
  const nonVotantsArray = nonVotants;
18
15
  nonVotants = [];
19
-
20
16
  for (let nonVotant of nonVotantsArray) {
21
17
  if (nonVotant === null) {
22
18
  continue;
23
19
  }
24
-
25
20
  nonVotant = nonVotant.votant;
26
-
27
21
  if (Array.isArray(nonVotant)) {
28
22
  nonVotants.push(...nonVotant);
29
23
  } else {
@@ -31,93 +25,71 @@ function cleanDecompteNominatif(decompteNominatif) {
31
25
  nonVotants.push(nonVotant);
32
26
  }
33
27
  }
34
-
35
28
  if (nonVotants.length === 0) {
36
29
  delete decompteNominatif.nonVotants;
37
30
  } else {
38
31
  decompteNominatif.nonVotants = nonVotants;
39
-
40
32
  for (const votant of nonVotants) {
41
33
  cleanVotant(votant);
42
34
  }
43
35
  }
44
36
  }
45
-
46
37
  let pour = decompteNominatif.pour;
47
-
48
38
  if (pour === undefined) {
49
39
  pour = decompteNominatif.pours;
50
40
  } else {
51
41
  assert.strictEqual(decompteNominatif.pours, undefined);
52
42
  }
53
-
54
43
  if (pour !== undefined) {
55
44
  pour = pour.votant;
56
-
57
45
  if (!Array.isArray(pour)) {
58
46
  assert(pour);
59
47
  pour = [pour];
60
48
  }
61
-
62
49
  if (pour.length === 0) {
63
50
  delete decompteNominatif.pour;
64
51
  } else {
65
52
  decompteNominatif.pour = pour;
66
-
67
53
  for (const votant of pour) {
68
54
  cleanVotant(votant);
69
55
  }
70
56
  }
71
-
72
57
  delete decompteNominatif.pours;
73
58
  }
74
-
75
59
  let contre = decompteNominatif.contre;
76
-
77
60
  if (contre === undefined) {
78
61
  contre = decompteNominatif.contres;
79
62
  } else {
80
63
  assert.strictEqual(decompteNominatif.contres, undefined);
81
64
  }
82
-
83
65
  if (contre !== undefined) {
84
66
  contre = contre.votant;
85
-
86
67
  if (!Array.isArray(contre)) {
87
68
  assert(contre);
88
69
  contre = [contre];
89
70
  }
90
-
91
71
  if (contre.length === 0) {
92
72
  delete decompteNominatif.contre;
93
73
  } else {
94
74
  decompteNominatif.contre = contre;
95
-
96
75
  for (const votant of contre) {
97
76
  cleanVotant(votant);
98
77
  }
99
78
  }
100
-
101
79
  delete decompteNominatif.contres;
102
80
  }
103
-
104
81
  let abstentions = decompteNominatif.abstentions;
105
-
106
82
  if (abstentions !== undefined) {
107
83
  if (!Array.isArray(abstentions)) {
108
84
  abstentions = [abstentions];
109
85
  }
110
-
111
86
  const abstentionsArray = abstentions;
112
87
  abstentions = [];
113
-
114
88
  for (let absentionsItem of abstentionsArray) {
115
89
  if (absentionsItem === null) {
116
90
  continue;
117
91
  }
118
-
119
92
  absentionsItem = absentionsItem.votant;
120
-
121
93
  if (Array.isArray(absentionsItem)) {
122
94
  abstentions.push(...absentionsItem);
123
95
  } else {
@@ -125,35 +97,27 @@ function cleanDecompteNominatif(decompteNominatif) {
125
97
  abstentions.push(absentionsItem);
126
98
  }
127
99
  }
128
-
129
100
  if (abstentions.length === 0) {
130
101
  delete decompteNominatif.abstentions;
131
102
  } else {
132
103
  decompteNominatif.abstentions = abstentions;
133
-
134
104
  for (const votant of abstentions) {
135
105
  cleanVotant(votant);
136
106
  }
137
107
  }
138
108
  }
139
-
140
109
  let nonVotantsVolontaires = decompteNominatif.nonVotantsVolontaires;
141
-
142
110
  if (nonVotantsVolontaires !== undefined) {
143
111
  if (!Array.isArray(nonVotantsVolontaires)) {
144
112
  nonVotantsVolontaires = [nonVotantsVolontaires];
145
113
  }
146
-
147
114
  const nonVotantsVolontairesArray = nonVotantsVolontaires;
148
115
  nonVotantsVolontaires = [];
149
-
150
116
  for (let absentionsItem of nonVotantsVolontairesArray) {
151
117
  if (absentionsItem === null) {
152
118
  continue;
153
119
  }
154
-
155
120
  absentionsItem = absentionsItem.votant;
156
-
157
121
  if (Array.isArray(absentionsItem)) {
158
122
  nonVotantsVolontaires.push(...absentionsItem);
159
123
  } else {
@@ -161,19 +125,16 @@ function cleanDecompteNominatif(decompteNominatif) {
161
125
  nonVotantsVolontaires.push(absentionsItem);
162
126
  }
163
127
  }
164
-
165
128
  if (nonVotantsVolontaires.length === 0) {
166
129
  delete decompteNominatif.nonVotantsVolontaires;
167
130
  } else {
168
131
  decompteNominatif.nonVotantsVolontaires = nonVotantsVolontaires;
169
-
170
132
  for (const votant of nonVotantsVolontaires) {
171
133
  cleanVotant(votant);
172
134
  }
173
135
  }
174
136
  }
175
137
  }
176
-
177
138
  export function cleanScrutin(scrutin) {
178
139
  cleanXmlArtefacts(scrutin);
179
140
  const demandeur = scrutin.demandeur;
@@ -198,7 +159,6 @@ export function cleanScrutin(scrutin) {
198
159
  {
199
160
  groupes = groupes.groupe;
200
161
  assert(Array.isArray(groupes));
201
-
202
162
  for (const groupe of groupes) {
203
163
  const vote = groupe.vote;
204
164
  assert(vote);
@@ -211,7 +171,6 @@ export function cleanScrutin(scrutin) {
211
171
  decompteVoix.abstentions = decompteVoix.abstention;
212
172
  delete decompteVoix.abstention;
213
173
  }
214
-
215
174
  if (decompteVoix.nonVotant !== undefined) {
216
175
  assert.strictEqual(decompteVoix.nonVotants, undefined);
217
176
  decompteVoix.nonVotants = decompteVoix.nonVotant;
@@ -223,32 +182,26 @@ export function cleanScrutin(scrutin) {
223
182
  cleanDecompteNominatif(decompteNominatif);
224
183
  }
225
184
  }
226
-
227
185
  ventilationVotes.groupes = groupes;
228
186
  }
229
187
  scrutin.ventilationVotes = ventilationVotes;
230
188
  }
231
189
  const miseAuPoint = scrutin.miseAuPoint;
232
-
233
190
  if (miseAuPoint !== undefined) {
234
191
  cleanDecompteNominatif(miseAuPoint);
235
192
  let dysfonctionnement = miseAuPoint.dysfonctionnement;
236
-
237
193
  if (dysfonctionnement !== undefined) {
238
194
  cleanDecompteNominatif(dysfonctionnement);
239
-
240
195
  if (Object.values(dysfonctionnement).filter(value => value !== undefined).length === 0) {
241
196
  delete miseAuPoint.dysfonctionnement;
242
197
  }
243
198
  }
244
-
245
199
  if (Object.values(miseAuPoint).filter(value => value !== undefined).length === 0) {
246
200
  delete scrutin.miseAuPoint;
247
201
  }
248
202
  }
249
203
  }
250
-
251
204
  function cleanVotant(votant) {
252
205
  cleanBooleanAttribute(votant, "parDelegation");
253
206
  }
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuRGVjb21wdGVOb21pbmF0aWYiLCJkZWNvbXB0ZU5vbWluYXRpZiIsIm5vblZvdGFudHMiLCJ1bmRlZmluZWQiLCJzdHJpY3RFcXVhbCIsIkFycmF5IiwiaXNBcnJheSIsIm5vblZvdGFudHNBcnJheSIsIm5vblZvdGFudCIsInZvdGFudCIsInB1c2giLCJsZW5ndGgiLCJjbGVhblZvdGFudCIsInBvdXIiLCJwb3VycyIsImNvbnRyZSIsImNvbnRyZXMiLCJhYnN0ZW50aW9ucyIsImFic3RlbnRpb25zQXJyYXkiLCJhYnNlbnRpb25zSXRlbSIsIm5vblZvdGFudHNWb2xvbnRhaXJlcyIsIm5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5IiwiY2xlYW5TY3J1dGluIiwic2NydXRpbiIsImRlbWFuZGV1ciIsInJlZmVyZW5jZUxlZ2lzbGF0aXZlIiwib2JqZXQiLCJ2ZW50aWxhdGlvblZvdGVzIiwib3JnYW5lIiwiZ3JvdXBlcyIsImdyb3VwZSIsInZvdGUiLCJkZWNvbXB0ZVZvaXgiLCJhYnN0ZW50aW9uIiwibWlzZUF1UG9pbnQiLCJkeXNmb25jdGlvbm5lbWVudCIsIk9iamVjdCIsInZhbHVlcyIsImZpbHRlciIsInZhbHVlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3NjcnV0aW5zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSwgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5mdW5jdGlvbiBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmOiBhbnkpIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoZGVjb21wdGVOb21pbmF0aWYpXG5cbiAgbGV0IG5vblZvdGFudHMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzXG4gIGlmIChub25Wb3RhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIG5vblZvdGFudHMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChub25Wb3RhbnRzLCBcIjBcIilcbiAgICAgIG5vblZvdGFudHMgPSBbXVxuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50cykpIHtcbiAgICAgIGFzc2VydChub25Wb3RhbnRzKVxuICAgICAgbm9uVm90YW50cyA9IFtub25Wb3RhbnRzXVxuICAgIH1cbiAgICBjb25zdCBub25Wb3RhbnRzQXJyYXkgPSBub25Wb3RhbnRzXG4gICAgbm9uVm90YW50cyA9IFtdXG4gICAgZm9yIChsZXQgbm9uVm90YW50IG9mIG5vblZvdGFudHNBcnJheSkge1xuICAgICAgaWYgKG5vblZvdGFudCA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgbm9uVm90YW50ID0gbm9uVm90YW50LnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9uVm90YW50KSkge1xuICAgICAgICBub25Wb3RhbnRzLnB1c2goLi4ubm9uVm90YW50KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KG5vblZvdGFudClcbiAgICAgICAgbm9uVm90YW50cy5wdXNoKG5vblZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vblZvdGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzID0gbm9uVm90YW50c1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2Ygbm9uVm90YW50cykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHBvdXIgPSBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyXG4gIGlmIChwb3VyID09PSB1bmRlZmluZWQpIHtcbiAgICBwb3VyID0gZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYucG91cnMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAocG91ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcG91ciA9IHBvdXIudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBvdXIpKSB7XG4gICAgICBhc3NlcnQocG91cilcbiAgICAgIHBvdXIgPSBbcG91cl1cbiAgICB9XG4gICAgaWYgKHBvdXIubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91clxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyID0gcG91clxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgcG91cikge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5wb3Vyc1xuICB9XG5cbiAgbGV0IGNvbnRyZSA9IGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICBpZiAoY29udHJlID09PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAoY29udHJlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBjb250cmUudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbnRyZSkpIHtcbiAgICAgIGFzc2VydChjb250cmUpXG4gICAgICBjb250cmUgPSBbY29udHJlXVxuICAgIH1cbiAgICBpZiAoY29udHJlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmUgPSBjb250cmVcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIGNvbnRyZSkge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gIH1cblxuICBsZXQgYWJzdGVudGlvbnMgPSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICBpZiAoYWJzdGVudGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhYnN0ZW50aW9ucykpIHtcbiAgICAgIGFic3RlbnRpb25zID0gW2Fic3RlbnRpb25zXVxuICAgIH1cbiAgICBjb25zdCBhYnN0ZW50aW9uc0FycmF5ID0gYWJzdGVudGlvbnNcbiAgICBhYnN0ZW50aW9ucyA9IFtdXG4gICAgZm9yIChsZXQgYWJzZW50aW9uc0l0ZW0gb2YgYWJzdGVudGlvbnNBcnJheSkge1xuICAgICAgaWYgKGFic2VudGlvbnNJdGVtID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhYnNlbnRpb25zSXRlbSA9IGFic2VudGlvbnNJdGVtLnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWJzZW50aW9uc0l0ZW0pKSB7XG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhYnN0ZW50aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9ucyA9IGFic3RlbnRpb25zXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBhYnN0ZW50aW9ucykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50c1ZvbG9udGFpcmVzKSkge1xuICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gW25vblZvdGFudHNWb2xvbnRhaXJlc11cbiAgICB9XG4gICAgY29uc3Qgbm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBbXVxuICAgIGZvciAobGV0IGFic2VudGlvbnNJdGVtIG9mIG5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5KSB7XG4gICAgICBpZiAoYWJzZW50aW9uc0l0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFic2VudGlvbnNJdGVtID0gYWJzZW50aW9uc0l0ZW0udm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhYnNlbnRpb25zSXRlbSkpIHtcbiAgICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcy5wdXNoKGFic2VudGlvbnNJdGVtKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXMgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIG5vblZvdGFudHNWb2xvbnRhaXJlcykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblNjcnV0aW4oc2NydXRpbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHNjcnV0aW4pXG5cbiAgY29uc3QgZGVtYW5kZXVyID0gc2NydXRpbi5kZW1hbmRldXJcbiAgYXNzZXJ0KGRlbWFuZGV1cilcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlbWFuZGV1cilcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZW1hbmRldXIucmVmZXJlbmNlTGVnaXNsYXRpdmUsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IG9iamV0ID0gc2NydXRpbi5vYmpldFxuICBhc3NlcnQob2JqZXQpXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhvYmpldClcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChvYmpldC5yZWZlcmVuY2VMZWdpc2xhdGl2ZSwgdW5kZWZpbmVkKVxuICB9XG5cbiAgbGV0IHZlbnRpbGF0aW9uVm90ZXMgPSBzY3J1dGluLnZlbnRpbGF0aW9uVm90ZXNcbiAgYXNzZXJ0KHZlbnRpbGF0aW9uVm90ZXMpXG4gIHtcbiAgICB2ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlcy5vcmdhbmVcbiAgICBhc3NlcnQodmVudGlsYXRpb25Wb3RlcylcblxuICAgIGxldCBncm91cGVzID0gdmVudGlsYXRpb25Wb3Rlcy5ncm91cGVzXG4gICAgYXNzZXJ0KGdyb3VwZXMpXG4gICAge1xuICAgICAgZ3JvdXBlcyA9IGdyb3VwZXMuZ3JvdXBlXG4gICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShncm91cGVzKSlcbiAgICAgIGZvciAoY29uc3QgZ3JvdXBlIG9mIGdyb3VwZXMpIHtcbiAgICAgICAgY29uc3Qgdm90ZSA9IGdyb3VwZS52b3RlXG4gICAgICAgIGFzc2VydCh2b3RlKVxuICAgICAgICB7XG4gICAgICAgICAgY29uc3QgZGVjb21wdGVWb2l4ID0gdm90ZS5kZWNvbXB0ZVZvaXhcbiAgICAgICAgICBhc3NlcnQoZGVjb21wdGVWb2l4KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbnMsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgZGVjb21wdGVWb2l4LmFic3RlbnRpb25zID0gZGVjb21wdGVWb2l4LmFic3RlbnRpb25cbiAgICAgICAgICAgICAgZGVsZXRlIGRlY29tcHRlVm9peC5hYnN0ZW50aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXgubm9uVm90YW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlVm9peC5ub25Wb3RhbnRzLCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIGRlY29tcHRlVm9peC5ub25Wb3RhbnRzID0gZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgICBkZWxldGUgZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGRlY29tcHRlTm9taW5hdGlmID0gdm90ZS5kZWNvbXB0ZU5vbWluYXRpZlxuICAgICAgICAgIGFzc2VydChkZWNvbXB0ZU5vbWluYXRpZilcbiAgICAgICAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2ZW50aWxhdGlvblZvdGVzLmdyb3VwZXMgPSBncm91cGVzXG4gICAgfVxuXG4gICAgc2NydXRpbi52ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlc1xuICB9XG5cbiAgY29uc3QgbWlzZUF1UG9pbnQgPSBzY3J1dGluLm1pc2VBdVBvaW50XG4gIGlmIChtaXNlQXVQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihtaXNlQXVQb2ludClcblxuICAgIGxldCBkeXNmb25jdGlvbm5lbWVudCA9IG1pc2VBdVBvaW50LmR5c2ZvbmN0aW9ubmVtZW50XG4gICAgaWYgKGR5c2ZvbmN0aW9ubmVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZHlzZm9uY3Rpb25uZW1lbnQpXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZHlzZm9uY3Rpb25uZW1lbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIGRlbGV0ZSBtaXNlQXVQb2ludC5keXNmb25jdGlvbm5lbWVudFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIE9iamVjdC52YWx1ZXMobWlzZUF1UG9pbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBzY3J1dGluLm1pc2VBdVBvaW50XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuVm90YW50KHZvdGFudDogYW55KSB7XG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSh2b3RhbnQs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
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsImNsZWFuRGVjb21wdGVOb21pbmF0aWYiLCJkZWNvbXB0ZU5vbWluYXRpZiIsIm5vblZvdGFudHMiLCJ1bmRlZmluZWQiLCJzdHJpY3RFcXVhbCIsIkFycmF5IiwiaXNBcnJheSIsIm5vblZvdGFudHNBcnJheSIsIm5vblZvdGFudCIsInZvdGFudCIsInB1c2giLCJsZW5ndGgiLCJjbGVhblZvdGFudCIsInBvdXIiLCJwb3VycyIsImNvbnRyZSIsImNvbnRyZXMiLCJhYnN0ZW50aW9ucyIsImFic3RlbnRpb25zQXJyYXkiLCJhYnNlbnRpb25zSXRlbSIsIm5vblZvdGFudHNWb2xvbnRhaXJlcyIsIm5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5IiwiY2xlYW5TY3J1dGluIiwic2NydXRpbiIsImRlbWFuZGV1ciIsInJlZmVyZW5jZUxlZ2lzbGF0aXZlIiwib2JqZXQiLCJ2ZW50aWxhdGlvblZvdGVzIiwib3JnYW5lIiwiZ3JvdXBlcyIsImdyb3VwZSIsInZvdGUiLCJkZWNvbXB0ZVZvaXgiLCJhYnN0ZW50aW9uIiwibWlzZUF1UG9pbnQiLCJkeXNmb25jdGlvbm5lbWVudCIsIk9iamVjdCIsInZhbHVlcyIsImZpbHRlciIsInZhbHVlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3NjcnV0aW5zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSwgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuXG5mdW5jdGlvbiBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmOiBhbnkpIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMoZGVjb21wdGVOb21pbmF0aWYpXG5cbiAgbGV0IG5vblZvdGFudHMgPSBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzXG4gIGlmIChub25Wb3RhbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIG5vblZvdGFudHMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChub25Wb3RhbnRzLCBcIjBcIilcbiAgICAgIG5vblZvdGFudHMgPSBbXVxuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50cykpIHtcbiAgICAgIGFzc2VydChub25Wb3RhbnRzKVxuICAgICAgbm9uVm90YW50cyA9IFtub25Wb3RhbnRzXVxuICAgIH1cbiAgICBjb25zdCBub25Wb3RhbnRzQXJyYXkgPSBub25Wb3RhbnRzXG4gICAgbm9uVm90YW50cyA9IFtdXG4gICAgZm9yIChsZXQgbm9uVm90YW50IG9mIG5vblZvdGFudHNBcnJheSkge1xuICAgICAgaWYgKG5vblZvdGFudCA9PT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgbm9uVm90YW50ID0gbm9uVm90YW50LnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkobm9uVm90YW50KSkge1xuICAgICAgICBub25Wb3RhbnRzLnB1c2goLi4ubm9uVm90YW50KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KG5vblZvdGFudClcbiAgICAgICAgbm9uVm90YW50cy5wdXNoKG5vblZvdGFudClcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vblZvdGFudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYubm9uVm90YW50c1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzID0gbm9uVm90YW50c1xuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2Ygbm9uVm90YW50cykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IHBvdXIgPSBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyXG4gIGlmIChwb3VyID09PSB1bmRlZmluZWQpIHtcbiAgICBwb3VyID0gZGVjb21wdGVOb21pbmF0aWYucG91cnNcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZGVjb21wdGVOb21pbmF0aWYucG91cnMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAocG91ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcG91ciA9IHBvdXIudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBvdXIpKSB7XG4gICAgICBhc3NlcnQocG91cilcbiAgICAgIHBvdXIgPSBbcG91cl1cbiAgICB9XG4gICAgaWYgKHBvdXIubGVuZ3RoID09PSAwKSB7XG4gICAgICBkZWxldGUgZGVjb21wdGVOb21pbmF0aWYucG91clxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5wb3VyID0gcG91clxuICAgICAgZm9yIChjb25zdCB2b3RhbnQgb2YgcG91cikge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5wb3Vyc1xuICB9XG5cbiAgbGV0IGNvbnRyZSA9IGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICBpZiAoY29udHJlID09PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZXMsIHVuZGVmaW5lZClcbiAgfVxuICBpZiAoY29udHJlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb250cmUgPSBjb250cmUudm90YW50XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGNvbnRyZSkpIHtcbiAgICAgIGFzc2VydChjb250cmUpXG4gICAgICBjb250cmUgPSBbY29udHJlXVxuICAgIH1cbiAgICBpZiAoY29udHJlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLmNvbnRyZVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmUgPSBjb250cmVcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIGNvbnRyZSkge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5jb250cmVzXG4gIH1cblxuICBsZXQgYWJzdGVudGlvbnMgPSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICBpZiAoYWJzdGVudGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhYnN0ZW50aW9ucykpIHtcbiAgICAgIGFic3RlbnRpb25zID0gW2Fic3RlbnRpb25zXVxuICAgIH1cbiAgICBjb25zdCBhYnN0ZW50aW9uc0FycmF5ID0gYWJzdGVudGlvbnNcbiAgICBhYnN0ZW50aW9ucyA9IFtdXG4gICAgZm9yIChsZXQgYWJzZW50aW9uc0l0ZW0gb2YgYWJzdGVudGlvbnNBcnJheSkge1xuICAgICAgaWYgKGFic2VudGlvbnNJdGVtID09PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBhYnNlbnRpb25zSXRlbSA9IGFic2VudGlvbnNJdGVtLnZvdGFudFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWJzZW50aW9uc0l0ZW0pKSB7XG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIGFic3RlbnRpb25zLnB1c2goYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhYnN0ZW50aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIGRlbGV0ZSBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9uc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5hYnN0ZW50aW9ucyA9IGFic3RlbnRpb25zXG4gICAgICBmb3IgKGNvbnN0IHZvdGFudCBvZiBhYnN0ZW50aW9ucykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGV0IG5vblZvdGFudHNWb2xvbnRhaXJlcyA9IGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobm9uVm90YW50c1ZvbG9udGFpcmVzKSkge1xuICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzID0gW25vblZvdGFudHNWb2xvbnRhaXJlc11cbiAgICB9XG4gICAgY29uc3Qgbm9uVm90YW50c1ZvbG9udGFpcmVzQXJyYXkgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXMgPSBbXVxuICAgIGZvciAobGV0IGFic2VudGlvbnNJdGVtIG9mIG5vblZvdGFudHNWb2xvbnRhaXJlc0FycmF5KSB7XG4gICAgICBpZiAoYWJzZW50aW9uc0l0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFic2VudGlvbnNJdGVtID0gYWJzZW50aW9uc0l0ZW0udm90YW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShhYnNlbnRpb25zSXRlbSkpIHtcbiAgICAgICAgbm9uVm90YW50c1ZvbG9udGFpcmVzLnB1c2goLi4uYWJzZW50aW9uc0l0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NlcnQoYWJzZW50aW9uc0l0ZW0pXG4gICAgICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcy5wdXNoKGFic2VudGlvbnNJdGVtKVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9uVm90YW50c1ZvbG9udGFpcmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZGVsZXRlIGRlY29tcHRlTm9taW5hdGlmLm5vblZvdGFudHNWb2xvbnRhaXJlc1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNvbXB0ZU5vbWluYXRpZi5ub25Wb3RhbnRzVm9sb250YWlyZXMgPSBub25Wb3RhbnRzVm9sb250YWlyZXNcbiAgICAgIGZvciAoY29uc3Qgdm90YW50IG9mIG5vblZvdGFudHNWb2xvbnRhaXJlcykge1xuICAgICAgICBjbGVhblZvdGFudCh2b3RhbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblNjcnV0aW4oc2NydXRpbjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHNjcnV0aW4pXG5cbiAgY29uc3QgZGVtYW5kZXVyID0gc2NydXRpbi5kZW1hbmRldXJcbiAgYXNzZXJ0KGRlbWFuZGV1cilcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRlbWFuZGV1cilcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZW1hbmRldXIucmVmZXJlbmNlTGVnaXNsYXRpdmUsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IG9iamV0ID0gc2NydXRpbi5vYmpldFxuICBhc3NlcnQob2JqZXQpXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhvYmpldClcblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChvYmpldC5yZWZlcmVuY2VMZWdpc2xhdGl2ZSwgdW5kZWZpbmVkKVxuICB9XG5cbiAgbGV0IHZlbnRpbGF0aW9uVm90ZXMgPSBzY3J1dGluLnZlbnRpbGF0aW9uVm90ZXNcbiAgYXNzZXJ0KHZlbnRpbGF0aW9uVm90ZXMpXG4gIHtcbiAgICB2ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlcy5vcmdhbmVcbiAgICBhc3NlcnQodmVudGlsYXRpb25Wb3RlcylcblxuICAgIGxldCBncm91cGVzID0gdmVudGlsYXRpb25Wb3Rlcy5ncm91cGVzXG4gICAgYXNzZXJ0KGdyb3VwZXMpXG4gICAge1xuICAgICAgZ3JvdXBlcyA9IGdyb3VwZXMuZ3JvdXBlXG4gICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShncm91cGVzKSlcbiAgICAgIGZvciAoY29uc3QgZ3JvdXBlIG9mIGdyb3VwZXMpIHtcbiAgICAgICAgY29uc3Qgdm90ZSA9IGdyb3VwZS52b3RlXG4gICAgICAgIGFzc2VydCh2b3RlKVxuICAgICAgICB7XG4gICAgICAgICAgY29uc3QgZGVjb21wdGVWb2l4ID0gdm90ZS5kZWNvbXB0ZVZvaXhcbiAgICAgICAgICBhc3NlcnQoZGVjb21wdGVWb2l4KVxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChkZWNvbXB0ZVZvaXguYWJzdGVudGlvbnMsIHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgZGVjb21wdGVWb2l4LmFic3RlbnRpb25zID0gZGVjb21wdGVWb2l4LmFic3RlbnRpb25cbiAgICAgICAgICAgICAgZGVsZXRlIGRlY29tcHRlVm9peC5hYnN0ZW50aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChkZWNvbXB0ZVZvaXgubm9uVm90YW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGRlY29tcHRlVm9peC5ub25Wb3RhbnRzLCB1bmRlZmluZWQpXG4gICAgICAgICAgICAgIGRlY29tcHRlVm9peC5ub25Wb3RhbnRzID0gZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgICBkZWxldGUgZGVjb21wdGVWb2l4Lm5vblZvdGFudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGRlY29tcHRlTm9taW5hdGlmID0gdm90ZS5kZWNvbXB0ZU5vbWluYXRpZlxuICAgICAgICAgIGFzc2VydChkZWNvbXB0ZU5vbWluYXRpZilcbiAgICAgICAgICBjbGVhbkRlY29tcHRlTm9taW5hdGlmKGRlY29tcHRlTm9taW5hdGlmKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB2ZW50aWxhdGlvblZvdGVzLmdyb3VwZXMgPSBncm91cGVzXG4gICAgfVxuXG4gICAgc2NydXRpbi52ZW50aWxhdGlvblZvdGVzID0gdmVudGlsYXRpb25Wb3Rlc1xuICB9XG5cbiAgY29uc3QgbWlzZUF1UG9pbnQgPSBzY3J1dGluLm1pc2VBdVBvaW50XG4gIGlmIChtaXNlQXVQb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5EZWNvbXB0ZU5vbWluYXRpZihtaXNlQXVQb2ludClcblxuICAgIGxldCBkeXNmb25jdGlvbm5lbWVudCA9IG1pc2VBdVBvaW50LmR5c2ZvbmN0aW9ubmVtZW50XG4gICAgaWYgKGR5c2ZvbmN0aW9ubmVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuRGVjb21wdGVOb21pbmF0aWYoZHlzZm9uY3Rpb25uZW1lbnQpXG4gICAgICBpZiAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMoZHlzZm9uY3Rpb25uZW1lbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICAgKSB7XG4gICAgICAgIGRlbGV0ZSBtaXNlQXVQb2ludC5keXNmb25jdGlvbm5lbWVudFxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIE9iamVjdC52YWx1ZXMobWlzZUF1UG9pbnQpLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIGRlbGV0ZSBzY3J1dGluLm1pc2VBdVBvaW50XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuVm90YW50KHZvdGFudDogYW55KSB7XG4gIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSh2b3RhbnQs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
@@ -1,107 +1,73 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.symbol.js");
4
-
5
4
  require("core-js/modules/es.symbol.description.js");
6
-
7
5
  require("core-js/modules/es.object.to-string.js");
8
-
9
6
  require("core-js/modules/es.symbol.iterator.js");
10
-
11
7
  require("core-js/modules/es.array.iterator.js");
12
-
13
8
  require("core-js/modules/es.string.iterator.js");
14
-
15
9
  require("core-js/modules/web.dom-collections.iterator.js");
16
-
17
10
  require("core-js/modules/es.array.slice.js");
18
-
19
11
  require("core-js/modules/es.function.name.js");
20
-
21
12
  require("core-js/modules/es.array.from.js");
22
-
23
13
  require("core-js/modules/es.regexp.exec.js");
24
-
25
14
  require("core-js/modules/es.object.define-property.js");
26
-
27
15
  Object.defineProperty(exports, "__esModule", {
28
16
  value: true
29
17
  });
30
18
  exports.cleanBooleanAttribute = cleanBooleanAttribute;
31
19
  exports.cleanXmlArtefacts = cleanXmlArtefacts;
32
-
33
20
  require("core-js/modules/es.array.concat.js");
34
-
35
21
  require("core-js/modules/es.object.entries.js");
36
-
37
22
  require("core-js/modules/es.array.is-array.js");
38
-
39
23
  require("core-js/modules/es.object.keys.js");
40
-
41
24
  var _assert = _interopRequireDefault(require("assert"));
42
-
43
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
44
-
45
26
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
46
-
47
27
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
48
-
49
28
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
50
-
51
29
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
52
-
53
30
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
54
-
55
31
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
56
-
57
32
  var booleanByString = {
58
33
  "false": false,
59
34
  "true": true
60
35
  };
61
-
62
36
  function cleanBooleanAttribute(o, key) {
63
37
  var stringValue = o[key];
64
-
65
38
  if (stringValue === undefined || stringValue === null) {
66
39
  return undefined;
67
40
  }
68
-
69
41
  var booleanValue = booleanByString[stringValue];
70
-
71
42
  _assert["default"].notStrictEqual(booleanValue, undefined, "Invalid boolean value: ".concat(key, " = ").concat(stringValue));
72
-
73
43
  o[key] = booleanValue;
74
44
  return booleanValue;
75
- } /// Remove XML fields that have no use in JSON.
76
-
45
+ }
77
46
 
47
+ /// Remove XML fields that have no use in JSON.
78
48
  function cleanXmlArtefacts(o) {
79
49
  // Remove namespaces.
80
- var xmlns = o["@xmlns"];
81
50
 
51
+ var xmlns = o["@xmlns"];
82
52
  if (xmlns !== undefined) {
83
53
  _assert["default"].strictEqual(xmlns, "http://schemas.assemblee-nationale.fr/referentiel");
84
-
85
54
  delete o["@xmlns"];
86
55
  }
87
-
88
56
  var xmlnsXsi = o["@xmlns:xsi"];
89
-
90
57
  if (xmlnsXsi !== undefined) {
91
58
  _assert["default"].strictEqual(xmlnsXsi, "http://www.w3.org/2001/XMLSchema-instance");
92
-
93
59
  delete o["@xmlns:xsi"];
94
- } // Remove null or empty items.
60
+ }
95
61
 
62
+ // Remove null or empty items.
96
63
 
97
64
  for (var _i = 0, _Object$entries = Object.entries(o); _i < _Object$entries.length; _i++) {
98
65
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
99
- _key = _Object$entries$_i[0],
100
- value = _Object$entries$_i[1];
101
-
66
+ _key = _Object$entries$_i[0],
67
+ value = _Object$entries$_i[1];
102
68
  if (value === null || value !== undefined && (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0)) {
103
69
  delete o[_key];
104
70
  }
105
71
  }
106
72
  }
107
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJib29sZWFuQnlTdHJpbmciLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieG1sbnMiLCJzdHJpY3RFcXVhbCIsInhtbG5zWHNpIiwiT2JqZWN0IiwiZW50cmllcyIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJrZXlzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3htbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5jb25zdCBib29sZWFuQnlTdHJpbmc6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICBmYWxzZTogZmFsc2UsXG4gIHRydWU6IHRydWUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gb1trZXldXG4gIGlmIChzdHJpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cmluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbi8vLyBSZW1vdmUgWE1MIGZpZWxkcyB0aGF0IGhhdmUgbm8gdXNlIGluIEpTT04uXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5YbWxBcnRlZmFjdHMobzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAvLyBSZW1vdmUgbmFtZXNwYWNlcy5cblxuICBjb25zdCB4bWxucyA9IG9bXCJAeG1sbnNcIl1cbiAgaWYgKHhtbG5zICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB4bWxucyxcbiAgICAgIFwiaHR0cDovL3NjaGVtYXMuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9yZWZlcmVudGllbFwiLFxuICAgIClcbiAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICB9XG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQU1BLGVBQTJDLEdBQUc7RUFDbEQsU0FBTyxLQUQyQztFQUVsRCxRQUFNO0FBRjRDLENBQXBEOztBQUtPLFNBQVNDLHFCQUFULENBQ0xDLENBREssRUFFTEMsR0FGSyxFQUdnQjtFQUNyQixJQUFNQyxXQUFXLEdBQUdGLENBQUMsQ0FBQ0MsR0FBRCxDQUFyQjs7RUFDQSxJQUFJQyxXQUFXLEtBQUtDLFNBQWhCLElBQTZCRCxXQUFXLEtBQUssSUFBakQsRUFBdUQ7SUFDckQsT0FBT0MsU0FBUDtFQUNEOztFQUNELElBQU1DLFlBQVksR0FBR04sZUFBZSxDQUFDSSxXQUFELENBQXBDOztFQUNBRyxrQkFBQSxDQUFPQyxjQUFQLENBQ0VGLFlBREYsRUFFRUQsU0FGRixtQ0FHNEJGLEdBSDVCLGdCQUdxQ0MsV0FIckM7O0VBS0FGLENBQUMsQ0FBQ0MsR0FBRCxDQUFELEdBQVNHLFlBQVQ7RUFDQSxPQUFPQSxZQUFQO0FBQ0QsQyxDQUVEOzs7QUFDTyxTQUFTRyxpQkFBVCxDQUEyQlAsQ0FBM0IsRUFBNEQ7RUFDakU7RUFFQSxJQUFNUSxLQUFLLEdBQUdSLENBQUMsQ0FBQyxRQUFELENBQWY7O0VBQ0EsSUFBSVEsS0FBSyxLQUFLTCxTQUFkLEVBQXlCO0lBQ3ZCRSxrQkFBQSxDQUFPSSxXQUFQLENBQ0VELEtBREYsRUFFRSxtREFGRjs7SUFJQSxPQUFPUixDQUFDLENBQUMsUUFBRCxDQUFSO0VBQ0Q7O0VBRUQsSUFBTVUsUUFBUSxHQUFHVixDQUFDLENBQUMsWUFBRCxDQUFsQjs7RUFDQSxJQUFJVSxRQUFRLEtBQUtQLFNBQWpCLEVBQTRCO0lBQzFCRSxrQkFBQSxDQUFPSSxXQUFQLENBQW1CQyxRQUFuQixFQUE2QiwyQ0FBN0I7O0lBQ0EsT0FBT1YsQ0FBQyxDQUFDLFlBQUQsQ0FBUjtFQUNELENBaEJnRSxDQWtCakU7OztFQUVBLG1DQUEyQlcsTUFBTSxDQUFDQyxPQUFQLENBQWVaLENBQWYsQ0FBM0IscUNBQThDO0lBQXpDO0lBQUEsSUFBT0MsSUFBUDtJQUFBLElBQVlZLEtBQVo7O0lBQ0gsSUFDRUEsS0FBSyxLQUFLLElBQVYsSUFDQ0EsS0FBSyxLQUFLVixTQUFWLEtBQ0VVLEtBQUssQ0FBQyxVQUFELENBQUwsS0FBc0IsTUFBdEIsSUFDRUMsS0FBSyxDQUFDQyxPQUFOLENBQWNGLEtBQWQsS0FBd0JBLEtBQUssQ0FBQ0csTUFBTixLQUFpQixDQUQzQyxJQUVFSCxLQUFLLENBQUNJLFdBQU4sS0FBc0JOLE1BQXRCLElBQWdDQSxNQUFNLENBQUNPLElBQVAsQ0FBWUwsS0FBWixFQUFtQkcsTUFBbkIsS0FBOEIsQ0FIbEUsQ0FGSCxFQU1FO01BQ0EsT0FBT2hCLENBQUMsQ0FBQ0MsSUFBRCxDQUFSO0lBQ0Q7RUFDRjtBQUNGIn0=
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJib29sZWFuQnlTdHJpbmciLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJhc3NlcnQiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieG1sbnMiLCJzdHJpY3RFcXVhbCIsInhtbG5zWHNpIiwiT2JqZWN0IiwiZW50cmllcyIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJrZXlzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3htbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5jb25zdCBib29sZWFuQnlTdHJpbmc6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICBmYWxzZTogZmFsc2UsXG4gIHRydWU6IHRydWUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gb1trZXldXG4gIGlmIChzdHJpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cmluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbi8vLyBSZW1vdmUgWE1MIGZpZWxkcyB0aGF0IGhhdmUgbm8gdXNlIGluIEpTT04uXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5YbWxBcnRlZmFjdHMobzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAvLyBSZW1vdmUgbmFtZXNwYWNlcy5cblxuICBjb25zdCB4bWxucyA9IG9bXCJAeG1sbnNcIl1cbiAgaWYgKHhtbG5zICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB4bWxucyxcbiAgICAgIFwiaHR0cDovL3NjaGVtYXMuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9yZWZlcmVudGllbFwiLFxuICAgIClcbiAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICB9XG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFM0IsSUFBTUEsZUFBMkMsR0FBRztFQUNsRCxTQUFPLEtBQUs7RUFDWixRQUFNO0FBQ1IsQ0FBQztBQUVNLFNBQVNDLHFCQUFxQixDQUNuQ0MsQ0FBeUIsRUFDekJDLEdBQVcsRUFDVTtFQUNyQixJQUFNQyxXQUFXLEdBQUdGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDO0VBQzFCLElBQUlDLFdBQVcsS0FBS0MsU0FBUyxJQUFJRCxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3JELE9BQU9DLFNBQVM7RUFDbEI7RUFDQSxJQUFNQyxZQUFZLEdBQUdOLGVBQWUsQ0FBQ0ksV0FBVyxDQUFDO0VBQ2pERyxrQkFBTSxDQUFDQyxjQUFjLENBQ25CRixZQUFZLEVBQ1pELFNBQVMsbUNBQ2lCRixHQUFHLGdCQUFNQyxXQUFXLEVBQy9DO0VBQ0RGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDLEdBQUdHLFlBQVk7RUFDckIsT0FBT0EsWUFBWTtBQUNyQjs7QUFFQTtBQUNPLFNBQVNHLGlCQUFpQixDQUFDUCxDQUF5QixFQUFRO0VBQ2pFOztFQUVBLElBQU1RLEtBQUssR0FBR1IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztFQUN6QixJQUFJUSxLQUFLLEtBQUtMLFNBQVMsRUFBRTtJQUN2QkUsa0JBQU0sQ0FBQ0ksV0FBVyxDQUNoQkQsS0FBSyxFQUNMLG1EQUFtRCxDQUNwRDtJQUNELE9BQU9SLENBQUMsQ0FBQyxRQUFRLENBQUM7RUFDcEI7RUFFQSxJQUFNVSxRQUFRLEdBQUdWLENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDaEMsSUFBSVUsUUFBUSxLQUFLUCxTQUFTLEVBQUU7SUFDMUJFLGtCQUFNLENBQUNJLFdBQVcsQ0FBQ0MsUUFBUSxFQUFFLDJDQUEyQyxDQUFDO0lBQ3pFLE9BQU9WLENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDeEI7O0VBRUE7O0VBRUEsbUNBQTJCVyxNQUFNLENBQUNDLE9BQU8sQ0FBQ1osQ0FBQyxDQUFDLHFDQUFFO0lBQXpDO01BQU9DLElBQUc7TUFBRVksS0FBSztJQUNwQixJQUNFQSxLQUFLLEtBQUssSUFBSSxJQUNiQSxLQUFLLEtBQUtWLFNBQVMsS0FDakJVLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLElBQzFCQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsS0FBSyxDQUFDLElBQUlBLEtBQUssQ0FBQ0csTUFBTSxLQUFLLENBQUUsSUFDM0NILEtBQUssQ0FBQ0ksV0FBVyxLQUFLTixNQUFNLElBQUlBLE1BQU0sQ0FBQ08sSUFBSSxDQUFDTCxLQUFLLENBQUMsQ0FBQ0csTUFBTSxLQUFLLENBQUUsQ0FBRSxFQUN2RTtNQUNBLE9BQU9oQixDQUFDLENBQUNDLElBQUcsQ0FBQztJQUNmO0VBQ0Y7QUFDRiJ9
@@ -5,33 +5,31 @@ const booleanByString = {
5
5
  };
6
6
  export function cleanBooleanAttribute(o, key) {
7
7
  const stringValue = o[key];
8
-
9
8
  if (stringValue === undefined || stringValue === null) {
10
9
  return undefined;
11
10
  }
12
-
13
11
  const booleanValue = booleanByString[stringValue];
14
12
  assert.notStrictEqual(booleanValue, undefined, `Invalid boolean value: ${key} = ${stringValue}`);
15
13
  o[key] = booleanValue;
16
14
  return booleanValue;
17
- } /// Remove XML fields that have no use in JSON.
15
+ }
18
16
 
17
+ /// Remove XML fields that have no use in JSON.
19
18
  export function cleanXmlArtefacts(o) {
20
19
  // Remove namespaces.
21
- const xmlns = o["@xmlns"];
22
20
 
21
+ const xmlns = o["@xmlns"];
23
22
  if (xmlns !== undefined) {
24
23
  assert.strictEqual(xmlns, "http://schemas.assemblee-nationale.fr/referentiel");
25
24
  delete o["@xmlns"];
26
25
  }
27
-
28
26
  const xmlnsXsi = o["@xmlns:xsi"];
29
-
30
27
  if (xmlnsXsi !== undefined) {
31
28
  assert.strictEqual(xmlnsXsi, "http://www.w3.org/2001/XMLSchema-instance");
32
29
  delete o["@xmlns:xsi"];
33
- } // Remove null or empty items.
30
+ }
34
31
 
32
+ // Remove null or empty items.
35
33
 
36
34
  for (const [key, value] of Object.entries(o)) {
37
35
  if (value === null || value !== undefined && (value["@xsi:nil"] === "true" || Array.isArray(value) && value.length === 0 || value.constructor === Object && Object.keys(value).length === 0)) {
@@ -39,4 +37,4 @@ export function cleanXmlArtefacts(o) {
39
37
  }
40
38
  }
41
39
  }
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJib29sZWFuQnlTdHJpbmciLCJmYWxzZSIsInRydWUiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieG1sbnMiLCJzdHJpY3RFcXVhbCIsInhtbG5zWHNpIiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJrZXlzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3htbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5jb25zdCBib29sZWFuQnlTdHJpbmc6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICBmYWxzZTogZmFsc2UsXG4gIHRydWU6IHRydWUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gb1trZXldXG4gIGlmIChzdHJpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cmluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbi8vLyBSZW1vdmUgWE1MIGZpZWxkcyB0aGF0IGhhdmUgbm8gdXNlIGluIEpTT04uXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5YbWxBcnRlZmFjdHMobzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAvLyBSZW1vdmUgbmFtZXNwYWNlcy5cblxuICBjb25zdCB4bWxucyA9IG9bXCJAeG1sbnNcIl1cbiAgaWYgKHhtbG5zICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB4bWxucyxcbiAgICAgIFwiaHR0cDovL3NjaGVtYXMuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9yZWZlcmVudGllbFwiLFxuICAgIClcbiAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICB9XG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQVAsTUFBbUIsUUFBbkI7QUFFQSxNQUFNQyxlQUEyQyxHQUFHO0VBQ2xEQyxLQUFLLEVBQUUsS0FEMkM7RUFFbERDLElBQUksRUFBRTtBQUY0QyxDQUFwRDtBQUtBLE9BQU8sU0FBU0MscUJBQVQsQ0FDTEMsQ0FESyxFQUVMQyxHQUZLLEVBR2dCO0VBQ3JCLE1BQU1DLFdBQVcsR0FBR0YsQ0FBQyxDQUFDQyxHQUFELENBQXJCOztFQUNBLElBQUlDLFdBQVcsS0FBS0MsU0FBaEIsSUFBNkJELFdBQVcsS0FBSyxJQUFqRCxFQUF1RDtJQUNyRCxPQUFPQyxTQUFQO0VBQ0Q7O0VBQ0QsTUFBTUMsWUFBWSxHQUFHUixlQUFlLENBQUNNLFdBQUQsQ0FBcEM7RUFDQVAsTUFBTSxDQUFDVSxjQUFQLENBQ0VELFlBREYsRUFFRUQsU0FGRixFQUdHLDBCQUF5QkYsR0FBSSxNQUFLQyxXQUFZLEVBSGpEO0VBS0FGLENBQUMsQ0FBQ0MsR0FBRCxDQUFELEdBQVNHLFlBQVQ7RUFDQSxPQUFPQSxZQUFQO0FBQ0QsQyxDQUVEOztBQUNBLE9BQU8sU0FBU0UsaUJBQVQsQ0FBMkJOLENBQTNCLEVBQTREO0VBQ2pFO0VBRUEsTUFBTU8sS0FBSyxHQUFHUCxDQUFDLENBQUMsUUFBRCxDQUFmOztFQUNBLElBQUlPLEtBQUssS0FBS0osU0FBZCxFQUF5QjtJQUN2QlIsTUFBTSxDQUFDYSxXQUFQLENBQ0VELEtBREYsRUFFRSxtREFGRjtJQUlBLE9BQU9QLENBQUMsQ0FBQyxRQUFELENBQVI7RUFDRDs7RUFFRCxNQUFNUyxRQUFRLEdBQUdULENBQUMsQ0FBQyxZQUFELENBQWxCOztFQUNBLElBQUlTLFFBQVEsS0FBS04sU0FBakIsRUFBNEI7SUFDMUJSLE1BQU0sQ0FBQ2EsV0FBUCxDQUFtQkMsUUFBbkIsRUFBNkIsMkNBQTdCO0lBQ0EsT0FBT1QsQ0FBQyxDQUFDLFlBQUQsQ0FBUjtFQUNELENBaEJnRSxDQWtCakU7OztFQUVBLEtBQUssTUFBTSxDQUFDQyxHQUFELEVBQU1TLEtBQU4sQ0FBWCxJQUEyQkMsTUFBTSxDQUFDQyxPQUFQLENBQWVaLENBQWYsQ0FBM0IsRUFBOEM7SUFDNUMsSUFDRVUsS0FBSyxLQUFLLElBQVYsSUFDQ0EsS0FBSyxLQUFLUCxTQUFWLEtBQ0VPLEtBQUssQ0FBQyxVQUFELENBQUwsS0FBc0IsTUFBdEIsSUFDRUcsS0FBSyxDQUFDQyxPQUFOLENBQWNKLEtBQWQsS0FBd0JBLEtBQUssQ0FBQ0ssTUFBTixLQUFpQixDQUQzQyxJQUVFTCxLQUFLLENBQUNNLFdBQU4sS0FBc0JMLE1BQXRCLElBQWdDQSxNQUFNLENBQUNNLElBQVAsQ0FBWVAsS0FBWixFQUFtQkssTUFBbkIsS0FBOEIsQ0FIbEUsQ0FGSCxFQU1FO01BQ0EsT0FBT2YsQ0FBQyxDQUFDQyxHQUFELENBQVI7SUFDRDtFQUNGO0FBQ0YifQ==
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJib29sZWFuQnlTdHJpbmciLCJmYWxzZSIsInRydWUiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJvIiwia2V5Iiwic3RyaW5nVmFsdWUiLCJ1bmRlZmluZWQiLCJib29sZWFuVmFsdWUiLCJub3RTdHJpY3RFcXVhbCIsImNsZWFuWG1sQXJ0ZWZhY3RzIiwieG1sbnMiLCJzdHJpY3RFcXVhbCIsInhtbG5zWHNpIiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJrZXlzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsZWFuZXJzL3htbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuXG5jb25zdCBib29sZWFuQnlTdHJpbmc6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge1xuICBmYWxzZTogZmFsc2UsXG4gIHRydWU6IHRydWUsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoXG4gIG86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0cmluZ1ZhbHVlID0gb1trZXldXG4gIGlmIChzdHJpbmdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHN0cmluZ1ZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIGNvbnN0IGJvb2xlYW5WYWx1ZSA9IGJvb2xlYW5CeVN0cmluZ1tzdHJpbmdWYWx1ZV1cbiAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgIGJvb2xlYW5WYWx1ZSxcbiAgICB1bmRlZmluZWQsXG4gICAgYEludmFsaWQgYm9vbGVhbiB2YWx1ZTogJHtrZXl9ID0gJHtzdHJpbmdWYWx1ZX1gLFxuICApXG4gIG9ba2V5XSA9IGJvb2xlYW5WYWx1ZVxuICByZXR1cm4gYm9vbGVhblZhbHVlXG59XG5cbi8vLyBSZW1vdmUgWE1MIGZpZWxkcyB0aGF0IGhhdmUgbm8gdXNlIGluIEpTT04uXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5YbWxBcnRlZmFjdHMobzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHZvaWQge1xuICAvLyBSZW1vdmUgbmFtZXNwYWNlcy5cblxuICBjb25zdCB4bWxucyA9IG9bXCJAeG1sbnNcIl1cbiAgaWYgKHhtbG5zICE9PSB1bmRlZmluZWQpIHtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICB4bWxucyxcbiAgICAgIFwiaHR0cDovL3NjaGVtYXMuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9yZWZlcmVudGllbFwiLFxuICAgIClcbiAgICBkZWxldGUgb1tcIkB4bWxuc1wiXVxuICB9XG5cbiAgY29uc3QgeG1sbnNYc2kgPSBvW1wiQHhtbG5zOnhzaVwiXVxuICBpZiAoeG1sbnNYc2kgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbCh4bWxuc1hzaSwgXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVwiKVxuICAgIGRlbGV0ZSBvW1wiQHhtbG5zOnhzaVwiXVxuICB9XG5cbiAgLy8gUmVtb3ZlIG51bGwgb3IgZW1wdHkgaXRlbXMuXG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobykpIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgKHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgKHZhbHVlW1wiQHhzaTpuaWxcIl0gPT09IFwidHJ1ZVwiIHx8XG4gICAgICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCAmJiBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwKSkpXG4gICAgKSB7XG4gICAgICBkZWxldGUgb1trZXldXG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxRQUFRO0FBRTNCLE1BQU1DLGVBQTJDLEdBQUc7RUFDbERDLEtBQUssRUFBRSxLQUFLO0VBQ1pDLElBQUksRUFBRTtBQUNSLENBQUM7QUFFRCxPQUFPLFNBQVNDLHFCQUFxQixDQUNuQ0MsQ0FBeUIsRUFDekJDLEdBQVcsRUFDVTtFQUNyQixNQUFNQyxXQUFXLEdBQUdGLENBQUMsQ0FBQ0MsR0FBRyxDQUFDO0VBQzFCLElBQUlDLFdBQVcsS0FBS0MsU0FBUyxJQUFJRCxXQUFXLEtBQUssSUFBSSxFQUFFO0lBQ3JELE9BQU9DLFNBQVM7RUFDbEI7RUFDQSxNQUFNQyxZQUFZLEdBQUdSLGVBQWUsQ0FBQ00sV0FBVyxDQUFDO0VBQ2pEUCxNQUFNLENBQUNVLGNBQWMsQ0FDbkJELFlBQVksRUFDWkQsU0FBUyxFQUNSLDBCQUF5QkYsR0FBSSxNQUFLQyxXQUFZLEVBQUMsQ0FDakQ7RUFDREYsQ0FBQyxDQUFDQyxHQUFHLENBQUMsR0FBR0csWUFBWTtFQUNyQixPQUFPQSxZQUFZO0FBQ3JCOztBQUVBO0FBQ0EsT0FBTyxTQUFTRSxpQkFBaUIsQ0FBQ04sQ0FBeUIsRUFBUTtFQUNqRTs7RUFFQSxNQUFNTyxLQUFLLEdBQUdQLENBQUMsQ0FBQyxRQUFRLENBQUM7RUFDekIsSUFBSU8sS0FBSyxLQUFLSixTQUFTLEVBQUU7SUFDdkJSLE1BQU0sQ0FBQ2EsV0FBVyxDQUNoQkQsS0FBSyxFQUNMLG1EQUFtRCxDQUNwRDtJQUNELE9BQU9QLENBQUMsQ0FBQyxRQUFRLENBQUM7RUFDcEI7RUFFQSxNQUFNUyxRQUFRLEdBQUdULENBQUMsQ0FBQyxZQUFZLENBQUM7RUFDaEMsSUFBSVMsUUFBUSxLQUFLTixTQUFTLEVBQUU7SUFDMUJSLE1BQU0sQ0FBQ2EsV0FBVyxDQUFDQyxRQUFRLEVBQUUsMkNBQTJDLENBQUM7SUFDekUsT0FBT1QsQ0FBQyxDQUFDLFlBQVksQ0FBQztFQUN4Qjs7RUFFQTs7RUFFQSxLQUFLLE1BQU0sQ0FBQ0MsR0FBRyxFQUFFUyxLQUFLLENBQUMsSUFBSUMsTUFBTSxDQUFDQyxPQUFPLENBQUNaLENBQUMsQ0FBQyxFQUFFO0lBQzVDLElBQ0VVLEtBQUssS0FBSyxJQUFJLElBQ2JBLEtBQUssS0FBS1AsU0FBUyxLQUNqQk8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLE1BQU0sSUFDMUJHLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSixLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDSyxNQUFNLEtBQUssQ0FBRSxJQUMzQ0wsS0FBSyxDQUFDTSxXQUFXLEtBQUtMLE1BQU0sSUFBSUEsTUFBTSxDQUFDTSxJQUFJLENBQUNQLEtBQUssQ0FBQyxDQUFDSyxNQUFNLEtBQUssQ0FBRSxDQUFFLEVBQ3ZFO01BQ0EsT0FBT2YsQ0FBQyxDQUFDQyxHQUFHLENBQUM7SUFDZjtFQUNGO0FBQ0YifQ==