@tricoteuses/assemblee 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/bugs/acteur-00010/plugin.test.js +2 -2
  2. package/lib/bugs/acteur-00010.js +3 -3
  3. package/lib/bugs/agenda-00002/plugin.test.js +3 -3
  4. package/lib/bugs/agenda-00002.js +5 -5
  5. package/lib/bugs/agenda-00008/plugin.test.js +2 -2
  6. package/lib/bugs/agenda-00008.js +3 -3
  7. package/lib/bugs/agenda-00011/plugin.test.js +6 -6
  8. package/lib/bugs/agenda-00011.js +8 -8
  9. package/lib/bugs.js +11 -11
  10. package/lib/cleaners/index.d.ts +1 -0
  11. package/lib/cleaners/index.js +8 -1
  12. package/lib/cleaners/index.mjs +2 -1
  13. package/lib/cleaners/scrutins.js +2 -1
  14. package/lib/cleaners/scrutins.mjs +3 -2
  15. package/lib/cleaners/textes_loi.d.ts +1 -0
  16. package/lib/cleaners/textes_loi.js +12 -0
  17. package/lib/cleaners/textes_loi.mjs +5 -0
  18. package/lib/cleaners/xml.d.ts +3 -0
  19. package/lib/cleaners/xml.js +13 -1
  20. package/lib/cleaners/xml.mjs +11 -1
  21. package/lib/datasets.d.ts +9 -2
  22. package/lib/datasets.js +24 -3
  23. package/lib/datasets.mjs +24 -3
  24. package/lib/dates.js +3 -3
  25. package/lib/examples/PIONANR5L15B0020/input.d.ts +2 -0
  26. package/lib/examples/PIONANR5L15B0020/input.js +10 -0
  27. package/lib/examples/PIONANR5L15B0020/input.mjs +193 -0
  28. package/lib/examples/PRJLANR5L16B0914/input.d.ts +2 -0
  29. package/lib/examples/PRJLANR5L16B0914/input.js +10 -0
  30. package/lib/examples/PRJLANR5L16B0914/input.mjs +322 -0
  31. package/lib/examples/PRJLANR5L16B2014/input.d.ts +2 -0
  32. package/lib/examples/PRJLANR5L16B2014/input.js +10 -0
  33. package/lib/examples/PRJLANR5L16B2014/input.mjs +577 -0
  34. package/lib/examples/PRJLANR5L16B2424/input.d.ts +2 -0
  35. package/lib/examples/PRJLANR5L16B2424/input.js +10 -0
  36. package/lib/examples/PRJLANR5L16B2424/input.mjs +322 -0
  37. package/lib/examples/PRJLANR5L16B2462/input.d.ts +2 -0
  38. package/lib/examples/PRJLANR5L16B2462/input.js +10 -0
  39. package/lib/examples/PRJLANR5L16B2462/input.mjs +1308 -0
  40. package/lib/loaders.d.ts +5 -0
  41. package/lib/loaders.js +308 -262
  42. package/lib/loaders.mjs +16 -3
  43. package/lib/logger.d.ts +16 -0
  44. package/lib/logger.js +35 -0
  45. package/lib/logger.mjs +26 -0
  46. package/lib/parsers/documents.js +2 -2
  47. package/lib/parsers/textes_lois.d.ts +16 -1
  48. package/lib/parsers/textes_lois.js +733 -28
  49. package/lib/parsers/textes_lois.mjs +587 -22
  50. package/lib/raw_types/acteurs_et_organes.js +1 -1
  51. package/lib/raw_types/agendas.js +1 -1
  52. package/lib/raw_types/amendements.js +1 -1
  53. package/lib/raw_types/debats.js +1 -1
  54. package/lib/raw_types/dossiers_legislatifs.js +1 -1
  55. package/lib/raw_types/questions.js +1 -1
  56. package/lib/raw_types/scrutins.d.ts +18 -13
  57. package/lib/raw_types/scrutins.js +28 -14
  58. package/lib/raw_types/scrutins.mjs +28 -14
  59. package/lib/raw_types/textes_loi.d.ts +93 -0
  60. package/lib/raw_types/textes_loi.js +429 -0
  61. package/lib/raw_types/textes_loi.mjs +378 -0
  62. package/lib/scripts/bugs_helper.js +9 -9
  63. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  64. package/lib/scripts/process_open_dataset.d.ts +17 -0
  65. package/lib/scripts/process_open_dataset.js +302 -0
  66. package/lib/scripts/process_open_dataset.mjs +136 -0
  67. package/lib/scripts/process_textes_loi_dataset.d.ts +7 -0
  68. package/lib/scripts/process_textes_loi_dataset.js +374 -0
  69. package/lib/scripts/process_textes_loi_dataset.mjs +237 -0
  70. package/lib/scripts/raw_types_from_amendements.js +2 -2
  71. package/lib/scripts/reorganize_data.js +1 -1
  72. package/lib/scripts/reorganize_data.mjs +1 -1
  73. package/lib/scripts/retrieve_deputes_photos.js +3 -3
  74. package/lib/scripts/retrieve_documents.js +4 -4
  75. package/lib/scripts/retrieve_open_data.js +41 -279
  76. package/lib/scripts/retrieve_open_data.mjs +13 -126
  77. package/lib/scripts/retrieve_pending_amendments.js +2 -2
  78. package/lib/scripts/retrieve_senateurs_photos.js +2 -2
  79. package/lib/scripts/retrieve_textes_lois.js +2 -2
  80. package/lib/scripts/shared/cli_helpers.d.ts +5 -0
  81. package/lib/scripts/shared/cli_helpers.js +7 -2
  82. package/lib/scripts/shared/cli_helpers.mjs +6 -1
  83. package/lib/scripts/test_iter_load.js +25 -10
  84. package/lib/scripts/test_iter_load.mjs +19 -11
  85. package/lib/scripts/validate_json.js +3 -3
  86. package/lib/types/acteurs_et_organes.js +1 -1
  87. package/lib/types/agendas.js +1 -1
  88. package/lib/types/amendements.js +1 -1
  89. package/lib/types/debats.js +1 -1
  90. package/lib/types/dossiers_legislatifs.js +1 -1
  91. package/lib/types/questions.js +1 -1
  92. package/lib/types/scrutins.d.ts +6 -3
  93. package/lib/types/scrutins.js +13 -7
  94. package/lib/types/scrutins.mjs +13 -7
  95. package/lib/types/textes_loi.d.ts +94 -0
  96. package/lib/types/textes_loi.js +429 -0
  97. package/lib/types/textes_loi.mjs +378 -0
  98. package/package.json +13 -12
  99. package/lib/scripts/retrieve_textes_lois_llm.d.ts +0 -1
  100. package/lib/scripts/retrieve_textes_lois_llm.js +0 -188
  101. package/lib/scripts/retrieve_textes_lois_llm.mjs +0 -85
@@ -616,4 +616,4 @@ var typeMap = {
616
616
  }], false),
617
617
  Decision: ["ADOPTION amendement (main levée) adt", "ADOPTION d’un article (vote à main levée)", "ADOPTION d’un sous-amendement (main levée) ss-adt", "ADOPTION de plusieurs amendements (main levée) adts", "ADOPTION de plusieurs sous-amendements (main levée) ss-adts", "", "REJET d’un amendement (main levée) adt", "REJET d’un article (vote à main levée)", "REJET d’un sous-amendement (main levée) ss-adt", "REJET de plusieurs amendements (main levée) adts", "REJET de plusieurs sous-amendements (main levée) ss-adts", "REJET motion de rejet préalable (main levée)"]
618
618
  };
619
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNpc2lvbiIsImV4cG9ydHMiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b0NvbXB0ZXNSZW5kdXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJjb21wdGVzUmVuZHVzVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9Db21wdGVSZW5kdSIsImNvbXB0ZVJlbmR1VG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwicGFyZW50IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwicHJldHR5VHlwIiwicHJldHR5VHlwZU5hbWUiLCJwYXJlbnRUZXh0IiwiY29uY2F0Iiwia2V5VGV4dCIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiYSIsImpvaW4iLCJfdHlwZW9mIiwibGl0ZXJhbCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVmIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSIsIkNvbXB0ZXNSZW5kdXMiLCJDb21wdGVSZW5kdSIsIkNvbnRlbnUiLCJGaW5TZWFuY2UiLCJPcmF0ZXVycyIsIk9yYXRldXJFbGVtZW50IiwiVGV4dGUiLCJQb2ludCIsIlF1YW50aWVtZXMiLCJNZXRhZG9ubmVlcyIsIlNvbW1haXJlIiwiU29tbWFpcmVFbGVtZW50IiwiVGl0cmVTdHJ1Y3QiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZGViYXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIENvbXB0ZXNSZW5kdXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBjb21wdGVSZW5kdSA9IENvbnZlcnQudG9Db21wdGVzUmVuZHVzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHRlc1JlbmR1cyB7XG4gIGNvbXB0ZXNSZW5kdXM6IENvbXB0ZVJlbmR1W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wdGVSZW5kdSB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgc2VhbmNlUmVmOiBzdHJpbmdcbiAgc2Vzc2lvblJlZjogc3RyaW5nXG4gIG1ldGFkb25uZWVzOiBNZXRhZG9ubmVlc1xuICBjb250ZW51OiBDb250ZW51XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gIHF1YW50aWVtZXM6IFF1YW50aWVtZXNcbiAgb3V2ZXJ0dXJlU2VhbmNlOiBQb2ludFtdIHwgUG9pbnRcbiAgcG9pbnQ6IFBvaW50W10gfCBQb2ludFxuICBmaW5TZWFuY2U/OiBGaW5TZWFuY2VcbiAgcGFyYWdyYXBoZT86IFBvaW50W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5TZWFuY2Uge1xuICBwb2ludDogUG9pbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmF0ZXVycyB7XG4gIG9yYXRldXI6IE9yYXRldXJFbGVtZW50W10gfCBPcmF0ZXVyRWxlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yYXRldXJFbGVtZW50IHtcbiAgbm9tOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBxdWFsaXRlOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZSB7XG4gIF8/OiBzdHJpbmdcbiAgaWRfc3ljZXJvbj86IHN0cmluZ1xuICBzdGltZT86IHN0cmluZ1xuICBzdXA/OiBzdHJpbmdcbiAgbGllbkFkdD86IFRleHRlW10gfCBUZXh0ZVxufVxuXG5leHBvcnQgZW51bSBEZWNpc2lvbiB7XG4gIEFkb3B0aW9uQW1lbmRlbWVudE1haW5MZXbDqWVBZHQgPSBcIkFET1BUSU9OIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgQWRvcHRpb25EVW5BcnRpY2xlVm90ZcOATWFpbkxldsOpZSA9IFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gIEFkb3B0aW9uRFVuU291c0FtZW5kZW1lbnRNYWluTGV2w6llU3NBZHQgPSBcIkFET1BUSU9OIGTigJl1biBzb3VzLWFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBzcy1hZHRcIixcbiAgQWRvcHRpb25EZVBsdXNpZXVyc0FtZW5kZW1lbnRzTWFpbkxldsOpZUFkdHMgPSBcIkFET1BUSU9OIGRlIHBsdXNpZXVycyBhbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIGFkdHNcIixcbiAgQWRvcHRpb25EZVBsdXNpZXVyc1NvdXNBbWVuZGVtZW50c01haW5MZXbDqWVTc0FkdHMgPSBcIkFET1BUSU9OIGRlIHBsdXNpZXVycyBzb3VzLWFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgc3MtYWR0c1wiLFxuICBFbXB0eSA9IFwiXCIsXG4gIFJlamV0RFVuQW1lbmRlbWVudE1haW5MZXbDqWVBZHQgPSBcIlJFSkVUIGTigJl1biBhbWVuZGVtZW50IChtYWluIGxldsOpZSkgYWR0XCIsXG4gIFJlamV0RFVuQXJ0aWNsZVZvdGXDgE1haW5MZXbDqWUgPSBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICBSZWpldERVblNvdXNBbWVuZGVtZW50TWFpbkxldsOpZVNzQWR0ID0gXCJSRUpFVCBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gIFJlamV0RGVQbHVzaWV1cnNBbWVuZGVtZW50c01haW5MZXbDqWVBZHRzID0gXCJSRUpFVCBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gIFJlamV0RGVQbHVzaWV1cnNTb3VzQW1lbmRlbWVudHNNYWluTGV2w6llU3NBZHRzID0gXCJSRUpFVCBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgUmVqZXRNb3Rpb25EZVJlamV0UHLDqWFsYWJsZU1haW5MZXbDqWUgPSBcIlJFSkVUIG1vdGlvbiBkZSByZWpldCBwcsOpYWxhYmxlIChtYWluIGxldsOpZSlcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gIG5pdnBvaW50Pzogc3RyaW5nXG4gIHZhbGV1cl9wdHNvZGo/OiBzdHJpbmdcbiAgb3JkaW5hbF9wcmlzZT86IHN0cmluZ1xuICBpZF9wcmVwYXJhdGlvbj86IHN0cmluZ1xuICBvcmRyZV9hYnNvbHVfc2VhbmNlPzogc3RyaW5nXG4gIGNvZGVfZ3JhbW1haXJlPzogc3RyaW5nXG4gIGNvZGVfc3R5bGU/OiBzdHJpbmdcbiAgY29kZV9wYXJvbGU/OiBzdHJpbmdcbiAgc29tbWFpcmU/OiBzdHJpbmdcbiAgaWRfc3ljZXJvbj86IHN0cmluZ1xuICB2YWxldXI/OiBzdHJpbmdcbiAgb3JhdGV1cnM/OiBPcmF0ZXVycyB8IHN0cmluZ1xuICB0ZXh0ZT86IFRleHRlIHwgc3RyaW5nXG4gIHBhcmFncmFwaGU/OiBQb2ludFtdIHwgUG9pbnRcbiAgaW50ZXJFeHRyYWN0aW9uPzogUG9pbnRbXSB8IFBvaW50XG4gIHBvaW50PzogUG9pbnRbXSB8IFBvaW50XG4gIHN0cnVjdHVyZT86IHN0cmluZ1xuICBpZF9hY3RldXI/OiBzdHJpbmdcbiAgaWRfbWFuZGF0Pzogc3RyaW5nXG4gIGlkX25vbWluYXRpb25fb2U/OiBzdHJpbmdcbiAgaWRfbm9taW5hdGlvbl9vcD86IHN0cmluZ1xuICBvcmF0ZXVyPzogc3RyaW5nXG4gIGJpYmFyZD86IHN0cmluZ1xuICBhcnQ/OiBzdHJpbmdcbiAgYWR0Pzogc3RyaW5nXG4gIHNzYWR0Pzogc3RyaW5nXG4gIHJvbGVkZWJhdD86IHN0cmluZ1xuICBjaGFuZ2VtZW50UHJlc2lkZW5jZT86IFBvaW50XG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbiAgZGVjaXNpb24/OiBEZWNpc2lvblxuICBvdXZlcnR1cmVTZWFuY2U/OiBQb2ludFxuICBub21fb3JhdGV1cj86IHN0cmluZ1xuICBxdWFsaXRlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVhbnRpZW1lcyB7XG4gIGpvdXJuZWU6IHN0cmluZ1xuICBzZXNzaW9uOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZG9ubmVlcyB7XG4gIGRhdGVTZWFuY2U6IHN0cmluZ1xuICBkYXRlU2VhbmNlSm91cjogc3RyaW5nXG4gIG51bVNlYW5jZUpvdXI6IHN0cmluZ1xuICBudW1TZWFuY2U6IHN0cmluZ1xuICB0eXBlQXNzZW1ibGVlOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU6IHN0cmluZ1xuICBzZXNzaW9uOiBzdHJpbmdcbiAgbm9tRmljaGllckpvOiBzdHJpbmdcbiAgdmFsaWRpdGU6IHN0cmluZ1xuICBldGF0OiBzdHJpbmdcbiAgZGlmZnVzaW9uOiBzdHJpbmdcbiAgdmVyc2lvbjogc3RyaW5nXG4gIGVudmlyb25uZW1lbnQ6IHN0cmluZ1xuICBoZXVyZUdlbmVyYXRpb246IERhdGVcbiAgc29tbWFpcmU6IFNvbW1haXJlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29tbWFpcmUge1xuICBwcmVzaWRlbnRTZWFuY2U6IFRleHRlXG4gIHNvbW1haXJlMTogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUzPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUyPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgcGFyYT86IFRleHRlW10gfCBUZXh0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvbW1haXJlRWxlbWVudCB7XG4gIHZhbGV1cl9wdHNfb2RqPzogc3RyaW5nXG4gIHRpdHJlU3RydWN0OiBUaXRyZVN0cnVjdFxuICBwYXJhPzogQXJyYXk8VGV4dGUgfCBzdHJpbmc+IHwgVGV4dGVcbiAgc29tbWFpcmUyPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUzPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgcHJlc2lkZW50U2VhbmNlPzogVGV4dGVbXSB8IFRleHRlXG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXRyZVN0cnVjdCB7XG4gIGlkX3N5Y2Vyb246IHN0cmluZ1xuICBpbnRpdHVsZT86IHN0cmluZ1xuICBzb3VzSW50aXR1bGU/OiBzdHJpbmdcbiAgdHlwZV9kZWJhdD86IHN0cmluZ1xufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0NvbXB0ZXNSZW5kdXMoanNvbjogc3RyaW5nKTogQ29tcHRlc1JlbmR1cyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkNvbXB0ZXNSZW5kdXNcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbXB0ZXNSZW5kdXNUb0pzb24odmFsdWU6IENvbXB0ZXNSZW5kdXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJDb21wdGVzUmVuZHVzXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9Db21wdGVSZW5kdShqc29uOiBzdHJpbmcpOiBDb21wdGVSZW5kdSB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkNvbXB0ZVJlbmR1XCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21wdGVSZW5kdVRvSnNvbih2YWx1ZTogQ29tcHRlUmVuZHUpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJDb21wdGVSZW5kdVwiKSksIG51bGwsIDIpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnksIHBhcmVudDogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgY29uc3QgcHJldHR5VHlwID0gcHJldHR5VHlwZU5hbWUodHlwKVxuICBjb25zdCBwYXJlbnRUZXh0ID0gcGFyZW50ID8gYCBvbiAke3BhcmVudH1gIDogXCJcIlxuICBjb25zdCBrZXlUZXh0ID0ga2V5ID8gYCBmb3Iga2V5IFwiJHtrZXl9XCJgIDogXCJcIlxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSR7a2V5VGV4dH0ke3BhcmVudFRleHR9LiBFeHBlY3RlZCAke3ByZXR0eVR5cH0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgdmFsLFxuICAgICl9YCxcbiAgKVxufVxuXG5mdW5jdGlvbiBwcmV0dHlUeXBlTmFtZSh0eXA6IGFueSk6IHN0cmluZyB7XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHtcbiAgICBpZiAodHlwLmxlbmd0aCA9PT0gMiAmJiB0eXBbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGBhbiBvcHRpb25hbCAke3ByZXR0eVR5cGVOYW1lKHR5cFsxXSl9YFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYG9uZSBvZiBbJHt0eXBcbiAgICAgICAgLm1hcCgoYSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV0dHlUeXBlTmFtZShhKVxuICAgICAgICB9KVxuICAgICAgICAuam9pbihcIiwgXCIpfV1gXG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLmxpdGVyYWwgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0eXAubGl0ZXJhbFxuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlb2YgdHlwXG4gIH1cbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0oXG4gIHZhbDogYW55LFxuICB0eXA6IGFueSxcbiAgZ2V0UHJvcHM6IGFueSxcbiAga2V5OiBhbnkgPSBcIlwiLFxuICBwYXJlbnQ6IGFueSA9IFwiXCIsXG4pOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSwgcGFyZW50KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsLCBrZXksIHBhcmVudClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKFxuICAgICAgY2FzZXMubWFwKChhKSA9PiB7XG4gICAgICAgIHJldHVybiBsKGEpXG4gICAgICB9KSxcbiAgICAgIHZhbCxcbiAgICAgIGtleSxcbiAgICAgIHBhcmVudCxcbiAgICApXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKGwoXCJhcnJheVwiKSwgdmFsLCBrZXksIHBhcmVudClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUobChcIkRhdGVcIiksIHZhbCwga2V5LCBwYXJlbnQpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGwocmVmIHx8IFwib2JqZWN0XCIpLCB2YWwsIGtleSwgcGFyZW50KVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBrZXksIHJlZilcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSwgcmVmKVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSwgcGFyZW50KVxuICB9XG4gIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudClcbiAgbGV0IHJlZjogYW55ID0gdW5kZWZpbmVkXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHJlZiA9IHR5cC5yZWZcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5LCBwYXJlbnQpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gbCh0eXA6IGFueSkge1xuICByZXR1cm4geyBsaXRlcmFsOiB0eXAgfVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgQ29tcHRlc1JlbmR1czogbyhcbiAgICBbeyBqc29uOiBcImNvbXB0ZXNSZW5kdXNcIiwganM6IFwiY29tcHRlc1JlbmR1c1wiLCB0eXA6IGEocihcIkNvbXB0ZVJlbmR1XCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29tcHRlUmVuZHU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJtZXRhZG9ubmVlc1wiLCBqczogXCJtZXRhZG9ubmVlc1wiLCB0eXA6IHIoXCJNZXRhZG9ubmVlc1wiKSB9LFxuICAgICAgeyBqc29uOiBcImNvbnRlbnVcIiwganM6IFwiY29udGVudVwiLCB0eXA6IHIoXCJDb250ZW51XCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29udGVudTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicXVhbnRpZW1lc1wiLCBqczogXCJxdWFudGllbWVzXCIsIHR5cDogcihcIlF1YW50aWVtZXNcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvdXZlcnR1cmVTZWFuY2VcIixcbiAgICAgICAganM6IFwib3V2ZXJ0dXJlU2VhbmNlXCIsXG4gICAgICAgIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJmaW5TZWFuY2VcIiwganM6IFwiZmluU2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGaW5TZWFuY2VcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFyYWdyYXBoZVwiLFxuICAgICAgICBqczogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50XCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEZpblNlYW5jZTogbyhbeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogcihcIlBvaW50XCIpIH1dLCBmYWxzZSksXG4gIE9yYXRldXJzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvcmF0ZXVyXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJcIixcbiAgICAgICAgdHlwOiB1KGEocihcIk9yYXRldXJFbGVtZW50XCIpKSwgcihcIk9yYXRldXJFbGVtZW50XCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JhdGV1ckVsZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJfXCIsIGpzOiBcIl9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9zeWNlcm9uXCIsIGpzOiBcImlkX3N5Y2Vyb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzdGltZVwiLCBqczogXCJzdGltZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInN1cFwiLCBqczogXCJzdXBcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJsaWVuQWR0XCIsXG4gICAgICAgIGpzOiBcImxpZW5BZHRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQb2ludDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibml2cG9pbnRcIiwganM6IFwibml2cG9pbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ2YWxldXJfcHRzb2RqXCIsIGpzOiBcInZhbGV1cl9wdHNvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJvcmRpbmFsX3ByaXNlXCIsIGpzOiBcIm9yZGluYWxfcHJpc2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9wcmVwYXJhdGlvblwiLCBqczogXCJpZF9wcmVwYXJhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIixcbiAgICAgICAganM6IFwib3JkcmVfYWJzb2x1X3NlYW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9ncmFtbWFpcmVcIiwganM6IFwiY29kZV9ncmFtbWFpcmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjb2RlX3N0eWxlXCIsIGpzOiBcImNvZGVfc3R5bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjb2RlX3Bhcm9sZVwiLCBqczogXCJjb2RlX3Bhcm9sZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfc3ljZXJvblwiLCBqczogXCJpZF9zeWNlcm9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidmFsZXVyXCIsIGpzOiBcInZhbGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIHR5cDogdShyKFwiT3JhdGV1cnNcIiksIHUoXCJcIiwgdW5kZWZpbmVkKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShyKFwiVGV4dGVcIiksIHUoXCJcIiwgdW5kZWZpbmVkKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIGpzOiBcInBhcmFncmFwaGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbnRlckV4dHJhY3Rpb25cIixcbiAgICAgICAganM6IFwiaW50ZXJFeHRyYWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiUG9pbnRcIikpLCByKFwiUG9pbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicG9pbnRcIixcbiAgICAgICAganM6IFwicG9pbnRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzdHJ1Y3R1cmVcIiwganM6IFwic3RydWN0dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfYWN0ZXVyXCIsIGpzOiBcImlkX2FjdGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkX21hbmRhdFwiLCBqczogXCJpZF9tYW5kYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpZF9ub21pbmF0aW9uX29lXCIsXG4gICAgICAgIGpzOiBcImlkX25vbWluYXRpb25fb2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkX25vbWluYXRpb25fb3BcIixcbiAgICAgICAganM6IFwiaWRfbm9taW5hdGlvbl9vcFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JhdGV1clwiLCBqczogXCJvcmF0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYmliYXJkXCIsIGpzOiBcImJpYmFyZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFydFwiLCBqczogXCJhcnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJhZHRcIiwganM6IFwiYWR0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic3NhZHRcIiwganM6IFwic3NhZHRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJyb2xlZGViYXRcIiwganM6IFwicm9sZWRlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHlwZV9kZWJhdFwiLCBqczogXCJ0eXBlX2RlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2hhbmdlbWVudFByZXNpZGVuY2VcIixcbiAgICAgICAganM6IFwiY2hhbmdlbWVudFByZXNpZGVuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBvaW50XCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZGVjaXNpb25cIiwganM6IFwiZGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRlY2lzaW9uXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm91dmVydHVyZVNlYW5jZVwiLFxuICAgICAgICBqczogXCJvdXZlcnR1cmVTZWFuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBvaW50XCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibm9tX29yYXRldXJcIiwganM6IFwibm9tX29yYXRldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJxdWFsaXRlXCIsIGpzOiBcInF1YWxpdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBRdWFudGllbWVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJqb3VybmVlXCIsIGpzOiBcImpvdXJuZWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblwiLCBqczogXCJzZXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE1ldGFkb25uZWVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlU2VhbmNlXCIsIGpzOiBcImRhdGVTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZUpvdXJcIiwganM6IFwiZGF0ZVNlYW5jZUpvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtU2VhbmNlSm91clwiLCBqczogXCJudW1TZWFuY2VKb3VyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZVwiLCBqczogXCJudW1TZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZUFzc2VtYmxlZVwiLCBqczogXCJ0eXBlQXNzZW1ibGVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25cIiwganM6IFwic2Vzc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21GaWNoaWVySm9cIiwganM6IFwibm9tRmljaGllckpvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZhbGlkaXRlXCIsIGpzOiBcInZhbGlkaXRlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJkaWZmdXNpb25cIiwganM6IFwiZGlmZnVzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZlcnNpb25cIiwganM6IFwidmVyc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJlbnZpcm9ubmVtZW50XCIsIGpzOiBcImVudmlyb25uZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaGV1cmVHZW5lcmF0aW9uXCIsIGpzOiBcImhldXJlR2VuZXJhdGlvblwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJzb21tYWlyZVwiLCBqczogXCJzb21tYWlyZVwiLCB0eXA6IHIoXCJTb21tYWlyZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvbW1haXJlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJwcmVzaWRlbnRTZWFuY2VcIiwganM6IFwicHJlc2lkZW50U2VhbmNlXCIsIHR5cDogcihcIlRleHRlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic29tbWFpcmUxXCIsXG4gICAgICAgIGpzOiBcInNvbW1haXJlMVwiLFxuICAgICAgICB0eXA6IHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlM1wiLFxuICAgICAgICBqczogXCJzb21tYWlyZTNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlMlwiLFxuICAgICAgICBqczogXCJzb21tYWlyZTJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcmFcIixcbiAgICAgICAganM6IFwicGFyYVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvbW1haXJlRWxlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidmFsZXVyX3B0c19vZGpcIiwganM6IFwidmFsZXVyX3B0c19vZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0aXRyZVN0cnVjdFwiLFxuICAgICAgICBqczogXCJ0aXRyZVN0cnVjdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVGl0cmVTdHJ1Y3RcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhXCIsXG4gICAgICAgIGpzOiBcInBhcmFcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHUocihcIlRleHRlXCIpLCBcIlwiKSksIHIoXCJUZXh0ZVwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzb21tYWlyZTJcIixcbiAgICAgICAganM6IFwic29tbWFpcmUyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzb21tYWlyZTNcIixcbiAgICAgICAganM6IFwic29tbWFpcmUzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwcmVzaWRlbnRTZWFuY2VcIixcbiAgICAgICAganM6IFwicHJlc2lkZW50U2VhbmNlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZV9kZWJhdFwiLCBqczogXCJ0eXBlX2RlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVTdHJ1Y3Q6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpbnRpdHVsZVwiLCBqczogXCJpbnRpdHVsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvdXNJbnRpdHVsZVwiLCBqczogXCJzb3VzSW50aXR1bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZWNpc2lvbjogW1xuICAgIFwiQURPUFRJT04gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICAgIFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gICAgXCJBRE9QVElPTiBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgICBcIlwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgICBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIHNvdXMtYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIHNzLWFkdFwiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIHNvdXMtYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBzcy1hZHRzXCIsXG4gICAgXCJSRUpFVCBtb3Rpb24gZGUgcmVqZXQgcHLDqWFsYWJsZSAobWFpbiBsZXbDqWUpXCIsXG4gIF0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUE2Q1lBLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBO0FBbUdwQjtBQUNBO0FBQUEsSUFDYUUsT0FBTyxHQUFBRCxPQUFBLENBQUFDLE9BQUE7RUFBQSxTQUFBQSxRQUFBO0lBQUFDLGVBQUEsT0FBQUQsT0FBQTtFQUFBO0VBQUEsT0FBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNsQixTQUFBQyxnQkFBOEJDLElBQVksRUFBaUI7TUFDekQsT0FBT0MsSUFBSSxDQUFDQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEVBQUVJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuRDtFQUFDO0lBQUFQLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUFP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
619
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNpc2lvbiIsImV4cG9ydHMiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b0NvbXB0ZXNSZW5kdXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJjb21wdGVzUmVuZHVzVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9Db21wdGVSZW5kdSIsImNvbXB0ZVJlbmR1VG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwicGFyZW50IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwicHJldHR5VHlwIiwicHJldHR5VHlwZU5hbWUiLCJwYXJlbnRUZXh0IiwiY29uY2F0Iiwia2V5VGV4dCIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiYSIsImpvaW4iLCJfdHlwZW9mIiwibGl0ZXJhbCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVmIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSIsIkNvbXB0ZXNSZW5kdXMiLCJDb21wdGVSZW5kdSIsIkNvbnRlbnUiLCJGaW5TZWFuY2UiLCJPcmF0ZXVycyIsIk9yYXRldXJFbGVtZW50IiwiVGV4dGUiLCJQb2ludCIsIlF1YW50aWVtZXMiLCJNZXRhZG9ubmVlcyIsIlNvbW1haXJlIiwiU29tbWFpcmVFbGVtZW50IiwiVGl0cmVTdHJ1Y3QiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZGViYXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIENvbXB0ZXNSZW5kdXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBjb21wdGVSZW5kdSA9IENvbnZlcnQudG9Db21wdGVzUmVuZHVzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHRlc1JlbmR1cyB7XG4gIGNvbXB0ZXNSZW5kdXM6IENvbXB0ZVJlbmR1W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wdGVSZW5kdSB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgdWlkOiBzdHJpbmdcbiAgc2VhbmNlUmVmOiBzdHJpbmdcbiAgc2Vzc2lvblJlZjogc3RyaW5nXG4gIG1ldGFkb25uZWVzOiBNZXRhZG9ubmVlc1xuICBjb250ZW51OiBDb250ZW51XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudSB7XG4gIHF1YW50aWVtZXM6IFF1YW50aWVtZXNcbiAgb3V2ZXJ0dXJlU2VhbmNlOiBQb2ludFtdIHwgUG9pbnRcbiAgcG9pbnQ6IFBvaW50W10gfCBQb2ludFxuICBmaW5TZWFuY2U/OiBGaW5TZWFuY2VcbiAgcGFyYWdyYXBoZT86IFBvaW50W11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5TZWFuY2Uge1xuICBwb2ludDogUG9pbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmF0ZXVycyB7XG4gIG9yYXRldXI6IE9yYXRldXJFbGVtZW50W10gfCBPcmF0ZXVyRWxlbWVudFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yYXRldXJFbGVtZW50IHtcbiAgbm9tOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBxdWFsaXRlOiBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZSB7XG4gIF8/OiBzdHJpbmdcbiAgaWRfc3ljZXJvbj86IHN0cmluZ1xuICBzdGltZT86IHN0cmluZ1xuICBzdXA/OiBzdHJpbmdcbiAgbGllbkFkdD86IFRleHRlW10gfCBUZXh0ZVxufVxuXG5leHBvcnQgZW51bSBEZWNpc2lvbiB7XG4gIEFkb3B0aW9uQW1lbmRlbWVudE1haW5MZXbDqWVBZHQgPSBcIkFET1BUSU9OIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgQWRvcHRpb25EVW5BcnRpY2xlVm90ZcOATWFpbkxldsOpZSA9IFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gIEFkb3B0aW9uRFVuU291c0FtZW5kZW1lbnRNYWluTGV2w6llU3NBZHQgPSBcIkFET1BUSU9OIGTigJl1biBzb3VzLWFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBzcy1hZHRcIixcbiAgQWRvcHRpb25EZVBsdXNpZXVyc0FtZW5kZW1lbnRzTWFpbkxldsOpZUFkdHMgPSBcIkFET1BUSU9OIGRlIHBsdXNpZXVycyBhbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIGFkdHNcIixcbiAgQWRvcHRpb25EZVBsdXNpZXVyc1NvdXNBbWVuZGVtZW50c01haW5MZXbDqWVTc0FkdHMgPSBcIkFET1BUSU9OIGRlIHBsdXNpZXVycyBzb3VzLWFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgc3MtYWR0c1wiLFxuICBFbXB0eSA9IFwiXCIsXG4gIFJlamV0RFVuQW1lbmRlbWVudE1haW5MZXbDqWVBZHQgPSBcIlJFSkVUIGTigJl1biBhbWVuZGVtZW50IChtYWluIGxldsOpZSkgYWR0XCIsXG4gIFJlamV0RFVuQXJ0aWNsZVZvdGXDgE1haW5MZXbDqWUgPSBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICBSZWpldERVblNvdXNBbWVuZGVtZW50TWFpbkxldsOpZVNzQWR0ID0gXCJSRUpFVCBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gIFJlamV0RGVQbHVzaWV1cnNBbWVuZGVtZW50c01haW5MZXbDqWVBZHRzID0gXCJSRUpFVCBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gIFJlamV0RGVQbHVzaWV1cnNTb3VzQW1lbmRlbWVudHNNYWluTGV2w6llU3NBZHRzID0gXCJSRUpFVCBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgUmVqZXRNb3Rpb25EZVJlamV0UHLDqWFsYWJsZU1haW5MZXbDqWUgPSBcIlJFSkVUIG1vdGlvbiBkZSByZWpldCBwcsOpYWxhYmxlIChtYWluIGxldsOpZSlcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XG4gIG5pdnBvaW50Pzogc3RyaW5nXG4gIHZhbGV1cl9wdHNvZGo/OiBzdHJpbmdcbiAgb3JkaW5hbF9wcmlzZT86IHN0cmluZ1xuICBpZF9wcmVwYXJhdGlvbj86IHN0cmluZ1xuICBvcmRyZV9hYnNvbHVfc2VhbmNlPzogc3RyaW5nXG4gIGNvZGVfZ3JhbW1haXJlPzogc3RyaW5nXG4gIGNvZGVfc3R5bGU/OiBzdHJpbmdcbiAgY29kZV9wYXJvbGU/OiBzdHJpbmdcbiAgc29tbWFpcmU/OiBzdHJpbmdcbiAgaWRfc3ljZXJvbj86IHN0cmluZ1xuICB2YWxldXI/OiBzdHJpbmdcbiAgb3JhdGV1cnM/OiBPcmF0ZXVycyB8IHN0cmluZ1xuICB0ZXh0ZT86IFRleHRlIHwgc3RyaW5nXG4gIHBhcmFncmFwaGU/OiBQb2ludFtdIHwgUG9pbnRcbiAgaW50ZXJFeHRyYWN0aW9uPzogUG9pbnRbXSB8IFBvaW50XG4gIHBvaW50PzogUG9pbnRbXSB8IFBvaW50XG4gIHN0cnVjdHVyZT86IHN0cmluZ1xuICBpZF9hY3RldXI/OiBzdHJpbmdcbiAgaWRfbWFuZGF0Pzogc3RyaW5nXG4gIGlkX25vbWluYXRpb25fb2U/OiBzdHJpbmdcbiAgaWRfbm9taW5hdGlvbl9vcD86IHN0cmluZ1xuICBvcmF0ZXVyPzogc3RyaW5nXG4gIGJpYmFyZD86IHN0cmluZ1xuICBhcnQ/OiBzdHJpbmdcbiAgYWR0Pzogc3RyaW5nXG4gIHNzYWR0Pzogc3RyaW5nXG4gIHJvbGVkZWJhdD86IHN0cmluZ1xuICBjaGFuZ2VtZW50UHJlc2lkZW5jZT86IFBvaW50XG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbiAgZGVjaXNpb24/OiBEZWNpc2lvblxuICBvdXZlcnR1cmVTZWFuY2U/OiBQb2ludFxuICBub21fb3JhdGV1cj86IHN0cmluZ1xuICBxdWFsaXRlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVhbnRpZW1lcyB7XG4gIGpvdXJuZWU6IHN0cmluZ1xuICBzZXNzaW9uOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZG9ubmVlcyB7XG4gIGRhdGVTZWFuY2U6IHN0cmluZ1xuICBkYXRlU2VhbmNlSm91cjogc3RyaW5nXG4gIG51bVNlYW5jZUpvdXI6IHN0cmluZ1xuICBudW1TZWFuY2U6IHN0cmluZ1xuICB0eXBlQXNzZW1ibGVlOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU6IHN0cmluZ1xuICBzZXNzaW9uOiBzdHJpbmdcbiAgbm9tRmljaGllckpvOiBzdHJpbmdcbiAgdmFsaWRpdGU6IHN0cmluZ1xuICBldGF0OiBzdHJpbmdcbiAgZGlmZnVzaW9uOiBzdHJpbmdcbiAgdmVyc2lvbjogc3RyaW5nXG4gIGVudmlyb25uZW1lbnQ6IHN0cmluZ1xuICBoZXVyZUdlbmVyYXRpb246IERhdGVcbiAgc29tbWFpcmU6IFNvbW1haXJlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29tbWFpcmUge1xuICBwcmVzaWRlbnRTZWFuY2U6IFRleHRlXG4gIHNvbW1haXJlMTogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUzPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUyPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgcGFyYT86IFRleHRlW10gfCBUZXh0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvbW1haXJlRWxlbWVudCB7XG4gIHZhbGV1cl9wdHNfb2RqPzogc3RyaW5nXG4gIHRpdHJlU3RydWN0OiBUaXRyZVN0cnVjdFxuICBwYXJhPzogQXJyYXk8VGV4dGUgfCBzdHJpbmc+IHwgVGV4dGVcbiAgc29tbWFpcmUyPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgc29tbWFpcmUzPzogU29tbWFpcmVFbGVtZW50W10gfCBTb21tYWlyZUVsZW1lbnRcbiAgcHJlc2lkZW50U2VhbmNlPzogVGV4dGVbXSB8IFRleHRlXG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXRyZVN0cnVjdCB7XG4gIGlkX3N5Y2Vyb246IHN0cmluZ1xuICBpbnRpdHVsZT86IHN0cmluZ1xuICBzb3VzSW50aXR1bGU/OiBzdHJpbmdcbiAgdHlwZV9kZWJhdD86IHN0cmluZ1xufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0NvbXB0ZXNSZW5kdXMoanNvbjogc3RyaW5nKTogQ29tcHRlc1JlbmR1cyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkNvbXB0ZXNSZW5kdXNcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNvbXB0ZXNSZW5kdXNUb0pzb24odmFsdWU6IENvbXB0ZXNSZW5kdXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJDb21wdGVzUmVuZHVzXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9Db21wdGVSZW5kdShqc29uOiBzdHJpbmcpOiBDb21wdGVSZW5kdSB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkNvbXB0ZVJlbmR1XCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21wdGVSZW5kdVRvSnNvbih2YWx1ZTogQ29tcHRlUmVuZHUpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJDb21wdGVSZW5kdVwiKSksIG51bGwsIDIpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnksIHBhcmVudDogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgY29uc3QgcHJldHR5VHlwID0gcHJldHR5VHlwZU5hbWUodHlwKVxuICBjb25zdCBwYXJlbnRUZXh0ID0gcGFyZW50ID8gYCBvbiAke3BhcmVudH1gIDogXCJcIlxuICBjb25zdCBrZXlUZXh0ID0ga2V5ID8gYCBmb3Iga2V5IFwiJHtrZXl9XCJgIDogXCJcIlxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSR7a2V5VGV4dH0ke3BhcmVudFRleHR9LiBFeHBlY3RlZCAke3ByZXR0eVR5cH0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgdmFsLFxuICAgICl9YCxcbiAgKVxufVxuXG5mdW5jdGlvbiBwcmV0dHlUeXBlTmFtZSh0eXA6IGFueSk6IHN0cmluZyB7XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHtcbiAgICBpZiAodHlwLmxlbmd0aCA9PT0gMiAmJiB0eXBbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGBhbiBvcHRpb25hbCAke3ByZXR0eVR5cGVOYW1lKHR5cFsxXSl9YFxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYG9uZSBvZiBbJHt0eXBcbiAgICAgICAgLm1hcCgoYSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV0dHlUeXBlTmFtZShhKVxuICAgICAgICB9KVxuICAgICAgICAuam9pbihcIiwgXCIpfV1gXG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLmxpdGVyYWwgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0eXAubGl0ZXJhbFxuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlb2YgdHlwXG4gIH1cbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0oXG4gIHZhbDogYW55LFxuICB0eXA6IGFueSxcbiAgZ2V0UHJvcHM6IGFueSxcbiAga2V5OiBhbnkgPSBcIlwiLFxuICBwYXJlbnQ6IGFueSA9IFwiXCIsXG4pOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSwgcGFyZW50KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsLCBrZXksIHBhcmVudClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKFxuICAgICAgY2FzZXMubWFwKChhKSA9PiB7XG4gICAgICAgIHJldHVybiBsKGEpXG4gICAgICB9KSxcbiAgICAgIHZhbCxcbiAgICAgIGtleSxcbiAgICAgIHBhcmVudCxcbiAgICApXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKGwoXCJhcnJheVwiKSwgdmFsLCBrZXksIHBhcmVudClcbiAgICByZXR1cm4gdmFsLm1hcCgoZWwpID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRlKHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKVxuICAgIGlmIChpc05hTihkLnZhbHVlT2YoKSkpIHtcbiAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUobChcIkRhdGVcIiksIHZhbCwga2V5LCBwYXJlbnQpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGwocmVmIHx8IFwib2JqZWN0XCIpLCB2YWwsIGtleSwgcGFyZW50KVxuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IHt9XG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgcHJvcCA9IHByb3BzW2tleV1cbiAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpXG4gICAgICAgID8gdmFsW2tleV1cbiAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIHJlc3VsdFtwcm9wLmtleV0gPSB0cmFuc2Zvcm0odiwgcHJvcC50eXAsIGdldFByb3BzLCBrZXksIHJlZilcbiAgICB9KVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHZhbCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZm9ybSh2YWxba2V5XSwgYWRkaXRpb25hbCwgZ2V0UHJvcHMsIGtleSwgcmVmKVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSwgcGFyZW50KVxuICB9XG4gIGlmICh0eXAgPT09IGZhbHNlKSByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudClcbiAgbGV0IHJlZjogYW55ID0gdW5kZWZpbmVkXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHJlZiA9IHR5cC5yZWZcbiAgICB0eXAgPSB0eXBlTWFwW3R5cC5yZWZdXG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodHlwKSkgcmV0dXJuIHRyYW5zZm9ybUVudW0odHlwLCB2YWwpXG4gIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIHR5cC5oYXNPd25Qcm9wZXJ0eShcInVuaW9uTWVtYmVyc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1Vbmlvbih0eXAudW5pb25NZW1iZXJzLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcImFycmF5SXRlbXNcIilcbiAgICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgICAgICA6IGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5LCBwYXJlbnQpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gbCh0eXA6IGFueSkge1xuICByZXR1cm4geyBsaXRlcmFsOiB0eXAgfVxufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gIHJldHVybiB7IGFycmF5SXRlbXM6IHR5cCB9XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgcmV0dXJuIHsgdW5pb25NZW1iZXJzOiB0eXBzIH1cbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICByZXR1cm4geyBwcm9wcywgYWRkaXRpb25hbCB9XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IHJlZjogbmFtZSB9XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgQ29tcHRlc1JlbmR1czogbyhcbiAgICBbeyBqc29uOiBcImNvbXB0ZXNSZW5kdXNcIiwganM6IFwiY29tcHRlc1JlbmR1c1wiLCB0eXA6IGEocihcIkNvbXB0ZVJlbmR1XCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29tcHRlUmVuZHU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25SZWZcIiwganM6IFwic2Vzc2lvblJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJtZXRhZG9ubmVlc1wiLCBqczogXCJtZXRhZG9ubmVlc1wiLCB0eXA6IHIoXCJNZXRhZG9ubmVlc1wiKSB9LFxuICAgICAgeyBqc29uOiBcImNvbnRlbnVcIiwganM6IFwiY29udGVudVwiLCB0eXA6IHIoXCJDb250ZW51XCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ29udGVudTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicXVhbnRpZW1lc1wiLCBqczogXCJxdWFudGllbWVzXCIsIHR5cDogcihcIlF1YW50aWVtZXNcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvdXZlcnR1cmVTZWFuY2VcIixcbiAgICAgICAganM6IFwib3V2ZXJ0dXJlU2VhbmNlXCIsXG4gICAgICAgIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJmaW5TZWFuY2VcIiwganM6IFwiZmluU2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGaW5TZWFuY2VcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFyYWdyYXBoZVwiLFxuICAgICAgICBqczogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50XCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEZpblNlYW5jZTogbyhbeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogcihcIlBvaW50XCIpIH1dLCBmYWxzZSksXG4gIE9yYXRldXJzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvcmF0ZXVyXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJcIixcbiAgICAgICAgdHlwOiB1KGEocihcIk9yYXRldXJFbGVtZW50XCIpKSwgcihcIk9yYXRldXJFbGVtZW50XCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JhdGV1ckVsZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJfXCIsIGpzOiBcIl9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9zeWNlcm9uXCIsIGpzOiBcImlkX3N5Y2Vyb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzdGltZVwiLCBqczogXCJzdGltZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInN1cFwiLCBqczogXCJzdXBcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJsaWVuQWR0XCIsXG4gICAgICAgIGpzOiBcImxpZW5BZHRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJUZXh0ZVwiKSksIHIoXCJUZXh0ZVwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQb2ludDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibml2cG9pbnRcIiwganM6IFwibml2cG9pbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ2YWxldXJfcHRzb2RqXCIsIGpzOiBcInZhbGV1cl9wdHNvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJvcmRpbmFsX3ByaXNlXCIsIGpzOiBcIm9yZGluYWxfcHJpc2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9wcmVwYXJhdGlvblwiLCBqczogXCJpZF9wcmVwYXJhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIixcbiAgICAgICAganM6IFwib3JkcmVfYWJzb2x1X3NlYW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9ncmFtbWFpcmVcIiwganM6IFwiY29kZV9ncmFtbWFpcmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjb2RlX3N0eWxlXCIsIGpzOiBcImNvZGVfc3R5bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjb2RlX3Bhcm9sZVwiLCBqczogXCJjb2RlX3Bhcm9sZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfc3ljZXJvblwiLCBqczogXCJpZF9zeWNlcm9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidmFsZXVyXCIsIGpzOiBcInZhbGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIHR5cDogdShyKFwiT3JhdGV1cnNcIiksIHUoXCJcIiwgdW5kZWZpbmVkKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShyKFwiVGV4dGVcIiksIHUoXCJcIiwgdW5kZWZpbmVkKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIGpzOiBcInBhcmFncmFwaGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbnRlckV4dHJhY3Rpb25cIixcbiAgICAgICAganM6IFwiaW50ZXJFeHRyYWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiUG9pbnRcIikpLCByKFwiUG9pbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicG9pbnRcIixcbiAgICAgICAganM6IFwicG9pbnRcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzdHJ1Y3R1cmVcIiwganM6IFwic3RydWN0dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfYWN0ZXVyXCIsIGpzOiBcImlkX2FjdGV1clwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkX21hbmRhdFwiLCBqczogXCJpZF9tYW5kYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpZF9ub21pbmF0aW9uX29lXCIsXG4gICAgICAgIGpzOiBcImlkX25vbWluYXRpb25fb2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkX25vbWluYXRpb25fb3BcIixcbiAgICAgICAganM6IFwiaWRfbm9taW5hdGlvbl9vcFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JhdGV1clwiLCBqczogXCJvcmF0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYmliYXJkXCIsIGpzOiBcImJpYmFyZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFydFwiLCBqczogXCJhcnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJhZHRcIiwganM6IFwiYWR0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic3NhZHRcIiwganM6IFwic3NhZHRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJyb2xlZGViYXRcIiwganM6IFwicm9sZWRlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHlwZV9kZWJhdFwiLCBqczogXCJ0eXBlX2RlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2hhbmdlbWVudFByZXNpZGVuY2VcIixcbiAgICAgICAganM6IFwiY2hhbmdlbWVudFByZXNpZGVuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBvaW50XCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZGVjaXNpb25cIiwganM6IFwiZGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRlY2lzaW9uXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm91dmVydHVyZVNlYW5jZVwiLFxuICAgICAgICBqczogXCJvdXZlcnR1cmVTZWFuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBvaW50XCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibm9tX29yYXRldXJcIiwganM6IFwibm9tX29yYXRldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJxdWFsaXRlXCIsIGpzOiBcInF1YWxpdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBRdWFudGllbWVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJqb3VybmVlXCIsIGpzOiBcImpvdXJuZWVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblwiLCBqczogXCJzZXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE1ldGFkb25uZWVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlU2VhbmNlXCIsIGpzOiBcImRhdGVTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZUpvdXJcIiwganM6IFwiZGF0ZVNlYW5jZUpvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtU2VhbmNlSm91clwiLCBqczogXCJudW1TZWFuY2VKb3VyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZVwiLCBqczogXCJudW1TZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidHlwZUFzc2VtYmxlZVwiLCBqczogXCJ0eXBlQXNzZW1ibGVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25cIiwganM6IFwic2Vzc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21GaWNoaWVySm9cIiwganM6IFwibm9tRmljaGllckpvXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZhbGlkaXRlXCIsIGpzOiBcInZhbGlkaXRlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImV0YXRcIiwganM6IFwiZXRhdFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJkaWZmdXNpb25cIiwganM6IFwiZGlmZnVzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInZlcnNpb25cIiwganM6IFwidmVyc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJlbnZpcm9ubmVtZW50XCIsIGpzOiBcImVudmlyb25uZW1lbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaGV1cmVHZW5lcmF0aW9uXCIsIGpzOiBcImhldXJlR2VuZXJhdGlvblwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJzb21tYWlyZVwiLCBqczogXCJzb21tYWlyZVwiLCB0eXA6IHIoXCJTb21tYWlyZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvbW1haXJlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJwcmVzaWRlbnRTZWFuY2VcIiwganM6IFwicHJlc2lkZW50U2VhbmNlXCIsIHR5cDogcihcIlRleHRlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic29tbWFpcmUxXCIsXG4gICAgICAgIGpzOiBcInNvbW1haXJlMVwiLFxuICAgICAgICB0eXA6IHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlM1wiLFxuICAgICAgICBqczogXCJzb21tYWlyZTNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlMlwiLFxuICAgICAgICBqczogXCJzb21tYWlyZTJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcmFcIixcbiAgICAgICAganM6IFwicGFyYVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCB1KGEocihcIlRleHRlXCIpKSwgcihcIlRleHRlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvbW1haXJlRWxlbWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidmFsZXVyX3B0c19vZGpcIiwganM6IFwidmFsZXVyX3B0c19vZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0aXRyZVN0cnVjdFwiLFxuICAgICAgICBqczogXCJ0aXRyZVN0cnVjdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVGl0cmVTdHJ1Y3RcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhXCIsXG4gICAgICAgIGpzOiBcInBhcmFcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHUocihcIlRleHRlXCIpLCBcIlwiKSksIHIoXCJUZXh0ZVwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzb21tYWlyZTJcIixcbiAgICAgICAganM6IFwic29tbWFpcmUyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzb21tYWlyZTNcIixcbiAgICAgICAganM6IFwic29tbWFpcmUzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwcmVzaWRlbnRTZWFuY2VcIixcbiAgICAgICAganM6IFwicHJlc2lkZW50U2VhbmNlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYShyKFwiVGV4dGVcIikpLCByKFwiVGV4dGVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZV9kZWJhdFwiLCBqczogXCJ0eXBlX2RlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVTdHJ1Y3Q6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpbnRpdHVsZVwiLCBqczogXCJpbnRpdHVsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvdXNJbnRpdHVsZVwiLCBqczogXCJzb3VzSW50aXR1bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZWNpc2lvbjogW1xuICAgIFwiQURPUFRJT04gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICAgIFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gICAgXCJBRE9QVElPTiBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgICBcIlwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgICBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIHNvdXMtYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIHNzLWFkdFwiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIHNvdXMtYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBzcy1hZHRzXCIsXG4gICAgXCJSRUpFVCBtb3Rpb24gZGUgcmVqZXQgcHLDqWFsYWJsZSAobWFpbiBsZXbDqWUpXCIsXG4gIF0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUE2Q1lBLFFBQVEsR0FBQUMsT0FBQSxDQUFBRCxRQUFBLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBO0FBbUdwQjtBQUNBO0FBQUEsSUFDYUUsT0FBTyxHQUFBRCxPQUFBLENBQUFDLE9BQUE7RUFBQSxTQUFBQSxRQUFBO0lBQUFDLGVBQUEsT0FBQUQsT0FBQTtFQUFBO0VBQUEsT0FBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNsQixTQUFjQyxlQUFlQSxDQUFDQyxJQUFZLEVBQWlCO01BQ3pELE9BQU9DLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLLENBQUNILElBQUksQ0FBQyxFQUFFSSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQ7RUFBQztJQUFBUCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxT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