@tricoteuses/assemblee 1.5.7 → 1.6.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 (147) hide show
  1. package/README.md +15 -0
  2. package/lib/api.js +1 -1
  3. package/lib/api.mjs +1 -1
  4. package/lib/bugs/acteur-00010/plugin.test.js +1 -1
  5. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  6. package/lib/bugs/acteur-00010.js +1 -1
  7. package/lib/bugs/acteur-00010.mjs +1 -1
  8. package/lib/bugs/agenda-00002/plugin.test.js +1 -1
  9. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  10. package/lib/bugs/agenda-00002.js +1 -1
  11. package/lib/bugs/agenda-00002.mjs +1 -1
  12. package/lib/bugs/agenda-00008/plugin.test.js +1 -1
  13. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  14. package/lib/bugs/agenda-00008.js +1 -1
  15. package/lib/bugs/agenda-00008.mjs +1 -1
  16. package/lib/bugs/agenda-00011/plugin.test.js +1 -1
  17. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  18. package/lib/bugs/agenda-00011.js +1 -1
  19. package/lib/bugs/agenda-00011.mjs +1 -1
  20. package/lib/bugs.js +1 -1
  21. package/lib/bugs.mjs +1 -1
  22. package/lib/cleaners/actes_legislatifs.d.ts +1 -0
  23. package/lib/cleaners/actes_legislatifs.js +33 -15
  24. package/lib/cleaners/actes_legislatifs.mjs +32 -15
  25. package/lib/cleaners/acteurs.js +1 -1
  26. package/lib/cleaners/acteurs.mjs +1 -1
  27. package/lib/cleaners/amendements.js +1 -1
  28. package/lib/cleaners/amendements.mjs +1 -1
  29. package/lib/cleaners/debats.js +1 -1
  30. package/lib/cleaners/debats.mjs +1 -1
  31. package/lib/cleaners/documents.js +1 -1
  32. package/lib/cleaners/documents.mjs +1 -1
  33. package/lib/cleaners/dossiers_legislatifs.js +2 -27
  34. package/lib/cleaners/dossiers_legislatifs.mjs +3 -28
  35. package/lib/cleaners/index.js +1 -1
  36. package/lib/cleaners/index.mjs +1 -1
  37. package/lib/cleaners/organes.js +1 -1
  38. package/lib/cleaners/organes.mjs +1 -1
  39. package/lib/cleaners/questions.js +1 -1
  40. package/lib/cleaners/questions.mjs +1 -1
  41. package/lib/cleaners/reunions.js +1 -1
  42. package/lib/cleaners/reunions.mjs +1 -1
  43. package/lib/cleaners/scrutins.js +1 -1
  44. package/lib/cleaners/scrutins.mjs +1 -1
  45. package/lib/cleaners/xml.js +1 -1
  46. package/lib/cleaners/xml.mjs +1 -1
  47. package/lib/datasets.js +1 -1
  48. package/lib/datasets.mjs +1 -1
  49. package/lib/dates.js +1 -1
  50. package/lib/dates.mjs +1 -1
  51. package/lib/dossiers_legislatifs.js +1 -1
  52. package/lib/dossiers_legislatifs.mjs +1 -1
  53. package/lib/file_systems.js +1 -1
  54. package/lib/file_systems.mjs +1 -1
  55. package/lib/git.js +1 -1
  56. package/lib/git.mjs +1 -1
  57. package/lib/index.js +1 -1
  58. package/lib/index.mjs +1 -1
  59. package/lib/inserters.js +1 -1
  60. package/lib/inserters.mjs +1 -1
  61. package/lib/loaders.d.ts +18 -9
  62. package/lib/loaders.js +318 -253
  63. package/lib/loaders.mjs +64 -10
  64. package/lib/organes.js +1 -1
  65. package/lib/organes.mjs +1 -1
  66. package/lib/parsers/documents.js +1 -1
  67. package/lib/parsers/documents.mjs +1 -1
  68. package/lib/parsers/index.js +1 -1
  69. package/lib/parsers/index.mjs +1 -1
  70. package/lib/parsers/recherche_amendements.js +1 -1
  71. package/lib/parsers/recherche_amendements.mjs +1 -1
  72. package/lib/raw_types/acteurs_et_organes.js +1 -1
  73. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  74. package/lib/raw_types/agendas.js +1 -1
  75. package/lib/raw_types/agendas.mjs +1 -1
  76. package/lib/raw_types/amendements.js +1 -1
  77. package/lib/raw_types/amendements.mjs +1 -1
  78. package/lib/raw_types/debats.js +1 -1
  79. package/lib/raw_types/debats.mjs +1 -1
  80. package/lib/raw_types/dossiers_legislatifs.d.ts +17 -9
  81. package/lib/raw_types/dossiers_legislatifs.js +37 -16
  82. package/lib/raw_types/dossiers_legislatifs.mjs +37 -14
  83. package/lib/raw_types/questions.js +1 -1
  84. package/lib/raw_types/questions.mjs +1 -1
  85. package/lib/raw_types/scrutins.js +1 -1
  86. package/lib/raw_types/scrutins.mjs +1 -1
  87. package/lib/scripts/bugs_helper.js +1 -1
  88. package/lib/scripts/bugs_helper.mjs +1 -1
  89. package/lib/scripts/clean_reorganized_data.js +2 -2
  90. package/lib/scripts/clean_reorganized_data.mjs +2 -2
  91. package/lib/scripts/diff_amendements.js +1 -1
  92. package/lib/scripts/diff_amendements.mjs +1 -1
  93. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  94. package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
  95. package/lib/scripts/get_today_reunions.js +1 -1
  96. package/lib/scripts/get_today_reunions.mjs +1 -1
  97. package/lib/scripts/merge_scrutins.js +1 -1
  98. package/lib/scripts/merge_scrutins.mjs +1 -1
  99. package/lib/scripts/parse_textes_lois.js +1 -1
  100. package/lib/scripts/parse_textes_lois.mjs +1 -1
  101. package/lib/scripts/raw_types_from_amendements.js +1 -1
  102. package/lib/scripts/raw_types_from_amendements.mjs +1 -1
  103. package/lib/scripts/reorganize_data.js +68 -61
  104. package/lib/scripts/reorganize_data.mjs +68 -61
  105. package/lib/scripts/retrieve_deputes_photos.js +1 -1
  106. package/lib/scripts/retrieve_deputes_photos.mjs +1 -1
  107. package/lib/scripts/retrieve_documents.js +1 -1
  108. package/lib/scripts/retrieve_documents.mjs +1 -1
  109. package/lib/scripts/retrieve_open_data.js +1 -1
  110. package/lib/scripts/retrieve_open_data.mjs +1 -1
  111. package/lib/scripts/retrieve_pending_amendments.js +1 -1
  112. package/lib/scripts/retrieve_pending_amendments.mjs +1 -1
  113. package/lib/scripts/retrieve_senateurs_photos.js +1 -1
  114. package/lib/scripts/retrieve_senateurs_photos.mjs +1 -1
  115. package/lib/scripts/retrieve_textes_lois.js +1 -1
  116. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  117. package/lib/scripts/test_load.js +1 -1
  118. package/lib/scripts/test_load.mjs +1 -1
  119. package/lib/scripts/test_load_big_files.js +1 -1
  120. package/lib/scripts/test_load_big_files.mjs +1 -1
  121. package/lib/scripts/validate_json.js +1 -1
  122. package/lib/scripts/validate_json.mjs +1 -1
  123. package/lib/shared_types/codes_actes.d.ts +4 -0
  124. package/lib/shared_types/codes_actes.js +5 -1
  125. package/lib/shared_types/codes_actes.mjs +5 -1
  126. package/lib/strings.js +1 -1
  127. package/lib/strings.mjs +1 -1
  128. package/lib/types/acteurs_et_organes.js +1 -1
  129. package/lib/types/acteurs_et_organes.mjs +1 -1
  130. package/lib/types/agendas.js +1 -1
  131. package/lib/types/agendas.mjs +1 -1
  132. package/lib/types/amendements.js +1 -1
  133. package/lib/types/amendements.mjs +1 -1
  134. package/lib/types/debats.js +1 -1
  135. package/lib/types/debats.mjs +1 -1
  136. package/lib/types/dossiers_legislatifs.d.ts +11 -0
  137. package/lib/types/dossiers_legislatifs.js +30 -3
  138. package/lib/types/dossiers_legislatifs.mjs +29 -2
  139. package/lib/types/legislatures.js +1 -1
  140. package/lib/types/legislatures.mjs +1 -1
  141. package/lib/types/questions.js +1 -1
  142. package/lib/types/questions.mjs +1 -1
  143. package/lib/types/scrutins.js +1 -1
  144. package/lib/types/scrutins.mjs +1 -1
  145. package/lib/urls.js +1 -1
  146. package/lib/urls.mjs +1 -1
  147. package/package.json +4 -3
@@ -398,4 +398,4 @@ function _iterRechercheRawAmendements() {
398
398
  });
399
399
  return _iterRechercheRawAmendements.apply(this, arguments);
400
400
  }
401
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZm9ybWF0SVNPIiwiX2ZyIiwiX3BhcnNlIiwiX2RlZXBFcXVhbCIsIl9mc0V4dHJhIiwiX2Zyb250TWF0dGVyIiwiX2pzWWFtbCIsIl9ub2RlSHRtbFBhcnNlciIsIl9wYXRoIiwiX2NsZWFuZXJzIiwiX2FtZW5kZW1lbnRzIiwib2JqIiwiX19lc01vZHVsZSIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsImEiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwidG9TdHJpbmciLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIl9hd2FpdEFzeW5jR2VuZXJhdG9yIiwiX092ZXJsb2FkWWllbGQiLCJfd3JhcEFzeW5jR2VuZXJhdG9yIiwiZm4iLCJfQXN5bmNHZW5lcmF0b3IiLCJhcHBseSIsImFyZ3VtZW50cyIsInJlc3VtZSIsImsiLCJzZXR0bGUiLCJyZWplY3QiLCJrZXkiLCJfYXN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbiIsIl9yZXR1cm4iLCJfdGhyb3ciLCJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJfeCIsIl94MiIsIl94MyIsIl94NCIsIl94NSIsIl9pdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsIl9jYWxsZWUiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIiwiY2xlYW5BbWVuZGVtZW50IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInQwIiwiX3g2IiwiX3g3IiwiX3g4IiwiX3g5IiwiX3gxMCIsIl9pdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJfY2FsbGVlMiIsImFtZW5kZW1lbnROdW1iZXIiLCJyZXNwb25zZSIsInBhZ2UiLCJodG1sIiwiYW1lbmRlbWVudHNDb3VudERpdiIsImFtZW5kZW1lbnRzQ291bnQiLCJhbWVuZGVtZW50c0RpdiIsImFtZW5kZW1lbnRzVGFibGUiLCJ0Zm9vdFRyIiwidGZvb3RUckNlbGxzIiwiYW1lbmRlbWVudHNUciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJhbWVuZGVtZW50VHIiLCJhbWVuZGVtZW50VGRMaXN0IiwiZGF0ZURlcG90VGQiLCJkYXRlRGVwb3QiLCJkYXRlRXhhbWVuVGQiLCJkYXRlRXhhbWVuIiwiYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoIiwiZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50VHJPdXRlckh0bWwiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50SHRtbFVybCIsImFtZW5kZW1lbnRIdG1sUmVzcG9uc2UiLCJhbWVuZGVtZW50SHRtbFBhZ2UiLCJhbWVuZGVtZW50SHRtbCIsImZvcm1hdHNMaSIsImpzb25MaSIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwicGFnaW5hdGlvbkEiLCJ1cmxQYXRoIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiZnMiLCJlbnN1cmVEaXIiLCJhc3NlcnQiLCJzdHJpY3RFcXVhbCIsImV4ZWMiLCJjb25jYXQiLCJub3RTdHJpY3RFcXVhbCIsImluY2x1ZGVzIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJmZXRjaCIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInRleHQiLCJwYXJzZUh0bWwiLCJxdWVyeVNlbGVjdG9yIiwicGFyc2VJbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibWFwIiwiY2VsbCIsImRlZXBFcXVhbCIsIm91dGVySFRNTCIsImZvcm1hdElTTyIsInBhcnNlRGF0ZSIsIkRhdGUiLCJsb2NhbGUiLCJmckxvY2FsZSIsInJlcHJlc2VudGF0aW9uIiwiZ2V0QXR0cmlidXRlIiwic3BsaXQiLCJwYXRoIiwiam9pbiIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEZpbGUiLCJqc1lhbWwiLCJkdW1wIiwicG9zaXRpb24iLCJzZWFyY2giLCJyZXBsYWNlIiwic29ydEtleXMiLCJmcm9udE1hdHRlciIsImJvZHkiLCJVUkwiLCJmaW5kIiwiZm9ybWF0TGkiLCJmb3JtYXRTcGFuIiwianNvbiIsIndyaXRlRmlsZSIsInQxIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlcnMvcmVjaGVyY2hlX2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgeyBmb3JtYXRJU08gfSBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0SVNPXCJcbmltcG9ydCB7IGZyIGFzIGZyTG9jYWxlIH0gZnJvbSBcImRhdGUtZm5zL2xvY2FsZS9mclwiXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZURhdGUgfSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2VcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBmcm9udE1hdHRlciBmcm9tIFwiZnJvbnQtbWF0dGVyXCJcbmltcG9ydCBqc1lhbWwgZnJvbSBcImpzLXlhbWxcIlxuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VIdG1sIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBjbGVhbkFtZW5kZW1lbnQgfSBmcm9tIFwiLi4vY2xlYW5lcnNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCBhcyBSYXdBbWVuZGVtZW50IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50LCBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCB9IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZUFtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgQW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgYW1lbmRlbWVudCxcbiAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcixcbiAgICB1cmwsXG4gICAgaW5jcmVtZW50YWwsXG4gICAgbWluRGF0ZURlcG90LFxuICAgIG1pbkRhdGVFeGFtZW4sXG4gICAgb3B0aW9ucyxcbiAgKSkge1xuICAgIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50KVxuICAgIC8vIERvdWJsZSBjb252ZXJzaW9uLCB0byBjb252ZXJ0IHN0cmluZ3MgdG8gZGF0ZXMuXG4gICAgeWllbGQgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBBbWVuZGVtZW50c0NvbnZlcnQudG9BbWVuZGVtZW50KEpTT04uc3RyaW5naWZ5KGFtZW5kZW1lbnQpKSxcbiAgICBdXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXI6IHN0cmluZyxcbiAgdXJsOiBzdHJpbmcsXG4gIGluY3JlbWVudGFsOiBib29sZWFuLFxuICBtaW5EYXRlRGVwb3Q/OiBzdHJpbmcgfCBudWxsLFxuICBtaW5EYXRlRXhhbWVuPzogc3RyaW5nIHwgbnVsbCxcbiAgb3B0aW9uczogeyBzaWxlbnQ/OiBib29sZWFuOyB2ZXJib3NlPzogYm9vbGVhbiB9ID0ge30sXG4pOiBBc3luY0dlbmVyYXRvcjxbc3RyaW5nLCBSYXdBbWVuZGVtZW50XSwgdm9pZCwgdW5rbm93bj4ge1xuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1kYXRlX2RlcG90PS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIGRlcG9zaXQgZGF0ZWAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdb3JkZXI9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgc29ydCBvcmRlcmAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdcGFnZT0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBwYWdlIG51bWJlcmAsXG4gIClcbiAgaWYgKGluY3JlbWVudGFsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1s/Jl1ldGF0PS8uZXhlYyh1cmwpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbiBpbmNyZW1lbnRhbCBtb2RlLCBVUkwgJHt1cmx9IG11c3QgY29udGFpbiBhbiBcImV0YXRcIiBxdWVyeSBwYXJhbWV0ZXJgLFxuICAgIClcbiAgfVxuICB1cmwgKz0gKHVybC5pbmNsdWRlcyhcIj9cIikgPyBcIiZcIiA6IFwiP1wiKSArIFwib3JkZXI9ZGF0ZV9kZXBvdCxkZXNjJnBhZ2U9MVwiXG5cbiAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1xcZHs0fS1cXGR7Mn0tXFxkezJ9Ly5leGVjKG1pbkRhdGVEZXBvdCksXG4gICAgICBudWxsLFxuICAgICAgYEludmFsaWQgZm9ybWF0IGZvciBtaW5pbXVtIGRhdGU6ICR7bWluRGF0ZURlcG90fWAsXG4gICAgKVxuICB9XG5cbiAgbGV0IGFtZW5kZW1lbnROdW1iZXIgPSAwXG4gIGl0ZXJTZWFyY2hQYWdlczogd2hpbGUgKHRydWUpIHtcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgYW1lbmRlbWVudHMgc2VhcmNoIHBhZ2UgYXQgJHt1cmx94oCmYClcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpXG4gICAgYXNzZXJ0KFxuICAgICAgcmVzcG9uc2Uub2ssXG4gICAgICBgUmV0cmlldmFsIG9mIHNlYXJjaCBwYWdlIGF0ICR7dXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgIClcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgY29uc3QgaHRtbCA9IHBhcnNlSHRtbChwYWdlKVxuICAgIGlmIChodG1sLnF1ZXJ5U2VsZWN0b3IoXCJkaXYubm8tcmVzdWx0XCIpICE9PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjb25zdCBhbWVuZGVtZW50c0NvdW50RGl2ID0gaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm1pcnJvci1jYXJkLXN1YnRpdGxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzQ291bnREaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudCA9IHBhcnNlSW50KC9cXGQrLy5leGVjKGFtZW5kZW1lbnRzQ291bnREaXYhLnRleHQpIVswXSlcbiAgICBjb25zdCBhbWVuZGVtZW50c0RpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2LmFtZW5kZW1lbnQtbGlzdC0tcmVzdWx0cy10YWJsZVwiLFxuICAgIClcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNEaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNUYWJsZSA9IGFtZW5kZW1lbnRzRGl2IS5xdWVyeVNlbGVjdG9yKFwidGFibGVcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUYWJsZSwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvcihcInRmb290ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwodGZvb3RUciwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyQ2VsbHMgPSB0Zm9vdFRyIVxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZCwgdGhcIilcbiAgICAgIC5tYXAoKGNlbGwpID0+IGNlbGwudGV4dClcbiAgICBhc3NlcnQoXG4gICAgICBkZWVwRXF1YWwodGZvb3RUckNlbGxzLCBbXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwibsKwXCIsXG4gICAgICAgIFwiRG9zc2llciBsw6lnaXNsYXRpZlwiLFxuICAgICAgICBcIkVtcGxhY2VtZW50XCIsXG4gICAgICAgIFwiQXV0ZXVyXCIsXG4gICAgICAgIFwiw4l0YXRcIixcbiAgICAgICAgXCJTb3J0XCIsXG4gICAgICAgIFwiRGF0ZSBkJ2V4YW1lblwiLFxuICAgICAgICBcIkV4YW1pbsOpIHBhclwiLFxuICAgICAgICBcIlRleHRlIHZpc8OpXCIsXG4gICAgICAgIFwiRGF0ZSBkZSBkw6lww7R0XCIsXG4gICAgICBdKSxcbiAgICAgIGBVbmV4cGVjdGVkIGNvbHVtbnMgaW4gJHtKU09OLnN0cmluZ2lmeSh0Zm9vdFRyQ2VsbHMsIG51bGwsIDIpfWAsXG4gICAgKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVHIgPSBhbWVuZGVtZW50c1RhYmxlIS5xdWVyeVNlbGVjdG9yQWxsKFwidGJvZHkgPiB0clwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c1RyLmxlbmd0aCwgMClcbiAgICBmb3IgKGNvbnN0IGFtZW5kZW1lbnRUciBvZiBhbWVuZGVtZW50c1RyKSB7XG4gICAgICBhbWVuZGVtZW50TnVtYmVyKytcblxuICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsIHx8IG1pbkRhdGVFeGFtZW4gIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBhbWVuZGVtZW50VGRMaXN0ID0gYW1lbmRlbWVudFRyLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZFwiKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgICAgYW1lbmRlbWVudFRkTGlzdC5sZW5ndGgsXG4gICAgICAgICAgMTEsXG4gICAgICAgICAgYFVuZXhwZWN0ZWQgbnVtYmVyIG9mIGNvbHVtbnMgaW4gYW1lbmRtZW50IHJvdzogJHthbWVuZGVtZW50VHIub3V0ZXJIVE1MfWAsXG4gICAgICAgIClcbiAgICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZURlcG90VGQgPSBhbWVuZGVtZW50VGRMaXN0WzEwXVxuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdCA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgIHBhcnNlRGF0ZShkYXRlRGVwb3RUZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGRhdGVEZXBvdCA8IG1pbkRhdGVEZXBvdCkge1xuICAgICAgICAgICAgLy8gU2luY2UgdGhlIGFtZW5kbWVudHMgYXJlIHNvcnRlZCBieSBkZXBvc2l0IGRhdGUsIG9uY2UgYW4gYW1lbmRtZW50XG4gICAgICAgICAgICAvLyB3aXRoIGFuIG9sZCBkZXBvc2l0IGRhdGUgaXMgZW5jb3VudGVyZWQsIHRoZSBmdWxsIHNlYXJjaCBjYW4gYmUgc3RvcHBlZC5cbiAgICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZUV4YW1lblRkID0gYW1lbmRlbWVudFRkTGlzdFs3XVxuICAgICAgICAgIGlmIChkYXRlRXhhbWVuVGQudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUV4YW1lbiA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVFeGFtZW5UZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGZyTG9jYWxlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkYXRlRXhhbWVuIDwgbWluRGF0ZUV4YW1lbikge1xuICAgICAgICAgICAgICAvLyBUaGlzIGFtZW5kbWVudCBoYXMgYmVlbiBkaXNjdXNzZWQgc2luY2UgYSBmZXcgZGF5cy5cbiAgICAgICAgICAgICAgLy8gPT4gSWdub3JlIGl0LCBiZWNhdXNlIGl0IHNob3VsZCBiZSBpbiBBc3NlbWJsw6llIG9wZW4gZGF0YS5cbiAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGggPSBhbWVuZGVtZW50VHIuZ2V0QXR0cmlidXRlKFwiZGF0YS1ocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudFVybFBhdGgsIHVuZGVmaW5lZClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMF0sXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMV0sXG4gICAgICAgIFwiZHluXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgICAgICAgIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMiksXG4gICAgICAgICkgKyBcIi5odG1sXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICApKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRGaWxlKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICAgICAgOiBudWxsXG4gICAgICBjb25zdCBhbWVuZGVtZW50VHJPdXRlckh0bWwgPSBhbWVuZGVtZW50VHIub3V0ZXJIVE1MXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSBgLS0tXFxuJHtqc1lhbWwuZHVtcChcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiBhbWVuZGVtZW50c0NvdW50IC0gYW1lbmRlbWVudE51bWJlcixcbiAgICAgICAgICBzZWFyY2g6IHVybC5yZXBsYWNlKC8mcGFnZT1bXFxkXSsvLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNvcnRLZXlzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKX0tLS1cXG5cXG4ke2FtZW5kZW1lbnRUck91dGVySHRtbH1gXG4gICAgICBpZiAoYW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkge1xuICAgICAgICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUgYW5kIGluIHRoZSBzYW1lIHBvc2l0aW9uLlxuICAgICAgICAgIC8vIEFzc3VtZSB0aGF0IGZvbGxvd2luZyBhbWVuZG1lbnRzIGFyZSBub3QgY2hhbmdlZCBhbmQgc3RvcCBsb29raW5nXG4gICAgICAgICAgLy8gZm9yIGFtZW5kbWVudHMgdG8gdXBzZXJ0LlxuICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlICE9PSBudWxsICYmXG4gICAgICAgIGZyb250TWF0dGVyKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKS5ib2R5ID09PVxuICAgICAgICAgIGFtZW5kZW1lbnRUck91dGVySHRtbFxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSwgYnV0IGluIGEgZGlmZmVyZW50IHBvc2l0aW9uLlxuICAgICAgICAvLyBBc3N1bWUgdGhlIGFtZW5kbWVudCBpcyB1bmNoYW5nZWQuXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYEFkZGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxVcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxSZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRIdG1sVXJsKVxuICAgICAgaWYgKGFtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYEFtZW5kZW1lbnQgSFRNTCBwYWdlIG5vdCBmb3VuZCBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfS4gU2tpcHBpbmcuYCxcbiAgICAgICAgKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSFRNTCBwYWdlIGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxQYWdlID0gYXdhaXQgYW1lbmRlbWVudEh0bWxSZXNwb25zZS50ZXh0KClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sID0gcGFyc2VIdG1sKGFtZW5kZW1lbnRIdG1sUGFnZSlcbiAgICAgIGNvbnN0IGZvcm1hdHNMaSA9IGFtZW5kZW1lbnRIdG1sLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgIFwibGkubWlycm9yLWNhcmQtaGVhZGVyLS1vcHRpb25zLS1jb250ZW50LS1pdGVtXCIsXG4gICAgICApXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoZm9ybWF0c0xpLmxlbmd0aCwgMClcbiAgICAgIGNvbnN0IGpzb25MaSA9IGZvcm1hdHNMaS5maW5kKChmb3JtYXRMaSkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRTcGFuID0gZm9ybWF0TGkucXVlcnlTZWxlY3RvcihcImEgPiBzcGFuXCIpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXRTcGFuLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgYE5vIDxzcGFuPiBpbiA8YT4gZm91bmQgaW4gJHtmb3JtYXRMaS50b1N0cmluZygpfWAsXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIGZvcm1hdFNwYW4hLnRleHQgPT09IFwiVmVyc2lvbiBKU09OXCJcbiAgICAgIH0pXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25MaSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gSlNPTiB2ZXJzaW9uIGZvdW5kIGZvciBhbWVuZGVtZW50IGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGpzb25BID0ganNvbkxpIS5xdWVyeVNlbGVjdG9yKFwiYVwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uQSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgYE5vIDxhPiBmb3VuZCBpbiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmxQYXRoID0ganNvbkEhLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBVUkwgZm91bmQgZm9yIEpTT04gdmVyc2lvbiBvZiBhbWVuZGVtZW50OiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SnNvblVybClcbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEpzb25SZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEpTT04gcGFnZSBhdCAke2FtZW5kZW1lbnRKc29uVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnQgPSBhd2FpdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlLmpzb24oKVxuICAgICAgeWllbGQgW2FtZW5kZW1lbnRVcmxQYXRoISwgYW1lbmRlbWVudF1cblxuICAgICAgLy8gU2VhcmNoQ2FjaGUgbXVzdCBiZSB3cml0dGVuIGF0IHRoZSBlbmQgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBpbiBhIGNvbnNpc3RlbnQgc3RhdGUsXG4gICAgICAvLyBldmVuIGlmIHNjcmlwdCBmYWlscyBhYnJ1cHRseS5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZSxcbiAgICAgICAgXCJ1dGY4XCIsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgcGFnaW5hdGlvbkEgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbi1wYWdpbmF0aW9uLS1pdGVtID4gaS5hbi1pY29ucy1jaGV2cm9uLXJpZ2h0IH4gYVwiLFxuICAgIClcbiAgICBpZiAocGFnaW5hdGlvbkEgPT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IHVybFBhdGggPSBwYWdpbmF0aW9uQS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHVybFBhdGgsIHVuZGVmaW5lZClcbiAgICB1cmwgPSBuZXcgVVJMKHVybFBhdGghLCBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIpLnRvU3RyaW5nKClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFR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
401
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYXNzZXJ0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZm9ybWF0SVNPIiwiX2ZyIiwiX3BhcnNlIiwiX2RlZXBFcXVhbCIsIl9mc0V4dHJhIiwiX2Zyb250TWF0dGVyIiwiX2pzWWFtbCIsIl9ub2RlSHRtbFBhcnNlciIsIl9wYXRoIiwiX2NsZWFuZXJzIiwiX2FtZW5kZW1lbnRzIiwib2JqIiwiX19lc01vZHVsZSIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJpdGVyIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIm8iLCJhbGxvd0FycmF5TGlrZSIsIml0IiwibGVuZ3RoIiwiaSIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImUiLCJfZSIsImYiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwiY2FsbCIsInN0ZXAiLCJuZXh0IiwiX2UyIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJkZWZpbmVQcm9wZXJ0eSIsImEiLCJjIiwiYXN5bmNJdGVyYXRvciIsInUiLCJ0b1N0cmluZ1RhZyIsImRlZmluZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJsIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJfdHlwZW9mIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwidG9TdHJpbmciLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIl9hd2FpdEFzeW5jR2VuZXJhdG9yIiwiX092ZXJsb2FkWWllbGQiLCJfd3JhcEFzeW5jR2VuZXJhdG9yIiwiZm4iLCJfQXN5bmNHZW5lcmF0b3IiLCJhcHBseSIsImFyZ3VtZW50cyIsInJlc3VtZSIsImsiLCJzZXR0bGUiLCJyZWplY3QiLCJrZXkiLCJfYXN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbiIsIl9yZXR1cm4iLCJfdGhyb3ciLCJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJfeCIsIl94MiIsIl94MyIsIl94NCIsIl94NSIsIl9pdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsInVuZGVmaW5lZCIsIl9jYWxsZWUiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwiaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIiwiY2xlYW5BbWVuZGVtZW50IiwiQW1lbmRlbWVudHNDb252ZXJ0IiwidG9BbWVuZGVtZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInQwIiwiX3g2IiwiX3g3IiwiX3g4IiwiX3g5IiwiX3gxMCIsIl9pdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJfY2FsbGVlMiIsImFtZW5kZW1lbnROdW1iZXIiLCJyZXNwb25zZSIsInBhZ2UiLCJodG1sIiwiYW1lbmRlbWVudHNDb3VudERpdiIsImFtZW5kZW1lbnRzQ291bnQiLCJhbWVuZGVtZW50c0RpdiIsImFtZW5kZW1lbnRzVGFibGUiLCJ0Zm9vdFRyIiwidGZvb3RUckNlbGxzIiwiYW1lbmRlbWVudHNUciIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJhbWVuZGVtZW50VHIiLCJhbWVuZGVtZW50VGRMaXN0IiwiZGF0ZURlcG90VGQiLCJkYXRlRGVwb3QiLCJkYXRlRXhhbWVuVGQiLCJkYXRlRXhhbWVuIiwiYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoIiwiZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50VHJPdXRlckh0bWwiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGUiLCJhbWVuZGVtZW50SHRtbFVybCIsImFtZW5kZW1lbnRIdG1sUmVzcG9uc2UiLCJhbWVuZGVtZW50SHRtbFBhZ2UiLCJhbWVuZGVtZW50SHRtbCIsImZvcm1hdHNMaSIsImpzb25MaSIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwicGFnaW5hdGlvbkEiLCJ1cmxQYXRoIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiZnMiLCJlbnN1cmVEaXIiLCJhc3NlcnQiLCJzdHJpY3RFcXVhbCIsImV4ZWMiLCJjb25jYXQiLCJub3RTdHJpY3RFcXVhbCIsImluY2x1ZGVzIiwidmVyYm9zZSIsImNvbnNvbGUiLCJsb2ciLCJmZXRjaCIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInRleHQiLCJwYXJzZUh0bWwiLCJxdWVyeVNlbGVjdG9yIiwicGFyc2VJbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibWFwIiwiY2VsbCIsImRlZXBFcXVhbCIsIm91dGVySFRNTCIsImZvcm1hdElTTyIsInBhcnNlRGF0ZSIsIkRhdGUiLCJsb2NhbGUiLCJmckxvY2FsZSIsInJlcHJlc2VudGF0aW9uIiwiZ2V0QXR0cmlidXRlIiwic3BsaXQiLCJwYXRoIiwiam9pbiIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEZpbGUiLCJqc1lhbWwiLCJkdW1wIiwicG9zaXRpb24iLCJzZWFyY2giLCJyZXBsYWNlIiwic29ydEtleXMiLCJmcm9udE1hdHRlciIsImJvZHkiLCJVUkwiLCJmaW5kIiwiZm9ybWF0TGkiLCJmb3JtYXRTcGFuIiwianNvbiIsIndyaXRlRmlsZSIsInQxIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlcnMvcmVjaGVyY2hlX2FtZW5kZW1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5pbXBvcnQgeyBmb3JtYXRJU08gfSBmcm9tIFwiZGF0ZS1mbnMvZm9ybWF0SVNPXCJcbmltcG9ydCB7IGZyIGFzIGZyTG9jYWxlIH0gZnJvbSBcImRhdGUtZm5zL2xvY2FsZS9mclwiXG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZURhdGUgfSBmcm9tIFwiZGF0ZS1mbnMvcGFyc2VcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBmcm9udE1hdHRlciBmcm9tIFwiZnJvbnQtbWF0dGVyXCJcbmltcG9ydCBqc1lhbWwgZnJvbSBcImpzLXlhbWxcIlxuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VIdG1sIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBjbGVhbkFtZW5kZW1lbnQgfSBmcm9tIFwiLi4vY2xlYW5lcnNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCBhcyBSYXdBbWVuZGVtZW50IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQgeyBBbWVuZGVtZW50LCBDb252ZXJ0IGFzIEFtZW5kZW1lbnRzQ29udmVydCB9IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZUFtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgQW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgYW1lbmRlbWVudCxcbiAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcixcbiAgICB1cmwsXG4gICAgaW5jcmVtZW50YWwsXG4gICAgbWluRGF0ZURlcG90LFxuICAgIG1pbkRhdGVFeGFtZW4sXG4gICAgb3B0aW9ucyxcbiAgKSkge1xuICAgIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50KVxuICAgIC8vIERvdWJsZSBjb252ZXJzaW9uLCB0byBjb252ZXJ0IHN0cmluZ3MgdG8gZGF0ZXMuXG4gICAgeWllbGQgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBBbWVuZGVtZW50c0NvbnZlcnQudG9BbWVuZGVtZW50KEpTT04uc3RyaW5naWZ5KGFtZW5kZW1lbnQpKSxcbiAgICBdXG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXI6IHN0cmluZyxcbiAgdXJsOiBzdHJpbmcsXG4gIGluY3JlbWVudGFsOiBib29sZWFuLFxuICBtaW5EYXRlRGVwb3Q/OiBzdHJpbmcgfCBudWxsLFxuICBtaW5EYXRlRXhhbWVuPzogc3RyaW5nIHwgbnVsbCxcbiAgb3B0aW9uczogeyBzaWxlbnQ/OiBib29sZWFuOyB2ZXJib3NlPzogYm9vbGVhbiB9ID0ge30sXG4pOiBBc3luY0dlbmVyYXRvcjxbc3RyaW5nLCBSYXdBbWVuZGVtZW50XSwgdm9pZCwgdW5rbm93bj4ge1xuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcilcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgL1s/Jl1kYXRlX2RlcG90PS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIGRlcG9zaXQgZGF0ZWAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdb3JkZXI9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgc29ydCBvcmRlcmAsXG4gIClcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdcGFnZT0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBwYWdlIG51bWJlcmAsXG4gIClcbiAgaWYgKGluY3JlbWVudGFsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1s/Jl1ldGF0PS8uZXhlYyh1cmwpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbiBpbmNyZW1lbnRhbCBtb2RlLCBVUkwgJHt1cmx9IG11c3QgY29udGFpbiBhbiBcImV0YXRcIiBxdWVyeSBwYXJhbWV0ZXJgLFxuICAgIClcbiAgfVxuICB1cmwgKz0gKHVybC5pbmNsdWRlcyhcIj9cIikgPyBcIiZcIiA6IFwiP1wiKSArIFwib3JkZXI9ZGF0ZV9kZXBvdCxkZXNjJnBhZ2U9MVwiXG5cbiAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgL1xcZHs0fS1cXGR7Mn0tXFxkezJ9Ly5leGVjKG1pbkRhdGVEZXBvdCksXG4gICAgICBudWxsLFxuICAgICAgYEludmFsaWQgZm9ybWF0IGZvciBtaW5pbXVtIGRhdGU6ICR7bWluRGF0ZURlcG90fWAsXG4gICAgKVxuICB9XG5cbiAgbGV0IGFtZW5kZW1lbnROdW1iZXIgPSAwXG4gIGl0ZXJTZWFyY2hQYWdlczogd2hpbGUgKHRydWUpIHtcbiAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgRmV0Y2hpbmcgYW1lbmRlbWVudHMgc2VhcmNoIHBhZ2UgYXQgJHt1cmx94oCmYClcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpXG4gICAgYXNzZXJ0KFxuICAgICAgcmVzcG9uc2Uub2ssXG4gICAgICBgUmV0cmlldmFsIG9mIHNlYXJjaCBwYWdlIGF0ICR7dXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgIClcbiAgICBjb25zdCBwYWdlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpXG4gICAgY29uc3QgaHRtbCA9IHBhcnNlSHRtbChwYWdlKVxuICAgIGlmIChodG1sLnF1ZXJ5U2VsZWN0b3IoXCJkaXYubm8tcmVzdWx0XCIpICE9PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjb25zdCBhbWVuZGVtZW50c0NvdW50RGl2ID0gaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm1pcnJvci1jYXJkLXN1YnRpdGxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzQ291bnREaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudCA9IHBhcnNlSW50KC9cXGQrLy5leGVjKGFtZW5kZW1lbnRzQ291bnREaXYhLnRleHQpIVswXSlcbiAgICBjb25zdCBhbWVuZGVtZW50c0RpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2LmFtZW5kZW1lbnQtbGlzdC0tcmVzdWx0cy10YWJsZVwiLFxuICAgIClcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNEaXYsIG51bGwpXG4gICAgY29uc3QgYW1lbmRlbWVudHNUYWJsZSA9IGFtZW5kZW1lbnRzRGl2IS5xdWVyeVNlbGVjdG9yKFwidGFibGVcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUYWJsZSwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvcihcInRmb290ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwodGZvb3RUciwgbnVsbClcbiAgICBjb25zdCB0Zm9vdFRyQ2VsbHMgPSB0Zm9vdFRyIVxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZCwgdGhcIilcbiAgICAgIC5tYXAoKGNlbGwpID0+IGNlbGwudGV4dClcbiAgICBhc3NlcnQoXG4gICAgICBkZWVwRXF1YWwodGZvb3RUckNlbGxzLCBbXG4gICAgICAgIFwiXCIsXG4gICAgICAgIFwibsKwXCIsXG4gICAgICAgIFwiRG9zc2llciBsw6lnaXNsYXRpZlwiLFxuICAgICAgICBcIkVtcGxhY2VtZW50XCIsXG4gICAgICAgIFwiQXV0ZXVyXCIsXG4gICAgICAgIFwiw4l0YXRcIixcbiAgICAgICAgXCJTb3J0XCIsXG4gICAgICAgIFwiRGF0ZSBkJ2V4YW1lblwiLFxuICAgICAgICBcIkV4YW1pbsOpIHBhclwiLFxuICAgICAgICBcIlRleHRlIHZpc8OpXCIsXG4gICAgICAgIFwiRGF0ZSBkZSBkw6lww7R0XCIsXG4gICAgICBdKSxcbiAgICAgIGBVbmV4cGVjdGVkIGNvbHVtbnMgaW4gJHtKU09OLnN0cmluZ2lmeSh0Zm9vdFRyQ2VsbHMsIG51bGwsIDIpfWAsXG4gICAgKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVHIgPSBhbWVuZGVtZW50c1RhYmxlIS5xdWVyeVNlbGVjdG9yQWxsKFwidGJvZHkgPiB0clwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c1RyLmxlbmd0aCwgMClcbiAgICBmb3IgKGNvbnN0IGFtZW5kZW1lbnRUciBvZiBhbWVuZGVtZW50c1RyKSB7XG4gICAgICBhbWVuZGVtZW50TnVtYmVyKytcblxuICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsIHx8IG1pbkRhdGVFeGFtZW4gIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBhbWVuZGVtZW50VGRMaXN0ID0gYW1lbmRlbWVudFRyLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZFwiKVxuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgICAgYW1lbmRlbWVudFRkTGlzdC5sZW5ndGgsXG4gICAgICAgICAgMTEsXG4gICAgICAgICAgYFVuZXhwZWN0ZWQgbnVtYmVyIG9mIGNvbHVtbnMgaW4gYW1lbmRtZW50IHJvdzogJHthbWVuZGVtZW50VHIub3V0ZXJIVE1MfWAsXG4gICAgICAgIClcbiAgICAgICAgaWYgKG1pbkRhdGVEZXBvdCAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZURlcG90VGQgPSBhbWVuZGVtZW50VGRMaXN0WzEwXVxuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdCA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgIHBhcnNlRGF0ZShkYXRlRGVwb3RUZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKGRhdGVEZXBvdCA8IG1pbkRhdGVEZXBvdCkge1xuICAgICAgICAgICAgLy8gU2luY2UgdGhlIGFtZW5kbWVudHMgYXJlIHNvcnRlZCBieSBkZXBvc2l0IGRhdGUsIG9uY2UgYW4gYW1lbmRtZW50XG4gICAgICAgICAgICAvLyB3aXRoIGFuIG9sZCBkZXBvc2l0IGRhdGUgaXMgZW5jb3VudGVyZWQsIHRoZSBmdWxsIHNlYXJjaCBjYW4gYmUgc3RvcHBlZC5cbiAgICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWluRGF0ZUV4YW1lbiAhPSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZUV4YW1lblRkID0gYW1lbmRlbWVudFRkTGlzdFs3XVxuICAgICAgICAgIGlmIChkYXRlRXhhbWVuVGQudGV4dCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUV4YW1lbiA9IGZvcm1hdElTTyhcbiAgICAgICAgICAgICAgcGFyc2VEYXRlKGRhdGVFeGFtZW5UZC50ZXh0LCBcImQgTU1NTSB5XCIsIG5ldyBEYXRlKCksIHtcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGZyTG9jYWxlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgeyByZXByZXNlbnRhdGlvbjogXCJkYXRlXCIgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChkYXRlRXhhbWVuIDwgbWluRGF0ZUV4YW1lbikge1xuICAgICAgICAgICAgICAvLyBUaGlzIGFtZW5kbWVudCBoYXMgYmVlbiBkaXNjdXNzZWQgc2luY2UgYSBmZXcgZGF5cy5cbiAgICAgICAgICAgICAgLy8gPT4gSWdub3JlIGl0LCBiZWNhdXNlIGl0IHNob3VsZCBiZSBpbiBBc3NlbWJsw6llIG9wZW4gZGF0YS5cbiAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGggPSBhbWVuZGVtZW50VHIuZ2V0QXR0cmlidXRlKFwiZGF0YS1ocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudFVybFBhdGgsIHVuZGVmaW5lZClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMF0sXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWRbMV0sXG4gICAgICAgIFwiZHluXCIsXG4gICAgICAgIGBVbmV4cGVjdGVkIFVSTCBwYXRoIGZvciBhbWVuZGVtZW50OiAke2FtZW5kZW1lbnRVcmxQYXRofWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyLFxuICAgICAgICAgIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMiksXG4gICAgICAgICkgKyBcIi5odG1sXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICApKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRGaWxlKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLCBcInV0ZjhcIilcbiAgICAgICAgOiBudWxsXG4gICAgICBjb25zdCBhbWVuZGVtZW50VHJPdXRlckh0bWwgPSBhbWVuZGVtZW50VHIub3V0ZXJIVE1MXG4gICAgICBjb25zdCBhbWVuZGVtZW50U2VhcmNoQ2FjaGUgPSBgLS0tXFxuJHtqc1lhbWwuZHVtcChcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiBhbWVuZGVtZW50c0NvdW50IC0gYW1lbmRlbWVudE51bWJlcixcbiAgICAgICAgICBzZWFyY2g6IHVybC5yZXBsYWNlKC8mcGFnZT1bXFxkXSsvLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNvcnRLZXlzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKX0tLS1cXG5cXG4ke2FtZW5kZW1lbnRUck91dGVySHRtbH1gXG4gICAgICBpZiAoYW1lbmRlbWVudFNlYXJjaENhY2hlID09PSBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkge1xuICAgICAgICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUgYW5kIGluIHRoZSBzYW1lIHBvc2l0aW9uLlxuICAgICAgICAgIC8vIEFzc3VtZSB0aGF0IGZvbGxvd2luZyBhbWVuZG1lbnRzIGFyZSBub3QgY2hhbmdlZCBhbmQgc3RvcCBsb29raW5nXG4gICAgICAgICAgLy8gZm9yIGFtZW5kbWVudHMgdG8gdXBzZXJ0LlxuICAgICAgICAgIGJyZWFrIGl0ZXJTZWFyY2hQYWdlc1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlICE9PSBudWxsICYmXG4gICAgICAgIGZyb250TWF0dGVyKGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlKS5ib2R5ID09PVxuICAgICAgICAgIGFtZW5kZW1lbnRUck91dGVySHRtbFxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoZSBzYW1lIDx0cj4gaXMgYWxyZWFkeSBpbiBjYWNoZSwgYnV0IGluIGEgZGlmZmVyZW50IHBvc2l0aW9uLlxuICAgICAgICAvLyBBc3N1bWUgdGhlIGFtZW5kbWVudCBpcyB1bmNoYW5nZWQuXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgYEFkZGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBVcGRhdGluZyBhbWVuZGVtZW50IHNlYXJjaCBjYWNoZTogJHthbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aH3igKZgLFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxVcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aCEsXG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9cIixcbiAgICAgICkudG9TdHJpbmcoKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxSZXNwb25zZSA9IGF3YWl0IGZldGNoKGFtZW5kZW1lbnRIdG1sVXJsKVxuICAgICAgaWYgKGFtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYEFtZW5kZW1lbnQgSFRNTCBwYWdlIG5vdCBmb3VuZCBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfS4gU2tpcHBpbmcuYCxcbiAgICAgICAgKVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgYXNzZXJ0KFxuICAgICAgICBhbWVuZGVtZW50SHRtbFJlc3BvbnNlLm9rLFxuICAgICAgICBgUmV0cmlldmFsIG9mIGFtZW5kZW1lbnQgSFRNTCBwYWdlIGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9IGZhaWxlZCB3aXRoIGVycm9yOiAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzfSAke2FtZW5kZW1lbnRIdG1sUmVzcG9uc2Uuc3RhdHVzVGV4dH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEh0bWxQYWdlID0gYXdhaXQgYW1lbmRlbWVudEh0bWxSZXNwb25zZS50ZXh0KClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sID0gcGFyc2VIdG1sKGFtZW5kZW1lbnRIdG1sUGFnZSlcbiAgICAgIGNvbnN0IGZvcm1hdHNMaSA9IGFtZW5kZW1lbnRIdG1sLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgIFwibGkubWlycm9yLWNhcmQtaGVhZGVyLS1vcHRpb25zLS1jb250ZW50LS1pdGVtXCIsXG4gICAgICApXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoZm9ybWF0c0xpLmxlbmd0aCwgMClcbiAgICAgIGNvbnN0IGpzb25MaSA9IGZvcm1hdHNMaS5maW5kKChmb3JtYXRMaSkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRTcGFuID0gZm9ybWF0TGkucXVlcnlTZWxlY3RvcihcImEgPiBzcGFuXCIpXG4gICAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXRTcGFuLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgYE5vIDxzcGFuPiBpbiA8YT4gZm91bmQgaW4gJHtmb3JtYXRMaS50b1N0cmluZygpfWAsXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuIGZvcm1hdFNwYW4hLnRleHQgPT09IFwiVmVyc2lvbiBKU09OXCJcbiAgICAgIH0pXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGpzb25MaSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gSlNPTiB2ZXJzaW9uIGZvdW5kIGZvciBhbWVuZGVtZW50IGF0ICR7YW1lbmRlbWVudEh0bWxVcmx9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGpzb25BID0ganNvbkxpIS5xdWVyeVNlbGVjdG9yKFwiYVwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uQSxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgYE5vIDxhPiBmb3VuZCBpbiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmxQYXRoID0ganNvbkEhLmdldEF0dHJpYnV0ZShcImhyZWZcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGBObyBVUkwgZm91bmQgZm9yIEpTT04gdmVyc2lvbiBvZiBhbWVuZGVtZW50OiAke2pzb25MaSEudG9TdHJpbmcoKX1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEpzb25VcmwgPSBuZXcgVVJMKFxuICAgICAgICBhbWVuZGVtZW50SnNvblVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SnNvblVybClcbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEpzb25SZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEpTT04gcGFnZSBhdCAke2FtZW5kZW1lbnRKc29uVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SnNvblJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnQgPSBhd2FpdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlLmpzb24oKVxuICAgICAgeWllbGQgW2FtZW5kZW1lbnRVcmxQYXRoISwgYW1lbmRlbWVudF1cblxuICAgICAgLy8gU2VhcmNoQ2FjaGUgbXVzdCBiZSB3cml0dGVuIGF0IHRoZSBlbmQgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBpbiBhIGNvbnNpc3RlbnQgc3RhdGUsXG4gICAgICAvLyBldmVuIGlmIHNjcmlwdCBmYWlscyBhYnJ1cHRseS5cbiAgICAgIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICAgICAgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGgsXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZSxcbiAgICAgICAgXCJ1dGY4XCIsXG4gICAgICApXG4gICAgfVxuXG4gICAgY29uc3QgcGFnaW5hdGlvbkEgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbi1wYWdpbmF0aW9uLS1pdGVtID4gaS5hbi1pY29ucy1jaGV2cm9uLXJpZ2h0IH4gYVwiLFxuICAgIClcbiAgICBpZiAocGFnaW5hdGlvbkEgPT09IG51bGwpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IHVybFBhdGggPSBwYWdpbmF0aW9uQS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHVybFBhdGgsIHVuZGVmaW5lZClcbiAgICB1cmwgPSBuZXcgVVJMKHVybFBhdGghLCBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIpLnRvU3RyaW5nKClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFR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
@@ -164,4 +164,4 @@ export async function* iterRechercheRawAmendements(amendementsSearchCacheDir, ur
164
164
  url = new URL(urlPath, "https://www.assemblee-nationale.fr/").toString();
165
165
  }
166
166
  }
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJmb3JtYXRJU08iLCJmciIsImZyTG9jYWxlIiwicGFyc2UiLCJwYXJzZURhdGUiLCJkZWVwRXF1YWwiLCJmcyIsImZyb250TWF0dGVyIiwianNZYW1sIiwicGFyc2VIdG1sIiwicGF0aCIsImNsZWFuQW1lbmRlbWVudCIsIkNvbnZlcnQiLCJBbWVuZGVtZW50c0NvbnZlcnQiLCJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsInRvQW1lbmRlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJlbnN1cmVEaXIiLCJzdHJpY3RFcXVhbCIsImV4ZWMiLCJub3RTdHJpY3RFcXVhbCIsImluY2x1ZGVzIiwiYW1lbmRlbWVudE51bWJlciIsIml0ZXJTZWFyY2hQYWdlcyIsInZlcmJvc2UiLCJjb25zb2xlIiwibG9nIiwicmVzcG9uc2UiLCJmZXRjaCIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInBhZ2UiLCJ0ZXh0IiwiaHRtbCIsInF1ZXJ5U2VsZWN0b3IiLCJhbWVuZGVtZW50c0NvdW50RGl2IiwiYW1lbmRlbWVudHNDb3VudCIsInBhcnNlSW50IiwiYW1lbmRlbWVudHNEaXYiLCJhbWVuZGVtZW50c1RhYmxlIiwidGZvb3RUciIsInRmb290VHJDZWxscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJtYXAiLCJjZWxsIiwiYW1lbmRlbWVudHNUciIsImxlbmd0aCIsImFtZW5kZW1lbnRUciIsImFtZW5kZW1lbnRUZExpc3QiLCJvdXRlckhUTUwiLCJkYXRlRGVwb3RUZCIsImRhdGVEZXBvdCIsIkRhdGUiLCJsb2NhbGUiLCJyZXByZXNlbnRhdGlvbiIsImRhdGVFeGFtZW5UZCIsImRhdGVFeGFtZW4iLCJnZXRBdHRyaWJ1dGUiLCJ1bmRlZmluZWQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCIsImpvaW4iLCJzbGljZSIsImRpcm5hbWUiLCJleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSIsInBhdGhFeGlzdHMiLCJyZWFkRmlsZSIsImFtZW5kZW1lbnRUck91dGVySHRtbCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImR1bXAiLCJwb3NpdGlvbiIsInNlYXJjaCIsInJlcGxhY2UiLCJzb3J0S2V5cyIsImJvZHkiLCJhbWVuZGVtZW50SHRtbFVybCIsIlVSTCIsInRvU3RyaW5nIiwiYW1lbmRlbWVudEh0bWxSZXNwb25zZSIsImFtZW5kZW1lbnRIdG1sUGFnZSIsImFtZW5kZW1lbnRIdG1sIiwiZm9ybWF0c0xpIiwianNvbkxpIiwiZmluZCIsImZvcm1hdExpIiwiZm9ybWF0U3BhbiIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwianNvbiIsIndyaXRlRmlsZSIsInBhZ2luYXRpb25BIiwidXJsUGF0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL3JlY2hlcmNoZV9hbWVuZGVtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgZm9ybWF0SVNPIH0gZnJvbSBcImRhdGUtZm5zL2Zvcm1hdElTT1wiXG5pbXBvcnQgeyBmciBhcyBmckxvY2FsZSB9IGZyb20gXCJkYXRlLWZucy9sb2NhbGUvZnJcIlxuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VEYXRlIH0gZnJvbSBcImRhdGUtZm5zL3BhcnNlXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgZnJvbnRNYXR0ZXIgZnJvbSBcImZyb250LW1hdHRlclwiXG5pbXBvcnQganNZYW1sIGZyb20gXCJqcy15YW1sXCJcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlSHRtbCB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgY2xlYW5BbWVuZGVtZW50IH0gZnJvbSBcIi4uL2NsZWFuZXJzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQgYXMgUmF3QW1lbmRlbWVudCB9IGZyb20gXCIuLi9yYXdfdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCwgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGl0ZXJSZWNoZXJjaGVBbWVuZGVtZW50cyhcbiAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcjogc3RyaW5nLFxuICB1cmw6IHN0cmluZyxcbiAgaW5jcmVtZW50YWw6IGJvb2xlYW4sXG4gIG1pbkRhdGVEZXBvdD86IHN0cmluZyB8IG51bGwsXG4gIG1pbkRhdGVFeGFtZW4/OiBzdHJpbmcgfCBudWxsLFxuICBvcHRpb25zOiB7IHNpbGVudD86IGJvb2xlYW47IHZlcmJvc2U/OiBib29sZWFuIH0gPSB7fSxcbik6IEFzeW5jR2VuZXJhdG9yPFtzdHJpbmcsIEFtZW5kZW1lbnRdLCB2b2lkLCB1bmtub3duPiB7XG4gIGZvciBhd2FpdCAoY29uc3QgW1xuICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgIGFtZW5kZW1lbnQsXG4gIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIsXG4gICAgdXJsLFxuICAgIGluY3JlbWVudGFsLFxuICAgIG1pbkRhdGVEZXBvdCxcbiAgICBtaW5EYXRlRXhhbWVuLFxuICAgIG9wdGlvbnMsXG4gICkpIHtcbiAgICBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudClcbiAgICAvLyBEb3VibGUgY29udmVyc2lvbiwgdG8gY29udmVydCBzdHJpbmdzIHRvIGRhdGVzLlxuICAgIHlpZWxkIFtcbiAgICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgICAgQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudChKU09OLnN0cmluZ2lmeShhbWVuZGVtZW50KSksXG4gICAgXVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgUmF3QW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIpXG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdZGF0ZV9kZXBvdD0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBkZXBvc2l0IGRhdGVgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXW9yZGVyPS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIHNvcnQgb3JkZXJgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXXBhZ2U9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgcGFnZSBudW1iZXJgLFxuICApXG4gIGlmIChpbmNyZW1lbnRhbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9bPyZdZXRhdD0vLmV4ZWModXJsKSxcbiAgICAgIG51bGwsXG4gICAgICBgSW4gaW5jcmVtZW50YWwgbW9kZSwgVVJMICR7dXJsfSBtdXN0IGNvbnRhaW4gYW4gXCJldGF0XCIgcXVlcnkgcGFyYW1ldGVyYCxcbiAgICApXG4gIH1cbiAgdXJsICs9ICh1cmwuaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIikgKyBcIm9yZGVyPWRhdGVfZGVwb3QsZGVzYyZwYWdlPTFcIlxuXG4gIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9cXGR7NH0tXFxkezJ9LVxcZHsyfS8uZXhlYyhtaW5EYXRlRGVwb3QpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbnZhbGlkIGZvcm1hdCBmb3IgbWluaW11bSBkYXRlOiAke21pbkRhdGVEZXBvdH1gLFxuICAgIClcbiAgfVxuXG4gIGxldCBhbWVuZGVtZW50TnVtYmVyID0gMFxuICBpdGVyU2VhcmNoUGFnZXM6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coYEZldGNoaW5nIGFtZW5kZW1lbnRzIHNlYXJjaCBwYWdlIGF0ICR7dXJsfeKApmApXG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKVxuICAgIGFzc2VydChcbiAgICAgIHJlc3BvbnNlLm9rLFxuICAgICAgYFJldHJpZXZhbCBvZiBzZWFyY2ggcGFnZSBhdCAke3VybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICApXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICAgIGNvbnN0IGh0bWwgPSBwYXJzZUh0bWwocGFnZSlcbiAgICBpZiAoaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm5vLXJlc3VsdFwiKSAhPT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudERpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcImRpdi5taXJyb3ItY2FyZC1zdWJ0aXRsZVwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c0NvdW50RGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzQ291bnQgPSBwYXJzZUludCgvXFxkKy8uZXhlYyhhbWVuZGVtZW50c0NvdW50RGl2IS50ZXh0KSFbMF0pXG4gICAgY29uc3QgYW1lbmRlbWVudHNEaXYgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbWVuZGVtZW50LWxpc3QtLXJlc3VsdHMtdGFibGVcIixcbiAgICApXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzRGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVGFibGUgPSBhbWVuZGVtZW50c0RpdiEucXVlcnlTZWxlY3RvcihcInRhYmxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzVGFibGUsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUciA9IGFtZW5kZW1lbnRzVGFibGUhLnF1ZXJ5U2VsZWN0b3IoXCJ0Zm9vdCA+IHRyXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHRmb290VHIsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUckNlbGxzID0gdGZvb3RUciFcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKFwidGQsIHRoXCIpXG4gICAgICAubWFwKChjZWxsKSA9PiBjZWxsLnRleHQpXG4gICAgYXNzZXJ0KFxuICAgICAgZGVlcEVxdWFsKHRmb290VHJDZWxscywgW1xuICAgICAgICBcIlwiLFxuICAgICAgICBcIm7CsFwiLFxuICAgICAgICBcIkRvc3NpZXIgbMOpZ2lzbGF0aWZcIixcbiAgICAgICAgXCJFbXBsYWNlbWVudFwiLFxuICAgICAgICBcIkF1dGV1clwiLFxuICAgICAgICBcIsOJdGF0XCIsXG4gICAgICAgIFwiU29ydFwiLFxuICAgICAgICBcIkRhdGUgZCdleGFtZW5cIixcbiAgICAgICAgXCJFeGFtaW7DqSBwYXJcIixcbiAgICAgICAgXCJUZXh0ZSB2aXPDqVwiLFxuICAgICAgICBcIkRhdGUgZGUgZMOpcMO0dFwiLFxuICAgICAgXSksXG4gICAgICBgVW5leHBlY3RlZCBjb2x1bW5zIGluICR7SlNPTi5zdHJpbmdpZnkodGZvb3RUckNlbGxzLCBudWxsLCAyKX1gLFxuICAgIClcbiAgICBjb25zdCBhbWVuZGVtZW50c1RyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvckFsbChcInRib2R5ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUci5sZW5ndGgsIDApXG4gICAgZm9yIChjb25zdCBhbWVuZGVtZW50VHIgb2YgYW1lbmRlbWVudHNUcikge1xuICAgICAgYW1lbmRlbWVudE51bWJlcisrXG5cbiAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCB8fCBtaW5EYXRlRXhhbWVuICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudFRkTGlzdCA9IGFtZW5kZW1lbnRUci5xdWVyeVNlbGVjdG9yQWxsKFwidGRcIilcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGFtZW5kZW1lbnRUZExpc3QubGVuZ3RoLFxuICAgICAgICAgIDExLFxuICAgICAgICAgIGBVbmV4cGVjdGVkIG51bWJlciBvZiBjb2x1bW5zIGluIGFtZW5kbWVudCByb3c6ICR7YW1lbmRlbWVudFRyLm91dGVySFRNTH1gLFxuICAgICAgICApXG4gICAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdFRkID0gYW1lbmRlbWVudFRkTGlzdFsxMF1cbiAgICAgICAgICBjb25zdCBkYXRlRGVwb3QgPSBmb3JtYXRJU08oXG4gICAgICAgICAgICBwYXJzZURhdGUoZGF0ZURlcG90VGQudGV4dCwgXCJkIE1NTU0geVwiLCBuZXcgRGF0ZSgpLCB7XG4gICAgICAgICAgICAgIGxvY2FsZTogZnJMb2NhbGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHsgcmVwcmVzZW50YXRpb246IFwiZGF0ZVwiIH0sXG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChkYXRlRGVwb3QgPCBtaW5EYXRlRGVwb3QpIHtcbiAgICAgICAgICAgIC8vIFNpbmNlIHRoZSBhbWVuZG1lbnRzIGFyZSBzb3J0ZWQgYnkgZGVwb3NpdCBkYXRlLCBvbmNlIGFuIGFtZW5kbWVudFxuICAgICAgICAgICAgLy8gd2l0aCBhbiBvbGQgZGVwb3NpdCBkYXRlIGlzIGVuY291bnRlcmVkLCB0aGUgZnVsbCBzZWFyY2ggY2FuIGJlIHN0b3BwZWQuXG4gICAgICAgICAgICBicmVhayBpdGVyU2VhcmNoUGFnZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbkRhdGVFeGFtZW4gIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdGVFeGFtZW5UZCA9IGFtZW5kZW1lbnRUZExpc3RbN11cbiAgICAgICAgICBpZiAoZGF0ZUV4YW1lblRkLnRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVFeGFtZW4gPSBmb3JtYXRJU08oXG4gICAgICAgICAgICAgIHBhcnNlRGF0ZShkYXRlRXhhbWVuVGQudGV4dCwgXCJkIE1NTU0geVwiLCBuZXcgRGF0ZSgpLCB7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHsgcmVwcmVzZW50YXRpb246IFwiZGF0ZVwiIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAoZGF0ZUV4YW1lbiA8IG1pbkRhdGVFeGFtZW4pIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBhbWVuZG1lbnQgaGFzIGJlZW4gZGlzY3Vzc2VkIHNpbmNlIGEgZmV3IGRheXMuXG4gICAgICAgICAgICAgIC8vID0+IElnbm9yZSBpdCwgYmVjYXVzZSBpdCBzaG91bGQgYmUgaW4gQXNzZW1ibMOpZSBvcGVuIGRhdGEuXG4gICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoID0gYW1lbmRlbWVudFRyLmdldEF0dHJpYnV0ZShcImRhdGEtaHJlZlwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRVcmxQYXRoLCB1bmRlZmluZWQpXG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkID0gYW1lbmRlbWVudFVybFBhdGghLnNwbGl0KFwiL1wiKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkWzBdLFxuICAgICAgICBcIlwiLFxuICAgICAgICBgVW5leHBlY3RlZCBVUkwgcGF0aCBmb3IgYW1lbmRlbWVudDogJHthbWVuZGVtZW50VXJsUGF0aH1gLFxuICAgICAgKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkWzFdLFxuICAgICAgICBcImR5blwiLFxuICAgICAgICBgVW5leHBlY3RlZCBVUkwgcGF0aCBmb3IgYW1lbmRlbWVudDogJHthbWVuZGVtZW50VXJsUGF0aH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcixcbiAgICAgICAgICAuLi5hbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkLnNsaWNlKDIpLFxuICAgICAgICApICsgXCIuaHRtbFwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoKSlcbiAgICAgIGNvbnN0IGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlID0gKGF3YWl0IGZzLnBhdGhFeGlzdHMoXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLFxuICAgICAgKSlcbiAgICAgICAgPyBhd2FpdCBmcy5yZWFkRmlsZShhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCwgXCJ1dGY4XCIpXG4gICAgICAgIDogbnVsbFxuICAgICAgY29uc3QgYW1lbmRlbWVudFRyT3V0ZXJIdG1sID0gYW1lbmRlbWVudFRyLm91dGVySFRNTFxuICAgICAgY29uc3QgYW1lbmRlbWVudFNlYXJjaENhY2hlID0gYC0tLVxcbiR7anNZYW1sLmR1bXAoXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogYW1lbmRlbWVudHNDb3VudCAtIGFtZW5kZW1lbnROdW1iZXIsXG4gICAgICAgICAgc2VhcmNoOiB1cmwucmVwbGFjZSgvJnBhZ2U9W1xcZF0rLywgXCJcIiksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzb3J0S2V5czogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICl9LS0tXFxuXFxuJHthbWVuZGVtZW50VHJPdXRlckh0bWx9YFxuICAgICAgaWYgKGFtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUpIHtcbiAgICAgICAgaWYgKGluY3JlbWVudGFsKSB7XG4gICAgICAgICAgLy8gVGhlIHNhbWUgPHRyPiBpcyBhbHJlYWR5IGluIGNhY2hlIGFuZCBpbiB0aGUgc2FtZSBwb3NpdGlvbi5cbiAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBmb2xsb3dpbmcgYW1lbmRtZW50cyBhcmUgbm90IGNoYW5nZWQgYW5kIHN0b3AgbG9va2luZ1xuICAgICAgICAgIC8vIGZvciBhbWVuZG1lbnRzIHRvIHVwc2VydC5cbiAgICAgICAgICBicmVhayBpdGVyU2VhcmNoUGFnZXNcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSAhPT0gbnVsbCAmJlxuICAgICAgICBmcm9udE1hdHRlcihleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkuYm9keSA9PT1cbiAgICAgICAgICBhbWVuZGVtZW50VHJPdXRlckh0bWxcbiAgICAgICkge1xuICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUsIGJ1dCBpbiBhIGRpZmZlcmVudCBwb3NpdGlvbi5cbiAgICAgICAgLy8gQXNzdW1lIHRoZSBhbWVuZG1lbnQgaXMgdW5jaGFuZ2VkLlxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBBZGRpbmcgYW1lbmRlbWVudCBzZWFyY2ggY2FjaGU6ICR7YW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGh94oCmYCxcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICBgVXBkYXRpbmcgYW1lbmRlbWVudCBzZWFyY2ggY2FjaGU6ICR7YW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGh94oCmYCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sVXJsID0gbmV3IFVSTChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SHRtbFVybClcbiAgICAgIGlmIChhbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBBbWVuZGVtZW50IEhUTUwgcGFnZSBub3QgZm91bmQgYXQgJHthbWVuZGVtZW50SHRtbFVybH0uIFNraXBwaW5nLmAsXG4gICAgICAgIClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEh0bWxSZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEhUTUwgcGFnZSBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sUGFnZSA9IGF3YWl0IGFtZW5kZW1lbnRIdG1sUmVzcG9uc2UudGV4dCgpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbCA9IHBhcnNlSHRtbChhbWVuZGVtZW50SHRtbFBhZ2UpXG4gICAgICBjb25zdCBmb3JtYXRzTGkgPSBhbWVuZGVtZW50SHRtbC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICBcImxpLm1pcnJvci1jYXJkLWhlYWRlci0tb3B0aW9ucy0tY29udGVudC0taXRlbVwiLFxuICAgICAgKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGZvcm1hdHNMaS5sZW5ndGgsIDApXG4gICAgICBjb25zdCBqc29uTGkgPSBmb3JtYXRzTGkuZmluZCgoZm9ybWF0TGkpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0U3BhbiA9IGZvcm1hdExpLnF1ZXJ5U2VsZWN0b3IoXCJhID4gc3BhblwiKVxuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgICAgZm9ybWF0U3BhbixcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGBObyA8c3Bhbj4gaW4gPGE+IGZvdW5kIGluICR7Zm9ybWF0TGkudG9TdHJpbmcoKX1gLFxuICAgICAgICApXG4gICAgICAgIHJldHVybiBmb3JtYXRTcGFuIS50ZXh0ID09PSBcIlZlcnNpb24gSlNPTlwiXG4gICAgICB9KVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uTGksXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYE5vIEpTT04gdmVyc2lvbiBmb3VuZCBmb3IgYW1lbmRlbWVudCBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfWAsXG4gICAgICApXG4gICAgICBjb25zdCBqc29uQSA9IGpzb25MaSEucXVlcnlTZWxlY3RvcihcImFcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAganNvbkEsXG4gICAgICAgIG51bGwsXG4gICAgICAgIGBObyA8YT4gZm91bmQgaW4gJHtqc29uTGkhLnRvU3RyaW5nKCl9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uVXJsUGF0aCA9IGpzb25BIS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uVXJsUGF0aCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gVVJMIGZvdW5kIGZvciBKU09OIHZlcnNpb24gb2YgYW1lbmRlbWVudDogJHtqc29uTGkhLnRvU3RyaW5nKCl9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uVXJsID0gbmV3IFVSTChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoISxcbiAgICAgICAgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiLFxuICAgICAgKS50b1N0cmluZygpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYW1lbmRlbWVudEpzb25VcmwpXG4gICAgICBhc3NlcnQoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uUmVzcG9uc2Uub2ssXG4gICAgICAgIGBSZXRyaWV2YWwgb2YgYW1lbmRlbWVudCBKU09OIHBhZ2UgYXQgJHthbWVuZGVtZW50SnNvblVybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7YW1lbmRlbWVudEpzb25SZXNwb25zZS5zdGF0dXN9ICR7YW1lbmRlbWVudEpzb25SZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50ID0gYXdhaXQgYW1lbmRlbWVudEpzb25SZXNwb25zZS5qc29uKClcbiAgICAgIHlpZWxkIFthbWVuZGVtZW50VXJsUGF0aCEsIGFtZW5kZW1lbnRdXG5cbiAgICAgIC8vIFNlYXJjaENhY2hlIG11c3QgYmUgd3JpdHRlbiBhdCB0aGUgZW5kIHRvIGVuc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gYSBjb25zaXN0ZW50IHN0YXRlLFxuICAgICAgLy8gZXZlbiBpZiBzY3JpcHQgZmFpbHMgYWJydXB0bHkuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGUsXG4gICAgICAgIFwidXRmOFwiLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IHBhZ2luYXRpb25BID0gaHRtbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJkaXYuYW4tcGFnaW5hdGlvbi0taXRlbSA+IGkuYW4taWNvbnMtY2hldnJvbi1yaWdodCB+IGFcIixcbiAgICApXG4gICAgaWYgKHBhZ2luYXRpb25BID09PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjb25zdCB1cmxQYXRoID0gcGFnaW5hdGlvbkEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh1cmxQYXRoLCB1bmRlZmluZWQpXG4gICAgdXJsID0gbmV3IFVSTCh1cmxQYXRoISwgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiKS50b1N0cmluZygpXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsU0FBUyxRQUFRLG9CQUFvQjtBQUM5QyxTQUFTQyxFQUFFLElBQUlDLFFBQVEsUUFBUSxvQkFBb0I7QUFDbkQsU0FBU0MsS0FBSyxJQUFJQyxTQUFTLFFBQVEsZ0JBQWdCO0FBQ25ELE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLFdBQVcsTUFBTSxjQUFjO0FBQ3RDLE9BQU9DLE1BQU0sTUFBTSxTQUFTO0FBQzVCLFNBQVNMLEtBQUssSUFBSU0sU0FBUyxRQUFRLGtCQUFrQjtBQUNyRCxPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLFNBRWRDLGVBQWU7QUFBQSxTQUVIQyxPQUFPLElBQUlDLGtCQUFrQjtBQUVsRCxPQUFPLGdCQUFnQkMsd0JBQXdCQSxDQUM3Q0MseUJBQWlDLEVBQ2pDQyxHQUFXLEVBQ1hDLFdBQW9CLEVBQ3BCQyxZQUE0QixFQUM1QkMsYUFBNkIsRUFDN0JDLE9BQWdELEdBQUcsQ0FBQyxDQUFDLEVBQ0E7RUFDckQsV0FBVyxNQUFNLENBQ2ZDLGlCQUFpQixFQUNqQkMsVUFBVSxDQUNYLElBQUlDLDJCQUEyQixDQUM5QlIseUJBQXlCLEVBQ3pCQyxHQUFHLEVBQ0hDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxhQUFhLEVBQ2JDLE9BQ0YsQ0FBQyxFQUFFO0lBQ0RULGVBQWUsQ0FBQ1csVUFBVSxDQUFDO0lBQzNCO0lBQ0EsTUFBTSxDQUNKRCxpQkFBaUIsRUFD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
167
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJmb3JtYXRJU08iLCJmciIsImZyTG9jYWxlIiwicGFyc2UiLCJwYXJzZURhdGUiLCJkZWVwRXF1YWwiLCJmcyIsImZyb250TWF0dGVyIiwianNZYW1sIiwicGFyc2VIdG1sIiwicGF0aCIsImNsZWFuQW1lbmRlbWVudCIsIkNvbnZlcnQiLCJBbWVuZGVtZW50c0NvbnZlcnQiLCJpdGVyUmVjaGVyY2hlQW1lbmRlbWVudHMiLCJhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyIiwidXJsIiwiaW5jcmVtZW50YWwiLCJtaW5EYXRlRGVwb3QiLCJtaW5EYXRlRXhhbWVuIiwib3B0aW9ucyIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsInRvQW1lbmRlbWVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJlbnN1cmVEaXIiLCJzdHJpY3RFcXVhbCIsImV4ZWMiLCJub3RTdHJpY3RFcXVhbCIsImluY2x1ZGVzIiwiYW1lbmRlbWVudE51bWJlciIsIml0ZXJTZWFyY2hQYWdlcyIsInZlcmJvc2UiLCJjb25zb2xlIiwibG9nIiwicmVzcG9uc2UiLCJmZXRjaCIsIm9rIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInBhZ2UiLCJ0ZXh0IiwiaHRtbCIsInF1ZXJ5U2VsZWN0b3IiLCJhbWVuZGVtZW50c0NvdW50RGl2IiwiYW1lbmRlbWVudHNDb3VudCIsInBhcnNlSW50IiwiYW1lbmRlbWVudHNEaXYiLCJhbWVuZGVtZW50c1RhYmxlIiwidGZvb3RUciIsInRmb290VHJDZWxscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJtYXAiLCJjZWxsIiwiYW1lbmRlbWVudHNUciIsImxlbmd0aCIsImFtZW5kZW1lbnRUciIsImFtZW5kZW1lbnRUZExpc3QiLCJvdXRlckhUTUwiLCJkYXRlRGVwb3RUZCIsImRhdGVEZXBvdCIsIkRhdGUiLCJsb2NhbGUiLCJyZXByZXNlbnRhdGlvbiIsImRhdGVFeGFtZW5UZCIsImRhdGVFeGFtZW4iLCJnZXRBdHRyaWJ1dGUiLCJ1bmRlZmluZWQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCIsImpvaW4iLCJzbGljZSIsImRpcm5hbWUiLCJleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSIsInBhdGhFeGlzdHMiLCJyZWFkRmlsZSIsImFtZW5kZW1lbnRUck91dGVySHRtbCIsImFtZW5kZW1lbnRTZWFyY2hDYWNoZSIsImR1bXAiLCJwb3NpdGlvbiIsInNlYXJjaCIsInJlcGxhY2UiLCJzb3J0S2V5cyIsImJvZHkiLCJhbWVuZGVtZW50SHRtbFVybCIsIlVSTCIsInRvU3RyaW5nIiwiYW1lbmRlbWVudEh0bWxSZXNwb25zZSIsImFtZW5kZW1lbnRIdG1sUGFnZSIsImFtZW5kZW1lbnRIdG1sIiwiZm9ybWF0c0xpIiwianNvbkxpIiwiZmluZCIsImZvcm1hdExpIiwiZm9ybWF0U3BhbiIsImpzb25BIiwiYW1lbmRlbWVudEpzb25VcmxQYXRoIiwiYW1lbmRlbWVudEpzb25VcmwiLCJhbWVuZGVtZW50SnNvblJlc3BvbnNlIiwianNvbiIsIndyaXRlRmlsZSIsInBhZ2luYXRpb25BIiwidXJsUGF0aCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXJzL3JlY2hlcmNoZV9hbWVuZGVtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IHsgZm9ybWF0SVNPIH0gZnJvbSBcImRhdGUtZm5zL2Zvcm1hdElTT1wiXG5pbXBvcnQgeyBmciBhcyBmckxvY2FsZSB9IGZyb20gXCJkYXRlLWZucy9sb2NhbGUvZnJcIlxuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VEYXRlIH0gZnJvbSBcImRhdGUtZm5zL3BhcnNlXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgZnJvbnRNYXR0ZXIgZnJvbSBcImZyb250LW1hdHRlclwiXG5pbXBvcnQganNZYW1sIGZyb20gXCJqcy15YW1sXCJcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlSHRtbCB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgY2xlYW5BbWVuZGVtZW50IH0gZnJvbSBcIi4uL2NsZWFuZXJzXCJcbmltcG9ydCB7IEFtZW5kZW1lbnQgYXMgUmF3QW1lbmRlbWVudCB9IGZyb20gXCIuLi9yYXdfdHlwZXMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHsgQW1lbmRlbWVudCwgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGl0ZXJSZWNoZXJjaGVBbWVuZGVtZW50cyhcbiAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcjogc3RyaW5nLFxuICB1cmw6IHN0cmluZyxcbiAgaW5jcmVtZW50YWw6IGJvb2xlYW4sXG4gIG1pbkRhdGVEZXBvdD86IHN0cmluZyB8IG51bGwsXG4gIG1pbkRhdGVFeGFtZW4/OiBzdHJpbmcgfCBudWxsLFxuICBvcHRpb25zOiB7IHNpbGVudD86IGJvb2xlYW47IHZlcmJvc2U/OiBib29sZWFuIH0gPSB7fSxcbik6IEFzeW5jR2VuZXJhdG9yPFtzdHJpbmcsIEFtZW5kZW1lbnRdLCB2b2lkLCB1bmtub3duPiB7XG4gIGZvciBhd2FpdCAoY29uc3QgW1xuICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgIGFtZW5kZW1lbnQsXG4gIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgIGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIsXG4gICAgdXJsLFxuICAgIGluY3JlbWVudGFsLFxuICAgIG1pbkRhdGVEZXBvdCxcbiAgICBtaW5EYXRlRXhhbWVuLFxuICAgIG9wdGlvbnMsXG4gICkpIHtcbiAgICBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudClcbiAgICAvLyBEb3VibGUgY29udmVyc2lvbiwgdG8gY29udmVydCBzdHJpbmdzIHRvIGRhdGVzLlxuICAgIHlpZWxkIFtcbiAgICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgICAgQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudChKU09OLnN0cmluZ2lmeShhbWVuZGVtZW50KSksXG4gICAgXVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICBhbWVuZGVtZW50c1NlYXJjaENhY2hlRGlyOiBzdHJpbmcsXG4gIHVybDogc3RyaW5nLFxuICBpbmNyZW1lbnRhbDogYm9vbGVhbixcbiAgbWluRGF0ZURlcG90Pzogc3RyaW5nIHwgbnVsbCxcbiAgbWluRGF0ZUV4YW1lbj86IHN0cmluZyB8IG51bGwsXG4gIG9wdGlvbnM6IHsgc2lsZW50PzogYm9vbGVhbjsgdmVyYm9zZT86IGJvb2xlYW4gfSA9IHt9LFxuKTogQXN5bmNHZW5lcmF0b3I8W3N0cmluZywgUmF3QW1lbmRlbWVudF0sIHZvaWQsIHVua25vd24+IHtcbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzU2VhcmNoQ2FjaGVEaXIpXG5cbiAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgIC9bPyZdZGF0ZV9kZXBvdD0vLmV4ZWModXJsKSxcbiAgICBudWxsLFxuICAgIGBVUkwgJHt1cmx9IGFscmVhZHkgY29udGFpbnMgYSBkZXBvc2l0IGRhdGVgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXW9yZGVyPS8uZXhlYyh1cmwpLFxuICAgIG51bGwsXG4gICAgYFVSTCAke3VybH0gYWxyZWFkeSBjb250YWlucyBhIHNvcnQgb3JkZXJgLFxuICApXG4gIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAvWz8mXXBhZ2U9Ly5leGVjKHVybCksXG4gICAgbnVsbCxcbiAgICBgVVJMICR7dXJsfSBhbHJlYWR5IGNvbnRhaW5zIGEgcGFnZSBudW1iZXJgLFxuICApXG4gIGlmIChpbmNyZW1lbnRhbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9bPyZdZXRhdD0vLmV4ZWModXJsKSxcbiAgICAgIG51bGwsXG4gICAgICBgSW4gaW5jcmVtZW50YWwgbW9kZSwgVVJMICR7dXJsfSBtdXN0IGNvbnRhaW4gYW4gXCJldGF0XCIgcXVlcnkgcGFyYW1ldGVyYCxcbiAgICApXG4gIH1cbiAgdXJsICs9ICh1cmwuaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIikgKyBcIm9yZGVyPWRhdGVfZGVwb3QsZGVzYyZwYWdlPTFcIlxuXG4gIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIC9cXGR7NH0tXFxkezJ9LVxcZHsyfS8uZXhlYyhtaW5EYXRlRGVwb3QpLFxuICAgICAgbnVsbCxcbiAgICAgIGBJbnZhbGlkIGZvcm1hdCBmb3IgbWluaW11bSBkYXRlOiAke21pbkRhdGVEZXBvdH1gLFxuICAgIClcbiAgfVxuXG4gIGxldCBhbWVuZGVtZW50TnVtYmVyID0gMFxuICBpdGVyU2VhcmNoUGFnZXM6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coYEZldGNoaW5nIGFtZW5kZW1lbnRzIHNlYXJjaCBwYWdlIGF0ICR7dXJsfeKApmApXG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKVxuICAgIGFzc2VydChcbiAgICAgIHJlc3BvbnNlLm9rLFxuICAgICAgYFJldHJpZXZhbCBvZiBzZWFyY2ggcGFnZSBhdCAke3VybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICApXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxuICAgIGNvbnN0IGh0bWwgPSBwYXJzZUh0bWwocGFnZSlcbiAgICBpZiAoaHRtbC5xdWVyeVNlbGVjdG9yKFwiZGl2Lm5vLXJlc3VsdFwiKSAhPT0gbnVsbCkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY29uc3QgYW1lbmRlbWVudHNDb3VudERpdiA9IGh0bWwucXVlcnlTZWxlY3RvcihcImRpdi5taXJyb3ItY2FyZC1zdWJ0aXRsZVwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChhbWVuZGVtZW50c0NvdW50RGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzQ291bnQgPSBwYXJzZUludCgvXFxkKy8uZXhlYyhhbWVuZGVtZW50c0NvdW50RGl2IS50ZXh0KSFbMF0pXG4gICAgY29uc3QgYW1lbmRlbWVudHNEaXYgPSBodG1sLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImRpdi5hbWVuZGVtZW50LWxpc3QtLXJlc3VsdHMtdGFibGVcIixcbiAgICApXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzRGl2LCBudWxsKVxuICAgIGNvbnN0IGFtZW5kZW1lbnRzVGFibGUgPSBhbWVuZGVtZW50c0RpdiEucXVlcnlTZWxlY3RvcihcInRhYmxlXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRzVGFibGUsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUciA9IGFtZW5kZW1lbnRzVGFibGUhLnF1ZXJ5U2VsZWN0b3IoXCJ0Zm9vdCA+IHRyXCIpXG4gICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKHRmb290VHIsIG51bGwpXG4gICAgY29uc3QgdGZvb3RUckNlbGxzID0gdGZvb3RUciFcbiAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKFwidGQsIHRoXCIpXG4gICAgICAubWFwKChjZWxsKSA9PiBjZWxsLnRleHQpXG4gICAgYXNzZXJ0KFxuICAgICAgZGVlcEVxdWFsKHRmb290VHJDZWxscywgW1xuICAgICAgICBcIlwiLFxuICAgICAgICBcIm7CsFwiLFxuICAgICAgICBcIkRvc3NpZXIgbMOpZ2lzbGF0aWZcIixcbiAgICAgICAgXCJFbXBsYWNlbWVudFwiLFxuICAgICAgICBcIkF1dGV1clwiLFxuICAgICAgICBcIsOJdGF0XCIsXG4gICAgICAgIFwiU29ydFwiLFxuICAgICAgICBcIkRhdGUgZCdleGFtZW5cIixcbiAgICAgICAgXCJFeGFtaW7DqSBwYXJcIixcbiAgICAgICAgXCJUZXh0ZSB2aXPDqVwiLFxuICAgICAgICBcIkRhdGUgZGUgZMOpcMO0dFwiLFxuICAgICAgXSksXG4gICAgICBgVW5leHBlY3RlZCBjb2x1bW5zIGluICR7SlNPTi5zdHJpbmdpZnkodGZvb3RUckNlbGxzLCBudWxsLCAyKX1gLFxuICAgIClcbiAgICBjb25zdCBhbWVuZGVtZW50c1RyID0gYW1lbmRlbWVudHNUYWJsZSEucXVlcnlTZWxlY3RvckFsbChcInRib2R5ID4gdHJcIilcbiAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYW1lbmRlbWVudHNUci5sZW5ndGgsIDApXG4gICAgZm9yIChjb25zdCBhbWVuZGVtZW50VHIgb2YgYW1lbmRlbWVudHNUcikge1xuICAgICAgYW1lbmRlbWVudE51bWJlcisrXG5cbiAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCB8fCBtaW5EYXRlRXhhbWVuICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgYW1lbmRlbWVudFRkTGlzdCA9IGFtZW5kZW1lbnRUci5xdWVyeVNlbGVjdG9yQWxsKFwidGRcIilcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGFtZW5kZW1lbnRUZExpc3QubGVuZ3RoLFxuICAgICAgICAgIDExLFxuICAgICAgICAgIGBVbmV4cGVjdGVkIG51bWJlciBvZiBjb2x1bW5zIGluIGFtZW5kbWVudCByb3c6ICR7YW1lbmRlbWVudFRyLm91dGVySFRNTH1gLFxuICAgICAgICApXG4gICAgICAgIGlmIChtaW5EYXRlRGVwb3QgIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdGVEZXBvdFRkID0gYW1lbmRlbWVudFRkTGlzdFsxMF1cbiAgICAgICAgICBjb25zdCBkYXRlRGVwb3QgPSBmb3JtYXRJU08oXG4gICAgICAgICAgICBwYXJzZURhdGUoZGF0ZURlcG90VGQudGV4dCwgXCJkIE1NTU0geVwiLCBuZXcgRGF0ZSgpLCB7XG4gICAgICAgICAgICAgIGxvY2FsZTogZnJMb2NhbGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHsgcmVwcmVzZW50YXRpb246IFwiZGF0ZVwiIH0sXG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChkYXRlRGVwb3QgPCBtaW5EYXRlRGVwb3QpIHtcbiAgICAgICAgICAgIC8vIFNpbmNlIHRoZSBhbWVuZG1lbnRzIGFyZSBzb3J0ZWQgYnkgZGVwb3NpdCBkYXRlLCBvbmNlIGFuIGFtZW5kbWVudFxuICAgICAgICAgICAgLy8gd2l0aCBhbiBvbGQgZGVwb3NpdCBkYXRlIGlzIGVuY291bnRlcmVkLCB0aGUgZnVsbCBzZWFyY2ggY2FuIGJlIHN0b3BwZWQuXG4gICAgICAgICAgICBicmVhayBpdGVyU2VhcmNoUGFnZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1pbkRhdGVFeGFtZW4gIT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IGRhdGVFeGFtZW5UZCA9IGFtZW5kZW1lbnRUZExpc3RbN11cbiAgICAgICAgICBpZiAoZGF0ZUV4YW1lblRkLnRleHQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVFeGFtZW4gPSBmb3JtYXRJU08oXG4gICAgICAgICAgICAgIHBhcnNlRGF0ZShkYXRlRXhhbWVuVGQudGV4dCwgXCJkIE1NTU0geVwiLCBuZXcgRGF0ZSgpLCB7XG4gICAgICAgICAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHsgcmVwcmVzZW50YXRpb246IFwiZGF0ZVwiIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAoZGF0ZUV4YW1lbiA8IG1pbkRhdGVFeGFtZW4pIHtcbiAgICAgICAgICAgICAgLy8gVGhpcyBhbWVuZG1lbnQgaGFzIGJlZW4gZGlzY3Vzc2VkIHNpbmNlIGEgZmV3IGRheXMuXG4gICAgICAgICAgICAgIC8vID0+IElnbm9yZSBpdCwgYmVjYXVzZSBpdCBzaG91bGQgYmUgaW4gQXNzZW1ibMOpZSBvcGVuIGRhdGEuXG4gICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoID0gYW1lbmRlbWVudFRyLmdldEF0dHJpYnV0ZShcImRhdGEtaHJlZlwiKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGFtZW5kZW1lbnRVcmxQYXRoLCB1bmRlZmluZWQpXG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkID0gYW1lbmRlbWVudFVybFBhdGghLnNwbGl0KFwiL1wiKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkWzBdLFxuICAgICAgICBcIlwiLFxuICAgICAgICBgVW5leHBlY3RlZCBVUkwgcGF0aCBmb3IgYW1lbmRlbWVudDogJHthbWVuZGVtZW50VXJsUGF0aH1gLFxuICAgICAgKVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkWzFdLFxuICAgICAgICBcImR5blwiLFxuICAgICAgICBgVW5leHBlY3RlZCBVUkwgcGF0aCBmb3IgYW1lbmRlbWVudDogJHthbWVuZGVtZW50VXJsUGF0aH1gLFxuICAgICAgKVxuICAgICAgY29uc3QgYW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgYW1lbmRlbWVudHNTZWFyY2hDYWNoZURpcixcbiAgICAgICAgICAuLi5hbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkLnNsaWNlKDIpLFxuICAgICAgICApICsgXCIuaHRtbFwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoKSlcbiAgICAgIGNvbnN0IGV4aXN0aW5nQW1lbmRlbWVudFNlYXJjaENhY2hlID0gKGF3YWl0IGZzLnBhdGhFeGlzdHMoXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLFxuICAgICAgKSlcbiAgICAgICAgPyBhd2FpdCBmcy5yZWFkRmlsZShhbWVuZGVtZW50U2VhcmNoQ2FjaGVGaWxlUGF0aCwgXCJ1dGY4XCIpXG4gICAgICAgIDogbnVsbFxuICAgICAgY29uc3QgYW1lbmRlbWVudFRyT3V0ZXJIdG1sID0gYW1lbmRlbWVudFRyLm91dGVySFRNTFxuICAgICAgY29uc3QgYW1lbmRlbWVudFNlYXJjaENhY2hlID0gYC0tLVxcbiR7anNZYW1sLmR1bXAoXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogYW1lbmRlbWVudHNDb3VudCAtIGFtZW5kZW1lbnROdW1iZXIsXG4gICAgICAgICAgc2VhcmNoOiB1cmwucmVwbGFjZSgvJnBhZ2U9W1xcZF0rLywgXCJcIiksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzb3J0S2V5czogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICl9LS0tXFxuXFxuJHthbWVuZGVtZW50VHJPdXRlckh0bWx9YFxuICAgICAgaWYgKGFtZW5kZW1lbnRTZWFyY2hDYWNoZSA9PT0gZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUpIHtcbiAgICAgICAgaWYgKGluY3JlbWVudGFsKSB7XG4gICAgICAgICAgLy8gVGhlIHNhbWUgPHRyPiBpcyBhbHJlYWR5IGluIGNhY2hlIGFuZCBpbiB0aGUgc2FtZSBwb3NpdGlvbi5cbiAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBmb2xsb3dpbmcgYW1lbmRtZW50cyBhcmUgbm90IGNoYW5nZWQgYW5kIHN0b3AgbG9va2luZ1xuICAgICAgICAgIC8vIGZvciBhbWVuZG1lbnRzIHRvIHVwc2VydC5cbiAgICAgICAgICBicmVhayBpdGVyU2VhcmNoUGFnZXNcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSAhPT0gbnVsbCAmJlxuICAgICAgICBmcm9udE1hdHRlcihleGlzdGluZ0FtZW5kZW1lbnRTZWFyY2hDYWNoZSkuYm9keSA9PT1cbiAgICAgICAgICBhbWVuZGVtZW50VHJPdXRlckh0bWxcbiAgICAgICkge1xuICAgICAgICAvLyBUaGUgc2FtZSA8dHI+IGlzIGFscmVhZHkgaW4gY2FjaGUsIGJ1dCBpbiBhIGRpZmZlcmVudCBwb3NpdGlvbi5cbiAgICAgICAgLy8gQXNzdW1lIHRoZSBhbWVuZG1lbnQgaXMgdW5jaGFuZ2VkLlxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50U2VhcmNoQ2FjaGUgPT09IG51bGwpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgIGBBZGRpbmcgYW1lbmRlbWVudCBzZWFyY2ggY2FjaGU6ICR7YW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGh94oCmYCxcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICBgVXBkYXRpbmcgYW1lbmRlbWVudCBzZWFyY2ggY2FjaGU6ICR7YW1lbmRlbWVudFNlYXJjaENhY2hlRmlsZVBhdGh94oCmYCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sVXJsID0gbmV3IFVSTChcbiAgICAgICAgYW1lbmRlbWVudFVybFBhdGghLFxuICAgICAgICBcImh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvXCIsXG4gICAgICApLnRvU3RyaW5nKClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChhbWVuZGVtZW50SHRtbFVybClcbiAgICAgIGlmIChhbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBBbWVuZGVtZW50IEhUTUwgcGFnZSBub3QgZm91bmQgYXQgJHthbWVuZGVtZW50SHRtbFVybH0uIFNraXBwaW5nLmAsXG4gICAgICAgIClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGFzc2VydChcbiAgICAgICAgYW1lbmRlbWVudEh0bWxSZXNwb25zZS5vayxcbiAgICAgICAgYFJldHJpZXZhbCBvZiBhbWVuZGVtZW50IEhUTUwgcGFnZSBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfSBmYWlsZWQgd2l0aCBlcnJvcjogJHthbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1c30gJHthbWVuZGVtZW50SHRtbFJlc3BvbnNlLnN0YXR1c1RleHR9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRIdG1sUGFnZSA9IGF3YWl0IGFtZW5kZW1lbnRIdG1sUmVzcG9uc2UudGV4dCgpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SHRtbCA9IHBhcnNlSHRtbChhbWVuZGVtZW50SHRtbFBhZ2UpXG4gICAgICBjb25zdCBmb3JtYXRzTGkgPSBhbWVuZGVtZW50SHRtbC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICBcImxpLm1pcnJvci1jYXJkLWhlYWRlci0tb3B0aW9ucy0tY29udGVudC0taXRlbVwiLFxuICAgICAgKVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGZvcm1hdHNMaS5sZW5ndGgsIDApXG4gICAgICBjb25zdCBqc29uTGkgPSBmb3JtYXRzTGkuZmluZCgoZm9ybWF0TGkpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0U3BhbiA9IGZvcm1hdExpLnF1ZXJ5U2VsZWN0b3IoXCJhID4gc3BhblwiKVxuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgICAgZm9ybWF0U3BhbixcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGBObyA8c3Bhbj4gaW4gPGE+IGZvdW5kIGluICR7Zm9ybWF0TGkudG9TdHJpbmcoKX1gLFxuICAgICAgICApXG4gICAgICAgIHJldHVybiBmb3JtYXRTcGFuIS50ZXh0ID09PSBcIlZlcnNpb24gSlNPTlwiXG4gICAgICB9KVxuICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKFxuICAgICAgICBqc29uTGksXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgYE5vIEpTT04gdmVyc2lvbiBmb3VuZCBmb3IgYW1lbmRlbWVudCBhdCAke2FtZW5kZW1lbnRIdG1sVXJsfWAsXG4gICAgICApXG4gICAgICBjb25zdCBqc29uQSA9IGpzb25MaSEucXVlcnlTZWxlY3RvcihcImFcIilcbiAgICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgICAganNvbkEsXG4gICAgICAgIG51bGwsXG4gICAgICAgIGBObyA8YT4gZm91bmQgaW4gJHtqc29uTGkhLnRvU3RyaW5nKCl9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uVXJsUGF0aCA9IGpzb25BIS5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpXG4gICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uVXJsUGF0aCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgTm8gVVJMIGZvdW5kIGZvciBKU09OIHZlcnNpb24gb2YgYW1lbmRlbWVudDogJHtqc29uTGkhLnRvU3RyaW5nKCl9YCxcbiAgICAgIClcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRKc29uVXJsID0gbmV3IFVSTChcbiAgICAgICAgYW1lbmRlbWVudEpzb25VcmxQYXRoISxcbiAgICAgICAgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiLFxuICAgICAgKS50b1N0cmluZygpXG4gICAgICBjb25zdCBhbWVuZGVtZW50SnNvblJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYW1lbmRlbWVudEpzb25VcmwpXG4gICAgICBhc3NlcnQoXG4gICAgICAgIGFtZW5kZW1lbnRKc29uUmVzcG9uc2Uub2ssXG4gICAgICAgIGBSZXRyaWV2YWwgb2YgYW1lbmRlbWVudCBKU09OIHBhZ2UgYXQgJHthbWVuZGVtZW50SnNvblVybH0gZmFpbGVkIHdpdGggZXJyb3I6ICR7YW1lbmRlbWVudEpzb25SZXNwb25zZS5zdGF0dXN9ICR7YW1lbmRlbWVudEpzb25SZXNwb25zZS5zdGF0dXNUZXh0fWAsXG4gICAgICApXG4gICAgICBjb25zdCBhbWVuZGVtZW50ID0gYXdhaXQgYW1lbmRlbWVudEpzb25SZXNwb25zZS5qc29uKClcbiAgICAgIHlpZWxkIFthbWVuZGVtZW50VXJsUGF0aCEsIGFtZW5kZW1lbnRdXG5cbiAgICAgIC8vIFNlYXJjaENhY2hlIG11c3QgYmUgd3JpdHRlbiBhdCB0aGUgZW5kIHRvIGVuc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gYSBjb25zaXN0ZW50IHN0YXRlLFxuICAgICAgLy8gZXZlbiBpZiBzY3JpcHQgZmFpbHMgYWJydXB0bHkuXG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUoXG4gICAgICAgIGFtZW5kZW1lbnRTZWFyY2hDYWNoZUZpbGVQYXRoLFxuICAgICAgICBhbWVuZGVtZW50U2VhcmNoQ2FjaGUsXG4gICAgICAgIFwidXRmOFwiLFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IHBhZ2luYXRpb25BID0gaHRtbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJkaXYuYW4tcGFnaW5hdGlvbi0taXRlbSA+IGkuYW4taWNvbnMtY2hldnJvbi1yaWdodCB+IGFcIixcbiAgICApXG4gICAgaWYgKHBhZ2luYXRpb25BID09PSBudWxsKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjb25zdCB1cmxQYXRoID0gcGFnaW5hdGlvbkEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKVxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbCh1cmxQYXRoLCB1bmRlZmluZWQpXG4gICAgdXJsID0gbmV3IFVSTCh1cmxQYXRoISwgXCJodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL1wiKS50b1N0cmluZygpXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsU0FBUyxRQUFRLG9CQUFvQjtBQUM5QyxTQUFTQyxFQUFFLElBQUlDLFFBQVEsUUFBUSxvQkFBb0I7QUFDbkQsU0FBU0MsS0FBSyxJQUFJQyxTQUFTLFFBQVEsZ0JBQWdCO0FBQ25ELE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLFdBQVcsTUFBTSxjQUFjO0FBQ3RDLE9BQU9DLE1BQU0sTUFBTSxTQUFTO0FBQzVCLFNBQVNMLEtBQUssSUFBSU0sU0FBUyxRQUFRLGtCQUFrQjtBQUNyRCxPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLFNBRWRDLGVBQWU7QUFBQSxTQUVIQyxPQUFPLElBQUlDLGtCQUFrQjtBQUVsRCxPQUFPLGdCQUFnQkMsd0JBQXdCQSxDQUM3Q0MseUJBQWlDLEVBQ2pDQyxHQUFXLEVBQ1hDLFdBQW9CLEVBQ3BCQyxZQUE0QixFQUM1QkMsYUFBNkIsRUFDN0JDLE9BQWdELEdBQUcsQ0FBQyxDQUFDLEVBQ0E7RUFDckQsV0FBVyxNQUFNLENBQ2ZDLGlCQUFpQixFQUNqQkMsVUFBVSxDQUNYLElBQUlDLDJCQUEyQixDQUM5QlIseUJBQXlCLEVBQ3pCQyxHQUFHLEVBQ0hDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxhQUFhLEVBQ2JDLE9BQ0YsQ0FBQyxFQUFFO0lBQ0RULGVBQWUsQ0FBQ1csVUFBVSxDQUFDO0lBQzNCO0lBQ0EsTUFBTSxDQUNKRCxpQkFBaUIsRUFD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