@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,965 +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.TypeOrgane = exports.TypeMandat = exports.RegionType = exports.Regime = exports.PositionPolitique = exports.FamSocPro = exports.Convert = exports.CodeTypeOrgane = exports.CodeNatureDep = 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, Acteur, Organe, ActeursEtOrganes } from "./file";
37
- //
38
- // const acteur = Convert.toActeur(json);
39
- // const organe = Convert.toOrgane(json);
40
- // const acteursEtOrganes = Convert.toActeursEtOrganes(json);
41
- //
42
- // These functions will throw an error if the JSON doesn't
43
- // match the expected interface, even if the JSON is valid.
44
- var Civ = exports.Civ = /*#__PURE__*/function (Civ) {
45
- Civ["M"] = "M.";
46
- Civ["Mme"] = "Mme";
47
- return Civ;
48
- }({});
49
- var TypeMandat = exports.TypeMandat = /*#__PURE__*/function (TypeMandat) {
50
- TypeMandat["MandatAvecSuppleantType"] = "MandatAvecSuppleant_Type";
51
- TypeMandat["MandatMissionType"] = "MandatMission_Type";
52
- TypeMandat["MandatParlementaireType"] = "MandatParlementaire_type";
53
- TypeMandat["MandatSimpleType"] = "MandatSimple_Type";
54
- return TypeMandat;
55
- }({});
56
- var RegionType = exports.RegionType = /*#__PURE__*/function (RegionType) {
57
- RegionType["Collectivit\xE9sDOutreMerEtNouvelleCal\xE9donie"] = "Collectivit\xE9s d'outre-mer et Nouvelle-Cal\xE9donie";
58
- RegionType["Dom"] = "Dom";
59
- RegionType["Fran\xE7ais\xC9tablisHorsDeFrance"] = "Fran\xE7ais \xE9tablis hors de France";
60
- RegionType["M\xE9tropolitain"] = "M\xE9tropolitain";
61
- return RegionType;
62
- }({});
63
- var CodeTypeOrgane = exports.CodeTypeOrgane = /*#__PURE__*/function (CodeTypeOrgane) {
64
- CodeTypeOrgane["Api"] = "API";
65
- // Assemblée parlementaire internationale
66
- CodeTypeOrgane["Assemblee"] = "ASSEMBLEE";
67
- // Assemblée nationale
68
- CodeTypeOrgane["Bureau"] = "BUREAU";
69
- // Bureau de l'Assemblée nationale
70
- CodeTypeOrgane["Circonscription"] = "CIRCONSCRIPTION";
71
- CodeTypeOrgane["Cjr"] = "CJR";
72
- // Cour de justice de la République
73
- CodeTypeOrgane["Cmp"] = "CMP";
74
- // Commission mixte paritaire,
75
- CodeTypeOrgane["Cnpe"] = "CNPE";
76
- // Commission d'enquête; what does this acronym mean?
77
- CodeTypeOrgane["Cnps"] = "CNPS";
78
- // Commission spéciale; what does this acronym mean?
79
- CodeTypeOrgane["Comnl"] = "COMNL";
80
- // Commission spéciale autre; what does this acronym mean?
81
- CodeTypeOrgane["Comper"] = "COMPER";
82
- // Commission permanente
83
- CodeTypeOrgane["Comsenat"] = "COMSENAT";
84
- // Commission sénatoriale
85
- CodeTypeOrgane["Comspsenat"] = "COMSPSENAT";
86
- // Commission spéciale sénatoriale
87
- CodeTypeOrgane["Confpt"] = "CONFPT";
88
- // Conférence des présidents
89
- CodeTypeOrgane["Constitu"] = "CONSTITU";
90
- // Conseil constitutionnel
91
- CodeTypeOrgane["Deleg"] = "DELEG";
92
- // Délégation
93
- CodeTypeOrgane["Delegbureau"] = "DELEGBUREAU";
94
- // Délégation du Bureau
95
- CodeTypeOrgane["Delegsenat"] = "DELEGSENAT";
96
- // Délégation sénatoriale
97
- CodeTypeOrgane["Ga"] = "GA";
98
- // Groupe d'amitié
99
- CodeTypeOrgane["Ge"] = "GE";
100
- // Groupe d'études
101
- CodeTypeOrgane["Gevi"] = "GEVI";
102
- // Groupe d'études à vocation internationale
103
- CodeTypeOrgane["Gouvernement"] = "GOUVERNEMENT";
104
- // Gouvernement
105
- CodeTypeOrgane["Gp"] = "GP";
106
- // Groupe politique
107
- CodeTypeOrgane["Groupesenat"] = "GROUPESENAT";
108
- // Groupe sénatorial
109
- CodeTypeOrgane["Hcj"] = "HCJ";
110
- // Haute Cour de Justice
111
- CodeTypeOrgane["Ministere"] = "MINISTERE";
112
- // Ministère
113
- CodeTypeOrgane["Miseval"] = "MISEVAL";
114
- // Mission d'évaluation
115
- CodeTypeOrgane["Misinfo"] = "MISINFO";
116
- // Mission d'information
117
- CodeTypeOrgane["Misinfocom"] = "MISINFOCOM";
118
- // Mission d'information commune
119
- CodeTypeOrgane["Misinfopre"] = "MISINFOPRE";
120
- // Missions d’information de la conférence des Présidents
121
- CodeTypeOrgane["Offpar"] = "OFFPAR";
122
- // Office parlementaire ou délégation mixte
123
- CodeTypeOrgane["Orgaint"] = "ORGAINT";
124
- // Organisme international
125
- CodeTypeOrgane["Orgextparl"] = "ORGEXTPARL";
126
- // Organisme extra-parlementaire
127
- CodeTypeOrgane["Parpol"] = "PARPOL";
128
- // Parti politique
129
- CodeTypeOrgane["Presrep"] = "PRESREP";
130
- // Présidence de la République
131
- CodeTypeOrgane["Senat"] = "SENAT"; // Sénat
132
- return CodeTypeOrgane;
133
- }({});
134
- var FamSocPro = exports.FamSocPro = /*#__PURE__*/function (FamSocPro) {
135
- FamSocPro["AgriculteursExploitants"] = "Agriculteurs exploitants";
136
- FamSocPro["ArtisansCommer\xE7antsChefsDEntreprises"] = "Artisans, commer\xE7ants, chefs d'entreprises";
137
- FamSocPro["ArtisansCommer\xE7antsEtChefsDEntrepriseAncien"] = "Artisans, commer\xE7ants et chefs d'entreprise";
138
- FamSocPro["AutresPersonnesSansActivit\xE9Professionnelle"] = "Autres personnes sans activit\xE9 professionnelle";
139
- FamSocPro["CadresEtProfessionsIntellectuellesSup\xE9rieures"] = "Cadres et professions intellectuelles sup\xE9rieures";
140
- FamSocPro["Employ\xE9s"] = "Employ\xE9s";
141
- FamSocPro["Ouvriers"] = "Ouvriers";
142
- FamSocPro["ProfessionsInterm\xE9diaires"] = "Professions interm\xE9diaires";
143
- FamSocPro["ProfessionsInterm\xE9diairesAncien"] = "Professions Interm\xE9diaires";
144
- FamSocPro["Retrait\xE9s"] = "Retrait\xE9s";
145
- FamSocPro["SansProfessionD\xE9clar\xE9e"] = "Sans profession d\xE9clar\xE9e";
146
- return FamSocPro;
147
- }({});
148
- var TypeOrgane = exports.TypeOrgane = /*#__PURE__*/function (TypeOrgane) {
149
- TypeOrgane["GroupePolitiqueType"] = "GroupePolitique_type";
150
- TypeOrgane["OrganeCirconscriptionType"] = "OrganeCirconscription_type";
151
- TypeOrgane["OrganeExterneType"] = "OrganeExterne_Type";
152
- TypeOrgane["OrganeExtraParlementaireType"] = "OrganeExtraParlementaire_type";
153
- TypeOrgane["OrganeParlementaireInternational"] = "OrganeParlementaireInternational";
154
- TypeOrgane["OrganeParlementaireType"] = "OrganeParlementaire_Type";
155
- return TypeOrgane;
156
- }({});
157
- var CodeNatureDep = exports.CodeNatureDep = /*#__PURE__*/function (CodeNatureDep) {
158
- CodeNatureDep["H"] = "H";
159
- CodeNatureDep["M"] = "M";
160
- CodeNatureDep["O"] = "O";
161
- CodeNatureDep["T"] = "T";
162
- return CodeNatureDep;
163
- }({});
164
- var PositionPolitique = exports.PositionPolitique = /*#__PURE__*/function (PositionPolitique) {
165
- PositionPolitique["Majoritaire"] = "Majoritaire";
166
- PositionPolitique["Minoritaire"] = "Minoritaire";
167
- PositionPolitique["Opposition"] = "Opposition";
168
- return PositionPolitique;
169
- }({});
170
- var Regime = exports.Regime = /*#__PURE__*/function (Regime) {
171
- Regime["Assembl\xE9eConsultativeProvisoire"] = "Assembl\xE9e consultative provisoire";
172
- Regime["Assembl\xE9esNationalesConstituantes"] = "Assembl\xE9es nationales constituantes";
173
- Regime["The3\xC8meR\xE9publique"] = "3\xE8me R\xE9publique";
174
- Regime["The4\xC8meR\xE9publique"] = "4\xE8me R\xE9publique";
175
- Regime["The5\xC8meR\xE9publique"] = "5\xE8me R\xE9publique";
176
- return Regime;
177
- }({});
178
- // Converts JSON strings to/from your types
179
- // and asserts the results of JSON.parse at runtime
180
- var Convert = exports.Convert = /*#__PURE__*/function () {
181
- function Convert() {
182
- _classCallCheck(this, Convert);
183
- }
184
- return _createClass(Convert, null, [{
185
- key: "toActeursEtOrganes",
186
- value: function toActeursEtOrganes(json) {
187
- return cast(JSON.parse(json), r("ActeursEtOrganes"));
188
- }
189
- }, {
190
- key: "acteursEtOrganesToJson",
191
- value: function acteursEtOrganesToJson(value) {
192
- return JSON.stringify(uncast(value, r("ActeursEtOrganes")), null, 2);
193
- }
194
- }, {
195
- key: "toActeur",
196
- value: function toActeur(json) {
197
- return cast(JSON.parse(json), r("Acteur"));
198
- }
199
- }, {
200
- key: "acteurToJson",
201
- value: function acteurToJson(value) {
202
- return JSON.stringify(uncast(value, r("Acteur")), null, 2);
203
- }
204
- }, {
205
- key: "toOrgane",
206
- value: function toOrgane(json) {
207
- return cast(JSON.parse(json), r("Organe"));
208
- }
209
- }, {
210
- key: "organeToJson",
211
- value: function organeToJson(value) {
212
- return JSON.stringify(uncast(value, r("Organe")), null, 2);
213
- }
214
- }]);
215
- }();
216
- function invalidValue(typ, val) {
217
- var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
218
- if (key) {
219
- throw Error("Invalid value for key \"".concat(key, "\". Expected type ").concat(JSON.stringify(typ), " but got ").concat(JSON.stringify(val)));
220
- }
221
- throw Error("Invalid value ".concat(JSON.stringify(val), " for type ").concat(JSON.stringify(typ)));
222
- }
223
- function jsonToJSProps(typ) {
224
- if (typ.jsonToJS === undefined) {
225
- var map = {};
226
- typ.props.forEach(function (p) {
227
- return map[p.json] = {
228
- key: p.js,
229
- typ: p.typ
230
- };
231
- });
232
- typ.jsonToJS = map;
233
- }
234
- return typ.jsonToJS;
235
- }
236
- function jsToJSONProps(typ) {
237
- if (typ.jsToJSON === undefined) {
238
- var map = {};
239
- typ.props.forEach(function (p) {
240
- return map[p.js] = {
241
- key: p.json,
242
- typ: p.typ
243
- };
244
- });
245
- typ.jsToJSON = map;
246
- }
247
- return typ.jsToJSON;
248
- }
249
- function transform(val, typ, getProps) {
250
- var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
251
- function transformPrimitive(typ, val) {
252
- if (_typeof(typ) === _typeof(val)) return val;
253
- return invalidValue(typ, val, key);
254
- }
255
- function transformUnion(typs, val) {
256
- // val must validate against one typ in typs
257
- var l = typs.length;
258
- for (var i = 0; i < l; i++) {
259
- var _typ = typs[i];
260
- try {
261
- return transform(val, _typ, getProps);
262
- } catch (_) {}
263
- }
264
- return invalidValue(typs, val);
265
- }
266
- function transformEnum(cases, val) {
267
- if (cases.indexOf(val) !== -1) return val;
268
- return invalidValue(cases, val);
269
- }
270
- function transformArray(typ, val) {
271
- // val must be an array with no invalid elements
272
- if (!Array.isArray(val)) return invalidValue("array", val);
273
- return val.map(function (el) {
274
- return transform(el, typ, getProps);
275
- });
276
- }
277
- function transformDate(val) {
278
- if (val === null) {
279
- return null;
280
- }
281
- var d = new Date(val);
282
- if (isNaN(d.valueOf())) {
283
- return invalidValue("Date", val);
284
- }
285
- return d;
286
- }
287
- function transformObject(props, additional, val) {
288
- if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
289
- return invalidValue("object", val);
290
- }
291
- var result = {};
292
- Object.getOwnPropertyNames(props).forEach(function (key) {
293
- var prop = props[key];
294
- var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
295
- result[prop.key] = transform(v, prop.typ, getProps, prop.key);
296
- });
297
- Object.getOwnPropertyNames(val).forEach(function (key) {
298
- if (!Object.prototype.hasOwnProperty.call(props, key)) {
299
- result[key] = transform(val[key], additional, getProps, key);
300
- }
301
- });
302
- return result;
303
- }
304
- if (typ === "any") return val;
305
- if (typ === null) {
306
- if (val === null) return val;
307
- return invalidValue(typ, val);
308
- }
309
- // if (typ === false) return invalidValue(typ, val)
310
- while (_typeof(typ) === "object" && typ.ref !== undefined) {
311
- typ = typeMap[typ.ref];
312
- }
313
- if (Array.isArray(typ)) return transformEnum(typ, val);
314
- if (_typeof(typ) === "object") {
315
- 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);
316
- }
317
- // Numbers can be parsed by Date but shouldn't be.
318
- if (typ === Date && typeof val !== "number") return transformDate(val);
319
- return transformPrimitive(typ, val);
320
- }
321
- function cast(val, typ) {
322
- return transform(val, typ, jsonToJSProps);
323
- }
324
- function uncast(val, typ) {
325
- return transform(val, typ, jsToJSONProps);
326
- }
327
- function a(typ) {
328
- return {
329
- arrayItems: typ
330
- };
331
- }
332
- function u() {
333
- for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
334
- typs[_key] = arguments[_key];
335
- }
336
- return {
337
- unionMembers: typs
338
- };
339
- }
340
- function o(props, additional) {
341
- return {
342
- props: props,
343
- additional: additional
344
- };
345
- }
346
-
347
- // function m(additional: any) {
348
- // return { props: [], additional }
349
- // }
350
-
351
- function r(name) {
352
- return {
353
- ref: name
354
- };
355
- }
356
- var typeMap = {
357
- ActeursEtOrganes: o([{
358
- json: "organes",
359
- js: "organes",
360
- typ: a(r("Organe"))
361
- }, {
362
- json: "acteurs",
363
- js: "acteurs",
364
- typ: a(r("Acteur"))
365
- }], false),
366
- Acteur: o([{
367
- json: "schemaVersion",
368
- js: "schemaVersion",
369
- typ: u(undefined, "")
370
- }, {
371
- json: "uid",
372
- js: "uid",
373
- typ: ""
374
- }, {
375
- json: "etatCivil",
376
- js: "etatCivil",
377
- typ: r("EtatCivil")
378
- }, {
379
- json: "profession",
380
- js: "profession",
381
- typ: u(undefined, r("Profession"))
382
- }, {
383
- json: "uriHatvp",
384
- js: "uriHatvp",
385
- typ: u(undefined, "")
386
- }, {
387
- json: "adresses",
388
- js: "adresses",
389
- typ: u(undefined, a(u(r("AdresseElectronique"), r("AdressePostale"))))
390
- }, {
391
- json: "mandats",
392
- js: "mandats",
393
- typ: u(undefined, a(r("Mandat")))
394
- }, {
395
- json: "photo",
396
- js: "photo",
397
- typ: u(undefined, r("Photo"))
398
- }, {
399
- json: "deports",
400
- js: "deports",
401
- typ: u(undefined, a(r("Deport")))
402
- }], false),
403
- AdresseElectronique: o([{
404
- json: "xsiType",
405
- js: "xsiType",
406
- typ: ""
407
- }, {
408
- json: "uid",
409
- js: "uid",
410
- typ: ""
411
- }, {
412
- json: "type",
413
- js: "type",
414
- typ: ""
415
- }, {
416
- json: "typeLibelle",
417
- js: "typeLibelle",
418
- typ: ""
419
- }, {
420
- json: "poids",
421
- js: "poids",
422
- typ: u(undefined, "")
423
- }, {
424
- json: "adresseDeRattachement",
425
- js: "adresseDeRattachement",
426
- typ: u(undefined, "")
427
- }, {
428
- json: "valElec",
429
- js: "valElec",
430
- typ: u(undefined, "")
431
- }], false),
432
- AdressePostale: o([{
433
- json: "xsiType",
434
- js: "xsiType",
435
- typ: ""
436
- }, {
437
- json: "uid",
438
- js: "uid",
439
- typ: ""
440
- }, {
441
- json: "type",
442
- js: "type",
443
- typ: ""
444
- }, {
445
- json: "typeLibelle",
446
- js: "typeLibelle",
447
- typ: ""
448
- }, {
449
- json: "poids",
450
- js: "poids",
451
- typ: u(undefined, "")
452
- }, {
453
- json: "intitule",
454
- js: "intitule",
455
- typ: u(undefined, "")
456
- }, {
457
- json: "numeroRue",
458
- js: "numeroRue",
459
- typ: u(undefined, "")
460
- }, {
461
- json: "nomRue",
462
- js: "nomRue",
463
- typ: u(undefined, "")
464
- }, {
465
- json: "complementAdresse",
466
- js: "complementAdresse",
467
- typ: u(undefined, "")
468
- }, {
469
- json: "codePostal",
470
- js: "codePostal",
471
- typ: u(undefined, "")
472
- }, {
473
- json: "ville",
474
- js: "ville",
475
- typ: u(undefined, "")
476
- }], false),
477
- EtatCivil: o([{
478
- json: "ident",
479
- js: "ident",
480
- typ: r("Ident")
481
- }, {
482
- json: "infoNaissance",
483
- js: "infoNaissance",
484
- typ: r("InfoNaissance")
485
- }, {
486
- json: "dateDeces",
487
- js: "dateDeces",
488
- typ: u(undefined, Date)
489
- }], false),
490
- Ident: o([{
491
- json: "civ",
492
- js: "civ",
493
- typ: r("Civ")
494
- }, {
495
- json: "prenom",
496
- js: "prenom",
497
- typ: ""
498
- }, {
499
- json: "nom",
500
- js: "nom",
501
- typ: ""
502
- }, {
503
- json: "alpha",
504
- js: "alpha",
505
- typ: ""
506
- }, {
507
- json: "trigramme",
508
- js: "trigramme",
509
- typ: u(undefined, "")
510
- }], false),
511
- InfoNaissance: o([{
512
- json: "dateNais",
513
- js: "dateNais",
514
- typ: u(undefined, Date)
515
- }, {
516
- json: "villeNais",
517
- js: "villeNais",
518
- typ: u(undefined, "")
519
- }, {
520
- json: "depNais",
521
- js: "depNais",
522
- typ: u(undefined, "")
523
- }, {
524
- json: "paysNais",
525
- js: "paysNais",
526
- typ: u(undefined, "")
527
- }], false),
528
- Mandat: o([{
529
- json: "xsiType",
530
- js: "xsiType",
531
- typ: u(undefined, r("TypeMandat"))
532
- }, {
533
- json: "uid",
534
- js: "uid",
535
- typ: ""
536
- }, {
537
- json: "acteurRef",
538
- js: "acteurRef",
539
- typ: ""
540
- }, {
541
- json: "legislature",
542
- js: "legislature",
543
- typ: u(undefined, "")
544
- }, {
545
- json: "typeOrgane",
546
- js: "typeOrgane",
547
- typ: r("CodeTypeOrgane")
548
- }, {
549
- json: "dateDebut",
550
- js: "dateDebut",
551
- typ: Date
552
- }, {
553
- json: "datePublication",
554
- js: "datePublication",
555
- typ: u(undefined, Date)
556
- }, {
557
- json: "dateFin",
558
- js: "dateFin",
559
- typ: u(undefined, Date)
560
- }, {
561
- json: "preseance",
562
- js: "preseance",
563
- typ: u(undefined, "")
564
- }, {
565
- json: "nominPrincipale",
566
- js: "nominPrincipale",
567
- typ: ""
568
- }, {
569
- json: "infosQualite",
570
- js: "infosQualite",
571
- typ: r("InfosQualite")
572
- }, {
573
- json: "organesRefs",
574
- js: "organesRefs",
575
- typ: a("")
576
- }, {
577
- json: "suppleant",
578
- js: "suppleant",
579
- typ: u(undefined, r("Suppleant"))
580
- }, {
581
- json: "election",
582
- js: "election",
583
- typ: u(undefined, r("Election"))
584
- }, {
585
- json: "mandature",
586
- js: "mandature",
587
- typ: u(undefined, r("Mandature"))
588
- }, {
589
- json: "collaborateurs",
590
- js: "collaborateurs",
591
- typ: u(undefined, a(r("Collaborateur")))
592
- }, {
593
- json: "libelle",
594
- js: "libelle",
595
- typ: u(undefined, "")
596
- }, {
597
- json: "missionSuivanteRef",
598
- js: "missionSuivanteRef",
599
- typ: u(undefined, "")
600
- }, {
601
- json: "missionPrecedenteRef",
602
- js: "missionPrecedenteRef",
603
- typ: u(undefined, "")
604
- }], false),
605
- Collaborateur: o([{
606
- json: "qualite",
607
- js: "qualite",
608
- typ: u(undefined, r("Civ"))
609
- }, {
610
- json: "prenom",
611
- js: "prenom",
612
- typ: ""
613
- }, {
614
- json: "nom",
615
- js: "nom",
616
- typ: ""
617
- }], false),
618
- Election: o([{
619
- json: "lieu",
620
- js: "lieu",
621
- typ: r("Lieu")
622
- }, {
623
- json: "causeMandat",
624
- js: "causeMandat",
625
- typ: u(undefined, "")
626
- }, {
627
- json: "refCirconscription",
628
- js: "refCirconscription",
629
- typ: u(undefined, "")
630
- }], false),
631
- Lieu: o([{
632
- json: "region",
633
- js: "region",
634
- typ: u(undefined, "")
635
- }, {
636
- json: "regionType",
637
- js: "regionType",
638
- typ: u(undefined, r("RegionType"))
639
- }, {
640
- json: "departement",
641
- js: "departement",
642
- typ: u(undefined, "")
643
- }, {
644
- json: "numDepartement",
645
- js: "numDepartement",
646
- typ: u(undefined, "")
647
- }, {
648
- json: "numCirco",
649
- js: "numCirco",
650
- typ: u(undefined, "")
651
- }], false),
652
- InfosQualite: o([{
653
- json: "codeQualite",
654
- js: "codeQualite",
655
- typ: u(undefined, "")
656
- }, {
657
- json: "libQualite",
658
- js: "libQualite",
659
- typ: ""
660
- }, {
661
- json: "libQualiteSex",
662
- js: "libQualiteSex",
663
- typ: u(undefined, "")
664
- }], false),
665
- Mandature: o([{
666
- json: "datePriseFonction",
667
- js: "datePriseFonction",
668
- typ: u(undefined, Date)
669
- }, {
670
- json: "causeFin",
671
- js: "causeFin",
672
- typ: u(undefined, "")
673
- }, {
674
- json: "premiereElection",
675
- js: "premiereElection",
676
- typ: u(undefined, "")
677
- }, {
678
- json: "placeHemicycle",
679
- js: "placeHemicycle",
680
- typ: u(undefined, "")
681
- }, {
682
- json: "mandatRemplaceRef",
683
- js: "mandatRemplaceRef",
684
- typ: u(undefined, "")
685
- }, {
686
- json: "matriculeVote",
687
- js: "matriculeVote",
688
- typ: u(undefined, "")
689
- }], false),
690
- Suppleant: o([{
691
- json: "dateDebut",
692
- js: "dateDebut",
693
- typ: Date
694
- }, {
695
- json: "dateFin",
696
- js: "dateFin",
697
- typ: u(undefined, Date)
698
- }, {
699
- json: "suppleantRef",
700
- js: "suppleantRef",
701
- typ: ""
702
- }], false),
703
- Profession: o([{
704
- json: "libelleCourant",
705
- js: "libelleCourant",
706
- typ: u(undefined, "")
707
- }, {
708
- json: "socProcInsee",
709
- js: "socProcInsee",
710
- typ: r("SocProcInsee")
711
- }], false),
712
- SocProcInsee: o([{
713
- json: "catSocPro",
714
- js: "catSocPro",
715
- typ: u(undefined, "")
716
- }, {
717
- json: "famSocPro",
718
- js: "famSocPro",
719
- typ: u(undefined, r("FamSocPro"))
720
- }], false),
721
- Deport: o([{
722
- json: "uid",
723
- js: "uid",
724
- typ: ""
725
- }, {
726
- json: "chronotag",
727
- js: "chronotag",
728
- typ: ""
729
- }, {
730
- json: "legislature",
731
- js: "legislature",
732
- typ: ""
733
- }, {
734
- json: "refActeur",
735
- js: "refActeur",
736
- typ: ""
737
- }, {
738
- json: "dateCreation",
739
- js: "dateCreation",
740
- typ: Date
741
- }, {
742
- json: "datePublication",
743
- js: "datePublication",
744
- typ: Date
745
- }, {
746
- json: "portee",
747
- js: "portee",
748
- typ: r("CodeEtLibelle")
749
- }, {
750
- json: "lecture",
751
- js: "lecture",
752
- typ: r("CodeEtLibelle")
753
- }, {
754
- json: "instance",
755
- js: "instance",
756
- typ: r("CodeEtLibelle")
757
- }, {
758
- json: "cible",
759
- js: "cible",
760
- typ: r("Cible")
761
- }, {
762
- json: "explication",
763
- js: "explication",
764
- typ: u(undefined, "")
765
- }], false),
766
- Cible: o([{
767
- json: "type",
768
- js: "type",
769
- typ: r("CodeEtLibelle")
770
- }, {
771
- json: "referenceTextuelle",
772
- js: "referenceTextuelle",
773
- typ: ""
774
- }], false),
775
- CodeEtLibelle: o([{
776
- json: "code",
777
- js: "code",
778
- typ: ""
779
- }, {
780
- json: "libelle",
781
- js: "libelle",
782
- typ: ""
783
- }], false),
784
- Organe: o([{
785
- json: "schemaVersion",
786
- js: "schemaVersion",
787
- typ: u(undefined, "")
788
- }, {
789
- json: "xsiType",
790
- js: "xsiType",
791
- typ: u(undefined, r("TypeOrgane"))
792
- }, {
793
- json: "uid",
794
- js: "uid",
795
- typ: ""
796
- }, {
797
- json: "codeType",
798
- js: "codeType",
799
- typ: r("CodeTypeOrgane")
800
- }, {
801
- json: "libelle",
802
- js: "libelle",
803
- typ: ""
804
- }, {
805
- json: "libelleEdition",
806
- js: "libelleEdition",
807
- typ: u(undefined, "")
808
- }, {
809
- json: "libelleAbrege",
810
- js: "libelleAbrege",
811
- typ: ""
812
- }, {
813
- json: "libelleAbrev",
814
- js: "libelleAbrev",
815
- typ: ""
816
- }, {
817
- json: "viMoDe",
818
- js: "viMoDe",
819
- typ: r("ViMoDe")
820
- }, {
821
- json: "organeParentRef",
822
- js: "organeParentRef",
823
- typ: u(undefined, "")
824
- }, {
825
- json: "organePrecedentRef",
826
- js: "organePrecedentRef",
827
- typ: u(undefined, "")
828
- }, {
829
- json: "regime",
830
- js: "regime",
831
- typ: u(undefined, r("Regime"))
832
- }, {
833
- json: "legislature",
834
- js: "legislature",
835
- typ: u(undefined, "")
836
- }, {
837
- json: "secretariat",
838
- js: "secretariat",
839
- typ: u(undefined, r("Secretariat"))
840
- }, {
841
- json: "numero",
842
- js: "numero",
843
- typ: u(undefined, "")
844
- }, {
845
- json: "lieu",
846
- js: "lieu",
847
- typ: u(undefined, r("OrganeLieu"))
848
- }, {
849
- json: "regimeJuridique",
850
- js: "regimeJuridique",
851
- typ: u(undefined, "")
852
- }, {
853
- json: "siteInternet",
854
- js: "siteInternet",
855
- typ: u(undefined, "")
856
- }, {
857
- json: "nombreReunionsAnnuelles",
858
- js: "nombreReunionsAnnuelles",
859
- typ: u(undefined, "")
860
- }, {
861
- json: "positionPolitique",
862
- js: "positionPolitique",
863
- typ: u(undefined, r("PositionPolitique"))
864
- }, {
865
- json: "preseance",
866
- js: "preseance",
867
- typ: u(undefined, "")
868
- }, {
869
- json: "couleurAssociee",
870
- js: "couleurAssociee",
871
- typ: u(undefined, "")
872
- }, {
873
- json: "listePays",
874
- js: "listePays",
875
- typ: u(undefined, a(""))
876
- }], false),
877
- OrganeLieu: o([{
878
- json: "region",
879
- js: "region",
880
- typ: r("Region")
881
- }, {
882
- json: "departement",
883
- js: "departement",
884
- typ: r("Departement")
885
- }], false),
886
- Departement: o([{
887
- json: "codeNatureDep",
888
- js: "codeNatureDep",
889
- typ: u(undefined, r("CodeNatureDep"))
890
- }, {
891
- json: "code",
892
- js: "code",
893
- typ: u(undefined, "")
894
- }, {
895
- json: "libelle",
896
- js: "libelle",
897
- typ: u(undefined, "")
898
- }], false),
899
- Region: o([{
900
- json: "type",
901
- js: "type",
902
- typ: u(undefined, r("RegionType"))
903
- }, {
904
- json: "libelle",
905
- js: "libelle",
906
- typ: u(undefined, "")
907
- }], false),
908
- Secretariat: o([{
909
- json: "secretaire01",
910
- js: "secretaire01",
911
- typ: u(undefined, "")
912
- }, {
913
- json: "secretaire02",
914
- js: "secretaire02",
915
- typ: u(undefined, "")
916
- }], false),
917
- ViMoDe: o([{
918
- json: "dateDebut",
919
- js: "dateDebut",
920
- typ: u(undefined, Date)
921
- }, {
922
- json: "dateAgrement",
923
- js: "dateAgrement",
924
- typ: u(undefined, Date)
925
- }, {
926
- json: "dateFin",
927
- js: "dateFin",
928
- typ: u(undefined, Date)
929
- }], false),
930
- Photo: o([{
931
- json: "chemin",
932
- js: "chemin",
933
- typ: ""
934
- }, {
935
- json: "cheminMosaique",
936
- js: "cheminMosaique",
937
- typ: ""
938
- }, {
939
- json: "hauteur",
940
- js: "hauteur",
941
- typ: 0
942
- }, {
943
- json: "largeur",
944
- js: "largeur",
945
- typ: 0
946
- }, {
947
- json: "xMosaique",
948
- js: "xMosaique",
949
- typ: 0
950
- }, {
951
- json: "yMosaique",
952
- js: "yMosaique",
953
- typ: 0
954
- }], false),
955
- Civ: ["M.", "Mme"],
956
- TypeMandat: ["MandatAvecSuppleant_Type", "MandatMission_Type", "MandatParlementaire_type", "MandatSimple_Type"],
957
- RegionType: ["Collectivités d'outre-mer et Nouvelle-Calédonie", "Dom", "Français établis hors de France", "Métropolitain"],
958
- CodeTypeOrgane: ["API", "ASSEMBLEE", "BUREAU", "CIRCONSCRIPTION", "CJR", "CMP", "CNPE", "CNPS", "COMNL", "COMPER", "COMSENAT", "COMSPSENAT", "CONFPT", "CONSTITU", "DELEG", "DELEGBUREAU", "DELEGSENAT", "GA", "GE", "GEVI", "GOUVERNEMENT", "GP", "GROUPESENAT", "HCJ", "MINISTERE", "MISEVAL", "MISINFO", "MISINFOCOM", "MISINFOPRE", "OFFPAR", "ORGAINT", "ORGEXTPARL", "PARPOL", "PRESREP", "SENAT"],
959
- FamSocPro: ["Agriculteurs exploitants", "Artisans, commerçants et chefs d'entreprise", "Artisans, commerçants, chefs d'entreprises", "Autres personnes sans activité professionnelle", "Cadres et professions intellectuelles supérieures", "Employés", "Ouvriers", "Professions Intermédiaires", "Professions intermédiaires", "Retraités", "Sans profession déclarée"],
960
- TypeOrgane: ["GroupePolitique_type", "OrganeCirconscription_type", "OrganeExterne_Type", "OrganeExtraParlementaire_type", "OrganeParlementaireInternational", "OrganeParlementaire_Type"],
961
- CodeNatureDep: ["H", "M", "O", "T"],
962
- PositionPolitique: ["Majoritaire", "Minoritaire", "Opposition"],
963
- Regime: ["Assemblée consultative provisoire", "Assemblées nationales constituantes", "3ème République", "4ème République", "5ème République"]
964
- };
965
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaXYiLCJleHBvcnRzIiwiVHlwZU1hbmRhdCIsIlJlZ2lvblR5cGUiLCJDb2RlVHlwZU9yZ2FuZSIsIkZhbVNvY1BybyIsIlR5cGVPcmdhbmUiLCJDb2RlTmF0dXJlRGVwIiwiUG9zaXRpb25Qb2xpdGlxdWUiLCJSZWdpbWUiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b0FjdGV1cnNFdE9yZ2FuZXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJhY3RldXJzRXRPcmdhbmVzVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9BY3RldXIiLCJhY3RldXJUb0pzb24iLCJ0b09yZ2FuZSIsIm9yZ2FuZVRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiY29uY2F0IiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJfdHlwZW9mIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwicmVmIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJhIiwidSIsIl9sZW4iLCJfa2V5IiwibyIsIm5hbWUiLCJBY3RldXJzRXRPcmdhbmVzIiwiQWN0ZXVyIiwiQWRyZXNzZUVsZWN0cm9uaXF1ZSIsIkFkcmVzc2VQb3N0YWxlIiwiRXRhdENpdmlsIiwiSWRlbnQiLCJJbmZvTmFpc3NhbmNlIiwiTWFuZGF0IiwiQ29sbGFib3JhdGV1ciIsIkVsZWN0aW9uIiwiTGlldSIsIkluZm9zUXVhbGl0ZSIsIk1hbmRhdHVyZSIsIlN1cHBsZWFudCIsIlByb2Zlc3Npb24iLCJTb2NQcm9jSW5zZWUiLCJEZXBvcnQiLCJDaWJsZSIsIkNvZGVFdExpYmVsbGUiLCJPcmdhbmUiLCJPcmdhbmVMaWV1IiwiRGVwYXJ0ZW1lbnQiLCJSZWdpb24iLCJTZWNyZXRhcmlhdCIsIlZpTW9EZSIsIlBob3RvIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBBY3RldXIsIE9yZ2FuZSwgQWN0ZXVyc0V0T3JnYW5lcyB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IGFjdGV1ciA9IENvbnZlcnQudG9BY3RldXIoanNvbik7XG4vLyAgIGNvbnN0IG9yZ2FuZSA9IENvbnZlcnQudG9PcmdhbmUoanNvbik7XG4vLyAgIGNvbnN0IGFjdGV1cnNFdE9yZ2FuZXMgPSBDb252ZXJ0LnRvQWN0ZXVyc0V0T3JnYW5lcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGV1cnNFdE9yZ2FuZXMge1xuICBvcmdhbmVzOiBPcmdhbmVbXVxuICBhY3RldXJzOiBBY3RldXJbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGV1ciB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgZXRhdENpdmlsOiBFdGF0Q2l2aWxcbiAgcHJvZmVzc2lvbj86IFByb2Zlc3Npb25cbiAgdXJpSGF0dnA/OiBzdHJpbmdcbiAgYWRyZXNzZXM/OiBBZHJlc3NlW11cbiAgbWFuZGF0cz86IE1hbmRhdFtdXG4gIHBob3RvPzogUGhvdG9cbiAgZGVwb3J0cz86IERlcG9ydFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXRhdENpdmlsIHtcbiAgaWRlbnQ6IElkZW50XG4gIGluZm9OYWlzc2FuY2U6IEluZm9OYWlzc2FuY2VcbiAgZGF0ZURlY2VzPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50IHtcbiAgY2l2OiBDaXZcbiAgcHJlbm9tOiBzdHJpbmdcbiAgbm9tOiBzdHJpbmdcbiAgYWxwaGE6IHN0cmluZ1xuICB0cmlncmFtbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgTSA9IFwiTS5cIixcbiAgTW1lID0gXCJNbWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvTmFpc3NhbmNlIHtcbiAgZGF0ZU5haXM/OiBEYXRlXG4gIHZpbGxlTmFpcz86IHN0cmluZ1xuICBkZXBOYWlzPzogc3RyaW5nXG4gIHBheXNOYWlzPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEFkcmVzc2UgPSBBZHJlc3NlRWxlY3Ryb25pcXVlIHwgQWRyZXNzZVBvc3RhbGVcblxuZXhwb3J0IGludGVyZmFjZSBBZHJlc3NlRWxlY3Ryb25pcXVlIHtcbiAgeHNpVHlwZTpcbiAgICB8IFwiQWRyZXNzZU1haWxfVHlwZVwiXG4gICAgfCBcIkFkcmVzc2VTaXRlV2ViX1R5cGVcIlxuICAgIHwgXCJBZHJlc3NlVGVsZXBob25pcXVlX1R5cGVcIlxuICB1aWQ6IHN0cmluZ1xuICB0eXBlOiBzdHJpbmdcbiAgdHlwZUxpYmVsbGU6IHN0cmluZ1xuICBwb2lkcz86IHN0cmluZ1xuICBhZHJlc3NlRGVSYXR0YWNoZW1lbnQ/OiBzdHJpbmdcbiAgdmFsRWxlYz86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkcmVzc2VQb3N0YWxlIHtcbiAgeHNpVHlwZTogXCJBZHJlc3NlUG9zdGFsZV9UeXBlXCJcbiAgdWlkOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIHR5cGVMaWJlbGxlOiBzdHJpbmdcbiAgcG9pZHM/OiBzdHJpbmdcbiAgaW50aXR1bGU/OiBzdHJpbmdcbiAgbnVtZXJvUnVlPzogc3RyaW5nXG4gIG5vbVJ1ZT86IHN0cmluZ1xuICBjb21wbGVtZW50QWRyZXNzZT86IHN0cmluZ1xuICBjb2RlUG9zdGFsPzogc3RyaW5nXG4gIHZpbGxlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuZGF0IHtcbiAgeHNpVHlwZT86IFR5cGVNYW5kYXRcbiAgdWlkOiBzdHJpbmdcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU/OiBzdHJpbmdcbiAgdHlwZU9yZ2FuZTogQ29kZVR5cGVPcmdhbmVcbiAgZGF0ZURlYnV0OiBEYXRlXG4gIGRhdGVQdWJsaWNhdGlvbj86IERhdGVcbiAgZGF0ZUZpbj86IERhdGVcbiAgcHJlc2VhbmNlPzogc3RyaW5nXG4gIG5vbWluUHJpbmNpcGFsZTogc3RyaW5nXG4gIGluZm9zUXVhbGl0ZTogSW5mb3NRdWFsaXRlXG4gIG9yZ2FuZXNSZWZzOiBzdHJpbmdbXVxuICBvcmdhbmVzPzogT3JnYW5lW10gLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgc3VwcGxlYW50PzogU3VwcGxlYW50XG4gIGVsZWN0aW9uPzogRWxlY3Rpb25cbiAgbWFuZGF0dXJlPzogTWFuZGF0dXJlXG4gIGNvbGxhYm9yYXRldXJzPzogQ29sbGFib3JhdGV1cltdXG4gIGxpYmVsbGU/OiBzdHJpbmdcbiAgbWlzc2lvblN1aXZhbnRlUmVmPzogc3RyaW5nXG4gIG1pc3Npb25QcmVjZWRlbnRlUmVmPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVNYW5kYXQge1xuICBNYW5kYXRBdmVjU3VwcGxlYW50VHlwZSA9IFwiTWFuZGF0QXZlY1N1cHBsZWFudF9UeXBlXCIsXG4gIE1hbmRhdE1pc3Npb25UeXBlID0gXCJNYW5kYXRNaXNzaW9uX1R5cGVcIixcbiAgTWFuZGF0UGFybGVtZW50YWlyZVR5cGUgPSBcIk1hbmRhdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICBNYW5kYXRTaW1wbGVUeXBlID0gXCJNYW5kYXRTaW1wbGVfVHlwZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxhYm9yYXRldXIge1xuICBxdWFsaXRlPzogQ2l2XG4gIHByZW5vbTogc3RyaW5nXG4gIG5vbTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlY3Rpb24ge1xuICBsaWV1OiBMaWV1XG4gIGNhdXNlTWFuZGF0Pzogc3RyaW5nXG4gIHJlZkNpcmNvbnNjcmlwdGlvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZXUge1xuICByZWdpb24/OiBzdHJpbmdcbiAgcmVnaW9uVHlwZT86IFJlZ2lvblR5cGVcbiAgZGVwYXJ0ZW1lbnQ/OiBzdHJpbmdcbiAgbnVtRGVwYXJ0ZW1lbnQ/OiBzdHJpbmdcbiAgbnVtQ2lyY28/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUmVnaW9uVHlwZSB7XG4gIENvbGxlY3Rpdml0w6lzRE91dHJlTWVyRXROb3V2ZWxsZUNhbMOpZG9uaWUgPSBcIkNvbGxlY3Rpdml0w6lzIGQnb3V0cmUtbWVyIGV0IE5vdXZlbGxlLUNhbMOpZG9uaWVcIixcbiAgRG9tID0gXCJEb21cIixcbiAgRnJhbsOnYWlzw4l0YWJsaXNIb3JzRGVGcmFuY2UgPSBcIkZyYW7Dp2FpcyDDqXRhYmxpcyBob3JzIGRlIEZyYW5jZVwiLFxuICBNw6l0cm9wb2xpdGFpbiA9IFwiTcOpdHJvcG9saXRhaW5cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvc1F1YWxpdGUge1xuICBjb2RlUXVhbGl0ZT86IHN0cmluZ1xuICBsaWJRdWFsaXRlOiBzdHJpbmdcbiAgbGliUXVhbGl0ZVNleD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmRhdHVyZSB7XG4gIGRhdGVQcmlzZUZvbmN0aW9uPzogRGF0ZVxuICBjYXVzZUZpbj86IHN0cmluZ1xuICBwcmVtaWVyZUVsZWN0aW9uPzogc3RyaW5nXG4gIHBsYWNlSGVtaWN5Y2xlPzogc3RyaW5nXG4gIG1hbmRhdFJlbXBsYWNlUmVmPzogc3RyaW5nXG4gIG1hdHJpY3VsZVZvdGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdXBwbGVhbnQge1xuICBkYXRlRGVidXQ6IERhdGVcbiAgZGF0ZUZpbj86IERhdGVcbiAgc3VwcGxlYW50UmVmOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ29kZVR5cGVPcmdhbmUge1xuICBBcGkgPSBcIkFQSVwiLCAvLyBBc3NlbWJsw6llIHBhcmxlbWVudGFpcmUgaW50ZXJuYXRpb25hbGVcbiAgQXNzZW1ibGVlID0gXCJBU1NFTUJMRUVcIiwgLy8gQXNzZW1ibMOpZSBuYXRpb25hbGVcbiAgQnVyZWF1ID0gXCJCVVJFQVVcIiwgLy8gQnVyZWF1IGRlIGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcbiAgQ2lyY29uc2NyaXB0aW9uID0gXCJDSVJDT05TQ1JJUFRJT05cIixcbiAgQ2pyID0gXCJDSlJcIiwgLy8gQ291ciBkZSBqdXN0aWNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gIENtcCA9IFwiQ01QXCIsIC8vIENvbW1pc3Npb24gbWl4dGUgcGFyaXRhaXJlLFxuICBDbnBlID0gXCJDTlBFXCIsIC8vIENvbW1pc3Npb24gZCdlbnF1w6p0ZTsgd2hhdCBkb2VzIHRoaXMgYWNyb255bSBtZWFuP1xuICBDbnBzID0gXCJDTlBTXCIsIC8vIENvbW1pc3Npb24gc3DDqWNpYWxlOyB3aGF0IGRvZXMgdGhpcyBhY3JvbnltIG1lYW4/XG4gIENvbW5sID0gXCJDT01OTFwiLCAvLyBDb21taXNzaW9uIHNww6ljaWFsZSBhdXRyZTsgd2hhdCBkb2VzIHRoaXMgYWNyb255bSBtZWFuP1xuICBDb21wZXIgPSBcIkNPTVBFUlwiLCAvLyBDb21taXNzaW9uIHBlcm1hbmVudGVcbiAgQ29tc2VuYXQgPSBcIkNPTVNFTkFUXCIsIC8vIENvbW1pc3Npb24gc8OpbmF0b3JpYWxlXG4gIENvbXNwc2VuYXQgPSBcIkNPTVNQU0VOQVRcIiwgLy8gQ29tbWlzc2lvbiBzcMOpY2lhbGUgc8OpbmF0b3JpYWxlXG4gIENvbmZwdCA9IFwiQ09ORlBUXCIsIC8vIENvbmbDqXJlbmNlIGRlcyBwcsOpc2lkZW50c1xuICBDb25zdGl0dSA9IFwiQ09OU1RJVFVcIiwgLy8gQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgRGVsZWcgPSBcIkRFTEVHXCIsIC8vIETDqWzDqWdhdGlvblxuICBEZWxlZ2J1cmVhdSA9IFwiREVMRUdCVVJFQVVcIiwgLy8gRMOpbMOpZ2F0aW9uIGR1IEJ1cmVhdVxuICBEZWxlZ3NlbmF0ID0gXCJERUxFR1NFTkFUXCIsIC8vIETDqWzDqWdhdGlvbiBzw6luYXRvcmlhbGVcbiAgR2EgPSBcIkdBXCIsIC8vIEdyb3VwZSBkJ2FtaXRpw6lcbiAgR2UgPSBcIkdFXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZXNcbiAgR2V2aSA9IFwiR0VWSVwiLCAvLyBHcm91cGUgZCfDqXR1ZGVzIMOgIHZvY2F0aW9uIGludGVybmF0aW9uYWxlXG4gIEdvdXZlcm5lbWVudCA9IFwiR09VVkVSTkVNRU5UXCIsIC8vIEdvdXZlcm5lbWVudFxuICBHcCA9IFwiR1BcIiwgLy8gR3JvdXBlIHBvbGl0aXF1ZVxuICBHcm91cGVzZW5hdCA9IFwiR1JPVVBFU0VOQVRcIiwgLy8gR3JvdXBlIHPDqW5hdG9yaWFsXG4gIEhjaiA9IFwiSENKXCIsIC8vIEhhdXRlIENvdXIgZGUgSnVzdGljZVxuICBNaW5pc3RlcmUgPSBcIk1JTklTVEVSRVwiLCAvLyBNaW5pc3TDqHJlXG4gIE1pc2V2YWwgPSBcIk1JU0VWQUxcIiwgLy8gTWlzc2lvbiBkJ8OpdmFsdWF0aW9uXG4gIE1pc2luZm8gPSBcIk1JU0lORk9cIiwgLy8gTWlzc2lvbiBkJ2luZm9ybWF0aW9uXG4gIE1pc2luZm9jb20gPSBcIk1JU0lORk9DT01cIiwgLy8gTWlzc2lvbiBkJ2luZm9ybWF0aW9uIGNvbW11bmVcbiAgTWlzaW5mb3ByZSA9IFwiTUlTSU5GT1BSRVwiLCAvLyBNaXNzaW9ucyBk4oCZaW5mb3JtYXRpb24gZGUgbGEgY29uZsOpcmVuY2UgZGVzIFByw6lzaWRlbnRzXG4gIE9mZnBhciA9IFwiT0ZGUEFSXCIsIC8vIE9mZmljZSBwYXJsZW1lbnRhaXJlIG91IGTDqWzDqWdhdGlvbiBtaXh0ZVxuICBPcmdhaW50ID0gXCJPUkdBSU5UXCIsIC8vIE9yZ2FuaXNtZSBpbnRlcm5hdGlvbmFsXG4gIE9yZ2V4dHBhcmwgPSBcIk9SR0VYVFBBUkxcIiwgLy8gT3JnYW5pc21lIGV4dHJhLXBhcmxlbWVudGFpcmVcbiAgUGFycG9sID0gXCJQQVJQT0xcIiwgLy8gUGFydGkgcG9saXRpcXVlXG4gIFByZXNyZXAgPSBcIlBSRVNSRVBcIiwgLy8gUHLDqXNpZGVuY2UgZGUgbGEgUsOpcHVibGlxdWVcbiAgU2VuYXQgPSBcIlNFTkFUXCIsIC8vIFPDqW5hdFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Zlc3Npb24ge1xuICBsaWJlbGxlQ291cmFudD86IHN0cmluZ1xuICBzb2NQcm9jSW5zZWU6IFNvY1Byb2NJbnNlZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvY1Byb2NJbnNlZSB7XG4gIGNhdFNvY1Bybz86IHN0cmluZ1xuICBmYW1Tb2NQcm8/OiBGYW1Tb2NQcm9cbn1cblxuZXhwb3J0IGVudW0gRmFtU29jUHJvIHtcbiAgQWdyaWN1bHRldXJzRXhwbG9pdGFudHMgPSBcIkFncmljdWx0ZXVycyBleHBsb2l0YW50c1wiLFxuICBBcnRpc2Fuc0NvbW1lcsOnYW50c0NoZWZzREVudHJlcHJpc2VzID0gXCJBcnRpc2FucywgY29tbWVyw6dhbnRzLCBjaGVmcyBkJ2VudHJlcHJpc2VzXCIsXG4gIEFydGlzYW5zQ29tbWVyw6dhbnRzRXRDaGVmc0RFbnRyZXByaXNlQW5jaWVuID0gXCJBcnRpc2FucywgY29tbWVyw6dhbnRzIGV0IGNoZWZzIGQnZW50cmVwcmlzZVwiLFxuICBBdXRyZXNQZXJzb25uZXNTYW5zQWN0aXZpdMOpUHJvZmVzc2lvbm5lbGxlID0gXCJBdXRyZXMgcGVyc29ubmVzIHNhbnMgYWN0aXZpdMOpIHByb2Zlc3Npb25uZWxsZVwiLFxuICBDYWRyZXNFdFByb2Zlc3Npb25zSW50ZWxsZWN0dWVsbGVzU3Vww6lyaWV1cmVzID0gXCJDYWRyZXMgZXQgcHJvZmVzc2lvbnMgaW50ZWxsZWN0dWVsbGVzIHN1cMOpcmlldXJlc1wiLFxuICBFbXBsb3nDqXMgPSBcIkVtcGxvecOpc1wiLFxuICBPdXZyaWVycyA9IFwiT3V2cmllcnNcIixcbiAgUHJvZmVzc2lvbnNJbnRlcm3DqWRpYWlyZXMgPSBcIlByb2Zlc3Npb25zIGludGVybcOpZGlhaXJlc1wiLFxuICBQcm9mZXNzaW9uc0ludGVybcOpZGlhaXJlc0FuY2llbiA9IFwiUHJvZmVzc2lvbnMgSW50ZXJtw6lkaWFpcmVzXCIsXG4gIFJldHJhaXTDqXMgPSBcIlJldHJhaXTDqXNcIixcbiAgU2Fuc1Byb2Zlc3Npb25Ew6ljbGFyw6llID0gXCJTYW5zIHByb2Zlc3Npb24gZMOpY2xhcsOpZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcG9ydCB7XG4gIHVpZDogc3RyaW5nXG4gIGNocm9ub3RhZzogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlOiBzdHJpbmdcbiAgcmVmQWN0ZXVyOiBzdHJpbmdcbiAgZGF0ZUNyZWF0aW9uOiBEYXRlXG4gIGRhdGVQdWJsaWNhdGlvbjogRGF0ZVxuICBwb3J0ZWU6IENvZGVFdExpYmVsbGVcbiAgbGVjdHVyZTogQ29kZUV0TGliZWxsZVxuICBpbnN0YW5jZTogQ29kZUV0TGliZWxsZVxuICBjaWJsZTogQ2libGVcbiAgZXhwbGljYXRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaWJsZSB7XG4gIHR5cGU6IENvZGVFdExpYmVsbGVcbiAgcmVmZXJlbmNlVGV4dHVlbGxlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlRXRMaWJlbGxlIHtcbiAgY29kZTogc3RyaW5nXG4gIGxpYmVsbGU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuZSB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgeHNpVHlwZT86IFR5cGVPcmdhbmVcbiAgdWlkOiBzdHJpbmdcbiAgY29kZVR5cGU6IENvZGVUeXBlT3JnYW5lXG4gIGxpYmVsbGU6IHN0cmluZ1xuICBsaWJlbGxlRWRpdGlvbj86IHN0cmluZ1xuICBsaWJlbGxlQWJyZWdlOiBzdHJpbmdcbiAgbGliZWxsZUFicmV2OiBzdHJpbmdcbiAgdmlNb0RlOiBWaU1vRGVcbiAgb3JnYW5lUGFyZW50UmVmPzogc3RyaW5nIC8vIFJlbmFtZWQgYnkgVHJpY290ZXVzZXNcbiAgb3JnYW5lUGFyZW50PzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIG9yZ2FuZVByZWNlZGVudFJlZj86IHN0cmluZ1xuICBvcmdhbmVQcmVjZWRlbnQ/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgcmVnaW1lPzogUmVnaW1lXG4gIGxlZ2lzbGF0dXJlPzogc3RyaW5nXG4gIHNlY3JldGFyaWF0PzogU2VjcmV0YXJpYXRcbiAgbnVtZXJvPzogc3RyaW5nXG4gIGxpZXU/OiBPcmdhbmVMaWV1XG4gIHJlZ2ltZUp1cmlkaXF1ZT86IHN0cmluZ1xuICBzaXRlSW50ZXJuZXQ/OiBzdHJpbmdcbiAgbm9tYnJlUmV1bmlvbnNBbm51ZWxsZXM/OiBzdHJpbmdcbiAgcG9zaXRpb25Qb2xpdGlxdWU/OiBQb3NpdGlvblBvbGl0aXF1ZVxuICBwcmVzZWFuY2U/OiBzdHJpbmdcbiAgY291bGV1ckFzc29jaWVlPzogc3RyaW5nXG4gIGxpc3RlUGF5cz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVPcmdhbmUge1xuICBHcm91cGVQb2xpdGlxdWVUeXBlID0gXCJHcm91cGVQb2xpdGlxdWVfdHlwZVwiLFxuICBPcmdhbmVDaXJjb25zY3JpcHRpb25UeXBlID0gXCJPcmdhbmVDaXJjb25zY3JpcHRpb25fdHlwZVwiLFxuICBPcmdhbmVFeHRlcm5lVHlwZSA9IFwiT3JnYW5lRXh0ZXJuZV9UeXBlXCIsXG4gIE9yZ2FuZUV4dHJhUGFybGVtZW50YWlyZVR5cGUgPSBcIk9yZ2FuZUV4dHJhUGFybGVtZW50YWlyZV90eXBlXCIsXG4gIE9yZ2FuZVBhcmxlbWVudGFpcmVJbnRlcm5hdGlvbmFsID0gXCJPcmdhbmVQYXJsZW1lbnRhaXJlSW50ZXJuYXRpb25hbFwiLFxuICBPcmdhbmVQYXJsZW1lbnRhaXJlVHlwZSA9IFwiT3JnYW5lUGFybGVtZW50YWlyZV9UeXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5lTGlldSB7XG4gIHJlZ2lvbjogUmVnaW9uXG4gIGRlcGFydGVtZW50OiBEZXBhcnRlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGFydGVtZW50IHtcbiAgY29kZU5hdHVyZURlcD86IENvZGVOYXR1cmVEZXBcbiAgY29kZT86IHN0cmluZ1xuICBsaWJlbGxlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIENvZGVOYXR1cmVEZXAge1xuICBIID0gXCJIXCIsXG4gIE0gPSBcIk1cIixcbiAgTyA9IFwiT1wiLFxuICBUID0gXCJUXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uIHtcbiAgdHlwZT86IFJlZ2lvblR5cGVcbiAgbGliZWxsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvblBvbGl0aXF1ZSB7XG4gIE1ham9yaXRhaXJlID0gXCJNYWpvcml0YWlyZVwiLFxuICBNaW5vcml0YWlyZSA9IFwiTWlub3JpdGFpcmVcIixcbiAgT3Bwb3NpdGlvbiA9IFwiT3Bwb3NpdGlvblwiLFxufVxuXG5leHBvcnQgZW51bSBSZWdpbWUge1xuICBBc3NlbWJsw6llQ29uc3VsdGF0aXZlUHJvdmlzb2lyZSA9IFwiQXNzZW1ibMOpZSBjb25zdWx0YXRpdmUgcHJvdmlzb2lyZVwiLFxuICBBc3NlbWJsw6llc05hdGlvbmFsZXNDb25zdGl0dWFudGVzID0gXCJBc3NlbWJsw6llcyBuYXRpb25hbGVzIGNvbnN0aXR1YW50ZXNcIixcbiAgVGhlM8OIbWVSw6lwdWJsaXF1ZSA9IFwiM8OobWUgUsOpcHVibGlxdWVcIixcbiAgVGhlNMOIbWVSw6lwdWJsaXF1ZSA9IFwiNMOobWUgUsOpcHVibGlxdWVcIixcbiAgVGhlNcOIbWVSw6lwdWJsaXF1ZSA9IFwiNcOobWUgUsOpcHVibGlxdWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWNyZXRhcmlhdCB7XG4gIHNlY3JldGFpcmUwMT86IHN0cmluZ1xuICBzZWNyZXRhaXJlMDI/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaU1vRGUge1xuICBkYXRlRGVidXQ/OiBEYXRlXG4gIGRhdGVBZ3JlbWVudD86IERhdGVcbiAgZGF0ZUZpbj86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG90byB7XG4gIGNoZW1pbjogc3RyaW5nXG4gIGNoZW1pbk1vc2FpcXVlOiBzdHJpbmdcbiAgaGF1dGV1cjogbnVtYmVyXG4gIGxhcmdldXI6IG51bWJlclxuICB4TW9zYWlxdWU6IG51bWJlclxuICB5TW9zYWlxdWU6IG51bWJlclxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0FjdGV1cnNFdE9yZ2FuZXMoanNvbjogc3RyaW5nKTogQWN0ZXVyc0V0T3JnYW5lcyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkFjdGV1cnNFdE9yZ2FuZXNcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGV1cnNFdE9yZ2FuZXNUb0pzb24odmFsdWU6IEFjdGV1cnNFdE9yZ2FuZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJBY3RldXJzRXRPcmdhbmVzXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9BY3RldXIoanNvbjogc3RyaW5nKTogQWN0ZXVyIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWN0ZXVyXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3RldXJUb0pzb24odmFsdWU6IEFjdGV1cik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFjdGV1clwiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvT3JnYW5lKGpzb246IHN0cmluZyk6IE9yZ2FuZSB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIk9yZ2FuZVwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgb3JnYW5lVG9Kc29uKHZhbHVlOiBPcmdhbmUpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJPcmdhbmVcIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIilcbiAgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBY3RldXJzRXRPcmdhbmVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJvcmdhbmVzXCIsIGpzOiBcIm9yZ2FuZXNcIiwgdHlwOiBhKHIoXCJPcmdhbmVcIikpIH0sXG4gICAgICB7IGpzb246IFwiYWN0ZXVyc1wiLCBqczogXCJhY3RldXJzXCIsIHR5cDogYShyKFwiQWN0ZXVyXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFjdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJldGF0Q2l2aWxcIiwganM6IFwiZXRhdENpdmlsXCIsIHR5cDogcihcIkV0YXRDaXZpbFwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInByb2Zlc3Npb25cIixcbiAgICAgICAganM6IFwicHJvZmVzc2lvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvZmVzc2lvblwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVyaUhhdHZwXCIsIGpzOiBcInVyaUhhdHZwXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWRyZXNzZXNcIixcbiAgICAgICAganM6IFwiYWRyZXNzZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYSh1KHIoXCJBZHJlc3NlRWxlY3Ryb25pcXVlXCIpLCByKFwiQWRyZXNzZVBvc3RhbGVcIikpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm1hbmRhdHNcIiwganM6IFwibWFuZGF0c1wiLCB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJNYW5kYXRcIikpKSB9LFxuICAgICAgeyBqc29uOiBcInBob3RvXCIsIGpzOiBcInBob3RvXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQaG90b1wiKSkgfSxcbiAgICAgIHsganNvbjogXCJkZXBvcnRzXCIsIGpzOiBcImRlcG9ydHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiRGVwb3J0XCIpKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBZHJlc3NlRWxlY3Ryb25pcXVlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZUxpYmVsbGVcIiwganM6IFwidHlwZUxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicG9pZHNcIiwganM6IFwicG9pZHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhZHJlc3NlRGVSYXR0YWNoZW1lbnRcIixcbiAgICAgICAganM6IFwiYWRyZXNzZURlUmF0dGFjaGVtZW50XCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ2YWxFbGVjXCIsIGpzOiBcInZhbEVsZWNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBZHJlc3NlUG9zdGFsZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVMaWJlbGxlXCIsIGpzOiBcInR5cGVMaWJlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInBvaWRzXCIsIGpzOiBcInBvaWRzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaW50aXR1bGVcIiwganM6IFwiaW50aXR1bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9SdWVcIiwganM6IFwibnVtZXJvUnVlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibm9tUnVlXCIsIGpzOiBcIm5vbVJ1ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbXBsZW1lbnRBZHJlc3NlXCIsXG4gICAgICAgIGpzOiBcImNvbXBsZW1lbnRBZHJlc3NlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb2RlUG9zdGFsXCIsIGpzOiBcImNvZGVQb3N0YWxcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ2aWxsZVwiLCBqczogXCJ2aWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEV0YXRDaXZpbDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiaWRlbnRcIiwganM6IFwiaWRlbnRcIiwgdHlwOiByKFwiSWRlbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJpbmZvTmFpc3NhbmNlXCIsIGpzOiBcImluZm9OYWlzc2FuY2VcIiwgdHlwOiByKFwiSW5mb05haXNzYW5jZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVEZWNlc1wiLCBqczogXCJkYXRlRGVjZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY2l2XCIsIGpzOiBcImNpdlwiLCB0eXA6IHIoXCJDaXZcIikgfSxcbiAgICAgIHsganNvbjogXCJwcmVub21cIiwganM6IFwicHJlbm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYWxwaGFcIiwganM6IFwiYWxwaGFcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHJpZ3JhbW1lXCIsIGpzOiBcInRyaWdyYW1tZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9OYWlzc2FuY2U6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRhdGVOYWlzXCIsIGpzOiBcImRhdGVOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwidmlsbGVOYWlzXCIsIGpzOiBcInZpbGxlTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImRlcE5haXNcIiwganM6IFwiZGVwTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInBheXNOYWlzXCIsIGpzOiBcInBheXNOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTWFuZGF0OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVNYW5kYXRcIikpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHlwZU9yZ2FuZVwiLCBqczogXCJ0eXBlT3JnYW5lXCIsIHR5cDogcihcIkNvZGVUeXBlT3JnYW5lXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZURlYnV0XCIsIGpzOiBcImRhdGVEZWJ1dFwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlUHVibGljYXRpb25cIixcbiAgICAgICAganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRmluXCIsIGpzOiBcImRhdGVGaW5cIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZWFuY2VcIiwganM6IFwicHJlc2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibm9taW5QcmluY2lwYWxlXCIsIGpzOiBcIm5vbWluUHJpbmNpcGFsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpbmZvc1F1YWxpdGVcIiwganM6IFwiaW5mb3NRdWFsaXRlXCIsIHR5cDogcihcIkluZm9zUXVhbGl0ZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZXNSZWZzXCIsIGpzOiBcIm9yZ2FuZXNSZWZzXCIsIHR5cDogYShcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInN1cHBsZWFudFwiLCBqczogXCJzdXBwbGVhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlN1cHBsZWFudFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJlbGVjdGlvblwiLCBqczogXCJlbGVjdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRWxlY3Rpb25cIikpIH0sXG4gICAgICB7IGpzb246IFwibWFuZGF0dXJlXCIsIGpzOiBcIm1hbmRhdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWFuZGF0dXJlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvbGxhYm9yYXRldXJzXCIsXG4gICAgICAgIGpzOiBcImNvbGxhYm9yYXRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkNvbGxhYm9yYXRldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWlzc2lvblN1aXZhbnRlUmVmXCIsXG4gICAgICAgIGpzOiBcIm1pc3Npb25TdWl2YW50ZVJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWlzc2lvblByZWNlZGVudGVSZWZcIixcbiAgICAgICAganM6IFwibWlzc2lvblByZWNlZGVudGVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbGxhYm9yYXRldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ2l2XCIpKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFbGVjdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogcihcIkxpZXVcIikgfSxcbiAgICAgIHsganNvbjogXCJjYXVzZU1hbmRhdFwiLCBqczogXCJjYXVzZU1hbmRhdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJlZkNpcmNvbnNjcmlwdGlvblwiLFxuICAgICAgICBqczogXCJyZWZDaXJjb25zY3JpcHRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpZXU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInJlZ2lvblwiLCBqczogXCJyZWdpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJyZWdpb25UeXBlXCIsXG4gICAgICAgIGpzOiBcInJlZ2lvblR5cGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJlZ2lvblR5cGVcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkZXBhcnRlbWVudFwiLCBqczogXCJkZXBhcnRlbWVudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcIm51bURlcGFydGVtZW50XCIsIGpzOiBcIm51bURlcGFydGVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibnVtQ2lyY29cIiwganM6IFwibnVtQ2lyY29cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJbmZvc1F1YWxpdGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVRdWFsaXRlXCIsIGpzOiBcImNvZGVRdWFsaXRlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliUXVhbGl0ZVwiLCBqczogXCJsaWJRdWFsaXRlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYlF1YWxpdGVTZXhcIiwganM6IFwibGliUXVhbGl0ZVNleFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE1hbmRhdHVyZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZVByaXNlRm9uY3Rpb25cIixcbiAgICAgICAganM6IFwiZGF0ZVByaXNlRm9uY3Rpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImNhdXNlRmluXCIsIGpzOiBcImNhdXNlRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicHJlbWllcmVFbGVjdGlvblwiLFxuICAgICAgICBqczogXCJwcmVtaWVyZUVsZWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJwbGFjZUhlbWljeWNsZVwiLCBqczogXCJwbGFjZUhlbWljeWNsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm1hbmRhdFJlbXBsYWNlUmVmXCIsXG4gICAgICAgIGpzOiBcIm1hbmRhdFJlbXBsYWNlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJtYXRyaWN1bGVWb3RlXCIsIGpzOiBcIm1hdHJpY3VsZVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTdXBwbGVhbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRhdGVEZWJ1dFwiLCBqczogXCJkYXRlRGVidXRcIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUZpblwiLCBqczogXCJkYXRlRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwic3VwcGxlYW50UmVmXCIsIGpzOiBcInN1cHBsZWFudFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQcm9mZXNzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQ291cmFudFwiLCBqczogXCJsaWJlbGxlQ291cmFudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvY1Byb2NJbnNlZVwiLCBqczogXCJzb2NQcm9jSW5zZWVcIiwgdHlwOiByKFwiU29jUHJvY0luc2VlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgU29jUHJvY0luc2VlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjYXRTb2NQcm9cIiwganM6IFwiY2F0U29jUHJvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiZmFtU29jUHJvXCIsIGpzOiBcImZhbVNvY1Byb1wiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRmFtU29jUHJvXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlcG9ydDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjaHJvbm90YWdcIiwganM6IFwiY2hyb25vdGFnXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInJlZkFjdGV1clwiLCBqczogXCJyZWZBY3RldXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUNyZWF0aW9uXCIsIGpzOiBcImRhdGVDcmVhdGlvblwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJkYXRlUHVibGljYXRpb25cIiwganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcInBvcnRlZVwiLCBqczogXCJwb3J0ZWVcIiwgdHlwOiByKFwiQ29kZUV0TGliZWxsZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImxlY3R1cmVcIiwganM6IFwibGVjdHVyZVwiLCB0eXA6IHIoXCJDb2RlRXRMaWJlbGxlXCIpIH0sXG4gICAgICB7IGpzb246IFwiaW5zdGFuY2VcIiwganM6IFwiaW5zdGFuY2VcIiwgdHlwOiByKFwiQ29kZUV0TGliZWxsZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImNpYmxlXCIsIGpzOiBcImNpYmxlXCIsIHR5cDogcihcIkNpYmxlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZXhwbGljYXRpb25cIiwganM6IFwiZXhwbGljYXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDaWJsZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidHlwZVwiLCBqczogXCJ0eXBlXCIsIHR5cDogcihcIkNvZGVFdExpYmVsbGVcIikgfSxcbiAgICAgIHsganNvbjogXCJyZWZlcmVuY2VUZXh0dWVsbGVcIiwganM6IFwicmVmZXJlbmNlVGV4dHVlbGxlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvZGVFdExpYmVsbGU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVPcmdhbmVcIikpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjb2RlVHlwZVwiLCBqczogXCJjb2RlVHlwZVwiLCB0eXA6IHIoXCJDb2RlVHlwZU9yZ2FuZVwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlRWRpdGlvblwiLCBqczogXCJsaWJlbGxlRWRpdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVBYnJlZ2VcIiwganM6IFwibGliZWxsZUFicmVnZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQWJyZXZcIiwganM6IFwibGliZWxsZUFicmV2XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZpTW9EZVwiLCBqczogXCJ2aU1vRGVcIiwgdHlwOiByKFwiVmlNb0RlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3JnYW5lUGFyZW50UmVmXCIsXG4gICAgICAgIGpzOiBcIm9yZ2FuZVBhcmVudFJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3JnYW5lUHJlY2VkZW50UmVmXCIsXG4gICAgICAgIGpzOiBcIm9yZ2FuZVByZWNlZGVudFJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVnaW1lXCIsIGpzOiBcInJlZ2ltZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUmVnaW1lXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgICAgIGpzOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzZWNyZXRhcmlhdFwiLFxuICAgICAgICBqczogXCJzZWNyZXRhcmlhdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiU2VjcmV0YXJpYXRcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJudW1lcm9cIiwganM6IFwibnVtZXJvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJPcmdhbmVMaWV1XCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJlZ2ltZUp1cmlkaXF1ZVwiLFxuICAgICAgICBqczogXCJyZWdpbWVKdXJpZGlxdWVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNpdGVJbnRlcm5ldFwiLFxuICAgICAgICBqczogXCJzaXRlSW50ZXJuZXRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm5vbWJyZVJldW5pb25zQW5udWVsbGVzXCIsXG4gICAgICAgIGpzOiBcIm5vbWJyZVJldW5pb25zQW5udWVsbGVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb3NpdGlvblBvbGl0aXF1ZVwiLFxuICAgICAgICBqczogXCJwb3NpdGlvblBvbGl0aXF1ZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUG9zaXRpb25Qb2xpdGlxdWVcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZWFuY2VcIiwganM6IFwicHJlc2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiY291bGV1ckFzc29jaWVlXCIsIGpzOiBcImNvdWxldXJBc3NvY2llZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxpc3RlUGF5c1wiLFxuICAgICAgICBqczogXCJsaXN0ZVBheXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9yZ2FuZUxpZXU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInJlZ2lvblwiLCBqczogXCJyZWdpb25cIiwgdHlwOiByKFwiUmVnaW9uXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGVwYXJ0ZW1lbnRcIiwganM6IFwiZGVwYXJ0ZW1lbnRcIiwgdHlwOiByKFwiRGVwYXJ0ZW1lbnRcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZXBhcnRlbWVudDogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29kZU5hdHVyZURlcFwiLFxuICAgICAgICBqczogXCJjb2RlTmF0dXJlRGVwXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb2RlTmF0dXJlRGVwXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmVnaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJlZ2lvblR5cGVcIikpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgU2VjcmV0YXJpYXQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNlY3JldGFpcmUwMVwiLCBqczogXCJzZWNyZXRhaXJlMDFcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzZWNyZXRhaXJlMDJcIiwganM6IFwic2VjcmV0YWlyZTAyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVmlNb0RlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlRGVidXRcIiwganM6IFwiZGF0ZURlYnV0XCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZUFncmVtZW50XCIsIGpzOiBcImRhdGVBZ3JlbWVudFwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVGaW5cIiwganM6IFwiZGF0ZUZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBob3RvOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaGVtaW5cIiwganM6IFwiY2hlbWluXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNoZW1pbk1vc2FpcXVlXCIsIGpzOiBcImNoZW1pbk1vc2FpcXVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImhhdXRldXJcIiwganM6IFwiaGF1dGV1clwiLCB0eXA6IDAgfSxcbiAgICAgIHsganNvbjogXCJsYXJnZXVyXCIsIGpzOiBcImxhcmdldXJcIiwgdHlwOiAwIH0sXG4gICAgICB7IGpzb246IFwieE1vc2FpcXVlXCIsIGpzOiBcInhNb3NhaXF1ZVwiLCB0eXA6IDAgfSxcbiAgICAgIHsganNvbjogXCJ5TW9zYWlxdWVcIiwganM6IFwieU1vc2FpcXVlXCIsIHR5cDogMCB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENpdjogW1wiTS5cIiwgXCJNbWVcIl0sXG4gIFR5cGVNYW5kYXQ6IFtcbiAgICBcIk1hbmRhdEF2ZWNTdXBwbGVhbnRfVHlwZVwiLFxuICAgIFwiTWFuZGF0TWlzc2lvbl9UeXBlXCIsXG4gICAgXCJNYW5kYXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcIk1hbmRhdFNpbXBsZV9UeXBlXCIsXG4gIF0sXG4gIFJlZ2lvblR5cGU6IFtcbiAgICBcIkNvbGxlY3Rpdml0w6lzIGQnb3V0cmUtbWVyIGV0IE5vdXZlbGxlLUNhbMOpZG9uaWVcIixcbiAgICBcIkRvbVwiLFxuICAgIFwiRnJhbsOnYWlzIMOpdGFibGlzIGhvcnMgZGUgRnJhbmNlXCIsXG4gICAgXCJNw6l0cm9wb2xpdGFpblwiLFxuICBdLFxuICBDb2RlVHlwZU9yZ2FuZTogW1xuICAgIFwiQVBJXCIsXG4gICAgXCJBU1NFTUJMRUVcIixcbiAgICBcIkJVUkVBVVwiLFxuICAgIFwiQ0lSQ09OU0NSSVBUSU9OXCIsXG4gICAgXCJDSlJcIixcbiAgICBcIkNNUFwiLFxuICAgIFwiQ05QRVwiLFxuICAgIFwiQ05QU1wiLFxuICAgIFwiQ09NTkxcIixcbiAgICBcIkNPTVBFUlwiLFxuICAgIFwiQ09NU0VOQVRcIixcbiAgICBcIkNPTVNQU0VOQVRcIixcbiAgICBcIkNPTkZQVFwiLFxuICAgIFwiQ09OU1RJVFVcIixcbiAgICBcIkRFTEVHXCIsXG4gICAgXCJERUxFR0JVUkVBVVwiLFxuICAgIFwiREVMRUdTRU5BVFwiLFxuICAgIFwiR0FcIixcbiAgICBcIkdFXCIsXG4gICAgXCJHRVZJXCIsXG4gICAgXCJHT1VWRVJORU1FTlRcIixcbiAgICBcIkdQXCIsXG4gICAgXCJHUk9VUEVTRU5BVFwiLFxuICAgIFwiSENKXCIsXG4gICAgXCJNSU5JU1RFUkVcIixcbiAgICBcIk1JU0VWQUxcIixcbiAgICBcIk1JU0lORk9cIixcbiAgICBcIk1JU0lORk9DT01cIixcbiAgICBcIk1JU0lORk9QUkVcIixcbiAgICBcIk9GRlBBUlwiLFxuICAgIFwiT1JHQUlOVFwiLFxuICAgIFwiT1JHRVhUUEFSTFwiLFxuICAgIFwiUEFSUE9MXCIsXG4gICAgXCJQUkVTUkVQXCIsXG4gICAgXCJTRU5BVFwiLFxuICBdLFxuICBGYW1Tb2NQcm86IFtcbiAgICBcIkFncmljdWx0ZXVycyBleHBsb2l0YW50c1wiLFxuICAgIFwiQXJ0aXNhbnMsIGNvbW1lcsOnYW50cyBldCBjaGVmcyBkJ2VudHJlcHJpc2VcIixcbiAgICBcIkFydGlzYW5zLCBjb21tZXLDp2FudHMsIGNoZWZzIGQnZW50cmVwcmlzZXNcIixcbiAgICBcIkF1dHJlcyBwZXJzb25uZXMgc2FucyBhY3Rpdml0w6kgcHJvZmVzc2lvbm5lbGxlXCIsXG4gICAgXCJDYWRyZXMgZXQgcHJvZmVzc2lvbnMgaW50ZWxsZWN0dWVsbGVzIHN1cMOpcmlldXJlc1wiLFxuICAgIFwiRW1wbG95w6lzXCIsXG4gICAgXCJPdXZyaWVyc1wiLFxuICAgIFwiUHJvZmVzc2lvbnMgSW50ZXJtw6lkaWFpcmVzXCIsXG4gICAgXCJQcm9mZXNzaW9ucyBpbnRlcm3DqWRpYWlyZXNcIixcbiAgICBcIlJldHJhaXTDqXNcIixcbiAgICBcIlNhbnMgcHJvZmVzc2lvbiBkw6ljbGFyw6llXCIsXG4gIF0sXG4gIFR5cGVPcmdhbmU6IFtcbiAgICBcIkdyb3VwZVBvbGl0aXF1ZV90eXBlXCIsXG4gICAgXCJPcmdhbmVDaXJjb25zY3JpcHRpb25fdHlwZVwiLFxuICAgIFwiT3JnYW5lRXh0ZXJuZV9UeXBlXCIsXG4gICAgXCJPcmdhbmVFeHRyYVBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgIFwiT3JnYW5lUGFybGVtZW50YWlyZUludGVybmF0aW9uYWxcIixcbiAgICBcIk9yZ2FuZVBhcmxlbWVudGFpcmVfVHlwZVwiLFxuICBdLFxuICBDb2RlTmF0dXJlRGVwOiBbXCJIXCIsIFwiTVwiLCBcIk9cIiwgXCJUXCJdLFxuICBQb3NpdGlvblBvbGl0aXF1ZTogW1wiTWFqb3JpdGFpcmVcIiwgXCJNaW5vcml0YWlyZVwiLCBcIk9wcG9zaXRpb25cIl0sXG4gIFJlZ2ltZTogW1xuICAgIFwiQXNzZW1ibMOpZSBjb25zdWx0YXRpdmUgcHJvdmlzb2lyZVwiLFxuICAgIFwiQXNzZW1ibMOpZXMgbmF0aW9uYWxlcyBjb25zdGl0dWFudGVzXCIsXG4gICAgXCIzw6htZSBSw6lwdWJsaXF1ZVwiLFxuICAgIFwiNMOobWUgUsOpcHVibGlxdWVcIixcbiAgICBcIjXDqG1lIFLDqXB1YmxpcXVlXCIsXG4gIF0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUFpQ1lBLEdBQUcsR0FBQUMsT0FBQSxDQUFBRCxHQUFBLDBCQUFIQSxHQUFHO0VBQUhBLEdBQUc7RUFBSEEsR0FBRztFQUFBLE9BQUhBLEdBQUc7QUFBQTtBQUFB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QUcsRUFBRTtFQUFFLENBQUMsQ0FDL0MsRUFDRCxLQUNGLENBQUM7RUFDRDdCLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7RUFDbEJFLFVBQVUsRUFBRSxDQUNWLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLG1CQUFtQixDQUNwQjtFQUNEQyxVQUFVLEVBQUUsQ0FDVixpREFBaUQsRUFDakQsS0FBSyxFQUNMLGlDQUFpQyxFQUNqQyxlQUFlLENBQ2hCO0VBQ0RDLGNBQWMsRUFBRSxDQUNkLEtBQUssRUFDTCxXQUFXLEVBQ1gsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBQ1osSUFBSSxFQUNKLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLElBQUksRUFDSixhQUFhLEVBQ2IsS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLFNBQVMsRUFDVCxZQUFZLEVBQ1osUUFBUSxFQUNSLFNBQVMsRUFDVCxPQUFPLENBQ1I7RUFDREMsU0FBUyxFQUFFLENBQ1QsMEJBQTBCLEVBQzFCLDZDQUE2QyxFQUM3Qyw0Q0FBNEMsRUFDNUMsZ0RBQWdELEVBQ2hELG1EQUFtRCxFQUNuRCxVQUFVLEVBQ1YsVUFBVSxFQUNWLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsV0FBVyxFQUNYLDBCQUEwQixDQUMzQjtFQUNEQyxVQUFVLEVBQUUsQ0FDVixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBQzVCLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBQ2xDLDBCQUEwQixDQUMzQjtFQUNEQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7RUFDbkNDLGlCQUFpQixFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7RUFDL0RDLE1BQU0sRUFBRSxDQUNOLG1DQUFtQyxFQUNuQyxxQ0FBcUMsRUFDckMsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixpQkFBaUI7QUFFckIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==