@tricoteuses/assemblee 1.1.5 → 1.1.7
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.
- package/lib/api.js +1 -1
- package/lib/bugs/acteur-00010/plugin.test.js +1 -1
- package/lib/bugs/acteur-00010.js +1 -1
- package/lib/bugs/acteur-00010.mjs +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +1 -1
- package/lib/bugs/agenda-00002.js +2 -2
- package/lib/bugs/agenda-00002.mjs +2 -2
- package/lib/bugs/agenda-00008/plugin.test.js +1 -1
- package/lib/bugs/agenda-00008.js +1 -1
- package/lib/bugs/agenda-00008.mjs +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +1 -1
- package/lib/bugs/agenda-00011.js +1 -1
- package/lib/bugs/agenda-00011.mjs +1 -1
- package/lib/bugs.js +1 -1
- package/lib/bugs.mjs +1 -1
- package/lib/cleaners/actes_legislatifs.js +1 -1
- package/lib/cleaners/actes_legislatifs.mjs +1 -1
- package/lib/cleaners/acteurs.js +1 -1
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +1 -1
- package/lib/cleaners/amendements.mjs +1 -1
- package/lib/cleaners/documents.js +1 -1
- package/lib/cleaners/documents.mjs +1 -1
- package/lib/cleaners/dossiers_legislatifs.js +1 -1
- package/lib/cleaners/dossiers_legislatifs.mjs +1 -1
- package/lib/cleaners/index.js +1 -1
- package/lib/cleaners/organes.js +1 -1
- package/lib/cleaners/organes.mjs +1 -1
- package/lib/cleaners/reunions.js +1 -1
- package/lib/cleaners/reunions.mjs +1 -1
- package/lib/cleaners/scrutins.js +1 -1
- package/lib/cleaners/scrutins.mjs +1 -1
- package/lib/cleaners/xml.js +1 -1
- package/lib/cleaners/xml.mjs +1 -1
- package/lib/datasets.js +1 -1
- package/lib/datasets.mjs +1 -1
- package/lib/dates.js +16 -7
- package/lib/dates.mjs +15 -6
- package/lib/dossiers_legislatifs.js +1 -1
- package/lib/dossiers_legislatifs.mjs +1 -1
- package/lib/file_systems.js +2 -2
- package/lib/file_systems.mjs +2 -2
- package/lib/git.d.ts +2 -1
- package/lib/git.js +77 -44
- package/lib/git.mjs +48 -25
- package/lib/index.js +1 -1
- package/lib/inserters.js +1 -1
- package/lib/inserters.mjs +1 -1
- package/lib/loaders.d.ts +52 -2
- package/lib/loaders.js +961 -187
- package/lib/loaders.mjs +285 -3
- package/lib/organes.js +1 -1
- package/lib/organes.mjs +1 -1
- package/lib/parsers/documents.js +1 -1
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/index.js +1 -1
- package/lib/parsers/recherche_amendements.js +39 -32
- package/lib/parsers/recherche_amendements.mjs +5 -1
- package/lib/raw_types/acteurs_et_organes.js +1 -1
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.js +1 -1
- package/lib/raw_types/agendas.mjs +1 -1
- package/lib/raw_types/amendements.js +1 -1
- package/lib/raw_types/amendements.mjs +1 -1
- package/lib/raw_types/dossiers_legislatifs.js +1 -1
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/scrutins.js +1 -1
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +3 -3
- package/lib/scripts/bugs_helper.mjs +3 -3
- package/lib/scripts/clean_data.js +1 -1
- package/lib/scripts/clean_data.mjs +1 -1
- package/lib/scripts/clean_reorganized_data.js +63 -61
- package/lib/scripts/clean_reorganized_data.mjs +55 -48
- package/lib/scripts/diff_amendements.js +1 -1
- package/lib/scripts/diff_amendements.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +1 -1
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/get_today_reunions.js +1 -1
- package/lib/scripts/merge_scrutins.js +1 -1
- package/lib/scripts/merge_scrutins.mjs +1 -1
- package/lib/scripts/parse_textes_lois.js +5 -48
- package/lib/scripts/parse_textes_lois.mjs +5 -49
- package/lib/scripts/raw_types_from_amendements.js +1 -1
- package/lib/scripts/raw_types_from_amendements.mjs +1 -1
- package/lib/scripts/reorganize_data.js +231 -239
- package/lib/scripts/reorganize_data.mjs +50 -59
- package/lib/scripts/retrieve_deputes_photos.js +86 -107
- package/lib/scripts/retrieve_deputes_photos.mjs +21 -42
- package/lib/scripts/retrieve_documents.js +3 -3
- package/lib/scripts/retrieve_documents.mjs +3 -3
- package/lib/scripts/retrieve_open_data.js +29 -22
- package/lib/scripts/retrieve_open_data.mjs +9 -4
- package/lib/scripts/retrieve_pending_amendments.js +73 -81
- package/lib/scripts/retrieve_pending_amendments.mjs +19 -26
- package/lib/scripts/retrieve_senateurs_photos.js +65 -87
- package/lib/scripts/retrieve_senateurs_photos.mjs +21 -42
- package/lib/scripts/retrieve_textes_lois.js +32 -71
- package/lib/scripts/retrieve_textes_lois.mjs +6 -44
- package/lib/scripts/test_load.js +1 -1
- package/lib/scripts/test_load_big_files.js +1 -1
- package/lib/scripts/validate_json.js +3 -3
- package/lib/scripts/validate_json.mjs +3 -3
- package/lib/shared_types/codes_actes.js +1 -1
- package/lib/strings.js +1 -1
- package/lib/strings.mjs +1 -1
- package/lib/types/acteurs_et_organes.js +1 -1
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.js +1 -1
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.js +1 -1
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/dossiers_legislatifs.js +1 -1
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/legislatures.js +1 -1
- package/lib/types/scrutins.js +1 -1
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +6 -5
|
@@ -168,4 +168,4 @@ function cleanData(dataDir) {
|
|
|
168
168
|
Date.prototype.toJSON = existingDateToJson;
|
|
169
169
|
}
|
|
170
170
|
cleanData(options.dataDir);
|
|
171
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJjbGVhbkFjdGV1ciIsImNsZWFuVGV4dGVMZWdpc2xhdGlmIiwiY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24iLCJjbGVhbkRvc3NpZXJQYXJsZW1lbnRhaXJlIiwiY2xlYW5PcmdhbmUiLCJjbGVhblJldW5pb24iLCJjbGVhblNjcnV0aW4iLCJkYXRhc2V0cyIsIkVuYWJsZWREYXRhc2V0cyIsImV4aXN0aW5nRGF0ZVRvSnNvbiIsInBhdGNoZWREYXRlVG9Kc29uIiwiQ29udmVydCIsIkFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0IiwiQWdlbmRhc0NvbnZlcnQiLCJBbWVuZGVtZW50c0NvbnZlcnQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydCIsIlNjcnV0aW5zQ29udmVydCIsIkFjdGV1cnNFdE9yZ2FuZXNSYXdDb252ZXJ0IiwiQWdlbmRhc1Jhd0NvbnZlcnQiLCJBbWVuZGVtZW50c1Jhd0NvbnZlcnQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzUmF3Q29udmVydCIsIlNjcnV0aW5zUmF3Q29udmVydCIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiZGVmYXVsdFZhbHVlIiwiaGVscCIsIm11bHRpcGxlIiwibmFtZSIsInR5cGUiLCJTdHJpbmciLCJkZWZhdWx0T3B0aW9uIiwib3B0aW9ucyIsImNsZWFuRGF0YSIsImRhdGFEaXIiLCJEYXRlIiwicHJvdG90eXBlIiwidG9KU09OIiwiY2F0ZWdvcmllcyIsIm1hcCIsImRhdGFzZXROYW1lIiwibm90U3RyaWN0RXF1YWwiLCJ1bmRlZmluZWQiLCJlbmFibGVkRGF0YXNldHMiLCJyZWR1Y2UiLCJOb25lIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXQiLCJhY3RldXJzRXRPcmdhbmVzIiwicmF3SnNvbkZpbGVQYXRoIiwiam9pbiIsImZpbGVuYW1lIiwiY29uc29sZSIsImxvZyIsInJhd0pzb24iLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsInRvQWN0ZXVyc0V0T3JnYW5lcyIsIm9yZ2FuZXMiLCJleHBvcnQiLCJvcmdhbmUiLCJhY3RldXJzIiwiYWN0ZXVyIiwiYWN0ZXVyc0V0T3JnYW5lc0pzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYWN0ZXVyc0V0T3JnYW5lc0NsZWFuIiwiYWN0ZXVyc0V0T3JnYW5lc0NsZWFuSnNvbiIsImFjdGV1cnNFdE9yZ2FuZXNUb0pzb24iLCJqc29uRmlsZVBhdGgiLCJyZXBsYWNlIiwid3JpdGVGaWxlU3luYyIsIkFnZW5kYXMiLCJhZ2VuZGFzIiwidG9BZ2VuZGFzIiwicmV1bmlvbnMiLCJyZXVuaW9uIiwiYWdlbmRhc0pzb24iLCJhZ2VuZGFzQ2xlYW4iLCJhZ2VuZGFzQ2xlYW5Kc29uIiwiYWdlbmRhc1RvSnNvbiIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJ0b0FtZW5kZW1lbnRzIiwidGV4dGVzTGVnaXNsYXRpZnMiLCJ0ZXh0ZXNFdEFtZW5kZW1lbnRzIiwidGV4dGVsZWciLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50c0pzb24iLCJhbWVuZGVtZW50c0NsZWFuIiwiYW1lbmRlbWVudHNDbGVhbkpzb24iLCJhbWVuZGVtZW50c1RvSnNvbiIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwidG9Eb3NzaWVyc0xlZ2lzbGF0aWZzIiwiZG9jdW1lbnQiLCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwiZG9zc2llciIsImRvc3NpZXJQYXJsZW1lbnRhaXJlIiwiZG9zc2llcnNMZWdpc2xhdGlmc0pzb24iLCJkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW4iLCJkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW5Kc29uIiwiZG9zc2llcnNMZWdpc2xhdGlmc1RvSnNvbiIsIlNjcnV0aW5zIiwic2NydXRpbnMiLCJ0b1NjcnV0aW5zIiwic2NydXRpbiIsInNjcnV0aW5zSnNvbiIsInNjcnV0aW5zQ2xlYW4iLCJzY3J1dGluc0NsZWFuSnNvbiIsInNjcnV0aW5zVG9Kc29uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvY2xlYW5fZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IGNsZWFuQWN0ZXVyIH0gZnJvbSBcIi4uL2NsZWFuZXJzL2FjdGV1cnNcIlxuaW1wb3J0IHsgY2xlYW5UZXh0ZUxlZ2lzbGF0aWYgfSBmcm9tIFwiLi4vY2xlYW5lcnMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHsgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24gfSBmcm9tIFwiLi4vY2xlYW5lcnMvZG9jdW1lbnRzXCJcbmltcG9ydCB7IGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUgfSBmcm9tIFwiLi4vY2xlYW5lcnMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgY2xlYW5PcmdhbmUgfSBmcm9tIFwiLi4vY2xlYW5lcnMvb3JnYW5lc1wiXG5pbXBvcnQgeyBjbGVhblJldW5pb24gfSBmcm9tIFwiLi4vY2xlYW5lcnMvcmV1bmlvbnNcIlxuaW1wb3J0IHsgY2xlYW5TY3J1dGluIH0gZnJvbSBcIi4uL2NsZWFuZXJzL3NjcnV0aW5zXCJcbmltcG9ydCB7IGRhdGFzZXRzLCBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZXhpc3RpbmdEYXRlVG9Kc29uLCBwYXRjaGVkRGF0ZVRvSnNvbiB9IGZyb20gXCIuLi9kYXRlc1wiXG5pbXBvcnQge1xuICBBY3RldXJzRXRPcmdhbmVzLFxuICBDb252ZXJ0IGFzIEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LFxufSBmcm9tIFwiLi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmltcG9ydCB7IEFnZW5kYXMsIENvbnZlcnQgYXMgQWdlbmRhc0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYWdlbmRhc1wiXG5pbXBvcnQge1xuICBBbWVuZGVtZW50cyxcbiAgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQsXG59IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQge1xuICBEb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICBDb252ZXJ0IGFzIERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LFxufSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc0NvbnZlcnQsIFNjcnV0aW5zIH0gZnJvbSBcIi4uL3R5cGVzL3NjcnV0aW5zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQWN0ZXVyc0V0T3JnYW5lc1Jhd0NvbnZlcnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIEFnZW5kYXNSYXdDb252ZXJ0IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hZ2VuZGFzXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQW1lbmRlbWVudHNSYXdDb252ZXJ0IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQge1xuICBDb252ZXJ0IGFzIERvc3NpZXJzTGVnaXNsYXRpZnNSYXdDb252ZXJ0LFxuICBEb3NzaWVyIGFzIERvc3NpZXJSYXcsXG59IGZyb20gXCIuLi9yYXdfdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc1Jhd0NvbnZlcnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL3NjcnV0aW5zXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwia1wiLFxuICAgIGRlZmF1bHRWYWx1ZTogW1wiQWxsXCJdLFxuICAgIGhlbHA6IFwiY2F0ZWdvcmllcyBvZiBkYXRhc2V0cyB0byByZW9yZ2FuaXplXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmZ1bmN0aW9uIGNsZWFuRGF0YShkYXRhRGlyOiBzdHJpbmcpOiB2b2lkIHtcbiAgRGF0ZS5wcm90b3R5cGUudG9KU09OID0gcGF0Y2hlZERhdGVUb0pzb25cblxuICBvcHRpb25zLmNhdGVnb3JpZXMubWFwKChkYXRhc2V0TmFtZTogc3RyaW5nKSA9PlxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIChFbmFibGVkRGF0YXNldHMgYXMgYW55IGFzIHsgW25hbWU6IHN0cmluZ106IEVuYWJsZWREYXRhc2V0cyB9KVtcbiAgICAgICAgZGF0YXNldE5hbWVcbiAgICAgIF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBgVW5rbm93biBuYW1lIG9mIGRhdGFzZXQ6ICR7ZGF0YXNldE5hbWV9YCxcbiAgICApLFxuICApXG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IG9wdGlvbnMuY2F0ZWdvcmllcy5yZWR1Y2UoXG4gICAgKGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLCBkYXRhc2V0TmFtZTogc3RyaW5nKTogRW5hYmxlZERhdGFzZXRzID0+XG4gICAgICBlbmFibGVkRGF0YXNldHMgfFxuICAgICAgKEVuYWJsZWREYXRhc2V0cyBhcyBhbnkgYXMgeyBbbmFtZTogc3RyaW5nXTogRW5hYmxlZERhdGFzZXRzIH0pW1xuICAgICAgICBkYXRhc2V0TmFtZVxuICAgICAgXSxcbiAgICBFbmFibGVkRGF0YXNldHMuTm9uZSxcbiAgKVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgICBjb25zdCByYXdKc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtyYXdKc29uRmlsZVBhdGh9YClcbiAgICAgIGNvbnN0IHJhd0pzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhyYXdKc29uRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lczogYW55ID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc1Jhd0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKHJhd0pzb24pXG4gICAgICAvLyBjb25zdCBhY3RldXJzID0ganAucXVlcnkoYWN0ZXVyc0V0T3JnYW5lcywgXCIkLmV4cG9ydC5hY3RldXJzLmFjdGV1clwiKVswXVxuICAgICAgY29uc3Qgb3JnYW5lcyA9IGFjdGV1cnNFdE9yZ2FuZXMuZXhwb3J0Lm9yZ2FuZXMub3JnYW5lXG4gICAgICBhY3RldXJzRXRPcmdhbmVzLm9yZ2FuZXMgPSBvcmdhbmVzXG4gICAgICBjb25zdCBhY3RldXJzID0gYWN0ZXVyc0V0T3JnYW5lcy5leHBvcnQuYWN0ZXVycy5hY3RldXJcbiAgICAgIGFjdGV1cnNFdE9yZ2FuZXMuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBhY3RldXJzRXRPcmdhbmVzLmV4cG9ydFxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuQWN0ZXVyKGFjdGV1cilcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBvcmdhbmUgb2Ygb3JnYW5lcykge1xuICAgICAgICBjbGVhbk9yZ2FuZShvcmdhbmUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFjdGV1cnNFdE9yZ2FuZXNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgYWN0ZXVyc0V0T3JnYW5lcyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgIClcbiAgICAgIC8vIFZhbGlkYXRlIGdlbmVyYXRlZCBKU09OLlxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lc0NsZWFuOiBBY3RldXJzRXRPcmdhbmVzID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKGFjdGV1cnNFdE9yZ2FuZXNKc29uKVxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lc0NsZWFuSnNvbjogc3RyaW5nID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQuYWN0ZXVyc0V0T3JnYW5lc1RvSnNvbihhY3RldXJzRXRPcmdhbmVzQ2xlYW4pXG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBhY3RldXJzRXRPcmdhbmVzQ2xlYW5Kc29uLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBhZ2VuZGFzOiBhbnkgPSBBZ2VuZGFzUmF3Q29udmVydC50b0FnZW5kYXMocmF3SnNvbilcbiAgICAgIGFnZW5kYXMucmV1bmlvbnMgPSBhZ2VuZGFzLnJldW5pb25zLnJldW5pb25cblxuICAgICAgZm9yIChjb25zdCByZXVuaW9uIG9mIGFnZW5kYXMucmV1bmlvbnMpIHtcbiAgICAgICAgY2xlYW5SZXVuaW9uKHJldW5pb24pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFnZW5kYXNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShhZ2VuZGFzLCBudWxsLCAyKVxuICAgICAgLy8gVmFsaWRhdGUgZ2VuZXJhdGVkIEpTT04uXG4gICAgICBjb25zdCBhZ2VuZGFzQ2xlYW46IEFnZW5kYXMgPSBBZ2VuZGFzQ29udmVydC50b0FnZW5kYXMoYWdlbmRhc0pzb24pXG4gICAgICBjb25zdCBhZ2VuZGFzQ2xlYW5Kc29uOiBzdHJpbmcgPVxuICAgICAgICBBZ2VuZGFzQ29udmVydC5hZ2VuZGFzVG9Kc29uKGFnZW5kYXNDbGVhbilcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhqc29uRmlsZVBhdGgsIGFnZW5kYXNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVuZGVtZW50cykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hbWVuZGVtZW50cykge1xuICAgICAgY29uc3QgcmF3SnNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmF3SnNvbkZpbGVQYXRofWApXG4gICAgICBjb25zdCByYXdKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocmF3SnNvbkZpbGVQYXRoLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzOiBhbnkgPSBBbWVuZGVtZW50c1Jhd0NvbnZlcnQudG9BbWVuZGVtZW50cyhyYXdKc29uKVxuICAgICAgYW1lbmRlbWVudHMudGV4dGVzTGVnaXNsYXRpZnMgPSBhbWVuZGVtZW50cy50ZXh0ZXNFdEFtZW5kZW1lbnRzLnRleHRlbGVnXG4gICAgICBkZWxldGUgYW1lbmRlbWVudHMudGV4dGVzRXRBbWVuZGVtZW50c1xuXG4gICAgICBmb3IgKGNvbnN0IHRleHRlTGVnaXNsYXRpZiBvZiBhbWVuZGVtZW50cy50ZXh0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgICBjbGVhblRleHRlTGVnaXNsYXRpZih0ZXh0ZUxlZ2lzbGF0aWYpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzSnNvbjogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYW1lbmRlbWVudHMsIG51bGwsIDIpXG4gICAgICAvLyBWYWxpZGF0ZSBnZW5lcmF0ZWQgSlNPTi5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzQ2xlYW46IEFtZW5kZW1lbnRzID1cbiAgICAgICAgQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudHMoYW1lbmRlbWVudHNKc29uKVxuICAgICAgY29uc3QgYW1lbmRlbWVudHNDbGVhbkpzb246IHN0cmluZyA9XG4gICAgICAgIEFtZW5kZW1lbnRzQ29udmVydC5hbWVuZGVtZW50c1RvSnNvbihhbWVuZGVtZW50c0NsZWFuKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgYW1lbmRlbWVudHNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBhbnkgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzUmF3Q29udmVydC50b0Rvc3NpZXJzTGVnaXNsYXRpZnMocmF3SnNvbilcbiAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnMudGV4dGVzTGVnaXNsYXRpZnMgPVxuICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydC50ZXh0ZXNMZWdpc2xhdGlmcy5kb2N1bWVudFxuICAgICAgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzID0gKFxuICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydC5kb3NzaWVyc0xlZ2lzbGF0aWZzLmRvc3NpZXIgYXMgRG9zc2llclJhd1tdXG4gICAgICApLm1hcCgoZG9zc2llcikgPT4gZG9zc2llci5kb3NzaWVyUGFybGVtZW50YWlyZSlcbiAgICAgIGRlbGV0ZSBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydFxuXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50IG9mIGRvc3NpZXJzTGVnaXNsYXRpZnMudGV4dGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgICAgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24oZG9jdW1lbnQpXG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmUgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzKSB7XG4gICAgICAgIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUoZG9zc2llclBhcmxlbWVudGFpcmUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRvc3NpZXJzTGVnaXNsYXRpZnNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmcyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgIClcbiAgICAgIC8vIFZhbGlkYXRlIGdlbmVyYXRlZCBKU09OLlxuICAgICAgY29uc3QgZG9zc2llcnNMZWdpc2xhdGlmc0NsZWFuOiBEb3NzaWVyc0xlZ2lzbGF0aWZzID1cbiAgICAgICAgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb3NzaWVyc0xlZ2lzbGF0aWZzKFxuICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNKc29uLFxuICAgICAgICApXG4gICAgICBjb25zdCBkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW5Kc29uOiBzdHJpbmcgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC5kb3NzaWVyc0xlZ2lzbGF0aWZzVG9Kc29uKFxuICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNDbGVhbixcbiAgICAgICAgKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgZG9zc2llcnNMZWdpc2xhdGlmc0NsZWFuSnNvbiwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2NydXRpbnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuc2NydXRpbnMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzY3J1dGluczogYW55ID0gU2NydXRpbnNSYXdDb252ZXJ0LnRvU2NydXRpbnMocmF3SnNvbilcbiAgICAgIHNjcnV0aW5zLnNjcnV0aW5zID0gc2NydXRpbnMuc2NydXRpbnMuc2NydXRpblxuXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW4gb2Ygc2NydXRpbnMuc2NydXRpbnMpIHtcbiAgICAgICAgY2xlYW5TY3J1dGluKHNjcnV0aW4pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNjcnV0aW5zSnNvbjogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoc2NydXRpbnMsIG51bGwsIDIpXG4gICAgICAvLyBWYWxpZGF0ZSBnZW5lcmF0ZWQgSlNPTi5cbiAgICAgIGNvbnN0IHNjcnV0aW5zQ2xlYW46IFNjcnV0aW5zID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbnMoc2NydXRpbnNKc29uKVxuICAgICAgY29uc3Qgc2NydXRpbnNDbGVhbkpzb246IHN0cmluZyA9XG4gICAgICAgIFNjcnV0aW5zQ29udmVydC5zY3J1dGluc1RvSnNvbihzY3J1dGluc0NsZWFuKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgc2NydXRpbnNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdG9yZSBzdGFuZGFyZCBjb252ZXJzaW9uIG9mIGRhdGVzIHRvIEpTT04uXG4gIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxufVxuXG5jbGVhbkRhdGEob3B0aW9ucy5kYXRhRGlyKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUMzQixPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxJQUFJO0FBQ25CLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsU0FFZEMsV0FBVztBQUFBLFNBQ1hDLG9CQUFvQjtBQUFBLFNBQ3BCQyx1QkFBdUI7QUFBQSxTQUN2QkMseUJBQXlCO0FBQUEsU0FDekJDLFdBQVc7QUFBQSxTQUNYQyxZQUFZO0FBQUEsU0FDWkMsWUFBWTtBQUFBLFNBQ1pDLFFBQVEsRUFBRUMsZUFBZTtBQUFBLFNBQ3pCQyxrQkFBa0IsRUFBRUMsaUJBQWlCO0FBQUEsU0FHNUNDLE9BQU8sSUFBSUMsdUJBQXVCO0FBQUEsU0FFbEJELE9BQU8sSUFBSUUsY0FBYztBQUFBLFNBR3pDRixPQUFPLElBQUlHLGtCQUFrQjtBQUFBLFNBSTdCSCxPQUFPLElBQUlJLDBCQUEwQjtBQUFBLFNBRTlCSixPQUFPLElBQUlLLGVBQWU7QUFBQSxTQUMxQkwsT0FBTyxJQUFJTSwwQkFBMEI7QUFBQSxTQUNyQ04sT0FBTyxJQUFJTyxpQkFBaUI7QUFBQSxTQUM1QlAsT0FBTyxJQUFJUSxxQkFBcUI7QUFBQSxTQUV2Q1IsT0FBTyxJQUFJUyw2QkFBNkI7QUFBQSxTQUdqQ1QsT0FBTyxJQUFJVSxrQkFBa0I7QUFFdEMsTUFBTUMsa0JBQWtCLEdBQUcsQ0FDekI7RUFDRUMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDO0VBQ3JCQyxJQUFJLEVBQUUsc0NBQXNDO0VBQzVDQyxRQUFRLEVBQUUsSUFBSTtFQUNkQyxJQUFJLEVBQUUsWUFBWTtFQUNsQkMsSUFBSSxFQUFFQztBQUNSLENBQUMsRUFDRDtFQUNFQyxhQUFhLEVBQUUsSUFBSTtFQUNuQkwsSUFBSSxFQUFFLGdEQUFnRDtFQUN0REUsSUFBSSxFQUFFLFNBQVM7RUFDZkMsSUFBSSxFQUFFQztBQUNSLENBQUMsQ0FDRjtBQUNELE1BQU1FLE9BQU8sR0FBR2xDLGVBQWUsQ0FBQ3lCLGtCQUFrQixDQUFDO0FBRW5ELFNBQVNVLFNBQVMsQ0FBQ0MsT0FBZSxFQUFRO0VBQ3hDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0MsTUFBTSxHQUFHMUIsaUJBQWlCO0VBRXpDcUIsT0FBTyxDQUFDTSxVQUFVLENBQUNDLEdBQUcsQ0FBRUMsV0FBbUIsSUFDekMzQyxNQUFNLENBQUM0QyxjQUFjLENBQ2xCaEMsZUFBZSxDQUNkK0IsV0FBVyxDQUNaLEVBQ0RFLFNBQVMsRUFDUiw0QkFBMkJGLFdBQVksRUFBQyxDQUMxQyxDQUNGO0VBQ0QsTUFBTUcsZUFBZSxHQUFHWCxPQUFPLENBQUNNLFVBQVUsQ0FBQ00sTUFBTSxDQUMvQyxDQUFDRCxlQUFnQyxFQUFFSCxXQUFtQixLQUNwREcsZUFBZSxHQUNkbEMsZUFBZSxDQUNkK0IsV0FBVyxDQUNaLEVBQ0gvQixlQUFlLENBQUNvQyxJQUFJLENBQ3JCO0VBRUQsSUFBSUYsZUFBZSxHQUFHbEMsZUFBZSxDQUFDcUMsZ0JBQWdCLEVBQUU7SUFDdEQsS0FBSyxNQUFNQyxPQUFPLElBQUl2QyxRQUFRLENBQUN3QyxnQkFBZ0IsRUFBRTtNQUMvQyxNQUFNQyxlQUF1QixHQUFHakQsSUFBSSxDQUFDa0QsSUFBSSxDQUFDaEIsT0FBTyxFQUFFYSxPQUFPLENBQUNJLFFBQVEsQ0FBQztNQUNwRUMsT0FBTyxDQUFDQyxHQUFHLENBQUUsaUJBQWdCSixlQUFnQixFQUFDLENBQUM7TUFDL0MsTUFBTUssT0FBZSxHQUFHdkQsRUFBRSxDQUFDd0QsWUFBWSxDQUFDTixlQUFlLEVBQUU7UUFDdkRPLFFBQVEsRUFBRTtNQUNaLENBQUMsQ0FBQztNQUVGLE1BQU1SLGdCQUFxQixHQUN6QjlCLDBCQUEwQixDQUFDdUMsa0JBQWtCLENBQUNILE9BQU8sQ0FBQztNQUN4RDtNQUNBLE1BQU1JLE9BQU8sR0FBR1YsZ0JBQWdCLENBQUNXLE1BQU0sQ0FBQ0QsT0FBTyxDQUFDRSxNQUFNO01BQ3REWixnQkFBZ0IsQ0FBQ1UsT0FBTyxHQUFHQSxPQUFPO01BQ2xDLE1BQU1HLE9BQU8sR0FBR2IsZ0JBQWdCLENBQUNXLE1BQU0sQ0FBQ0UsT0FBTyxDQUFDQyxNQUFNO01BQ3REZCxnQkFBZ0IsQ0FBQ2EsT0FBTyxHQUFHQSxPQUFPO01BQ2xDLE9BQU9iLGdCQUFnQixDQUFDVyxNQUFNO01BRTlCLEtBQUssTUFBTUcsTUFBTSxJQUFJRCxPQUFPLEVBQUU7UUFDNUI1RCxXQUFXLENBQUM2RCxNQUFNLENBQUM7TUFDckI7TUFFQSxLQUFLLE1BQU1GLE1BQU0sSUFBSUYsT0FBTyxFQUFFO1FBQzVCckQsV0FBVyxDQUFDdUQsTUFBTSxDQUFDO01BQ3JCO01BRUEsTUFBTUcsb0JBQTRCLEdBQUdDLElBQUksQ0FBQ0MsU0FBUyxDQUNqRGpCLGdCQUFnQixFQUNoQixJQUFJLEVBQ0osQ0FBQyxDQUNGO01BQ0Q7TUFDQSxNQUFNa0IscUJBQXVDLEdBQzNDckQsdUJBQXVCLENBQUM0QyxrQkFBa0IsQ0FBQ00sb0JBQW9CLENBQUM7TUFDbEUsTUFBTUkseUJBQWlDLEdBQ3JDdEQsdUJBQXVCLENBQUN1RCxzQkFBc0IsQ0FBQ0YscUJBQXFCLENBQUM7TUFDdkUsTUFBTUcsWUFBb0IsR0FBR3JFLElBQUksQ0FBQ2tELElBQUksQ0FDcENoQixPQUFPLEVBQ1BhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDbUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FDckQ7TUFDRHZFLEVBQUUsQ0FBQ3dFLGFBQWEsQ0FBQ0YsWUFBWSxFQUFFRix5QkFBeUIsRUFBRTtRQUN4RFgsUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO0lBQ0o7RUFDRjtFQUVBLElBQUliLGVBQWUsR0FBR2xDLGVBQWUsQ0FBQytELE9BQU8sRUFBRTtJQUM3QyxLQUFLLE1BQU16QixPQUFPLElBQUl2QyxRQUFRLENBQUNpRSxPQUFPLEVBQUU7TUFDdEMsTUFBTXhCLGVBQXVCLEdBQUdqRCxJQUFJLENBQUNrRCxJQUFJLENBQUNoQixPQUFPLEVBQUVhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDO01BQ3BFQyxPQUFPLENBQUNDLEdBQUcsQ0FBRSxpQkFBZ0JKLGVBQWdCLEVBQUMsQ0FBQztNQUMvQyxNQUFNSyxPQUFlLEdBQUd2RCxFQUFFLENBQUN3RCxZQUFZLENBQUNOLGVBQWUsRUFBRTtRQUN2RE8sUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO01BRUYsTUFBTWlCLE9BQVksR0FBR3RELGlCQUFpQixDQUFDdUQsU0FBUyxDQUFDcEIsT0FBTyxDQUFDO01BQ3pEbUIsT0FBTyxDQUFDRSxRQUFRLEdBQUdGLE9BQU8sQ0FBQ0UsUUFBUSxDQUFDQyxPQUFPO01BRTNDLEtBQUssTUFBTUEsT0FBTyxJQUFJSCxPQUFPLENBQUNFLFFBQVEsRUFBRTtRQUN0Q3JFLFlBQVksQ0FBQ3NFLE9BQU8sQ0FBQztNQUN2QjtNQUVBLE1BQU1DLFdBQW1CLEdBQUdiLElBQUksQ0FBQ0MsU0FBUyxDQUFDUSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztNQUM1RDtNQUNBLE1BQU1LLFlBQXFCLEdBQUdoRSxjQUFjLENBQUM0RCxTQUFTLENBQUNHLFdBQVcsQ0FBQztNQUNuRSxNQUFNRSxnQkFBd0IsR0FDNUJqRSxjQUFjLENBQUNrRSxhQUFhLENBQUNGLFlBQVksQ0FBQztNQUM1QyxNQUFNVCxZQUFvQixHQUFHckUsSUFBSSxDQUFDa0QsSUFBSSxDQUNwQ2hCLE9BQU8sRUFDUGEsT0FBTyxDQUFDSSxRQUFRLENBQUNtQixPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUNyRDtNQUNEdkUsRUFBRSxDQUFDd0UsYUFBYSxDQUFDRixZQUFZLEVBQUVVLGdCQUFnQixFQUFFO1FBQUV2QixRQUFRLEVBQUU7TUFBTyxDQUFDLENBQUM7SUFDeEU7RUFDRjtFQUVBLElBQUliLGVBQWUsR0FBR2xDLGVBQWUsQ0FBQ3dFLFdBQVcsRUFBRTtJQUNqRCxLQUFLLE1BQU1sQyxPQUFPLElBQUl2QyxRQUFRLENBQUMwRSxXQUFXLEVBQUU7TUFDMUMsTUFBTWpDLGVBQXVCLEdBQUdqRCxJQUFJLENBQUNrRCxJQUFJLENBQUNoQixPQUFPLEVBQUVhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDO01BQ3BFQyxPQUFPLENBQUNDLEdBQUcsQ0FBRSxpQkFBZ0JKLGVBQWdCLEVBQUMsQ0FBQztNQUMvQyxNQUFNSyxPQUFlLEdBQUd2RCxFQUFFLENBQUN3RCxZQUFZLENBQUNOLGVBQWUsRUFBRTtRQUN2RE8sUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO01BRUYsTUFBTTBCLFdBQWdCLEdBQUc5RCxxQkFBcUIsQ0FBQytELGFBQWEsQ0FBQzdCLE9BQU8sQ0FBQztNQUNyRTRCLFdBQVcsQ0FBQ0UsaUJBQWlCLEdBQUdGLFdBQVcsQ0FBQ0csbUJBQW1CLENBQUNDLFFBQVE7TUFDeEUsT0FBT0osV0FBVyxDQUFDRyxtQkFBbUI7TUFFdEMsS0FBSyxNQUFNRSxlQUFlLElBQUlMLFdBQVcsQ0FBQ0UsaUJBQWlCLEVBQUU7UUFDM0RsRixvQkFBb0IsQ0FBQ3FGLGVBQWUsQ0FBQztNQUN2QztNQUVBLE1BQU1DLGVBQXVCLEdBQUd4QixJQUFJLENBQUNDLFNBQVMsQ0FBQ2lCLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO01BQ3BFO01BQ0EsTUFBTU8sZ0JBQTZCLEdBQ2pDMUUsa0JBQWtCLENBQUNvRSxhQUFhLENBQUNLLGVBQWUsQ0FBQztNQUNuRCxNQUFNRSxvQkFBNEIsR0FDaEMzRSxrQkFBa0IsQ0FBQzRFLGlCQUFpQixDQUFDRixnQkFBZ0IsQ0FBQztNQUN4RCxNQUFNcEIsWUFBb0IsR0FBR3JFLElBQUksQ0FBQ2tELElBQUksQ0FDcENoQixPQUFPLEVBQ1BhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDbUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FDckQ7TUFDRHZFLEVBQUUsQ0FBQ3dFLGFBQWEsQ0FBQ0YsWUFBWSxFQUFFcUIsb0JBQW9CLEVBQUU7UUFBRWxDLFFBQVEsRUFBRTtNQUFPLENBQUMsQ0FBQztJQUM1RTtFQUNGO0VBRUEsSUFBSWIsZUFBZSxHQUFHbEMsZUFBZSxDQUFDbUYsbUJBQW1CLEVBQUU7SUFDekQsS0FBSyxNQUFNN0MsT0FBTyxJQUFJdkMsUUFBUSxDQUFDcUYsbUJBQW1CLEVBQUU7TUFDbEQsTUFBTTVDLGVBQXVCLEdBQUdqRCxJQUFJLENBQUNrRCxJQUFJLENBQUNoQixPQUFPLEVBQUVhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDO01BQ3BFQyxPQUFPLENBQUNDLEdBQUcsQ0FBRSxpQkFBZ0JKLGVBQWdCLEVBQUMsQ0FBQztNQUMvQyxNQUFNSyxPQUFlLEdBQUd2RCxFQUFFLENBQUN3RCxZQUFZLENBQUNOLGVBQWUsRUFBRTtRQUN2RE8sUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO01BRUYsTUFBTXFDLG1CQUF3QixHQUM1QnhFLDZCQUE2QixDQUFDeUUscUJBQXFCLENBQUN4QyxPQUFPLENBQUM7TUFDOUR1QyxtQkFBbUIsQ0FBQ1QsaUJBQWlCLEdBQ25DUyxtQkFBbUIsQ0FBQ2xDLE1BQU0sQ0FBQ3lCLGlCQUFpQixDQUFDVyxRQUFRO01BQ3ZERixtQkFBbUIsQ0FBQ0csc0JBQXNCLEdBQ3hDSCxtQkFBbUIsQ0FBQ2xDLE1BQU0sQ0FBQ2tDLG1CQUFtQixDQUFDSSxPQUFPLENBQ3REMUQsR0FBRyxDQUFFMEQsT0FBTyxJQUFLQSxPQUFPLENBQUNDLG9CQUFvQixDQUFDO01BQ2hELE9BQU9MLG1CQUFtQixDQUFDbEMsTUFBTTtNQUVqQyxLQUFLLE1BQU1vQyxRQUFRLElBQUlGLG1CQUFtQixDQUFDVCxpQkFBaUIsRUFBRTtRQUM1RGpGLHVCQUF1QixDQUFDNEYsUUFBUSxDQUFDO01BQ25DO01BRUEsS0FBSyxNQUFNRyxvQkFBb0IsSUFBSUwsbUJBQW1CLENBQUNHLHNCQUFzQixFQUFFO1FBQzdFNUYseUJBQXlCLENBQUM4RixvQkFBb0IsQ0FBQztNQUNqRDtNQUVBLE1BQU1DLHVCQUErQixHQUFHbkMsSUFBSSxDQUFDQyxTQUFTLENBQ3BENEIsbUJBQW1CLEVBQ25CLElBQUksRUFDSixDQUFDLENBQ0Y7TUFDRDtNQUNBLE1BQU1PLHdCQUE2QyxHQUNqRHBGLDBCQUEwQixDQUFDOEUscUJBQXFCLENBQzlDSyx1QkFBdUIsQ0FDeEI7TUFDSCxNQUFNRSw0QkFBb0MsR0FDeENyRiwwQkFBMEIsQ0FBQ3NGLHlCQUF5QixDQUNsREYsd0JBQXdCLENBQ3pCO01BQ0gsTUFBTS9CLFlBQW9CLEdBQUdyRSxJQUFJLENBQUNrRCxJQUFJLENBQ3BDaEIsT0FBTyxFQUNQYSxPQUFPLENBQUNJLFFBQVEsQ0FBQ21CLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQ3JEO01BQ0R2RSxFQUFFLENBQUN3RSxhQUFhLENBQUNGLFlBQVksRUFBRWdDLDRCQUE0QixFQUFFO1FBQzNEN0MsUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO0lBQ0o7RUFDRjtFQUVBLElBQUliLGVBQWUsR0FBR2xDLGVBQWUsQ0FBQzhGLFFBQVEsRUFBRTtJQUM5QyxLQUFLLE1BQU14RCxPQUFPLElBQUl2QyxRQUFRLENBQUNnRyxRQUFRLEVBQUU7TUFDdkMsTUFBTXZELGVBQXVCLEdBQUdqRCxJQUFJLENBQUNrRCxJQUFJLENBQUNoQixPQUFPLEVBQUVhLE9BQU8sQ0FBQ0ksUUFBUSxDQUFDO01BQ3BFQyxPQUFPLENBQUNDLEdBQUcsQ0FBRSxpQkFBZ0JKLGVBQWdCLEVBQUMsQ0FBQztNQUMvQyxNQUFNSyxPQUFlLEdBQUd2RCxFQUFFLENBQUN3RCxZQUFZLENBQUNOLGVBQWUsRUFBRTtRQUN2RE8sUUFBUSxFQUFFO01BQ1osQ0FBQyxDQUFDO01BRUYsTUFBTWdELFFBQWEsR0FBR2xGLGtCQUFrQixDQUFDbUYsVUFBVSxDQUFDbkQsT0FBTyxDQUFDO01BQzVEa0QsUUFBUSxDQUFDQSxRQUFRLEdBQUdBLFFBQVEsQ0FBQ0EsUUFBUSxDQUFDRSxPQUFPO01BRTdDLEtBQUssTUFBTUEsT0FBTyxJQUFJRixRQUFRLENBQUNBLFFBQVEsRUFBRTtRQUN2Q2pHLFlBQVksQ0FBQ21HLE9BQU8sQ0FBQztNQUN2QjtNQUVBLE1BQU1DLFlBQW9CLEdBQUczQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ3VDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO01BQzlEO01BQ0EsTUFBTUksYUFBdUIsR0FBRzNGLGVBQWUsQ0FBQ3dGLFVBQVUsQ0FBQ0UsWUFBWSxDQUFDO01BQ3hFLE1BQU1FLGlCQUF5QixHQUM3QjVGLGVBQWUsQ0FBQzZGLGNBQWMsQ0FBQ0YsYUFBYSxDQUFDO01BQy9DLE1BQU12QyxZQUFvQixHQUFHckUsSUFBSSxDQUFDa0QsSUFBSSxDQUNwQ2hCLE9BQU8sRUFDUGEsT0FBTyxDQUFDSSxRQUFRLENBQUNtQixPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUNyRDtNQUNEdkUsRUFBRSxDQUFDd0UsYUFBYSxDQUFDRixZQUFZLEVBQUV3QyxpQkFBaUIsRUFBRTtRQUFFckQsUUFBUSxFQUFFO01BQU8sQ0FBQyxDQUFDO0lBQ3pFO0VBQ0Y7O0VBRUE7RUFDQXJCLElBQUksQ0FBQ0MsU0FBUyxDQUFDQyxNQUFNLEdBQUczQixrQkFBa0I7QUFDNUM7QUFFQXVCLFNBQVMsQ0FBQ0QsT0FBTyxDQUFDRSxPQUFPLENBQUMifQ==
|
|
171
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhc3NlcnQiLCJjb21tYW5kTGluZUFyZ3MiLCJmcyIsInBhdGgiLCJjbGVhbkFjdGV1ciIsImNsZWFuVGV4dGVMZWdpc2xhdGlmIiwiY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24iLCJjbGVhbkRvc3NpZXJQYXJsZW1lbnRhaXJlIiwiY2xlYW5PcmdhbmUiLCJjbGVhblJldW5pb24iLCJjbGVhblNjcnV0aW4iLCJkYXRhc2V0cyIsIkVuYWJsZWREYXRhc2V0cyIsImV4aXN0aW5nRGF0ZVRvSnNvbiIsInBhdGNoZWREYXRlVG9Kc29uIiwiQ29udmVydCIsIkFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0IiwiQWdlbmRhc0NvbnZlcnQiLCJBbWVuZGVtZW50c0NvbnZlcnQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydCIsIlNjcnV0aW5zQ29udmVydCIsIkFjdGV1cnNFdE9yZ2FuZXNSYXdDb252ZXJ0IiwiQWdlbmRhc1Jhd0NvbnZlcnQiLCJBbWVuZGVtZW50c1Jhd0NvbnZlcnQiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzUmF3Q29udmVydCIsIlNjcnV0aW5zUmF3Q29udmVydCIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiZGVmYXVsdFZhbHVlIiwiaGVscCIsIm11bHRpcGxlIiwibmFtZSIsInR5cGUiLCJTdHJpbmciLCJkZWZhdWx0T3B0aW9uIiwib3B0aW9ucyIsImNsZWFuRGF0YSIsImRhdGFEaXIiLCJEYXRlIiwicHJvdG90eXBlIiwidG9KU09OIiwiY2F0ZWdvcmllcyIsIm1hcCIsImRhdGFzZXROYW1lIiwibm90U3RyaWN0RXF1YWwiLCJ1bmRlZmluZWQiLCJlbmFibGVkRGF0YXNldHMiLCJyZWR1Y2UiLCJOb25lIiwiQWN0ZXVyc0V0T3JnYW5lcyIsImRhdGFzZXQiLCJhY3RldXJzRXRPcmdhbmVzIiwicmF3SnNvbkZpbGVQYXRoIiwiam9pbiIsImZpbGVuYW1lIiwiY29uc29sZSIsImxvZyIsInJhd0pzb24iLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsInRvQWN0ZXVyc0V0T3JnYW5lcyIsIm9yZ2FuZXMiLCJleHBvcnQiLCJvcmdhbmUiLCJhY3RldXJzIiwiYWN0ZXVyIiwiYWN0ZXVyc0V0T3JnYW5lc0pzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYWN0ZXVyc0V0T3JnYW5lc0NsZWFuIiwiYWN0ZXVyc0V0T3JnYW5lc0NsZWFuSnNvbiIsImFjdGV1cnNFdE9yZ2FuZXNUb0pzb24iLCJqc29uRmlsZVBhdGgiLCJyZXBsYWNlIiwid3JpdGVGaWxlU3luYyIsIkFnZW5kYXMiLCJhZ2VuZGFzIiwidG9BZ2VuZGFzIiwicmV1bmlvbnMiLCJyZXVuaW9uIiwiYWdlbmRhc0pzb24iLCJhZ2VuZGFzQ2xlYW4iLCJhZ2VuZGFzQ2xlYW5Kc29uIiwiYWdlbmRhc1RvSnNvbiIsIkFtZW5kZW1lbnRzIiwiYW1lbmRlbWVudHMiLCJ0b0FtZW5kZW1lbnRzIiwidGV4dGVzTGVnaXNsYXRpZnMiLCJ0ZXh0ZXNFdEFtZW5kZW1lbnRzIiwidGV4dGVsZWciLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50c0pzb24iLCJhbWVuZGVtZW50c0NsZWFuIiwiYW1lbmRlbWVudHNDbGVhbkpzb24iLCJhbWVuZGVtZW50c1RvSnNvbiIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwidG9Eb3NzaWVyc0xlZ2lzbGF0aWZzIiwiZG9jdW1lbnQiLCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzIiwiZG9zc2llciIsImRvc3NpZXJQYXJsZW1lbnRhaXJlIiwiZG9zc2llcnNMZWdpc2xhdGlmc0pzb24iLCJkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW4iLCJkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW5Kc29uIiwiZG9zc2llcnNMZWdpc2xhdGlmc1RvSnNvbiIsIlNjcnV0aW5zIiwic2NydXRpbnMiLCJ0b1NjcnV0aW5zIiwic2NydXRpbiIsInNjcnV0aW5zSnNvbiIsInNjcnV0aW5zQ2xlYW4iLCJzY3J1dGluc0NsZWFuSnNvbiIsInNjcnV0aW5zVG9Kc29uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvY2xlYW5fZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gXCJhc3NlcnRcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IGNsZWFuQWN0ZXVyIH0gZnJvbSBcIi4uL2NsZWFuZXJzL2FjdGV1cnNcIlxuaW1wb3J0IHsgY2xlYW5UZXh0ZUxlZ2lzbGF0aWYgfSBmcm9tIFwiLi4vY2xlYW5lcnMvYW1lbmRlbWVudHNcIlxuaW1wb3J0IHsgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24gfSBmcm9tIFwiLi4vY2xlYW5lcnMvZG9jdW1lbnRzXCJcbmltcG9ydCB7IGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUgfSBmcm9tIFwiLi4vY2xlYW5lcnMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgY2xlYW5PcmdhbmUgfSBmcm9tIFwiLi4vY2xlYW5lcnMvb3JnYW5lc1wiXG5pbXBvcnQgeyBjbGVhblJldW5pb24gfSBmcm9tIFwiLi4vY2xlYW5lcnMvcmV1bmlvbnNcIlxuaW1wb3J0IHsgY2xlYW5TY3J1dGluIH0gZnJvbSBcIi4uL2NsZWFuZXJzL3NjcnV0aW5zXCJcbmltcG9ydCB7IGRhdGFzZXRzLCBFbmFibGVkRGF0YXNldHMgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuaW1wb3J0IHsgZXhpc3RpbmdEYXRlVG9Kc29uLCBwYXRjaGVkRGF0ZVRvSnNvbiB9IGZyb20gXCIuLi9kYXRlc1wiXG5pbXBvcnQge1xuICBBY3RldXJzRXRPcmdhbmVzLFxuICBDb252ZXJ0IGFzIEFjdGV1cnNFdE9yZ2FuZXNDb252ZXJ0LFxufSBmcm9tIFwiLi4vdHlwZXMvYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmltcG9ydCB7IEFnZW5kYXMsIENvbnZlcnQgYXMgQWdlbmRhc0NvbnZlcnQgfSBmcm9tIFwiLi4vdHlwZXMvYWdlbmRhc1wiXG5pbXBvcnQge1xuICBBbWVuZGVtZW50cyxcbiAgQ29udmVydCBhcyBBbWVuZGVtZW50c0NvbnZlcnQsXG59IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQge1xuICBEb3NzaWVyc0xlZ2lzbGF0aWZzLFxuICBDb252ZXJ0IGFzIERvc3NpZXJzTGVnaXNsYXRpZnNDb252ZXJ0LFxufSBmcm9tIFwiLi4vdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc0NvbnZlcnQsIFNjcnV0aW5zIH0gZnJvbSBcIi4uL3R5cGVzL3NjcnV0aW5zXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQWN0ZXVyc0V0T3JnYW5lc1Jhd0NvbnZlcnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgeyBDb252ZXJ0IGFzIEFnZW5kYXNSYXdDb252ZXJ0IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hZ2VuZGFzXCJcbmltcG9ydCB7IENvbnZlcnQgYXMgQW1lbmRlbWVudHNSYXdDb252ZXJ0IH0gZnJvbSBcIi4uL3Jhd190eXBlcy9hbWVuZGVtZW50c1wiXG5pbXBvcnQge1xuICBDb252ZXJ0IGFzIERvc3NpZXJzTGVnaXNsYXRpZnNSYXdDb252ZXJ0LFxuICBEb3NzaWVyIGFzIERvc3NpZXJSYXcsXG59IGZyb20gXCIuLi9yYXdfdHlwZXMvZG9zc2llcnNfbGVnaXNsYXRpZnNcIlxuaW1wb3J0IHsgQ29udmVydCBhcyBTY3J1dGluc1Jhd0NvbnZlcnQgfSBmcm9tIFwiLi4vcmF3X3R5cGVzL3NjcnV0aW5zXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICB7XG4gICAgYWxpYXM6IFwia1wiLFxuICAgIGRlZmF1bHRWYWx1ZTogW1wiQWxsXCJdLFxuICAgIGhlbHA6IFwiY2F0ZWdvcmllcyBvZiBkYXRhc2V0cyB0byByZW9yZ2FuaXplXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJjYXRlZ29yaWVzXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgZGVmYXVsdE9wdGlvbjogdHJ1ZSxcbiAgICBoZWxwOiBcImRpcmVjdG9yeSBjb250YWluaW5nIEFzc2VtYmzDqWUgb3BlbiBkYXRhIGZpbGVzXCIsXG4gICAgbmFtZTogXCJkYXRhRGlyXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmZ1bmN0aW9uIGNsZWFuRGF0YShkYXRhRGlyOiBzdHJpbmcpOiB2b2lkIHtcbiAgRGF0ZS5wcm90b3R5cGUudG9KU09OID0gcGF0Y2hlZERhdGVUb0pzb25cblxuICBvcHRpb25zLmNhdGVnb3JpZXMubWFwKChkYXRhc2V0TmFtZTogc3RyaW5nKSA9PlxuICAgIGFzc2VydC5ub3RTdHJpY3RFcXVhbChcbiAgICAgIChFbmFibGVkRGF0YXNldHMgYXMgYW55IGFzIHsgW25hbWU6IHN0cmluZ106IEVuYWJsZWREYXRhc2V0cyB9KVtcbiAgICAgICAgZGF0YXNldE5hbWVcbiAgICAgIF0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBgVW5rbm93biBuYW1lIG9mIGRhdGFzZXQ6ICR7ZGF0YXNldE5hbWV9YCxcbiAgICApLFxuICApXG4gIGNvbnN0IGVuYWJsZWREYXRhc2V0cyA9IG9wdGlvbnMuY2F0ZWdvcmllcy5yZWR1Y2UoXG4gICAgKGVuYWJsZWREYXRhc2V0czogRW5hYmxlZERhdGFzZXRzLCBkYXRhc2V0TmFtZTogc3RyaW5nKTogRW5hYmxlZERhdGFzZXRzID0+XG4gICAgICBlbmFibGVkRGF0YXNldHMgfFxuICAgICAgKEVuYWJsZWREYXRhc2V0cyBhcyBhbnkgYXMgeyBbbmFtZTogc3RyaW5nXTogRW5hYmxlZERhdGFzZXRzIH0pW1xuICAgICAgICBkYXRhc2V0TmFtZVxuICAgICAgXSxcbiAgICBFbmFibGVkRGF0YXNldHMuTm9uZSxcbiAgKVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuQWN0ZXVyc0V0T3JnYW5lcykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hY3RldXJzRXRPcmdhbmVzKSB7XG4gICAgICBjb25zdCByYXdKc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgY29uc29sZS5sb2coYExvYWRpbmcgZmlsZTogJHtyYXdKc29uRmlsZVBhdGh9YClcbiAgICAgIGNvbnN0IHJhd0pzb246IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhyYXdKc29uRmlsZVBhdGgsIHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lczogYW55ID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc1Jhd0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKHJhd0pzb24pXG4gICAgICAvLyBjb25zdCBhY3RldXJzID0ganAucXVlcnkoYWN0ZXVyc0V0T3JnYW5lcywgXCIkLmV4cG9ydC5hY3RldXJzLmFjdGV1clwiKVswXVxuICAgICAgY29uc3Qgb3JnYW5lcyA9IGFjdGV1cnNFdE9yZ2FuZXMuZXhwb3J0Lm9yZ2FuZXMub3JnYW5lXG4gICAgICBhY3RldXJzRXRPcmdhbmVzLm9yZ2FuZXMgPSBvcmdhbmVzXG4gICAgICBjb25zdCBhY3RldXJzID0gYWN0ZXVyc0V0T3JnYW5lcy5leHBvcnQuYWN0ZXVycy5hY3RldXJcbiAgICAgIGFjdGV1cnNFdE9yZ2FuZXMuYWN0ZXVycyA9IGFjdGV1cnNcbiAgICAgIGRlbGV0ZSBhY3RldXJzRXRPcmdhbmVzLmV4cG9ydFxuXG4gICAgICBmb3IgKGNvbnN0IGFjdGV1ciBvZiBhY3RldXJzKSB7XG4gICAgICAgIGNsZWFuQWN0ZXVyKGFjdGV1cilcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBvcmdhbmUgb2Ygb3JnYW5lcykge1xuICAgICAgICBjbGVhbk9yZ2FuZShvcmdhbmUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFjdGV1cnNFdE9yZ2FuZXNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgYWN0ZXVyc0V0T3JnYW5lcyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgIClcbiAgICAgIC8vIFZhbGlkYXRlIGdlbmVyYXRlZCBKU09OLlxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lc0NsZWFuOiBBY3RldXJzRXRPcmdhbmVzID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQudG9BY3RldXJzRXRPcmdhbmVzKGFjdGV1cnNFdE9yZ2FuZXNKc29uKVxuICAgICAgY29uc3QgYWN0ZXVyc0V0T3JnYW5lc0NsZWFuSnNvbjogc3RyaW5nID1cbiAgICAgICAgQWN0ZXVyc0V0T3JnYW5lc0NvbnZlcnQuYWN0ZXVyc0V0T3JnYW5lc1RvSnNvbihhY3RldXJzRXRPcmdhbmVzQ2xlYW4pXG4gICAgICBjb25zdCBqc29uRmlsZVBhdGg6IHN0cmluZyA9IHBhdGguam9pbihcbiAgICAgICAgZGF0YURpcixcbiAgICAgICAgZGF0YXNldC5maWxlbmFtZS5yZXBsYWNlKC9cXC5qc29uJC8sIFwiX25ldHRveWUuanNvblwiKSxcbiAgICAgIClcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBhY3RldXJzRXRPcmdhbmVzQ2xlYW5Kc29uLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BZ2VuZGFzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmFnZW5kYXMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBhZ2VuZGFzOiBhbnkgPSBBZ2VuZGFzUmF3Q29udmVydC50b0FnZW5kYXMocmF3SnNvbilcbiAgICAgIGFnZW5kYXMucmV1bmlvbnMgPSBhZ2VuZGFzLnJldW5pb25zLnJldW5pb25cblxuICAgICAgZm9yIChjb25zdCByZXVuaW9uIG9mIGFnZW5kYXMucmV1bmlvbnMpIHtcbiAgICAgICAgY2xlYW5SZXVuaW9uKHJldW5pb24pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFnZW5kYXNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShhZ2VuZGFzLCBudWxsLCAyKVxuICAgICAgLy8gVmFsaWRhdGUgZ2VuZXJhdGVkIEpTT04uXG4gICAgICBjb25zdCBhZ2VuZGFzQ2xlYW46IEFnZW5kYXMgPSBBZ2VuZGFzQ29udmVydC50b0FnZW5kYXMoYWdlbmRhc0pzb24pXG4gICAgICBjb25zdCBhZ2VuZGFzQ2xlYW5Kc29uOiBzdHJpbmcgPVxuICAgICAgICBBZ2VuZGFzQ29udmVydC5hZ2VuZGFzVG9Kc29uKGFnZW5kYXNDbGVhbilcbiAgICAgIGNvbnN0IGpzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKFxuICAgICAgICBkYXRhRGlyLFxuICAgICAgICBkYXRhc2V0LmZpbGVuYW1lLnJlcGxhY2UoL1xcLmpzb24kLywgXCJfbmV0dG95ZS5qc29uXCIpLFxuICAgICAgKVxuICAgICAgZnMud3JpdGVGaWxlU3luYyhqc29uRmlsZVBhdGgsIGFnZW5kYXNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5BbWVuZGVtZW50cykge1xuICAgIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cy5hbWVuZGVtZW50cykge1xuICAgICAgY29uc3QgcmF3SnNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgIGNvbnNvbGUubG9nKGBMb2FkaW5nIGZpbGU6ICR7cmF3SnNvbkZpbGVQYXRofWApXG4gICAgICBjb25zdCByYXdKc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocmF3SnNvbkZpbGVQYXRoLCB7XG4gICAgICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzOiBhbnkgPSBBbWVuZGVtZW50c1Jhd0NvbnZlcnQudG9BbWVuZGVtZW50cyhyYXdKc29uKVxuICAgICAgYW1lbmRlbWVudHMudGV4dGVzTGVnaXNsYXRpZnMgPSBhbWVuZGVtZW50cy50ZXh0ZXNFdEFtZW5kZW1lbnRzLnRleHRlbGVnXG4gICAgICBkZWxldGUgYW1lbmRlbWVudHMudGV4dGVzRXRBbWVuZGVtZW50c1xuXG4gICAgICBmb3IgKGNvbnN0IHRleHRlTGVnaXNsYXRpZiBvZiBhbWVuZGVtZW50cy50ZXh0ZXNMZWdpc2xhdGlmcykge1xuICAgICAgICBjbGVhblRleHRlTGVnaXNsYXRpZih0ZXh0ZUxlZ2lzbGF0aWYpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzSnNvbjogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYW1lbmRlbWVudHMsIG51bGwsIDIpXG4gICAgICAvLyBWYWxpZGF0ZSBnZW5lcmF0ZWQgSlNPTi5cbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRzQ2xlYW46IEFtZW5kZW1lbnRzID1cbiAgICAgICAgQW1lbmRlbWVudHNDb252ZXJ0LnRvQW1lbmRlbWVudHMoYW1lbmRlbWVudHNKc29uKVxuICAgICAgY29uc3QgYW1lbmRlbWVudHNDbGVhbkpzb246IHN0cmluZyA9XG4gICAgICAgIEFtZW5kZW1lbnRzQ29udmVydC5hbWVuZGVtZW50c1RvSnNvbihhbWVuZGVtZW50c0NsZWFuKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgYW1lbmRlbWVudHNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKGVuYWJsZWREYXRhc2V0cyAmIEVuYWJsZWREYXRhc2V0cy5Eb3NzaWVyc0xlZ2lzbGF0aWZzKSB7XG4gICAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGRhdGFzZXRzLmRvc3NpZXJzTGVnaXNsYXRpZnMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBhbnkgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzUmF3Q29udmVydC50b0Rvc3NpZXJzTGVnaXNsYXRpZnMocmF3SnNvbilcbiAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnMudGV4dGVzTGVnaXNsYXRpZnMgPVxuICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydC50ZXh0ZXNMZWdpc2xhdGlmcy5kb2N1bWVudFxuICAgICAgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzID0gKFxuICAgICAgICBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydC5kb3NzaWVyc0xlZ2lzbGF0aWZzLmRvc3NpZXIgYXMgRG9zc2llclJhd1tdXG4gICAgICApLm1hcCgoZG9zc2llcikgPT4gZG9zc2llci5kb3NzaWVyUGFybGVtZW50YWlyZSlcbiAgICAgIGRlbGV0ZSBkb3NzaWVyc0xlZ2lzbGF0aWZzLmV4cG9ydFxuXG4gICAgICBmb3IgKGNvbnN0IGRvY3VtZW50IG9mIGRvc3NpZXJzTGVnaXNsYXRpZnMudGV4dGVzTGVnaXNsYXRpZnMpIHtcbiAgICAgICAgY2xlYW5Eb2N1bWVudE9yRGl2aXNpb24oZG9jdW1lbnQpXG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmUgb2YgZG9zc2llcnNMZWdpc2xhdGlmcy5kb3NzaWVyc1BhcmxlbWVudGFpcmVzKSB7XG4gICAgICAgIGNsZWFuRG9zc2llclBhcmxlbWVudGFpcmUoZG9zc2llclBhcmxlbWVudGFpcmUpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRvc3NpZXJzTGVnaXNsYXRpZnNKc29uOiBzdHJpbmcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgZG9zc2llcnNMZWdpc2xhdGlmcyxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgMixcbiAgICAgIClcbiAgICAgIC8vIFZhbGlkYXRlIGdlbmVyYXRlZCBKU09OLlxuICAgICAgY29uc3QgZG9zc2llcnNMZWdpc2xhdGlmc0NsZWFuOiBEb3NzaWVyc0xlZ2lzbGF0aWZzID1cbiAgICAgICAgRG9zc2llcnNMZWdpc2xhdGlmc0NvbnZlcnQudG9Eb3NzaWVyc0xlZ2lzbGF0aWZzKFxuICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNKc29uLFxuICAgICAgICApXG4gICAgICBjb25zdCBkb3NzaWVyc0xlZ2lzbGF0aWZzQ2xlYW5Kc29uOiBzdHJpbmcgPVxuICAgICAgICBEb3NzaWVyc0xlZ2lzbGF0aWZzQ29udmVydC5kb3NzaWVyc0xlZ2lzbGF0aWZzVG9Kc29uKFxuICAgICAgICAgIGRvc3NpZXJzTGVnaXNsYXRpZnNDbGVhbixcbiAgICAgICAgKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgZG9zc2llcnNMZWdpc2xhdGlmc0NsZWFuSnNvbiwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGlmIChlbmFibGVkRGF0YXNldHMgJiBFbmFibGVkRGF0YXNldHMuU2NydXRpbnMpIHtcbiAgICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZGF0YXNldHMuc2NydXRpbnMpIHtcbiAgICAgIGNvbnN0IHJhd0pzb25GaWxlUGF0aDogc3RyaW5nID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICBjb25zb2xlLmxvZyhgTG9hZGluZyBmaWxlOiAke3Jhd0pzb25GaWxlUGF0aH1gKVxuICAgICAgY29uc3QgcmF3SnNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHJhd0pzb25GaWxlUGF0aCwge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzY3J1dGluczogYW55ID0gU2NydXRpbnNSYXdDb252ZXJ0LnRvU2NydXRpbnMocmF3SnNvbilcbiAgICAgIHNjcnV0aW5zLnNjcnV0aW5zID0gc2NydXRpbnMuc2NydXRpbnMuc2NydXRpblxuXG4gICAgICBmb3IgKGNvbnN0IHNjcnV0aW4gb2Ygc2NydXRpbnMuc2NydXRpbnMpIHtcbiAgICAgICAgY2xlYW5TY3J1dGluKHNjcnV0aW4pXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNjcnV0aW5zSnNvbjogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoc2NydXRpbnMsIG51bGwsIDIpXG4gICAgICAvLyBWYWxpZGF0ZSBnZW5lcmF0ZWQgSlNPTi5cbiAgICAgIGNvbnN0IHNjcnV0aW5zQ2xlYW46IFNjcnV0aW5zID0gU2NydXRpbnNDb252ZXJ0LnRvU2NydXRpbnMoc2NydXRpbnNKc29uKVxuICAgICAgY29uc3Qgc2NydXRpbnNDbGVhbkpzb246IHN0cmluZyA9XG4gICAgICAgIFNjcnV0aW5zQ29udmVydC5zY3J1dGluc1RvSnNvbihzY3J1dGluc0NsZWFuKVxuICAgICAgY29uc3QganNvbkZpbGVQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oXG4gICAgICAgIGRhdGFEaXIsXG4gICAgICAgIGRhdGFzZXQuZmlsZW5hbWUucmVwbGFjZSgvXFwuanNvbiQvLCBcIl9uZXR0b3llLmpzb25cIiksXG4gICAgICApXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgc2NydXRpbnNDbGVhbkpzb24sIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pXG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdG9yZSBzdGFuZGFyZCBjb252ZXJzaW9uIG9mIGRhdGVzIHRvIEpTT04uXG4gIERhdGUucHJvdG90eXBlLnRvSlNPTiA9IGV4aXN0aW5nRGF0ZVRvSnNvblxufVxuXG5jbGVhbkRhdGEob3B0aW9ucy5kYXRhRGlyKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sUUFBUTtBQUMzQixPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxJQUFJO0FBQ25CLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsU0FFZEMsV0FBVztBQUFBLFNBQ1hDLG9CQUFvQjtBQUFBLFNBQ3BCQyx1QkFBdUI7QUFBQSxTQUN2QkMseUJBQXlC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
|