@tricoteuses/assemblee 1.10.5 → 2.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.
Files changed (400) hide show
  1. package/README.md +8 -1
  2. package/lib/amendements-CN7bRFdP.js +259 -0
  3. package/lib/amendements-CN7bRFdP.js.map +1 -0
  4. package/lib/amendements-Cg1lyCBp.js +735 -0
  5. package/lib/amendements-Cg1lyCBp.js.map +1 -0
  6. package/lib/api.d.ts +1 -0
  7. package/lib/api.d.ts.map +1 -0
  8. package/lib/cleaners/actes_legislatifs.d.ts +1 -0
  9. package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
  10. package/lib/cleaners/acteurs.d.ts +1 -0
  11. package/lib/cleaners/acteurs.d.ts.map +1 -0
  12. package/lib/cleaners/amendements.d.ts +1 -0
  13. package/lib/cleaners/amendements.d.ts.map +1 -0
  14. package/lib/cleaners/debats.d.ts +1 -0
  15. package/lib/cleaners/debats.d.ts.map +1 -0
  16. package/lib/cleaners/documents.d.ts +1 -0
  17. package/lib/cleaners/documents.d.ts.map +1 -0
  18. package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
  19. package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
  20. package/lib/cleaners/index.d.ts +10 -9
  21. package/lib/cleaners/index.d.ts.map +1 -0
  22. package/lib/cleaners/organes.d.ts +1 -0
  23. package/lib/cleaners/organes.d.ts.map +1 -0
  24. package/lib/cleaners/questions.d.ts +1 -0
  25. package/lib/cleaners/questions.d.ts.map +1 -0
  26. package/lib/cleaners/reunions.d.ts +1 -0
  27. package/lib/cleaners/reunions.d.ts.map +1 -0
  28. package/lib/cleaners/scrutins.d.ts +1 -0
  29. package/lib/cleaners/scrutins.d.ts.map +1 -0
  30. package/lib/cleaners/xml.d.ts +1 -0
  31. package/lib/cleaners/xml.d.ts.map +1 -0
  32. package/lib/cleaners.js +1138 -0
  33. package/lib/cleaners.js.map +1 -0
  34. package/lib/datasets.d.ts +4 -3
  35. package/lib/datasets.d.ts.map +1 -0
  36. package/lib/dates.d.ts +1 -0
  37. package/lib/dates.d.ts.map +1 -0
  38. package/lib/debats-BwZYgzXe.js +3978 -0
  39. package/lib/debats-BwZYgzXe.js.map +1 -0
  40. package/lib/dossiers_legislatifs.d.ts +3 -2
  41. package/lib/dossiers_legislatifs.d.ts.map +1 -0
  42. package/lib/file_systems.d.ts +1 -0
  43. package/lib/file_systems.d.ts.map +1 -0
  44. package/lib/git.d.ts +1 -0
  45. package/lib/git.d.ts.map +1 -0
  46. package/lib/index.d.ts +18 -22
  47. package/lib/index.d.ts.map +1 -0
  48. package/lib/index.js +1916 -285
  49. package/lib/index.js.map +1 -0
  50. package/lib/inserters.d.ts +6 -5
  51. package/lib/inserters.d.ts.map +1 -0
  52. package/lib/loaders.d.ts +13 -12
  53. package/lib/loaders.d.ts.map +1 -0
  54. package/lib/loaders.js +812 -1516
  55. package/lib/loaders.js.map +1 -0
  56. package/lib/logger.d.ts +1 -0
  57. package/lib/logger.d.ts.map +1 -0
  58. package/lib/organes.d.ts +2 -1
  59. package/lib/organes.d.ts.map +1 -0
  60. package/lib/parse-CzW8NHW5.js +2850 -0
  61. package/lib/parse-CzW8NHW5.js.map +1 -0
  62. package/lib/parsers/index.d.ts +3 -3
  63. package/lib/parsers/index.d.ts.map +1 -0
  64. package/lib/parsers/plf.d.ts +2 -0
  65. package/lib/parsers/plf.d.ts.map +1 -0
  66. package/lib/parsers/recherche_amendements.d.ts +3 -2
  67. package/lib/parsers/recherche_amendements.d.ts.map +1 -0
  68. package/lib/parsers/textes_lois.d.ts +2 -23
  69. package/lib/parsers/textes_lois.d.ts.map +1 -0
  70. package/lib/parsers.js +393 -0
  71. package/lib/parsers.js.map +1 -0
  72. package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
  73. package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
  74. package/lib/raw_types/agendas.d.ts +1 -0
  75. package/lib/raw_types/agendas.d.ts.map +1 -0
  76. package/lib/raw_types/amendements.d.ts +1 -0
  77. package/lib/raw_types/amendements.d.ts.map +1 -0
  78. package/lib/raw_types/debats.d.ts +3 -2
  79. package/lib/raw_types/debats.d.ts.map +1 -0
  80. package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
  81. package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
  82. package/lib/raw_types/questions.d.ts +1 -0
  83. package/lib/raw_types/questions.d.ts.map +1 -0
  84. package/lib/raw_types/scrutins.d.ts +1 -0
  85. package/lib/raw_types/scrutins.d.ts.map +1 -0
  86. package/lib/schemas/acteurs_et_organes.d.json +982 -0
  87. package/lib/schemas/acteurs_et_organes.json +1166 -0
  88. package/lib/schemas/agendas.d.json +1561 -0
  89. package/lib/schemas/agendas.json +1745 -0
  90. package/lib/schemas/amendements.d.json +1901 -0
  91. package/lib/schemas/amendements.json +2085 -0
  92. package/lib/schemas/debats.d.json +623 -0
  93. package/lib/schemas/debats.json +842 -0
  94. package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
  95. package/lib/schemas/dossiers_legislatifs.json +3874 -0
  96. package/lib/schemas/legislatures.d.json +17 -0
  97. package/lib/schemas/legislatures.json +17 -0
  98. package/lib/schemas/questions.d.json +520 -0
  99. package/lib/schemas/questions.json +704 -0
  100. package/lib/schemas/scrutins.d.json +517 -0
  101. package/lib/schemas/scrutins.json +701 -0
  102. package/lib/scripts/add_links_to_documents.d.ts +2 -0
  103. package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
  104. package/lib/scripts/clean_reorganized_data.d.ts +1 -0
  105. package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
  106. package/lib/scripts/copy-schemas.d.ts +2 -0
  107. package/lib/scripts/copy-schemas.d.ts.map +1 -0
  108. package/lib/scripts/diff_amendements.d.ts +1 -0
  109. package/lib/scripts/diff_amendements.d.ts.map +1 -0
  110. package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
  111. package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
  112. package/lib/scripts/generate-json-schemas.d.ts +2 -0
  113. package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
  114. package/lib/scripts/get_today_reunions.d.ts +1 -0
  115. package/lib/scripts/get_today_reunions.d.ts.map +1 -0
  116. package/lib/scripts/merge_scrutins.d.ts +1 -0
  117. package/lib/scripts/merge_scrutins.d.ts.map +1 -0
  118. package/lib/scripts/process_open_dataset.d.ts +1 -0
  119. package/lib/scripts/process_open_dataset.d.ts.map +1 -0
  120. package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
  121. package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
  122. package/lib/scripts/reorganize_data.d.ts +1 -0
  123. package/lib/scripts/reorganize_data.d.ts.map +1 -0
  124. package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
  125. package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
  126. package/lib/scripts/retrieve_documents.d.ts +1 -0
  127. package/lib/scripts/retrieve_documents.d.ts.map +1 -0
  128. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  129. package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
  130. package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
  131. package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
  132. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  133. package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
  134. package/lib/scripts/shared/cli_helpers.d.ts +1 -0
  135. package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
  136. package/lib/scripts/test_iter_load.d.ts +1 -0
  137. package/lib/scripts/test_iter_load.d.ts.map +1 -0
  138. package/lib/scripts/test_load.d.ts +1 -0
  139. package/lib/scripts/test_load.d.ts.map +1 -0
  140. package/lib/scripts/test_load_big_files.d.ts +1 -0
  141. package/lib/scripts/test_load_big_files.d.ts.map +1 -0
  142. package/lib/scripts/validate_json.d.ts +1 -0
  143. package/lib/scripts/validate_json.d.ts.map +1 -0
  144. package/lib/shared_types/codes_actes.d.ts +1 -0
  145. package/lib/shared_types/codes_actes.d.ts.map +1 -0
  146. package/lib/strings.d.ts +1 -0
  147. package/lib/strings.d.ts.map +1 -0
  148. package/lib/types/acteurs_et_organes.d.ts +341 -0
  149. package/lib/types/acteurs_et_organes.d.ts.map +1 -0
  150. package/lib/types/agendas.d.ts +237 -10
  151. package/lib/types/agendas.d.ts.map +1 -0
  152. package/lib/types/amendements.d.ts +277 -1
  153. package/lib/types/amendements.d.ts.map +1 -0
  154. package/lib/types/debats.d.ts +53 -2
  155. package/lib/types/debats.d.ts.map +1 -0
  156. package/lib/types/dossiers_legislatifs.d.ts +404 -9
  157. package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
  158. package/lib/types/legislatures.d.ts +1 -0
  159. package/lib/types/legislatures.d.ts.map +1 -0
  160. package/lib/types/questions.d.ts +100 -2
  161. package/lib/types/questions.d.ts.map +1 -0
  162. package/lib/types/scrutins.d.ts +102 -0
  163. package/lib/types/scrutins.d.ts.map +1 -0
  164. package/lib/urls.d.ts +3 -2
  165. package/lib/urls.d.ts.map +1 -0
  166. package/package.json +31 -95
  167. package/lib/api.js +0 -52
  168. package/lib/api.mjs +0 -45
  169. package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
  170. package/lib/bugs/acteur-00010/plugin.test.js +0 -90
  171. package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
  172. package/lib/bugs/acteur-00010.d.ts +0 -7
  173. package/lib/bugs/acteur-00010.js +0 -116
  174. package/lib/bugs/acteur-00010.mjs +0 -26
  175. package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
  176. package/lib/bugs/agenda-00002/plugin.test.js +0 -124
  177. package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
  178. package/lib/bugs/agenda-00002.d.ts +0 -15
  179. package/lib/bugs/agenda-00002.js +0 -406
  180. package/lib/bugs/agenda-00002.mjs +0 -172
  181. package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
  182. package/lib/bugs/agenda-00008/plugin.test.js +0 -92
  183. package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
  184. package/lib/bugs/agenda-00008.d.ts +0 -7
  185. package/lib/bugs/agenda-00008.js +0 -123
  186. package/lib/bugs/agenda-00008.mjs +0 -26
  187. package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
  188. package/lib/bugs/agenda-00011/plugin.test.js +0 -263
  189. package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
  190. package/lib/bugs/agenda-00011.d.ts +0 -16
  191. package/lib/bugs/agenda-00011.js +0 -333
  192. package/lib/bugs/agenda-00011.mjs +0 -125
  193. package/lib/bugs.d.ts +0 -21
  194. package/lib/bugs.js +0 -452
  195. package/lib/bugs.mjs +0 -70
  196. package/lib/cleaners/actes_legislatifs.js +0 -315
  197. package/lib/cleaners/actes_legislatifs.mjs +0 -253
  198. package/lib/cleaners/acteurs.js +0 -265
  199. package/lib/cleaners/acteurs.mjs +0 -180
  200. package/lib/cleaners/amendements.js +0 -294
  201. package/lib/cleaners/amendements.mjs +0 -227
  202. package/lib/cleaners/debats.js +0 -12
  203. package/lib/cleaners/debats.mjs +0 -5
  204. package/lib/cleaners/documents.js +0 -205
  205. package/lib/cleaners/documents.mjs +0 -133
  206. package/lib/cleaners/dossiers_legislatifs.js +0 -131
  207. package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
  208. package/lib/cleaners/index.js +0 -70
  209. package/lib/cleaners/index.mjs +0 -10
  210. package/lib/cleaners/organes.js +0 -65
  211. package/lib/cleaners/organes.mjs +0 -48
  212. package/lib/cleaners/questions.js +0 -12
  213. package/lib/cleaners/questions.mjs +0 -5
  214. package/lib/cleaners/reunions.js +0 -312
  215. package/lib/cleaners/reunions.mjs +0 -255
  216. package/lib/cleaners/scrutins.js +0 -340
  217. package/lib/cleaners/scrutins.mjs +0 -221
  218. package/lib/cleaners/xml.js +0 -74
  219. package/lib/cleaners/xml.mjs +0 -59
  220. package/lib/datasets.js +0 -837
  221. package/lib/datasets.mjs +0 -755
  222. package/lib/dates.js +0 -124
  223. package/lib/dates.mjs +0 -100
  224. package/lib/dossiers_legislatifs.js +0 -346
  225. package/lib/dossiers_legislatifs.mjs +0 -208
  226. package/lib/file_systems.js +0 -162
  227. package/lib/file_systems.mjs +0 -62
  228. package/lib/git.js +0 -223
  229. package/lib/git.mjs +0 -151
  230. package/lib/index.mjs +0 -17
  231. package/lib/inserters.js +0 -521
  232. package/lib/inserters.mjs +0 -337
  233. package/lib/loaders.mjs +0 -886
  234. package/lib/logger.js +0 -35
  235. package/lib/logger.mjs +0 -26
  236. package/lib/organes.js +0 -22
  237. package/lib/organes.mjs +0 -15
  238. package/lib/parsers/documents.d.ts +0 -62
  239. package/lib/parsers/documents.js +0 -453
  240. package/lib/parsers/documents.mjs +0 -370
  241. package/lib/parsers/index.js +0 -40
  242. package/lib/parsers/index.mjs +0 -4
  243. package/lib/parsers/recherche_amendements.js +0 -403
  244. package/lib/parsers/recherche_amendements.mjs +0 -167
  245. package/lib/parsers/textes_lois.js +0 -307
  246. package/lib/parsers/textes_lois.mjs +0 -264
  247. package/lib/raw_types/acteurs_et_organes.js +0 -1215
  248. package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
  249. package/lib/raw_types/agendas.js +0 -777
  250. package/lib/raw_types/agendas.mjs +0 -724
  251. package/lib/raw_types/amendements.js +0 -1052
  252. package/lib/raw_types/amendements.mjs +0 -993
  253. package/lib/raw_types/debats.js +0 -630
  254. package/lib/raw_types/debats.mjs +0 -573
  255. package/lib/raw_types/dossiers_legislatifs.js +0 -1529
  256. package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
  257. package/lib/raw_types/questions.js +0 -469
  258. package/lib/raw_types/questions.mjs +0 -416
  259. package/lib/raw_types/scrutins.js +0 -651
  260. package/lib/raw_types/scrutins.mjs +0 -598
  261. package/lib/schemas/acteur/Acteur.json +0 -56
  262. package/lib/schemas/acteur/AdresseElectronique.json +0 -52
  263. package/lib/schemas/acteur/AdressePostale.json +0 -75
  264. package/lib/schemas/acteur/Civ.json +0 -14
  265. package/lib/schemas/acteur/Collaborateur.json +0 -29
  266. package/lib/schemas/acteur/EtatCivil.json +0 -51
  267. package/lib/schemas/acteur/Ident.json +0 -40
  268. package/lib/schemas/acteur/Lieu.json +0 -66
  269. package/lib/schemas/acteur/Mandat.json +0 -192
  270. package/lib/schemas/acteur/Profession.json +0 -46
  271. package/lib/schemas/agenda/Agenda.json +0 -318
  272. package/lib/schemas/agenda/CycleDeVie.json +0 -45
  273. package/lib/schemas/agenda/PointOdj.json +0 -82
  274. package/lib/schemas/amendement/Amendement.json +0 -246
  275. package/lib/schemas/amendement/Diff.json +0 -25
  276. package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
  277. package/lib/schemas/amendement/Identifiant.json +0 -62
  278. package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
  279. package/lib/schemas/amendement/Representation.json +0 -67
  280. package/lib/schemas/amendement/Total.json +0 -26
  281. package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
  282. package/lib/schemas/converted_from_type/agendas.json +0 -1100
  283. package/lib/schemas/converted_from_type/amendements.json +0 -3191
  284. package/lib/schemas/converted_from_type/debats.json +0 -682
  285. package/lib/schemas/converted_from_type/deputes.json +0 -26
  286. package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
  287. package/lib/schemas/converted_from_type/legislatures.json +0 -16
  288. package/lib/schemas/converted_from_type/questions.json +0 -328
  289. package/lib/schemas/converted_from_type/scrutins.json +0 -393
  290. package/lib/schemas/debat/Contenu.json +0 -75
  291. package/lib/schemas/debat/Debat.json +0 -40
  292. package/lib/schemas/debat/Metadonnees.json +0 -75
  293. package/lib/schemas/debat/Orateur.json +0 -60
  294. package/lib/schemas/debat/Point.json +0 -169
  295. package/lib/schemas/debat/Sommaire.json +0 -71
  296. package/lib/schemas/debat/SommaireElement.json +0 -108
  297. package/lib/schemas/debat/Texte.json +0 -34
  298. package/lib/schemas/document/CodeLibelle.json +0 -25
  299. package/lib/schemas/document/Document.json +0 -385
  300. package/lib/schemas/document/Indexation.json +0 -38
  301. package/lib/schemas/dossier/ActeLegislatif.json +0 -211
  302. package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
  303. package/lib/schemas/dossier/Agenda.json +0 -23
  304. package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
  305. package/lib/schemas/dossier/Decision.json +0 -25
  306. package/lib/schemas/dossier/Dossier.json +0 -124
  307. package/lib/schemas/dossier/EtudeImpact.json +0 -29
  308. package/lib/schemas/dossier/EtudePlf.json +0 -105
  309. package/lib/schemas/dossier/Europe.json +0 -42
  310. package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
  311. package/lib/schemas/dossier/InfoJO.json +0 -23
  312. package/lib/schemas/dossier/Initiateur.json +0 -36
  313. package/lib/schemas/dossier/Motion.json +0 -27
  314. package/lib/schemas/dossier/Promulgation.json +0 -62
  315. package/lib/schemas/dossier/Rapporteur.json +0 -36
  316. package/lib/schemas/dossier/Texte.json +0 -47
  317. package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
  318. package/lib/schemas/organe/Organe.json +0 -136
  319. package/lib/schemas/organe/ViMoDe.json +0 -28
  320. package/lib/schemas/question/Auteur.json +0 -58
  321. package/lib/schemas/question/Cloture.json +0 -28
  322. package/lib/schemas/question/InfoJO.json +0 -40
  323. package/lib/schemas/question/MinAttribElement.json +0 -30
  324. package/lib/schemas/question/Question.json +0 -172
  325. package/lib/schemas/question/Renouvellement.json +0 -17
  326. package/lib/schemas/question/Signalement.json +0 -21
  327. package/lib/schemas/question/Texte.json +0 -24
  328. package/lib/schemas/scrutin/DecompteVoix.json +0 -35
  329. package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
  330. package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
  331. package/lib/schemas/scrutin/OrganeVotant.json +0 -88
  332. package/lib/schemas/scrutin/Scrutin.json +0 -187
  333. package/lib/schemas/scrutin/Votant.json +0 -37
  334. package/lib/scripts/bugs_helper.d.ts +0 -13
  335. package/lib/scripts/bugs_helper.js +0 -595
  336. package/lib/scripts/bugs_helper.mjs +0 -251
  337. package/lib/scripts/clean_reorganized_data.js +0 -613
  338. package/lib/scripts/clean_reorganized_data.mjs +0 -276
  339. package/lib/scripts/diff_amendements.js +0 -249
  340. package/lib/scripts/diff_amendements.mjs +0 -202
  341. package/lib/scripts/document_dossiers_legislatifs.js +0 -655
  342. package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
  343. package/lib/scripts/get_today_reunions.js +0 -37
  344. package/lib/scripts/get_today_reunions.mjs +0 -31
  345. package/lib/scripts/merge_scrutins.js +0 -97
  346. package/lib/scripts/merge_scrutins.mjs +0 -47
  347. package/lib/scripts/parse_textes_lois.d.ts +0 -1
  348. package/lib/scripts/parse_textes_lois.js +0 -171
  349. package/lib/scripts/parse_textes_lois.mjs +0 -140
  350. package/lib/scripts/process_open_dataset.js +0 -301
  351. package/lib/scripts/process_open_dataset.mjs +0 -134
  352. package/lib/scripts/raw_types_from_amendements.js +0 -135
  353. package/lib/scripts/raw_types_from_amendements.mjs +0 -134
  354. package/lib/scripts/reorganize_data.js +0 -805
  355. package/lib/scripts/reorganize_data.mjs +0 -517
  356. package/lib/scripts/retrieve_deputes_photos.js +0 -310
  357. package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
  358. package/lib/scripts/retrieve_documents.js +0 -547
  359. package/lib/scripts/retrieve_documents.mjs +0 -242
  360. package/lib/scripts/retrieve_open_data.js +0 -107
  361. package/lib/scripts/retrieve_open_data.mjs +0 -26
  362. package/lib/scripts/retrieve_pending_amendments.js +0 -206
  363. package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
  364. package/lib/scripts/retrieve_senateurs_photos.js +0 -234
  365. package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
  366. package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
  367. package/lib/scripts/retrieve_textes_lois.js +0 -240
  368. package/lib/scripts/retrieve_textes_lois.mjs +0 -85
  369. package/lib/scripts/shared/cli_helpers.js +0 -89
  370. package/lib/scripts/shared/cli_helpers.mjs +0 -81
  371. package/lib/scripts/test_iter_load.js +0 -155
  372. package/lib/scripts/test_iter_load.mjs +0 -72
  373. package/lib/scripts/test_load.js +0 -26
  374. package/lib/scripts/test_load.mjs +0 -16
  375. package/lib/scripts/test_load_big_files.js +0 -26
  376. package/lib/scripts/test_load_big_files.mjs +0 -16
  377. package/lib/scripts/validate_json.js +0 -353
  378. package/lib/scripts/validate_json.mjs +0 -184
  379. package/lib/shared_types/codes_actes.js +0 -231
  380. package/lib/shared_types/codes_actes.mjs +0 -224
  381. package/lib/strings.js +0 -16
  382. package/lib/strings.mjs +0 -7
  383. package/lib/types/acteurs_et_organes.js +0 -965
  384. package/lib/types/acteurs_et_organes.mjs +0 -906
  385. package/lib/types/agendas.js +0 -628
  386. package/lib/types/agendas.mjs +0 -575
  387. package/lib/types/amendements.js +0 -899
  388. package/lib/types/amendements.mjs +0 -842
  389. package/lib/types/debats.js +0 -619
  390. package/lib/types/debats.mjs +0 -562
  391. package/lib/types/dossiers_legislatifs.js +0 -1188
  392. package/lib/types/dossiers_legislatifs.mjs +0 -1130
  393. package/lib/types/legislatures.js +0 -17
  394. package/lib/types/legislatures.mjs +0 -10
  395. package/lib/types/questions.js +0 -454
  396. package/lib/types/questions.mjs +0 -401
  397. package/lib/types/scrutins.js +0 -556
  398. package/lib/types/scrutins.mjs +0 -503
  399. package/lib/urls.js +0 -325
  400. package/lib/urls.mjs +0 -258
@@ -1,628 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.symbol.description.js");
5
- require("core-js/modules/es.symbol.iterator.js");
6
- require("core-js/modules/es.array.iterator.js");
7
- require("core-js/modules/es.object.define-property.js");
8
- require("core-js/modules/es.string.iterator.js");
9
- require("core-js/modules/web.dom-collections.iterator.js");
10
- Object.defineProperty(exports, "__esModule", {
11
- value: true
12
- });
13
- exports.TypeReunion = exports.TypePointOdj = exports.ReunionXsiType = exports.Quantieme = exports.Procedure = exports.Presence = exports.PointOdjXsiType = exports.PersonneAuditionneeXsiType = exports.NatureTravauxOdj = exports.FormatReunion = exports.EtatCycleDeVie = exports.Convert = exports.Civ = void 0;
14
- require("core-js/modules/es.symbol.to-primitive.js");
15
- require("core-js/modules/es.array.concat.js");
16
- require("core-js/modules/es.array.for-each.js");
17
- require("core-js/modules/es.array.index-of.js");
18
- require("core-js/modules/es.array.is-array.js");
19
- require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.date.to-json.js");
21
- require("core-js/modules/es.date.to-primitive.js");
22
- require("core-js/modules/es.date.to-string.js");
23
- require("core-js/modules/es.number.constructor.js");
24
- require("core-js/modules/es.object.get-own-property-names.js");
25
- require("core-js/modules/es.object.keys.js");
26
- require("core-js/modules/es.object.to-string.js");
27
- require("core-js/modules/web.dom-collections.for-each.js");
28
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
29
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
30
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
31
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
32
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
33
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
- // To parse this data:
35
- //
36
- // import { Convert, Reunion, Agendas } from "./file";
37
- //
38
- // const reunion = Convert.toReunion(json);
39
- // const agendas = Convert.toAgendas(json);
40
- //
41
- // These functions will throw an error if the JSON doesn't
42
- // match the expected interface, even if the JSON is valid.
43
- var ReunionXsiType = exports.ReunionXsiType = /*#__PURE__*/function (ReunionXsiType) {
44
- ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
45
- ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
46
- ReunionXsiType["SeanceType"] = "seance_type";
47
- return ReunionXsiType;
48
- }({});
49
- var PointOdjXsiType = exports.PointOdjXsiType = /*#__PURE__*/function (PointOdjXsiType) {
50
- PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
51
- PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
52
- return PointOdjXsiType;
53
- }({});
54
- var EtatCycleDeVie = exports.EtatCycleDeVie = /*#__PURE__*/function (EtatCycleDeVie) {
55
- EtatCycleDeVie["Annul\xE9"] = "Annul\xE9";
56
- EtatCycleDeVie["Confirm\xE9"] = "Confirm\xE9";
57
- EtatCycleDeVie["Eventuel"] = "Eventuel";
58
- EtatCycleDeVie["Supprim\xE9"] = "Supprim\xE9";
59
- return EtatCycleDeVie;
60
- }({});
61
- var NatureTravauxOdj = exports.NatureTravauxOdj = /*#__PURE__*/function (NatureTravauxOdj) {
62
- NatureTravauxOdj["Odjpr"] = "ODJPR";
63
- NatureTravauxOdj["Odjsn"] = "ODJSN";
64
- return NatureTravauxOdj;
65
- }({});
66
- var Procedure = exports.Procedure = /*#__PURE__*/function (Procedure) {
67
- Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
68
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
69
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
70
- Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle107"] = "proc\xE9dure d'examen simplifi\xE9e-Article 107";
71
- Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
72
- return Procedure;
73
- }({});
74
- var TypePointOdj = exports.TypePointOdj = /*#__PURE__*/function (TypePointOdj) {
75
- TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
76
- TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
77
- TypePointOdj["Audition"] = "Audition";
78
- TypePointOdj["AuditionMinistre"] = "Audition ministre";
79
- TypePointOdj["AuditionMinistreOuverte\xC0LaPresse"] = "Audition ministre ouverte \xE0 la presse";
80
- TypePointOdj["AuditionOuverte\xC0LaPresse"] = "Audition ouverte \xE0 la presse";
81
- TypePointOdj["Communication"] = "Communication";
82
- TypePointOdj["ConstitutionDeMissionDInformation"] = "Constitution de mission d'information";
83
- TypePointOdj["Discussion"] = "Discussion";
84
- TypePointOdj["D\xE9batDInitiativeParlementaire"] = "D\xE9bat d'initiative parlementaire";
85
- TypePointOdj["D\xE9clarationDuGouvernementSuivieDUnD\xE9bat"] = "D\xE9claration du Gouvernement suivie d'un d\xE9bat";
86
- TypePointOdj["EchangesDeVues"] = "Echanges de vues";
87
- TypePointOdj["Examen"] = "Examen";
88
- TypePointOdj["ExplicationsDeVoteDesGroupesEtVoteParScrutinPublic"] = "Explications de vote des groupes et vote par scrutin public";
89
- TypePointOdj["ExplicationsDeVoteEtVoteParScrutinPublic"] = "Explications de vote et vote par scrutin public";
90
- TypePointOdj["FixationDeLOrdreDuJour"] = "Fixation de l'ordre du jour";
91
- TypePointOdj["NominationBureau"] = "Nomination bureau";
92
- TypePointOdj["NominationCandidatsOrganismeExtraparlementaire"] = "Nomination candidats organisme extraparlementaire";
93
- TypePointOdj["NominationDUnMembreDUneMissionDInformation"] = "Nomination d'un membre d'une mission d'information";
94
- TypePointOdj["NominationRapporteur"] = "Nomination rapporteur";
95
- TypePointOdj["NominationRapporteurDApplication"] = "Nomination rapporteur d'application";
96
- TypePointOdj["NominationRapporteurDInformation"] = "Nomination rapporteur d'information";
97
- TypePointOdj["NominationRapporteurPourAvis"] = "Nomination rapporteur pour avis";
98
- TypePointOdj["OuvertureEtCl\xF4tureDeSession"] = "Ouverture et cl\xF4ture de session";
99
- TypePointOdj["QuestionsAuGouvernement"] = "Questions au Gouvernement";
100
- TypePointOdj["QuestionsOralesSansD\xE9bat"] = "Questions orales sans d\xE9bat";
101
- TypePointOdj["Rapport"] = "Rapport";
102
- TypePointOdj["RapportDInformation"] = "Rapport d'information";
103
- TypePointOdj["RapportPourAvis"] = "Rapport pour avis";
104
- TypePointOdj["SeancesReserveesGroupeOppositionOuMinoritaire"] = "S\xE9ances r\xE9serv\xE9es \xE0 un groupe de l'opposition ou minoritaire";
105
- TypePointOdj["SuiteDeLaDiscussion"] = "Suite de la discussion";
106
- TypePointOdj["TableRonde"] = "Table ronde";
107
- TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
108
- TypePointOdj["VoteSolennel"] = "Vote solennel";
109
- return TypePointOdj;
110
- }({});
111
- var FormatReunion = exports.FormatReunion = /*#__PURE__*/function (FormatReunion) {
112
- FormatReunion["AuditionExterne"] = "AuditionExterne";
113
- FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
114
- FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
115
- FormatReunion["Ordinaire"] = "Ordinaire";
116
- return FormatReunion;
117
- }({});
118
- var Quantieme = exports.Quantieme = /*#__PURE__*/function (Quantieme) {
119
- Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
120
- Quantieme["Premi\xE8re"] = "Premi\xE8re";
121
- Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
122
- Quantieme["Unique"] = "Unique";
123
- return Quantieme;
124
- }({});
125
- var Presence = exports.Presence = /*#__PURE__*/function (Presence) {
126
- Presence["Absent"] = "absent";
127
- Presence["Excus\xE9"] = "excus\xE9";
128
- Presence["Pr\xE9sent"] = "pr\xE9sent";
129
- return Presence;
130
- }({});
131
- var Civ = exports.Civ = /*#__PURE__*/function (Civ) {
132
- Civ["M"] = "M.";
133
- Civ["Mme"] = "Mme";
134
- return Civ;
135
- }({});
136
- var PersonneAuditionneeXsiType = exports.PersonneAuditionneeXsiType = /*#__PURE__*/function (PersonneAuditionneeXsiType) {
137
- PersonneAuditionneeXsiType["IdActeurType"] = "IdActeur_type";
138
- PersonneAuditionneeXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
139
- return PersonneAuditionneeXsiType;
140
- }({});
141
- var TypeReunion = exports.TypeReunion = /*#__PURE__*/function (TypeReunion) {
142
- TypeReunion["Dep"] = "DEP";
143
- // Député
144
- TypeReunion["Ga"] = "GA";
145
- // Groupe d'amitié
146
- TypeReunion["Ge"] = "GE";
147
- // Groupe d'étude
148
- TypeReunion["Gevi"] = "GEVI";
149
- // Groupe d'étude à vocation internationale
150
- TypeReunion["Gp"] = "GP";
151
- // Groupe parlementaire
152
- TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
153
- return TypeReunion;
154
- }({}); // Converts JSON strings to/from your types
155
- // and asserts the results of JSON.parse at runtime
156
- var Convert = exports.Convert = /*#__PURE__*/function () {
157
- function Convert() {
158
- _classCallCheck(this, Convert);
159
- }
160
- return _createClass(Convert, null, [{
161
- key: "toAgendas",
162
- value: function toAgendas(json) {
163
- return cast(JSON.parse(json), r("Agendas"));
164
- }
165
- }, {
166
- key: "agendasToJson",
167
- value: function agendasToJson(value) {
168
- return JSON.stringify(uncast(value, r("Agendas")), null, 2);
169
- }
170
- }, {
171
- key: "toReunion",
172
- value: function toReunion(json) {
173
- return cast(JSON.parse(json), r("Reunion"));
174
- }
175
- }, {
176
- key: "reunionToJson",
177
- value: function reunionToJson(value) {
178
- return JSON.stringify(uncast(value, r("Reunion")), null, 2);
179
- }
180
- }]);
181
- }();
182
- function invalidValue(typ, val) {
183
- var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
184
- if (key) {
185
- throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
186
- }
187
- throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
188
- }
189
- function jsonToJSProps(typ) {
190
- if (typ.jsonToJS === undefined) {
191
- var map = {};
192
- typ.props.forEach(function (p) {
193
- return map[p.json] = {
194
- key: p.js,
195
- typ: p.typ
196
- };
197
- });
198
- typ.jsonToJS = map;
199
- }
200
- return typ.jsonToJS;
201
- }
202
- function jsToJSONProps(typ) {
203
- if (typ.jsToJSON === undefined) {
204
- var map = {};
205
- typ.props.forEach(function (p) {
206
- return map[p.js] = {
207
- key: p.json,
208
- typ: p.typ
209
- };
210
- });
211
- typ.jsToJSON = map;
212
- }
213
- return typ.jsToJSON;
214
- }
215
- function transform(val, typ, getProps) {
216
- var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
217
- function transformPrimitive(typ, val) {
218
- if (_typeof(typ) === _typeof(val)) return val;
219
- return invalidValue(typ, val, key);
220
- }
221
- function transformUnion(typs, val) {
222
- // val must validate against one typ in typs
223
- var l = typs.length;
224
- for (var i = 0; i < l; i++) {
225
- var _typ = typs[i];
226
- try {
227
- return transform(val, _typ, getProps);
228
- } catch (_) {}
229
- }
230
- return invalidValue(typs, val);
231
- }
232
- function transformEnum(cases, val) {
233
- if (cases.indexOf(val) !== -1) return val;
234
- return invalidValue(cases, val);
235
- }
236
- function transformArray(typ, val) {
237
- // val must be an array with no invalid elements
238
- if (!Array.isArray(val)) return invalidValue("array", val);
239
- return val.map(function (el) {
240
- return transform(el, typ, getProps);
241
- });
242
- }
243
- function transformDate(val) {
244
- if (val === null) {
245
- return null;
246
- }
247
- var d = new Date(val);
248
- if (isNaN(d.valueOf())) {
249
- return invalidValue("Date", val);
250
- }
251
- return d;
252
- }
253
- function transformObject(props, additional, val) {
254
- if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
255
- return invalidValue("object", val);
256
- }
257
- var result = {};
258
- Object.getOwnPropertyNames(props).forEach(function (key) {
259
- var prop = props[key];
260
- var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
261
- result[prop.key] = transform(v, prop.typ, getProps, prop.key);
262
- });
263
- Object.getOwnPropertyNames(val).forEach(function (key) {
264
- if (!Object.prototype.hasOwnProperty.call(props, key)) {
265
- result[key] = transform(val[key], additional, getProps, key);
266
- }
267
- });
268
- return result;
269
- }
270
- if (typ === "any") return val;
271
- if (typ === null) {
272
- if (val === null) return val;
273
- return invalidValue(typ, val);
274
- }
275
- // if (typ === false) return invalidValue(typ, val)
276
- while (_typeof(typ) === "object" && typ.ref !== undefined) {
277
- typ = typeMap[typ.ref];
278
- }
279
- if (Array.isArray(typ)) return transformEnum(typ, val);
280
- if (_typeof(typ) === "object") {
281
- 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);
282
- }
283
- // Numbers can be parsed by Date but shouldn't be.
284
- if (typ === Date && typeof val !== "number") return transformDate(val);
285
- return transformPrimitive(typ, val);
286
- }
287
- function cast(val, typ) {
288
- return transform(val, typ, jsonToJSProps);
289
- }
290
- function uncast(val, typ) {
291
- return transform(val, typ, jsToJSONProps);
292
- }
293
- function a(typ) {
294
- return {
295
- arrayItems: typ
296
- };
297
- }
298
- function u() {
299
- for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
300
- typs[_key] = arguments[_key];
301
- }
302
- return {
303
- unionMembers: typs
304
- };
305
- }
306
- function o(props, additional) {
307
- return {
308
- props: props,
309
- additional: additional
310
- };
311
- }
312
-
313
- // function m(additional: any) {
314
- // return { props: [], additional }
315
- // }
316
-
317
- function r(name) {
318
- return {
319
- ref: name
320
- };
321
- }
322
- var typeMap = {
323
- Agendas: o([{
324
- json: "reunions",
325
- js: "reunions",
326
- typ: a(r("Reunion"))
327
- }], false),
328
- Reunion: o([{
329
- json: "schemaVersion",
330
- js: "schemaVersion",
331
- typ: u(undefined, "")
332
- }, {
333
- json: "xsiType",
334
- js: "xsiType",
335
- typ: u(undefined, r("ReunionXsiType"))
336
- }, {
337
- json: "uid",
338
- js: "uid",
339
- typ: ""
340
- }, {
341
- json: "timestampDebut",
342
- js: "timestampDebut",
343
- typ: Date
344
- }, {
345
- json: "timestampFin",
346
- js: "timestampFin",
347
- typ: u(undefined, Date)
348
- }, {
349
- json: "lieu",
350
- js: "lieu",
351
- typ: u(undefined, r("Lieu"))
352
- }, {
353
- json: "cycleDeVie",
354
- js: "cycleDeVie",
355
- typ: r("CycleDeVie")
356
- }, {
357
- json: "demandeurs",
358
- js: "demandeurs",
359
- typ: u(undefined, r("Demandeurs"))
360
- }, {
361
- json: "organeReuniRef",
362
- js: "organeReuniRef",
363
- typ: u(undefined, "")
364
- }, {
365
- json: "typeReunion",
366
- js: "typeReunion",
367
- typ: u(undefined, r("TypeReunion"))
368
- }, {
369
- json: "participants",
370
- js: "participants",
371
- typ: u(undefined, r("Participants"))
372
- }, {
373
- json: "sessionRef",
374
- js: "sessionRef",
375
- typ: u(undefined, "")
376
- }, {
377
- json: "ouverturePresse",
378
- js: "ouverturePresse",
379
- typ: u(undefined, false)
380
- }, {
381
- json: "odj",
382
- js: "odj",
383
- typ: u(undefined, r("Odj"))
384
- }, {
385
- json: "compteRenduRef",
386
- js: "compteRenduRef",
387
- typ: u(undefined, "")
388
- }, {
389
- json: "identifiants",
390
- js: "identifiants",
391
- typ: u(undefined, r("Identifiants"))
392
- }, {
393
- json: "formatReunion",
394
- js: "formatReunion",
395
- typ: u(undefined, r("FormatReunion"))
396
- }, {
397
- json: "infosReunionsInternationale",
398
- js: "infosReunionsInternationale",
399
- typ: u(undefined, r("InfosReunionsInternationale"))
400
- }, {
401
- json: "captationVideo",
402
- js: "captationVideo",
403
- typ: u(undefined, false)
404
- }, {
405
- json: "visioConference",
406
- js: "visioConference",
407
- typ: u(undefined, "")
408
- }], false),
409
- Odj: o([{
410
- json: "convocationOdj",
411
- js: "convocationOdj",
412
- typ: u(undefined, a(""))
413
- }, {
414
- json: "resumeOdj",
415
- js: "resumeOdj",
416
- typ: u(undefined, a(""))
417
- }, {
418
- json: "pointsOdj",
419
- js: "pointsOdj",
420
- typ: u(undefined, a(r("PointOdj")))
421
- }], false),
422
- PointOdj: o([{
423
- json: "xsiType",
424
- js: "xsiType",
425
- typ: r("PointOdjXsiType")
426
- }, {
427
- json: "uid",
428
- js: "uid",
429
- typ: ""
430
- }, {
431
- json: "cycleDeVie",
432
- js: "cycleDeVie",
433
- typ: r("CycleDeVie")
434
- }, {
435
- json: "objet",
436
- js: "objet",
437
- typ: ""
438
- }, {
439
- json: "procedure",
440
- js: "procedure",
441
- typ: u(undefined, r("Procedure"))
442
- }, {
443
- json: "dossiersLegislatifsRefs",
444
- js: "dossiersLegislatifsRefs",
445
- typ: u(undefined, a(""))
446
- }, {
447
- json: "typePointOdj",
448
- js: "typePointOdj",
449
- typ: r("TypePointOdj")
450
- }, {
451
- json: "comiteSecret",
452
- js: "comiteSecret",
453
- typ: false
454
- }, {
455
- json: "natureTravauxOdj",
456
- js: "natureTravauxOdj",
457
- typ: u(undefined, r("NatureTravauxOdj"))
458
- }, {
459
- json: "dateConfPres",
460
- js: "dateConfPres",
461
- typ: u(undefined, Date)
462
- }, {
463
- json: "dateLettreMinistre",
464
- js: "dateLettreMinistre",
465
- typ: u(undefined, Date)
466
- }], false),
467
- CycleDeVie: o([{
468
- json: "etat",
469
- js: "etat",
470
- typ: r("EtatCycleDeVie")
471
- }, {
472
- json: "chrono",
473
- js: "chrono",
474
- typ: r("Chrono")
475
- }], false),
476
- Chrono: o([{
477
- json: "creation",
478
- js: "creation",
479
- typ: Date
480
- }, {
481
- json: "cloture",
482
- js: "cloture",
483
- typ: u(undefined, Date)
484
- }], false),
485
- Demandeurs: o([{
486
- json: "acteurs",
487
- js: "acteurs",
488
- typ: u(undefined, a(r("DemandeurActeur")))
489
- }, {
490
- json: "organe",
491
- js: "organe",
492
- typ: u(undefined, r("DemandeurOrgane"))
493
- }], false),
494
- DemandeurActeur: o([{
495
- json: "nom",
496
- js: "nom",
497
- typ: u(undefined, "")
498
- }, {
499
- json: "acteurRef",
500
- js: "acteurRef",
501
- typ: ""
502
- }], false),
503
- DemandeurOrgane: o([{
504
- json: "nom",
505
- js: "nom",
506
- typ: ""
507
- }, {
508
- json: "organeRef",
509
- js: "organeRef",
510
- typ: ""
511
- }], false),
512
- Identifiants: o([{
513
- json: "numSeanceJo",
514
- js: "numSeanceJo",
515
- typ: u(undefined, "")
516
- }, {
517
- json: "idJo",
518
- js: "idJo",
519
- typ: u(undefined, "")
520
- }, {
521
- json: "quantieme",
522
- js: "quantieme",
523
- typ: r("Quantieme")
524
- }, {
525
- json: "dateSeance",
526
- js: "dateSeance",
527
- typ: Date
528
- }], false),
529
- InfosReunionsInternationale: o([{
530
- json: "estReunionInternationale",
531
- js: "estReunionInternationale",
532
- typ: false
533
- }, {
534
- json: "listePays",
535
- js: "listePays",
536
- typ: u(undefined, a(""))
537
- }, {
538
- json: "informationsComplementaires",
539
- js: "informationsComplementaires",
540
- typ: u(undefined, "")
541
- }], false),
542
- Lieu: o([{
543
- json: "code",
544
- js: "code",
545
- typ: u(undefined, "")
546
- }, {
547
- json: "libelleCourt",
548
- js: "libelleCourt",
549
- typ: u(undefined, "")
550
- }, {
551
- json: "libelleLong",
552
- js: "libelleLong",
553
- typ: u(undefined, "")
554
- }, {
555
- json: "lieuRef",
556
- js: "lieuRef",
557
- typ: u(undefined, "")
558
- }], false),
559
- Participants: o([{
560
- json: "participantsInternes",
561
- js: "participantsInternes",
562
- typ: u(undefined, a(r("ParticipantInterne")))
563
- }, {
564
- json: "personnesAuditionnees",
565
- js: "personnesAuditionnees",
566
- typ: u(undefined, a(r("PersonneAuditionnee")))
567
- }], false),
568
- ParticipantInterne: o([{
569
- json: "acteurRef",
570
- js: "acteurRef",
571
- typ: ""
572
- }, {
573
- json: "presence",
574
- js: "presence",
575
- typ: r("Presence")
576
- }], false),
577
- PersonneAuditionnee: o([{
578
- json: "xsiType",
579
- js: "xsiType",
580
- typ: r("PersonneAuditionneeXsiType")
581
- }, {
582
- json: "uid",
583
- js: "uid",
584
- typ: ""
585
- }, {
586
- json: "ident",
587
- js: "ident",
588
- typ: r("Ident")
589
- }, {
590
- json: "dateNais",
591
- js: "dateNais",
592
- typ: u(undefined, Date)
593
- }], false),
594
- Ident: o([{
595
- json: "civ",
596
- js: "civ",
597
- typ: r("Civ")
598
- }, {
599
- json: "prenom",
600
- js: "prenom",
601
- typ: ""
602
- }, {
603
- json: "nom",
604
- js: "nom",
605
- typ: ""
606
- }, {
607
- json: "alpha",
608
- js: "alpha",
609
- typ: u(undefined, "")
610
- }, {
611
- json: "trigramme",
612
- js: "trigramme",
613
- typ: u(undefined, "")
614
- }], false),
615
- ReunionXsiType: ["reunionCommission_type", "reunionInitParlementaire_type", "seance_type"],
616
- PointOdjXsiType: ["podjReunion_type", "podjSeanceConfPres_type"],
617
- EtatCycleDeVie: ["Annulé", "Confirmé", "Eventuel", "Supprimé"],
618
- NatureTravauxOdj: ["ODJPR", "ODJSN"],
619
- Procedure: ["discussion générale commune", "procédure d'examen simplifiée-Article 103", "procédure d'examen simplifiée-Article 106", "procédure d'examen simplifiée-Article 107", "procédure de législation en commission-Article 107-1"],
620
- TypePointOdj: ["Amendements (Art. 88)", "Amendements (Art. 91)", "Audition", "Audition ministre", "Audition ministre ouverte à la presse", "Audition ouverte à la presse", "Communication", "Constitution de mission d'information", "Discussion", "Débat d'initiative parlementaire", "Déclaration du Gouvernement suivie d'un débat", "Echanges de vues", "Examen", "Explications de vote des groupes et vote par scrutin public", "Explications de vote et vote par scrutin public", "Fixation de l'ordre du jour", "Nomination bureau", "Nomination candidats organisme extraparlementaire", "Nomination d'un membre d'une mission d'information", "Nomination rapporteur", "Nomination rapporteur d'application", "Nomination rapporteur d'information", "Nomination rapporteur pour avis", "Ouverture et clôture de session", "Questions au Gouvernement", "Questions orales sans débat", "Rapport", "Rapport d'information", "Rapport pour avis", "Séances réservées à un groupe de l'opposition ou minoritaire", "Suite de la discussion", "Table ronde", "Vote par scrutin public", "Vote solennel"],
621
- FormatReunion: ["AuditionExterne", "AuditionParPresidentCommission", "AuditionParRapporteur", "Ordinaire"],
622
- Quantieme: ["Deuxième", "Première", "Troisième", "Unique"],
623
- Presence: ["absent", "excusé", "présent"],
624
- Civ: ["M.", "Mme"],
625
- PersonneAuditionneeXsiType: ["IdActeur_type", "IdPersonneExterne_type"],
626
- TypeReunion: ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"]
627
- };
628
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsImV4cG9ydHMiLCJQb2ludE9kalhzaVR5cGUiLCJFdGF0Q3ljbGVEZVZpZSIsIk5hdHVyZVRyYXZhdXhPZGoiLCJQcm9jZWR1cmUiLCJUeXBlUG9pbnRPZGoiLCJGb3JtYXRSZXVuaW9uIiwiUXVhbnRpZW1lIiwiUHJlc2VuY2UiLCJDaXYiLCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSIsIlR5cGVSZXVuaW9uIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvUmV1bmlvbiIsInJldW5pb25Ub0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIiwiQWdlbmRhcyIsIlJldW5pb24iLCJPZGoiLCJQb2ludE9kaiIsIkN5Y2xlRGVWaWUiLCJDaHJvbm8iLCJEZW1hbmRldXJzIiwiRGVtYW5kZXVyQWN0ZXVyIiwiRGVtYW5kZXVyT3JnYW5lIiwiSWRlbnRpZmlhbnRzIiwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwiTGlldSIsIlBhcnRpY2lwYW50cyIsIlBhcnRpY2lwYW50SW50ZXJuZSIsIlBlcnNvbm5lQXVkaXRpb25uZWUiLCJJZGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbmRhcyB7XG4gIHJldW5pb25zOiBSZXVuaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVuaW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogUmV1bmlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgdGltZXN0YW1wRGVidXQ6IERhdGVcbiAgdGltZXN0YW1wRmluPzogRGF0ZVxuICBsaWV1PzogTGlldVxuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbWFuZGV1cnM/OiBEZW1hbmRldXJzXG4gIG9yZ2FuZVJldW5pUmVmPzogc3RyaW5nXG4gIG9yZ2FuZVJldW5pPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHR5cGVSZXVuaW9uPzogVHlwZVJldW5pb25cbiAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRzXG4gIHNlc3Npb25SZWY/OiBzdHJpbmdcbiAgb3V2ZXJ0dXJlUHJlc3NlPzogYm9vbGVhblxuICBvZGo/OiBPZGpcbiAgY29tcHRlUmVuZHVSZWY/OiBzdHJpbmdcbiAgaWRlbnRpZmlhbnRzPzogSWRlbnRpZmlhbnRzXG4gIGZvcm1hdFJldW5pb24/OiBGb3JtYXRSZXVuaW9uXG4gIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZT86IEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBjYXB0YXRpb25WaWRlbz86IGJvb2xlYW5cbiAgdmlzaW9Db25mZXJlbmNlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFJldW5pb25Yc2lUeXBlIHtcbiAgUmV1bmlvbkNvbW1pc3Npb25UeXBlID0gXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIFNlYW5jZVR5cGUgPSBcInNlYW5jZV90eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2RqIHtcbiAgY29udm9jYXRpb25PZGo/OiBzdHJpbmdbXVxuICByZXN1bWVPZGo/OiBzdHJpbmdbXVxuICBwb2ludHNPZGo/OiBQb2ludE9kaltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGoge1xuICB4c2lUeXBlOiBQb2ludE9kalhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBvYmpldDogc3RyaW5nXG4gIHByb2NlZHVyZT86IFByb2NlZHVyZVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcz86IHN0cmluZ1tdXG4gIHR5cGVQb2ludE9kajogVHlwZVBvaW50T2RqXG4gIGNvbWl0ZVNlY3JldDogYm9vbGVhblxuICBuYXR1cmVUcmF2YXV4T2RqPzogTmF0dXJlVHJhdmF1eE9kalxuICBkYXRlQ29uZlByZXM/OiBEYXRlXG4gIGRhdGVMZXR0cmVNaW5pc3RyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgUG9kalJldW5pb25UeXBlID0gXCJwb2RqUmV1bmlvbl90eXBlXCIsXG4gIFBvZGpTZWFuY2VDb25mUHJlc1R5cGUgPSBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGV0YXQ6IEV0YXRDeWNsZURlVmllXG4gIGNocm9ubzogQ2hyb25vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyb25vIHtcbiAgY3JlYXRpb246IERhdGVcbiAgY2xvdHVyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEN5Y2xlRGVWaWUge1xuICBBbm51bMOpID0gXCJBbm51bMOpXCIsXG4gIENvbmZpcm3DqSA9IFwiQ29uZmlybcOpXCIsXG4gIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICBTdXBwcmltw6kgPSBcIlN1cHByaW3DqVwiLFxufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgT2RqcHIgPSBcIk9ESlBSXCIsXG4gIE9kanNuID0gXCJPREpTTlwiLFxufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmUge1xuICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTAzID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA2ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA3ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA3XCIsXG4gIFByb2PDqWR1cmVEZUzDqWdpc2xhdGlvbkVuQ29tbWlzc2lvbkFydGljbGUxMDcxID0gXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvaW50T2RqIHtcbiAgQW1lbmRlbWVudHNBcnQ4OCA9IFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICBBdWRpdGlvbiA9IFwiQXVkaXRpb25cIixcbiAgQXVkaXRpb25NaW5pc3RyZSA9IFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBBdWRpdGlvbk91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBDb21tdW5pY2F0aW9uID0gXCJDb21tdW5pY2F0aW9uXCIsXG4gIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBEaXNjdXNzaW9uID0gXCJEaXNjdXNzaW9uXCIsXG4gIETDqWJhdERJbml0aWF0aXZlUGFybGVtZW50YWlyZSA9IFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICBFY2hhbmdlc0RlVnVlcyA9IFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICBFeGFtZW4gPSBcIkV4YW1lblwiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRXhwbGljYXRpb25zRGVWb3RlRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRml4YXRpb25EZUxPcmRyZUR1Sm91ciA9IFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gIE5vbWluYXRpb25DYW5kaWRhdHNPcmdhbmlzbWVFeHRyYXBhcmxlbWVudGFpcmUgPSBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgTm9taW5hdGlvbkRVbk1lbWJyZURVbmVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREFwcGxpY2F0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ckRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICBPdXZlcnR1cmVFdENsw7R0dXJlRGVTZXNzaW9uID0gXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICBRdWVzdGlvbnNBdUdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgU2VhbmNlc1Jlc2VydmVlc0dyb3VwZU9wcG9zaXRpb25PdU1pbm9yaXRhaXJlID0gXCJTw6lhbmNlcyByw6lzZXJ2w6llcyDDoCB1biBncm91cGUgZGUgbCdvcHBvc2l0aW9uIG91IG1pbm9yaXRhaXJlXCIsXG4gIFN1aXRlRGVMYURpc2N1c3Npb24gPSBcIlN1aXRlIGRlIGxhIGRpc2N1c3Npb25cIixcbiAgVGFibGVSb25kZSA9IFwiVGFibGUgcm9uZGVcIixcbiAgVm90ZVBhclNjcnV0aW5QdWJsaWMgPSBcIlZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gIFZvdGVTb2xlbm5lbCA9IFwiVm90ZSBzb2xlbm5lbFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1cnMge1xuICBhY3RldXJzPzogRGVtYW5kZXVyQWN0ZXVyW11cbiAgb3JnYW5lPzogRGVtYW5kZXVyT3JnYW5lXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyQWN0ZXVyIHtcbiAgbm9tPzogc3RyaW5nXG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1ck9yZ2FuZSB7XG4gIG5vbTogc3RyaW5nXG4gIG9yZ2FuZVJlZjogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgZW51bSBGb3JtYXRSZXVuaW9uIHtcbiAgQXVkaXRpb25FeHRlcm5lID0gXCJBdWRpdGlvbkV4dGVybmVcIixcbiAgQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uID0gXCJBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb25cIixcbiAgQXVkaXRpb25QYXJSYXBwb3J0ZXVyID0gXCJBdWRpdGlvblBhclJhcHBvcnRldXJcIixcbiAgT3JkaW5haXJlID0gXCJPcmRpbmFpcmVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudGlmaWFudHMge1xuICBudW1TZWFuY2VKbz86IHN0cmluZ1xuICBpZEpvPzogc3RyaW5nXG4gIHF1YW50aWVtZTogUXVhbnRpZW1lXG4gIGRhdGVTZWFuY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBRdWFudGllbWUge1xuICBEZXV4acOobWUgPSBcIkRldXhpw6htZVwiLFxuICBQcmVtacOocmUgPSBcIlByZW1pw6hyZVwiLFxuICBUcm9pc2nDqG1lID0gXCJUcm9pc2nDqG1lXCIsXG4gIFVuaXF1ZSA9IFwiVW5pcXVlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIHtcbiAgZXN0UmV1bmlvbkludGVybmF0aW9uYWxlOiBib29sZWFuXG4gIGxpc3RlUGF5cz86IHN0cmluZ1tdXG4gIGluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlcz86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZXUge1xuICBjb2RlPzogc3RyaW5nXG4gIGxpYmVsbGVDb3VydD86IHN0cmluZ1xuICBsaWJlbGxlTG9uZz86IHN0cmluZ1xuICBsaWV1UmVmPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGljaXBhbnRzIHtcbiAgcGFydGljaXBhbnRzSW50ZXJuZXM/OiBQYXJ0aWNpcGFudEludGVybmVbXVxuICBwZXJzb25uZXNBdWRpdGlvbm5lZXM/OiBQZXJzb25uZUF1ZGl0aW9ubmVlW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWNpcGFudEludGVybmUge1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBhY3RldXI/OiBBY3RldXIgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgcHJlc2VuY2U6IFByZXNlbmNlXG59XG5cbmV4cG9ydCBlbnVtIFByZXNlbmNlIHtcbiAgQWJzZW50ID0gXCJhYnNlbnRcIixcbiAgRXhjdXPDqSA9IFwiZXhjdXPDqVwiLFxuICBQcsOpc2VudCA9IFwicHLDqXNlbnRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJzb25uZUF1ZGl0aW9ubmVlIHtcbiAgeHNpVHlwZTogUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgaWRlbnQ6IElkZW50XG4gIGRhdGVOYWlzPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50IHtcbiAgY2l2OiBDaXZcbiAgcHJlbm9tOiBzdHJpbmdcbiAgbm9tOiBzdHJpbmdcbiAgYWxwaGE/OiBzdHJpbmdcbiAgdHJpZ3JhbW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIENpdiB7XG4gIE0gPSBcIk0uXCIsXG4gIE1tZSA9IFwiTW1lXCIsXG59XG5cbmV4cG9ydCBlbnVtIFBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIHtcbiAgSWRBY3RldXJUeXBlID0gXCJJZEFjdGV1cl90eXBlXCIsXG4gIElkUGVyc29ubmVFeHRlcm5lVHlwZSA9IFwiSWRQZXJzb25uZUV4dGVybmVfdHlwZVwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlUmV1bmlvbiB7XG4gIERlcCA9IFwiREVQXCIsIC8vIETDqXB1dMOpXG4gIEdhID0gXCJHQVwiLCAvLyBHcm91cGUgZCdhbWl0acOpXG4gIEdlID0gXCJHRVwiLCAvLyBHcm91cGUgZCfDqXR1ZGVcbiAgR2V2aSA9IFwiR0VWSVwiLCAvLyBHcm91cGUgZCfDqXR1ZGUgw6Agdm9jYXRpb24gaW50ZXJuYXRpb25hbGVcbiAgR3AgPSBcIkdQXCIsIC8vIEdyb3VwZSBwYXJsZW1lbnRhaXJlXG4gIEjDqUF1csOpbGllbiA9IFwiSMOJIEF1csOpbGllblwiLFxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0FnZW5kYXMoanNvbjogc3RyaW5nKTogQWdlbmRhcyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFnZW5kYXNcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFnZW5kYXNUb0pzb24odmFsdWU6IEFnZW5kYXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBZ2VuZGFzXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9SZXVuaW9uKGpzb246IHN0cmluZyk6IFJldW5pb24ge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJSZXVuaW9uXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZXVuaW9uVG9Kc29uKHZhbHVlOiBSZXVuaW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiUmV1bmlvblwiKSksIG51bGwsIDIpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogbmV2ZXIge1xuICBpZiAoa2V5KSB7XG4gICAgdGhyb3cgRXJyb3IoXG4gICAgICBgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdHlwLFxuICAgICAgKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCxcbiAgICApXG4gIH1cbiAgdGhyb3cgRXJyb3IoXG4gICAgYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCxcbiAgKVxufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1Vbmlvbih0eXBzOiBhbnlbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgY29uc3QgbCA9IHR5cHMubGVuZ3RoXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV1cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKVxuICAgICAgfSBjYXRjaCAoXykge31cbiAgICB9XG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShjYXNlcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJEYXRlXCIsIHZhbClcbiAgICB9XG4gICAgcmV0dXJuIGRcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybU9iamVjdChcbiAgICBwcm9wczogeyBbazogc3RyaW5nXTogYW55IH0sXG4gICAgYWRkaXRpb25hbDogYW55LFxuICAgIHZhbDogYW55LFxuICApOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUoXCJvYmplY3RcIiwgdmFsKVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBwcm9wLmtleSlcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICBpZiAodHlwID09PSBEYXRlICYmIHR5cGVvZiB2YWwgIT09IFwibnVtYmVyXCIpIHJldHVybiB0cmFuc2Zvcm1EYXRlKHZhbClcbiAgcmV0dXJuIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXAsIHZhbClcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNvblRvSlNQcm9wcylcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc1RvSlNPTlByb3BzKVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgQWdlbmRhczogbyhcbiAgICBbeyBqc29uOiBcInJldW5pb25zXCIsIGpzOiBcInJldW5pb25zXCIsIHR5cDogYShyKFwiUmV1bmlvblwiKSkgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJldW5pb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInhzaVR5cGVcIixcbiAgICAgICAganM6IFwieHNpVHlwZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUmV1bmlvblhzaVR5cGVcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRpbWVzdGFtcERlYnV0XCIsIGpzOiBcInRpbWVzdGFtcERlYnV0XCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcInRpbWVzdGFtcEZpblwiLCBqczogXCJ0aW1lc3RhbXBGaW5cIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHsganNvbjogXCJsaWV1XCIsIGpzOiBcImxpZXVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVcIikpIH0sXG4gICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkZW1hbmRldXJzXCIsXG4gICAgICAgIGpzOiBcImRlbWFuZGV1cnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRlbWFuZGV1cnNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZXVuaVJlZlwiLCBqczogXCJvcmdhbmVSZXVuaVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInR5cGVSZXVuaW9uXCIsXG4gICAgICAgIGpzOiBcInR5cGVSZXVuaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlUmV1bmlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcnRpY2lwYW50c1wiLFxuICAgICAgICBqczogXCJwYXJ0aWNpcGFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBhcnRpY2lwYW50c1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm91dmVydHVyZVByZXNzZVwiLFxuICAgICAgICBqczogXCJvdXZlcnR1cmVQcmVzc2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvZGpcIiwganM6IFwib2RqXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJPZGpcIikpIH0sXG4gICAgICB7IGpzb246IFwiY29tcHRlUmVuZHVSZWZcIiwganM6IFwiY29tcHRlUmVuZHVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpZGVudGlmaWFudHNcIixcbiAgICAgICAganM6IFwiaWRlbnRpZmlhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJZGVudGlmaWFudHNcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJmb3JtYXRSZXVuaW9uXCIsXG4gICAgICAgIGpzOiBcImZvcm1hdFJldW5pb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkZvcm1hdFJldW5pb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAganM6IFwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjYXB0YXRpb25WaWRlb1wiLFxuICAgICAgICBqczogXCJjYXB0YXRpb25WaWRlb1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInZpc2lvQ29uZmVyZW5jZVwiLCBqczogXCJ2aXNpb0NvbmZlcmVuY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBPZGo6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbnZvY2F0aW9uT2RqXCIsXG4gICAgICAgIGpzOiBcImNvbnZvY2F0aW9uT2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJyZXN1bWVPZGpcIiwganM6IFwicmVzdW1lT2RqXCIsIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicG9pbnRzT2RqXCIsXG4gICAgICAgIGpzOiBcInBvaW50c09kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQb2ludE9kalwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQb2ludE9kajogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlBvaW50T2RqWHNpVHlwZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHsganNvbjogXCJvYmpldFwiLCBqczogXCJvYmpldFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcm9jZWR1cmVcIiwganM6IFwicHJvY2VkdXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQcm9jZWR1cmVcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcIixcbiAgICAgICAganM6IFwiZG9zc2llcnNMZWdpc2xhdGlmc1JlZnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInR5cGVQb2ludE9kalwiLCBqczogXCJ0eXBlUG9pbnRPZGpcIiwgdHlwOiByKFwiVHlwZVBvaW50T2RqXCIpIH0sXG4gICAgICB7IGpzb246IFwiY29taXRlU2VjcmV0XCIsIGpzOiBcImNvbWl0ZVNlY3JldFwiLCB0eXA6IGZhbHNlIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibmF0dXJlVHJhdmF1eE9kalwiLFxuICAgICAgICBqczogXCJuYXR1cmVUcmF2YXV4T2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJOYXR1cmVUcmF2YXV4T2RqXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUNvbmZQcmVzXCIsIGpzOiBcImRhdGVDb25mUHJlc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVMZXR0cmVNaW5pc3RyZVwiLFxuICAgICAgICBqczogXCJkYXRlTGV0dHJlTWluaXN0cmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEN5Y2xlRGVWaWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IHIoXCJFdGF0Q3ljbGVEZVZpZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImNocm9ub1wiLCBqczogXCJjaHJvbm9cIiwgdHlwOiByKFwiQ2hyb25vXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ2hyb25vOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjcmVhdGlvblwiLCBqczogXCJjcmVhdGlvblwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJjbG90dXJlXCIsIGpzOiBcImNsb3R1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXJzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY3RldXJzXCIsXG4gICAgICAgIGpzOiBcImFjdGV1cnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiRGVtYW5kZXVyQWN0ZXVyXCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRlbWFuZGV1ck9yZ2FuZVwiKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXJBY3RldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1ck9yZ2FuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50aWZpYW50czogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibnVtU2VhbmNlSm9cIiwganM6IFwibnVtU2VhbmNlSm9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZEpvXCIsIGpzOiBcImlkSm9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJxdWFudGllbWVcIiwganM6IFwicXVhbnRpZW1lXCIsIHR5cDogcihcIlF1YW50aWVtZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVTZWFuY2VcIiwganM6IFwiZGF0ZVNlYW5jZVwiLCB0eXA6IERhdGUgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGU6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICBqczogXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAgdHlwOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibGlzdGVQYXlzXCIsIGpzOiBcImxpc3RlUGF5c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlc1wiLFxuICAgICAgICBqczogXCJpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpZXU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVDb3VydFwiLCBqczogXCJsaWJlbGxlQ291cnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlTG9uZ1wiLCBqczogXCJsaWJlbGxlTG9uZ1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpZXVSZWZcIiwganM6IFwibGlldVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBhcnRpY2lwYW50czogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFydGljaXBhbnRzSW50ZXJuZXNcIixcbiAgICAgICAganM6IFwicGFydGljaXBhbnRzSW50ZXJuZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUGFydGljaXBhbnRJbnRlcm5lXCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLFxuICAgICAgICBqczogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUGVyc29ubmVBdWRpdGlvbm5lZVwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQYXJ0aWNpcGFudEludGVybmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJlc2VuY2VcIiwganM6IFwicHJlc2VuY2VcIiwgdHlwOiByKFwiUHJlc2VuY2VcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQZXJzb25uZUF1ZGl0aW9ubmVlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGVcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkZW50XCIsIGpzOiBcImlkZW50XCIsIHR5cDogcihcIklkZW50XCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZU5haXNcIiwganM6IFwiZGF0ZU5haXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY2l2XCIsIGpzOiBcImNpdlwiLCB0eXA6IHIoXCJDaXZcIikgfSxcbiAgICAgIHsganNvbjogXCJwcmVub21cIiwganM6IFwicHJlbm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYWxwaGFcIiwganM6IFwiYWxwaGFcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0cmlncmFtbWVcIiwganM6IFwidHJpZ3JhbW1lXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmV1bmlvblhzaVR5cGU6IFtcbiAgICBcInJldW5pb25Db21taXNzaW9uX3R5cGVcIixcbiAgICBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gICAgXCJzZWFuY2VfdHlwZVwiLFxuICBdLFxuICBQb2ludE9kalhzaVR5cGU6IFtcInBvZGpSZXVuaW9uX3R5cGVcIiwgXCJwb2RqU2VhbmNlQ29uZlByZXNfdHlwZVwiXSxcbiAgRXRhdEN5Y2xlRGVWaWU6IFtcIkFubnVsw6lcIiwgXCJDb25maXJtw6lcIiwgXCJFdmVudHVlbFwiLCBcIlN1cHByaW3DqVwiXSxcbiAgTmF0dXJlVHJhdmF1eE9kajogW1wiT0RKUFJcIiwgXCJPREpTTlwiXSxcbiAgUHJvY2VkdXJlOiBbXG4gICAgXCJkaXNjdXNzaW9uIGfDqW7DqXJhbGUgY29tbXVuZVwiLFxuICAgIFwicHJvY8OpZHVyZSBkJ2V4YW1lbiBzaW1wbGlmacOpZS1BcnRpY2xlIDEwM1wiLFxuICAgIFwicHJvY8OpZHVyZSBkJ2V4YW1lbiBzaW1wbGlmacOpZS1BcnRpY2xlIDEwNlwiLFxuICAgIFwicHJvY8OpZHVyZSBkJ2V4YW1lbiBzaW1wbGlmacOpZS1BcnRpY2xlIDEwN1wiLFxuICAgIFwicHJvY8OpZHVyZSBkZSBsw6lnaXNsYXRpb24gZW4gY29tbWlzc2lvbi1BcnRpY2xlIDEwNy0xXCIsXG4gIF0sXG4gIFR5cGVQb2ludE9kajogW1xuICAgIFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA5MSlcIixcbiAgICBcIkF1ZGl0aW9uXCIsXG4gICAgXCJBdWRpdGlvbiBtaW5pc3RyZVwiLFxuICAgIFwiQXVkaXRpb24gbWluaXN0cmUgb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICBcIkF1ZGl0aW9uIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gICAgXCJDb21tdW5pY2F0aW9uXCIsXG4gICAgXCJDb25zdGl0dXRpb24gZGUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJEaXNjdXNzaW9uXCIsXG4gICAgXCJEw6liYXQgZCdpbml0aWF0aXZlIHBhcmxlbWVudGFpcmVcIixcbiAgICBcIkTDqWNsYXJhdGlvbiBkdSBHb3V2ZXJuZW1lbnQgc3VpdmllIGQndW4gZMOpYmF0XCIsXG4gICAgXCJFY2hhbmdlcyBkZSB2dWVzXCIsXG4gICAgXCJFeGFtZW5cIixcbiAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGRlcyBncm91cGVzIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gICAgXCJOb21pbmF0aW9uIGJ1cmVhdVwiLFxuICAgIFwiTm9taW5hdGlvbiBjYW5kaWRhdHMgb3JnYW5pc21lIGV4dHJhcGFybGVtZW50YWlyZVwiLFxuICAgIFwiTm9taW5hdGlvbiBkJ3VuIG1lbWJyZSBkJ3VuZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1clwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnYXBwbGljYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gICAgXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICAgIFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICAgIFwiUXVlc3Rpb25zIG9yYWxlcyBzYW5zIGTDqWJhdFwiLFxuICAgIFwiUmFwcG9ydFwiLFxuICAgIFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJSYXBwb3J0IHBvdXIgYXZpc1wiLFxuICAgIFwiU8OpYW5jZXMgcsOpc2VydsOpZXMgw6AgdW4gZ3JvdXBlIGRlIGwnb3Bwb3NpdGlvbiBvdSBtaW5vcml0YWlyZVwiLFxuICAgIFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICAgIFwiVGFibGUgcm9uZGVcIixcbiAgICBcIlZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJWb3RlIHNvbGVubmVsXCIsXG4gIF0sXG4gIEZvcm1hdFJldW5pb246IFtcbiAgICBcIkF1ZGl0aW9uRXh0ZXJuZVwiLFxuICAgIFwiQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uXCIsXG4gICAgXCJBdWRpdGlvblBhclJhcHBvcnRldXJcIixcbiAgICBcIk9yZGluYWlyZVwiLFxuICBdLFxuICBRdWFudGllbWU6IFtcIkRldXhpw6htZVwiLCBcIlByZW1pw6hyZVwiLCBcIlRyb2lzacOobWVcIiwgXCJVbmlxdWVcIl0sXG4gIFByZXNlbmNlOiBbXCJhYnNlbnRcIiwgXCJleGN1c8OpXCIsIFwicHLDqXNlbnRcIl0sXG4gIENpdjogW1wiTS5cIiwgXCJNbWVcIl0sXG4gIFBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlOiBbXCJJZEFjdGV1cl90eXBlXCIsIFwiSWRQZXJzb25uZUV4dGVybmVfdHlwZVwiXSxcbiAgVHlwZVJldW5pb246IFtcIkRFUFwiLCBcIkdBXCIsIFwiR0VcIiwgXCJHRVZJXCIsIFwiR1BcIiwgXCJIw4kgQXVyw6lsaWVuXCJdLFxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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