@tricoteuses/assemblee 1.5.0 → 1.5.1
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/bugs/acteur-00010.js +3 -3
- package/lib/bugs/agenda-00002.js +3 -3
- package/lib/bugs/agenda-00002.mjs +2 -2
- package/lib/bugs/agenda-00008.js +3 -3
- package/lib/bugs/agenda-00011.js +3 -3
- package/lib/bugs/agenda-00011.mjs +2 -2
- package/lib/bugs.js +3 -3
- package/lib/bugs.mjs +2 -2
- package/lib/datasets.js +1 -2
- package/lib/datasets.mjs +1 -2
- package/lib/dossiers_legislatifs.mjs +1 -2
- package/lib/file_systems.js +3 -3
- package/lib/file_systems.mjs +3 -3
- package/lib/inserters.js +1 -3
- package/lib/inserters.mjs +1 -3
- package/lib/parsers/documents.js +1 -2
- package/lib/parsers/documents.mjs +1 -2
- package/lib/raw_types/acteurs_et_organes.js +2 -2
- package/lib/raw_types/agendas.js +2 -2
- package/lib/raw_types/amendements.js +2 -2
- package/lib/raw_types/debats.js +2 -2
- package/lib/raw_types/dossiers_legislatifs.d.ts +1 -0
- package/lib/raw_types/dossiers_legislatifs.js +5 -4
- package/lib/raw_types/dossiers_legislatifs.mjs +3 -2
- package/lib/raw_types/questions.js +2 -2
- package/lib/raw_types/scrutins.js +2 -2
- package/lib/scripts/bugs_helper.js +3 -3
- package/lib/scripts/bugs_helper.mjs +2 -2
- package/lib/scripts/clean_reorganized_data.js +1 -1
- package/lib/scripts/clean_reorganized_data.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +3 -3
- package/lib/scripts/document_dossiers_legislatifs.mjs +2 -2
- package/lib/scripts/parse_textes_lois.js +2 -1
- package/lib/scripts/reorganize_data.js +1 -1
- package/lib/scripts/reorganize_data.mjs +1 -1
- package/lib/scripts/retrieve_senateurs_photos.js +1 -2
- package/lib/scripts/retrieve_senateurs_photos.mjs +1 -2
- package/lib/scripts/retrieve_textes_lois.js +3 -3
- package/lib/scripts/retrieve_textes_lois.mjs +1 -1
- package/lib/scripts/validate_json.js +3 -3
- package/lib/scripts/validate_json.mjs +2 -2
- package/lib/types/acteurs_et_organes.d.ts +32 -32
- package/lib/types/acteurs_et_organes.js +3 -3
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.d.ts +5 -5
- package/lib/types/agendas.js +3 -3
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.d.ts +1 -1
- package/lib/types/amendements.js +3 -3
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/debats.js +3 -3
- package/lib/types/debats.mjs +1 -1
- package/lib/types/dossiers_legislatifs.js +3 -3
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/questions.js +3 -3
- package/lib/types/questions.mjs +1 -1
- package/lib/types/scrutins.js +3 -3
- package/lib/types/scrutins.mjs +1 -1
- package/package.json +2 -2
package/lib/datasets.mjs
CHANGED
|
@@ -424,7 +424,6 @@ export const datasets = {
|
|
|
424
424
|
// "http://data.assemblee-nationale.fr/static/openData/repository/14/loi/amendements_legis_XIV/Amendements_XIV.json.zip",
|
|
425
425
|
// },
|
|
426
426
|
],
|
|
427
|
-
|
|
428
427
|
dossiersLegislatifs: [{
|
|
429
428
|
filename: "Dossiers_Legislatifs_XVI.json",
|
|
430
429
|
legislature: Legislature.Seize,
|
|
@@ -621,4 +620,4 @@ export function filterByLegislature(datasets, legislature) {
|
|
|
621
620
|
}
|
|
622
621
|
return datasets;
|
|
623
622
|
}
|
|
624
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwiZnMiLCJwYXRoIiwiTGVnaXNsYXR1cmUiLCJEYXRhc2V0U3RydWN0dXJlIiwiRW5hYmxlZERhdGFzZXRzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiZmlsZW5hbWUiLCJpZ25vcmVGb3JXZWIiLCJsZWdpc2xhdHVyZSIsIlNlaXplIiwicmVwYWlyWmlwIiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJqb2luIiwiZXhpc3RzU3luYyIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsInN0cnVjdHVyZSIsIlNlZ21lbnRlZEZpbGVzIiwidGl0bGUiLCJ1cmwiLCJRdWluemUiLCJRdWF0b3J6ZSIsIlNpbmdsZUZpbGUiLCJBbGwiLCJta2RpclN5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJxdWVzdGlvbnMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsImRpcmVjdG9yeTJzY2hlbWEiLCJnZXREYXRhc2V0cyIsInZhbGlkRGF0YXNldCIsImRpciIsImluY2x1ZGVzIiwiZ2V0U2NoZW1hcyIsIk9iamVjdCIsInZhbHVlcyIsImRhdGFzZXREaXJlY3RvcnlTY2hlbWEiLCJkaXJlY3RvcmllcyIsInJlc3VsdHMiLCJkaXJlY3RvcnkiLCJyZSIsImtleXMiLCJSZWdFeHAiLCJleGVjIiwicHVzaCIsImZpbGVEYXRhc2V0VXJsIiwibWF0Y2giLCJmaWxlIiwiZGlmZlVwc3RyZWFtIiwiZGF0YXNldFVybCIsInN1bSIsInVwZGF0ZSIsImRpZ2VzdCIsInRvU3RyaW5nIiwibWFzdGVyVXJsIiwiZmlsdGVyQnlMZWdpc2xhdHVyZSIsImxlZ2lzbGF0dXJlcyIsInNvbWUiLCJ1bmRlZmluZWQiLCJlbmFibGVkTGVnaXNsYXR1cmVzIiwibWFwIiwia2V5IiwidmFsdWUiLCJlbnRyaWVzIiwiZmlsdGVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RhdGFzZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5cbmludGVyZmFjZSBEYXRhc2V0IHtcbiAgZmlsZW5hbWU6IHN0cmluZ1xuICBpZ25vcmVGb3JXZWI/OiBib29sZWFuXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZVxuICByZXBhaXJaaXA/OiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB2b2lkXG4gIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZVxuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHMge1xuICBhY3RldXJzRXRPcmdhbmVzOiBEYXRhc2V0W11cbiAgYWdlbmRhczogRGF0YXNldFtdXG4gIGFtZW5kZW1lbnRzOiBEYXRhc2V0W11cbiAgZG9zc2llcnNMZWdpc2xhdGlmczogRGF0YXNldFtdXG4gIHNjcnV0aW5zOiBEYXRhc2V0W11cbiAgcXVlc3Rpb25zOiBEYXRhc2V0W11cbiAgY29tcHRlc1JlbmR1c1NlYW5jZXM6IERhdGFzZXRbXVxufVxuXG5leHBvcnQgZW51bSBEYXRhc2V0U3RydWN0dXJlIHtcbiAgU2luZ2xlRmlsZSxcbiAgU2VnbWVudGVkRmlsZXMsXG59XG5cbmV4cG9ydCBlbnVtIEVuYWJsZWREYXRhc2V0cyB7XG4gIE5vbmUgPSAwLFxuICBBY3RldXJzRXRPcmdhbmVzID0gMSA8PCAwLFxuICBBZ2VuZGFzID0gMSA8PCAxLFxuICBBbWVuZGVtZW50cyA9IDEgPDwgMixcbiAgRG9zc2llcnNMZWdpc2xhdGlmcyA9IDEgPDwgMyxcbiAgUGhvdG9zID0gMSA8PCA0LFxuICBTY3J1dGlucyA9IDEgPDwgNSxcbiAgUXVlc3Rpb25zID0gMSA8PCA2LFxuICBDb21wdGVzUmVuZHVzU2VhbmNlcyA9IDEgPDwgNyxcbiAgQWxsID0gQWN0ZXVyc0V0T3JnYW5lcyB8XG4gICAgQWdlbmRhcyB8XG4gICAgQW1lbmRlbWVudHMgfFxuICAgIERvc3NpZXJzTGVnaXNsYXRpZnMgfFxuICAgIFBob3RvcyB8XG4gICAgU2NydXRpbnMgfFxuICAgIFF1ZXN0aW9ucyB8XG4gICAgQ29tcHRlc1JlbmR1c1NlYW5jZXMsXG59XG5cbmV4cG9ydCBjb25zdCBkYXRhc2V0czogRGF0YXNldHMgPSB7XG4gIGFjdGV1cnNFdE9yZ2FuZXM6IFtcbiAgICB7XG4gICAgICAvLyBBTU8xMCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgYWN0aWZzXG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXMgbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiB5IGNvbXByaXMgYXZlYyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGFjaGV2w6lzICh5IGNvbXByaXMgZGFucyBjZXR0ZSBsw6lnaXNsYXR1cmUpXG4gICAgICAvL1xuICAgICAgLy8gT3JnYW5lcyA6XG4gICAgICAvLyAqIENvbnRpZW50IHNldWxlbWVudCBsZXMgb3JnYW5lcyBjb3JyZXNwb25kYW50cyBhdXggbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8yMFxuICAgICAgLy8gKHF1aSBlc3QgbHVpIG3Dqm1lIHVuIHNvdXMtZW5zZW1ibGUgZGUgbCdBTU8zMCkuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgQU1PMjAgb3UgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzEwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmc1xuICAgICAgLy8gKiBhdmVjIHRvdXMgbGVzIG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogeSBjb21wcmlzIGF2ZWMgbGV1ciBwYXJ0aSBwb2xpdGlxdWUgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBhY2hldsOpcyAoeSBjb21wcmlzIGRhbnMgY2V0dGUgbMOpZ2lzbGF0dXJlKVxuICAgICAgLy9cbiAgICAgIC8vIE9yZ2FuZXMgOlxuICAgICAgLy8gKiBDb250aWVudCBzZXVsZW1lbnQgbGVzIG9yZ2FuZXMgY29ycmVzcG9uZGFudHMgYXV4IG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMjBcbiAgICAgIC8vIChxdWkgZXN0IGx1aSBtw6ptZSB1biBzb3VzLWVuc2VtYmxlIGRlIGwnQU1PMzApLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIEFNTzIwIG91IGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBkZSBsYSBsw6lnaXNsYXR1cmUsIGFjdGlmcyBvdSBub24gKGludmFsaWTDqXMsIGV0YyksIGxlcyBzw6luYXRldXJzIGFjdHVlbHNcbiAgICAgIC8vIFBvdXIgbGVzIGTDqXB1dMOpcyA6XG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXVycyBtYW5kYXRzIGRlIGxhIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzICAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXMgKHF1aSBzb250IGRhbnMgQU1PNDApXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgdG91cyBsZXMgb3JnYW5lcyByw6lmw6lyZW5jw6lzIHBhciBsZXMgbWFuZGF0c1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGRlIGxhIGzDqWdpc2xhdHVyZSwgYWN0aWZzIG91IG5vbiAoaW52YWxpZMOpcywgZXRjKSwgbGVzIHPDqW5hdGV1cnMgYWN0dWVsc1xuICAgICAgLy8gUG91ciBsZXMgZMOpcHV0w6lzIDpcbiAgICAgIC8vICogYXZlYyB0b3VzIGxldXJzIG1hbmRhdHMgZGUgbGEgbMOpZ2lzbGF0dXJlXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXMgbWFuZGF0cyBhY2hldsOpc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlcyAocXVpIHNvbnQgZGFucyBBTU80MClcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCB0b3VzIGxlcyBvcmdhbmVzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyBtYW5kYXRzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzMwLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vZGVwdXRlc19zZW5hdGV1cnNfbWluaXN0cmVzX2xlZ2lzbGF0dXJlL0FNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8yMCAoWElWKVxuICAgICAgLy9cbiAgICAgIC8vIENvbW1lIEFNTzIwIChYVikgbWFpcyBwb3VyIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXG4gICAgICAvLyBUb3VzIGxlcyBhY3RldXJzIHNhdWYgdW4gKFBBNDI5ODkyKSBzb250IHByw6lzZW50cyBlbiBwbHVzIMOgIGpvdXIgZGFucyBBTU8zMC5cbiAgICAgIC8vIENldCBhY3RldXIgUEE0Mjk4OTIgKGFuY2llbm5lIFPDqW5hdHJpY2UpIG4nZXN0IHByw6lzZW50IGRhbnMgYXVjdW4gZGVzIGF1dHJlc1xuICAgICAgLy8gZmljaGllcnMgQU1PLlxuICAgICAgLy8gVG91cyBsZXMgb3JnYW5lcyBzb250IHByw6lzZW50cyBlbiBwbHVzIGNvbXBsZXRzIGRhbnMgQU1PMzAuXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgZG9uYyDDoCB1biBkw6l0YWlsIHByw6p0IChQQTQyOTg5MikgdW4gc291cy1lbnNlbWJsZSBkJ0FNTzMwLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgcXVhc2ltZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hJVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvYW1vL2RlcHV0ZXNfc2VuYXRldXJzX21pbmlzdHJlc19sZWdpc2xhdHVyZXNfWElWL0FNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMzAgKFhWSSlcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiSGlzdG9yaXF1ZSBkZSB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMgZGVwdWlzIGxhIFhJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby90b3VzX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX3hpX2xlZ2lzbGF0dXJlL0FNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvbi56aXBcIixcbiAgICB9LFxuICAgIC8vIHtcbiAgICAvLyAgIC8vIEFNTzMwIChYVilcbiAgICAvLyAgIC8vXG4gICAgLy8gICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAvLyAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgLy8gICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAvLyAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgLy8gICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAvLyAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgLy8gICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAvLyAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgLy8gICB9LFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgIC8vICAgdGl0bGU6XG4gICAgLy8gICAgIFwiSGlzdG9yaXF1ZSBkZSB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMgZGVwdWlzIGxhIFhJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAvLyAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby90b3VzX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX3hpX2xlZ2lzbGF0dXJlL0FNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVkkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy9BTU80MF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmcyAobGVzIG3Dqm1lcyBxdSdBTU8yMClcbiAgICAgIC8vICogYXZlYyBwcmVzcXVlIHRvdXMgbGV1cnMgbWFuZGF0c1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgZXQgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyBwcsOpY8OpZGVudHNcbiAgICAgIC8vICogbWFpcyBzYW5zIGxldXIgcGFydGkgcG9saXRpcXVlIGFjdHVlbCAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBiZWF1Y291cCBkJ29yZ2FuZXMgcsOpZsOpcmVuY8OpcywgeSBjb21wcmlzIGNldXggZGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogbWFpcyBpbCBtYW5xdWUgbGUgeHNpVHlwZSBkZXMgb3JnYW5lc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG9yZ2FuZXMgc8OpbmF0b3JpYXV4XG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgbWluaXN0w6hyZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxhIFByw6lzaWRlbmNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMsIGNlIGTDqXDDtHQgZXN0IHVuIHNvdXMtZW5zZW1ibGUgc3RyaWN0IGRlIEFNTzMwIDpcbiAgICAgIC8vIElsIGEgbW9pbnMgZCdhY3RldXJzIGV0IGlsIHNvbnQgbW9pbnMgY29tcGxldHMuXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyBRdWFuZCBsJ29yZ2FuZSBlc3QgYXVzc2kgcHLDqXNlbnQgZGFucyBBTU8zMCwgaWwgdmF1dCBtaWV1eCBwcmVuZHJlIGNlbHVpXG4gICAgICAvLyBkJ0FNTzMwLCBjYXIgaWwgY29udGllbnQgbGUgeHNpVHlwZSAoYydlc3QgbGEgc2V1bGUgZGlmZsOpcmVuY2Ugc2VtYmxlLXQtaSkuXG4gICAgICAvLyBTaW5vbiwgaWwgZmF1dCBsZSBwcmVuZHJlIHNldWxlbWVudCBzaSBvbiBlc3QgaW50w6lyZXNzw6kgcGFyIGxlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMvQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU81MCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIEF0dGVudGlvbiwgY2UgZmljaGllciBuJ2VzdCBwYXMgbWlzIMOgIGpvdXIgcsOpZ3VsacOocmVtZW50ICFcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGUgYXV4IG1hbmRhdHNcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGVcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLFxuICAgICAgLy8gZG9udCBpbCBlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUuXG4gICAgICBmaWxlbmFtZTogXCJBTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJtYW5kYXRcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJtYW5kYXRcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkFjdGV1cnMsIG1hbmRhdHMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzUwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBBdHRlbnRpb24sIGNlIGZpY2hpZXIgbidlc3QgcGFzIG1pcyDDoCBqb3VyIHLDqWd1bGnDqHJlbWVudCAhXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgYWN0ZXVycyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlIGF1eCBtYW5kYXRzXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMCxcbiAgICAgIC8vIGRvbnQgaWwgZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJBY3RldXJzLCBtYW5kYXRzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhZ2VuZGFzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi92cC9yZXVuaW9ucy9BZ2VuZGEuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS92cC9yZXVuaW9ucy9BZ2VuZGFfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L3ZwL3JldW5pb25zL0FnZW5kYV9YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhbWVuZGVtZW50czogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9hbWVuZGVtZW50c19kaXZfbGVnaXMvQW1lbmRlbWVudHMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzL0FtZW5kZW1lbnRzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YSVYuanNvblwiLFxuICAgIC8vICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgLy8gICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOlxuICAgIC8vICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzX1hJVi9BbWVuZGVtZW50c19YSVYuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICBdLFxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBzY3J1dGluczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiU2NydXRpbnMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9zY3J1dGlucy9TY3J1dGlucy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiU2NydXRpbnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvc2NydXRpbnMvU2NydXRpbnNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hJVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIlNjcnV0aW5zIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvc2NydXRpbnMvU2NydXRpbnNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgcXVlc3Rpb25zOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2Vjcml0ZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgw6ljcml0ZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZWNyaXRlcy9RdWVzdGlvbnNfZWNyaXRlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2dvdXZlcm5lbWVudF9YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyBhdSBnb3V2ZXJuZW1lbnQgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZ291dmVybmVtZW50L1F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19vcmFsZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0cyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvcXVlc3Rpb25zL3F1ZXN0aW9uc19vcmFsZXNfc2Fuc19kZWJhdC9RdWVzdGlvbnNfb3JhbGVzX3NhbnNfZGViYXQuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBjb21wdGVzUmVuZHVzU2VhbmNlczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkNvbXB0ZXNfUmVuZHVzX1NlYW5jZXNfWFZJLnhtbFwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwieG1sXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQ29tcHRlcyByZW5kdXMgZGVzIHPDqWFuY2VzIHB1YmxpcXVlcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3ZwL3N5Y2Vyb25icnV0L3N5c2Vyb24ueG1sLnppcFwiLFxuICAgIH0sXG4gIF0sXG59XG5cbmNvbnN0IGRpcmVjdG9yeTJzY2hlbWE6IGFueSA9IHtcbiAgXCIuKkFnZW5kYV8uKlwiOiBcImFnZW5kYVwiLFxuICBcIi4qU2NydXRpbnNfLipcIjogXCJzY3J1dGluXCIsXG4gIFwiLipRdWVzdGlvbnNfLipcIjogXCJxdWVzdGlvblwiLFxuICBcIi4qQW1lbmRlbWVudHNfLipcIjogXCJhbWVuZGVtZW50XCIsXG4gIFwiLipEb3NzaWVyc19MZWdpc2xhdGlmc18uKi9kb2N1bWVudHNcIjogXCJkb2N1bWVudFwiLFxuICBcIi4qRG9zc2llcnNfTGVnaXNsYXRpZnNfLiovZG9zc2llcnNcIjogXCJkb3NzaWVyXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9vcmdhbmVzXCI6IFwib3JnYW5lXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9hY3RldXJzXCI6IFwiYWN0ZXVyXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovb3JnYW5lc1wiOlxuICAgIFwib3JnYW5lXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovYWN0ZXVyc1wiOlxuICAgIFwiYWN0ZXVyXCIsXG4gIFwiLipDb21wdGVzX1JlbmR1c19TZWFuY2VzXy4qXCI6IFwiZGViYXRcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRzKCk6IGFueSB7XG4gIHJldHVybiBbXG4gICAgXCJBZ2VuZGFfWElWXCIsXG4gICAgXCJBZ2VuZGFfWFZcIixcbiAgICBcIkFnZW5kYV9YVklcIixcbiAgICBcIlNjcnV0aW5zX1hJVlwiLFxuICAgIFwiU2NydXRpbnNfWFZcIixcbiAgICBcIlNjcnV0aW5zX1hWSVwiLFxuICAgIFwiUXVlc3Rpb25zX0Vjcml0ZXNfWFZJXCIsXG4gICAgXCJRdWVzdGlvbnNfR291dmVybmVtZW50X1hWSVwiLFxuICAgIFwiQW1lbmRlbWVudHNfWElWXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVlwiLFxuICAgIFwiQW1lbmRlbWVudHNfWFZJXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVklcIixcbiAgICBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIixcbiAgICBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIsXG4gICAgXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSVwiLFxuICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZERhdGFzZXQoZGlyOiBhbnkpOiBhbnkge1xuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZ2V0RGF0YXNldHMoKSkge1xuICAgIGlmIChkaXIuaW5jbHVkZXMoZGF0YXNldCkpIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2hlbWFzKCk6IGFueSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGRpcmVjdG9yeTJzY2hlbWEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhc2V0RGlyZWN0b3J5U2NoZW1hKGRhdGFzZXQ6IHN0cmluZyk6IGFueSB7XG4gIGxldCBkaXJlY3RvcmllczogYW55XG4gIGlmIChkYXRhc2V0LmluY2x1ZGVzKFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfXCIpKSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbYCR7ZGF0YXNldH0vZG9jdW1lbnRzYCwgYCR7ZGF0YXNldH0vZG9zc2llcnNgXVxuICB9IGVsc2UgaWYgKFxuICAgIGRhdGFzZXQuaW5jbHVkZXMoXCJhY3RldXJzX21hbmRhdHNfb3JnYW5lc1wiKSB8fFxuICAgIGRhdGFzZXQuaW5jbHVkZXMoXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlXCIpXG4gICkge1xuICAgIGRpcmVjdG9yaWVzID0gW2Ake2RhdGFzZXR9L29yZ2FuZXNgLCBgJHtkYXRhc2V0fS9hY3RldXJzYF1cbiAgfSBlbHNlIHtcbiAgICBkaXJlY3RvcmllcyA9IFtkYXRhc2V0XVxuICB9XG5cbiAgbGV0IHJlc3VsdHMgPSBbXVxuICBmb3IgKGNvbnN0IGRpcmVjdG9yeSBvZiBkaXJlY3Rvcmllcykge1xuICAgIGZvciAoY29uc3QgcmUgb2YgT2JqZWN0LmtleXMoZGlyZWN0b3J5MnNjaGVtYSkpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKHJlKS5leGVjKGRpcmVjdG9yeSkpXG4gICAgICAgIHJlc3VsdHMucHVzaChbYCR7ZGlyZWN0b3J5fS8qKi8qLmpzb25gLCBkaXJlY3Rvcnkyc2NoZW1hW3JlXV0pXG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWxlRGF0YXNldFVybChmaWxlbmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB8IG51bGwge1xuICBjb25zdCByZSA9IFwiXi4qLyguKilfbmV0dG95ZS8oLiopXCJcbiAgY29uc3QgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlKS5leGVjKGZpbGVuYW1lKVxuICBpZiAobWF0Y2ggPT0gbnVsbCkgcmV0dXJuIG51bGxcbiAgbGV0IFtkYXRhc2V0LCBmaWxlXSA9IFttYXRjaFsxXSwgbWF0Y2hbMl1dXG4gIGlmIChkYXRhc2V0ID09IFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiKVxuICAgIGRhdGFzZXQgPSBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCJcbiAgcmV0dXJuIFtkYXRhc2V0LCBmaWxlXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlmZlVwc3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkYXRhc2V0VXJsID0gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWUpXG4gIGlmIChkYXRhc2V0VXJsID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICBjb25zdCBbZGF0YXNldCwgZmlsZV0gPSBkYXRhc2V0VXJsXG4gIGNvbnN0IHN1bSA9IGNyZWF0ZUhhc2goXCJzaGExXCIpLnVwZGF0ZShmaWxlKS5kaWdlc3QoXCJoZXhcIikudG9TdHJpbmcoKVxuICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9kYXRhLnRyaWNvdGV1c2VzLmZyLyR7ZGF0YXNldH0vLS9jb21wYXJlL3Vwc3RyZWFtLi4ubWFzdGVyIyR7c3VtfSlgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXN0ZXJVcmwoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGFzZXRVcmwgPSBmaWxlRGF0YXNldFVybChmaWxlbmFtZSlcbiAgaWYgKGRhdGFzZXRVcmwgPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gIGNvbnN0IFtkYXRhc2V0LCBmaWxlXSA9IGRhdGFzZXRVcmxcbiAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS50cmljb3RldXNlcy5mci8ke2RhdGFzZXR9Ly0vdHJlZS9tYXN0ZXIvJHtmaWxlfSlgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJCeUxlZ2lzbGF0dXJlKGRhdGFzZXRzOiBEYXRhc2V0cywgbGVnaXNsYXR1cmU6IGFueSk6IERhdGFzZXRzIHtcbiAgLy8gV2hlbiBhIGdpdmVuIGxlZ2lzbGF0dXJlIGlzIDAsIGl0IGlzIHRoZSBzYW1lIGFzIGdpdmluZyBubyBsZWdpc2xhdHVyZTpcbiAgLy8gSXQgbWVhbnMgXCJldmVyeSBsZWdpc2xhdHVyZXNcIi5cbiAgY29uc3QgbGVnaXNsYXR1cmVzID0gbGVnaXNsYXR1cmU/LnNvbWUoXG4gICAgKGxlZ2lzbGF0dXJlOiBudW1iZXIpID0+IGxlZ2lzbGF0dXJlID09PSAwLFxuICApXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IGxlZ2lzbGF0dXJlXG4gIGlmIChsZWdpc2xhdHVyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGVuYWJsZWRMZWdpc2xhdHVyZXMgPSBsZWdpc2xhdHVyZXMubWFwKChsZWdpc2xhdHVyZTogbnVtYmVyKSA9PlxuICAgICAgbGVnaXNsYXR1cmUudG9TdHJpbmcoKSxcbiAgICApXG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGFzZXRzKSkge1xuICAgICAgZGF0YXNldHNba2V5IGFzIGtleW9mIHR5cGVvZiBkYXRhc2V0c10gPSB2YWx1ZS5maWx0ZXIoXG4gICAgICAgIChkYXRhc2V0OiB7IGxlZ2lzbGF0dXJlOiBhbnkgfSkgPT5cbiAgICAgICAgICBkYXRhc2V0LmxlZ2lzbGF0dXJlID09PSBMZWdpc2xhdHVyZS5BbGwgfHxcbiAgICAgICAgICBlbmFibGVkTGVnaXNsYXR1cmVzLmluY2x1ZGVzKGRhdGFzZXQubGVnaXNsYXR1cmUpLFxuICAgICAgKVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YXNldHM7XG59Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsUUFBUTtBQUNuQyxPQUFPQyxFQUFFLE1BQU0sVUFBVTtBQUN6QixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLFNBRWRDLFdBQVc7QUFzQnBCLFdBQVlDLGdCQUFnQiwwQkFBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBaEJBLGdCQUFnQixDQUFoQkEsZ0JBQWdCO0VBQUEsT0FBaEJBLGdCQUFnQjtBQUFBO0FBSzVCLFdBQVlDLGVBQWUsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFBO0FBb0IzQixPQUFPLE1BQU1DLFFBQWtCLEdBQUc7RUFDaENDLGdCQUFnQixFQUFFLENBQ2hCO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFD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
|
|
623
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVIYXNoIiwiZnMiLCJwYXRoIiwiTGVnaXNsYXR1cmUiLCJEYXRhc2V0U3RydWN0dXJlIiwiRW5hYmxlZERhdGFzZXRzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiZmlsZW5hbWUiLCJpZ25vcmVGb3JXZWIiLCJsZWdpc2xhdHVyZSIsIlNlaXplIiwicmVwYWlyWmlwIiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJqb2luIiwiZXhpc3RzU3luYyIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsInN0cnVjdHVyZSIsIlNlZ21lbnRlZEZpbGVzIiwidGl0bGUiLCJ1cmwiLCJRdWluemUiLCJRdWF0b3J6ZSIsIlNpbmdsZUZpbGUiLCJBbGwiLCJta2RpclN5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJxdWVzdGlvbnMiLCJjb21wdGVzUmVuZHVzU2VhbmNlcyIsImRpcmVjdG9yeTJzY2hlbWEiLCJnZXREYXRhc2V0cyIsInZhbGlkRGF0YXNldCIsImRpciIsImluY2x1ZGVzIiwiZ2V0U2NoZW1hcyIsIk9iamVjdCIsInZhbHVlcyIsImRhdGFzZXREaXJlY3RvcnlTY2hlbWEiLCJkaXJlY3RvcmllcyIsInJlc3VsdHMiLCJkaXJlY3RvcnkiLCJyZSIsImtleXMiLCJSZWdFeHAiLCJleGVjIiwicHVzaCIsImZpbGVEYXRhc2V0VXJsIiwibWF0Y2giLCJmaWxlIiwiZGlmZlVwc3RyZWFtIiwiZGF0YXNldFVybCIsInN1bSIsInVwZGF0ZSIsImRpZ2VzdCIsInRvU3RyaW5nIiwibWFzdGVyVXJsIiwiZmlsdGVyQnlMZWdpc2xhdHVyZSIsImxlZ2lzbGF0dXJlcyIsInNvbWUiLCJ1bmRlZmluZWQiLCJlbmFibGVkTGVnaXNsYXR1cmVzIiwibWFwIiwia2V5IiwidmFsdWUiLCJlbnRyaWVzIiwiZmlsdGVyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RhdGFzZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tIFwiY3J5cHRvXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5pbXBvcnQgeyBMZWdpc2xhdHVyZSB9IGZyb20gXCIuL3R5cGVzL2xlZ2lzbGF0dXJlc1wiXG5cbmludGVyZmFjZSBEYXRhc2V0IHtcbiAgZmlsZW5hbWU6IHN0cmluZ1xuICBpZ25vcmVGb3JXZWI/OiBib29sZWFuXG4gIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZVxuICByZXBhaXJaaXA/OiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB2b2lkXG4gIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZVxuICB0aXRsZTogc3RyaW5nXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHMge1xuICBhY3RldXJzRXRPcmdhbmVzOiBEYXRhc2V0W11cbiAgYWdlbmRhczogRGF0YXNldFtdXG4gIGFtZW5kZW1lbnRzOiBEYXRhc2V0W11cbiAgZG9zc2llcnNMZWdpc2xhdGlmczogRGF0YXNldFtdXG4gIHNjcnV0aW5zOiBEYXRhc2V0W11cbiAgcXVlc3Rpb25zOiBEYXRhc2V0W11cbiAgY29tcHRlc1JlbmR1c1NlYW5jZXM6IERhdGFzZXRbXVxufVxuXG5leHBvcnQgZW51bSBEYXRhc2V0U3RydWN0dXJlIHtcbiAgU2luZ2xlRmlsZSxcbiAgU2VnbWVudGVkRmlsZXMsXG59XG5cbmV4cG9ydCBlbnVtIEVuYWJsZWREYXRhc2V0cyB7XG4gIE5vbmUgPSAwLFxuICBBY3RldXJzRXRPcmdhbmVzID0gMSA8PCAwLFxuICBBZ2VuZGFzID0gMSA8PCAxLFxuICBBbWVuZGVtZW50cyA9IDEgPDwgMixcbiAgRG9zc2llcnNMZWdpc2xhdGlmcyA9IDEgPDwgMyxcbiAgUGhvdG9zID0gMSA8PCA0LFxuICBTY3J1dGlucyA9IDEgPDwgNSxcbiAgUXVlc3Rpb25zID0gMSA8PCA2LFxuICBDb21wdGVzUmVuZHVzU2VhbmNlcyA9IDEgPDwgNyxcbiAgQWxsID0gQWN0ZXVyc0V0T3JnYW5lcyB8XG4gICAgQWdlbmRhcyB8XG4gICAgQW1lbmRlbWVudHMgfFxuICAgIERvc3NpZXJzTGVnaXNsYXRpZnMgfFxuICAgIFBob3RvcyB8XG4gICAgU2NydXRpbnMgfFxuICAgIFF1ZXN0aW9ucyB8XG4gICAgQ29tcHRlc1JlbmR1c1NlYW5jZXMsXG59XG5cbmV4cG9ydCBjb25zdCBkYXRhc2V0czogRGF0YXNldHMgPSB7XG4gIGFjdGV1cnNFdE9yZ2FuZXM6IFtcbiAgICB7XG4gICAgICAvLyBBTU8xMCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgYWN0aWZzXG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXMgbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiB5IGNvbXByaXMgYXZlYyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGFjaGV2w6lzICh5IGNvbXByaXMgZGFucyBjZXR0ZSBsw6lnaXNsYXR1cmUpXG4gICAgICAvL1xuICAgICAgLy8gT3JnYW5lcyA6XG4gICAgICAvLyAqIENvbnRpZW50IHNldWxlbWVudCBsZXMgb3JnYW5lcyBjb3JyZXNwb25kYW50cyBhdXggbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8yMFxuICAgICAgLy8gKHF1aSBlc3QgbHVpIG3Dqm1lIHVuIHNvdXMtZW5zZW1ibGUgZGUgbCdBTU8zMCkuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgQU1PMjAgb3UgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzEwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmc1xuICAgICAgLy8gKiBhdmVjIHRvdXMgbGVzIG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogeSBjb21wcmlzIGF2ZWMgbGV1ciBwYXJ0aSBwb2xpdGlxdWUgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBhY2hldsOpcyAoeSBjb21wcmlzIGRhbnMgY2V0dGUgbMOpZ2lzbGF0dXJlKVxuICAgICAgLy9cbiAgICAgIC8vIE9yZ2FuZXMgOlxuICAgICAgLy8gKiBDb250aWVudCBzZXVsZW1lbnQgbGVzIG9yZ2FuZXMgY29ycmVzcG9uZGFudHMgYXV4IG1hbmRhdHMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMjBcbiAgICAgIC8vIChxdWkgZXN0IGx1aSBtw6ptZSB1biBzb3VzLWVuc2VtYmxlIGRlIGwnQU1PMzApLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIEFNTzIwIG91IGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzL0FNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBkZSBsYSBsw6lnaXNsYXR1cmUsIGFjdGlmcyBvdSBub24gKGludmFsaWTDqXMsIGV0YyksIGxlcyBzw6luYXRldXJzIGFjdHVlbHNcbiAgICAgIC8vIFBvdXIgbGVzIGTDqXB1dMOpcyA6XG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXVycyBtYW5kYXRzIGRlIGxhIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzICAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXMgKHF1aSBzb250IGRhbnMgQU1PNDApXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgdG91cyBsZXMgb3JnYW5lcyByw6lmw6lyZW5jw6lzIHBhciBsZXMgbWFuZGF0c1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFZJLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGRlIGxhIGzDqWdpc2xhdHVyZSwgYWN0aWZzIG91IG5vbiAoaW52YWxpZMOpcywgZXRjKSwgbGVzIHPDqW5hdGV1cnMgYWN0dWVsc1xuICAgICAgLy8gUG91ciBsZXMgZMOpcHV0w6lzIDpcbiAgICAgIC8vICogYXZlYyB0b3VzIGxldXJzIG1hbmRhdHMgZGUgbGEgbMOpZ2lzbGF0dXJlXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXMgbWFuZGF0cyBhY2hldsOpc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlcyAocXVpIHNvbnQgZGFucyBBTU80MClcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCB0b3VzIGxlcyBvcmdhbmVzIHLDqWbDqXJlbmPDqXMgcGFyIGxlcyBtYW5kYXRzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzMwLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vZGVwdXRlc19zZW5hdGV1cnNfbWluaXN0cmVzX2xlZ2lzbGF0dXJlL0FNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8yMCAoWElWKVxuICAgICAgLy9cbiAgICAgIC8vIENvbW1lIEFNTzIwIChYVikgbWFpcyBwb3VyIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXG4gICAgICAvLyBUb3VzIGxlcyBhY3RldXJzIHNhdWYgdW4gKFBBNDI5ODkyKSBzb250IHByw6lzZW50cyBlbiBwbHVzIMOgIGpvdXIgZGFucyBBTU8zMC5cbiAgICAgIC8vIENldCBhY3RldXIgUEE0Mjk4OTIgKGFuY2llbm5lIFPDqW5hdHJpY2UpIG4nZXN0IHByw6lzZW50IGRhbnMgYXVjdW4gZGVzIGF1dHJlc1xuICAgICAgLy8gZmljaGllcnMgQU1PLlxuICAgICAgLy8gVG91cyBsZXMgb3JnYW5lcyBzb250IHByw6lzZW50cyBlbiBwbHVzIGNvbXBsZXRzIGRhbnMgQU1PMzAuXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgZG9uYyDDoCB1biBkw6l0YWlsIHByw6p0IChQQTQyOTg5MikgdW4gc291cy1lbnNlbWJsZSBkJ0FNTzMwLlxuICAgICAgLy8gSWwgbidhcHBvcnRlIGRvbmMgcXVhc2ltZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hJVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIkFjdGV1cnMgZXQgb3JnYW5lcyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvYW1vL2RlcHV0ZXNfc2VuYXRldXJzX21pbmlzdHJlc19sZWdpc2xhdHVyZXNfWElWL0FNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMzAgKFhWSSlcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiSGlzdG9yaXF1ZSBkZSB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMgZGVwdWlzIGxhIFhJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby90b3VzX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX3hpX2xlZ2lzbGF0dXJlL0FNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvbi56aXBcIixcbiAgICB9LFxuICAgIC8vIHtcbiAgICAvLyAgIC8vIEFNTzMwIChYVilcbiAgICAvLyAgIC8vXG4gICAgLy8gICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAvLyAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgLy8gICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAvLyAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgLy8gICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAvLyAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgLy8gICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAvLyAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgLy8gICB9LFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgIC8vICAgdGl0bGU6XG4gICAgLy8gICAgIFwiSGlzdG9yaXF1ZSBkZSB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMgZGVwdWlzIGxhIFhJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAvLyAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby90b3VzX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX3hpX2xlZ2lzbGF0dXJlL0FNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwIChYVkkpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVkkuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlcy9BTU80MF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmcyAobGVzIG3Dqm1lcyBxdSdBTU8yMClcbiAgICAgIC8vICogYXZlYyBwcmVzcXVlIHRvdXMgbGV1cnMgbWFuZGF0c1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgZXQgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyBwcsOpY8OpZGVudHNcbiAgICAgIC8vICogbWFpcyBzYW5zIGxldXIgcGFydGkgcG9saXRpcXVlIGFjdHVlbCAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBiZWF1Y291cCBkJ29yZ2FuZXMgcsOpZsOpcmVuY8OpcywgeSBjb21wcmlzIGNldXggZGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogbWFpcyBpbCBtYW5xdWUgbGUgeHNpVHlwZSBkZXMgb3JnYW5lc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG9yZ2FuZXMgc8OpbmF0b3JpYXV4XG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgbWluaXN0w6hyZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxhIFByw6lzaWRlbmNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMsIGNlIGTDqXDDtHQgZXN0IHVuIHNvdXMtZW5zZW1ibGUgc3RyaWN0IGRlIEFNTzMwIDpcbiAgICAgIC8vIElsIGEgbW9pbnMgZCdhY3RldXJzIGV0IGlsIHNvbnQgbW9pbnMgY29tcGxldHMuXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyBRdWFuZCBsJ29yZ2FuZSBlc3QgYXVzc2kgcHLDqXNlbnQgZGFucyBBTU8zMCwgaWwgdmF1dCBtaWV1eCBwcmVuZHJlIGNlbHVpXG4gICAgICAvLyBkJ0FNTzMwLCBjYXIgaWwgY29udGllbnQgbGUgeHNpVHlwZSAoYydlc3QgbGEgc2V1bGUgZGlmZsOpcmVuY2Ugc2VtYmxlLXQtaSkuXG4gICAgICAvLyBTaW5vbiwgaWwgZmF1dCBsZSBwcmVuZHJlIHNldWxlbWVudCBzaSBvbiBlc3QgaW50w6lyZXNzw6kgcGFyIGxlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMvQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU81MCAoWFZJKVxuICAgICAgLy9cbiAgICAgIC8vIEF0dGVudGlvbiwgY2UgZmljaGllciBuJ2VzdCBwYXMgbWlzIMOgIGpvdXIgcsOpZ3VsacOocmVtZW50ICFcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGUgYXV4IG1hbmRhdHNcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBvcmdhbmVzIDpcbiAgICAgIC8vICogYydlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUgZCdBTU8zMFxuICAgICAgLy8gKiBpbCBtYW5xdWUgbGVzIHhzaVR5cGVcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLFxuICAgICAgLy8gZG9udCBpbCBlc3QgdW4gc291cyBlbnNlbWJsZSBvYnNvbMOodGUuXG4gICAgICBmaWxlbmFtZTogXCJBTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWSS5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJtYW5kYXRcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJtYW5kYXRcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOlxuICAgICAgICBcIkFjdGV1cnMsIG1hbmRhdHMgZXQgb3JnYW5lcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzUwIChYVilcbiAgICAgIC8vXG4gICAgICAvLyBBdHRlbnRpb24sIGNlIGZpY2hpZXIgbidlc3QgcGFzIG1pcyDDoCBqb3VyIHLDqWd1bGnDqHJlbWVudCAhXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgYWN0ZXVycyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlIGF1eCBtYW5kYXRzXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMCxcbiAgICAgIC8vIGRvbnQgaWwgZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJBY3RldXJzLCBtYW5kYXRzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhZ2VuZGFzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhWScOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNi92cC9yZXVuaW9ucy9BZ2VuZGEuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS92cC9yZXVuaW9ucy9BZ2VuZGFfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L3ZwL3JldW5pb25zL0FnZW5kYV9YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhbWVuZGVtZW50czogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9hbWVuZGVtZW50c19kaXZfbGVnaXMvQW1lbmRlbWVudHMuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzL0FtZW5kZW1lbnRzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YSVYuanNvblwiLFxuICAgIC8vICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgLy8gICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOlxuICAgIC8vICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzX1hJVi9BbWVuZGVtZW50c19YSVYuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICBdLFxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBzY3J1dGluczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWSS5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuU2VpemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiU2NydXRpbnMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L2xvaS9zY3J1dGlucy9TY3J1dGlucy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiU2NydXRpbnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvc2NydXRpbnMvU2NydXRpbnNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hJVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIlNjcnV0aW5zIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvc2NydXRpbnMvU2NydXRpbnNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgcXVlc3Rpb25zOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2Vjcml0ZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgw6ljcml0ZXMgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZWNyaXRlcy9RdWVzdGlvbnNfZWNyaXRlcy5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiUXVlc3Rpb25zX2dvdXZlcm5lbWVudF9YVkkuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIlF1ZXN0aW9ucyBhdSBnb3V2ZXJuZW1lbnQgZGUgbGEgWFZJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3F1ZXN0aW9ucy9xdWVzdGlvbnNfZ291dmVybmVtZW50L1F1ZXN0aW9uc19nb3V2ZXJuZW1lbnQuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlF1ZXN0aW9uc19vcmFsZXNfWFZJLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5TZWl6ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0cyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTYvcXVlc3Rpb25zL3F1ZXN0aW9uc19vcmFsZXNfc2Fuc19kZWJhdC9RdWVzdGlvbnNfb3JhbGVzX3NhbnNfZGViYXQuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBjb21wdGVzUmVuZHVzU2VhbmNlczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkNvbXB0ZXNfUmVuZHVzX1NlYW5jZXNfWFZJLnhtbFwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlNlaXplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwieG1sXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQ29tcHRlcyByZW5kdXMgZGVzIHPDqWFuY2VzIHB1YmxpcXVlcyBkZSBsYSBYVknDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHBzOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE2L3ZwL3N5Y2Vyb25icnV0L3N5c2Vyb24ueG1sLnppcFwiLFxuICAgIH0sXG4gIF0sXG59XG5cbmNvbnN0IGRpcmVjdG9yeTJzY2hlbWE6IGFueSA9IHtcbiAgXCIuKkFnZW5kYV8uKlwiOiBcImFnZW5kYVwiLFxuICBcIi4qU2NydXRpbnNfLipcIjogXCJzY3J1dGluXCIsXG4gIFwiLipRdWVzdGlvbnNfLipcIjogXCJxdWVzdGlvblwiLFxuICBcIi4qQW1lbmRlbWVudHNfLipcIjogXCJhbWVuZGVtZW50XCIsXG4gIFwiLipEb3NzaWVyc19MZWdpc2xhdGlmc18uKi9kb2N1bWVudHNcIjogXCJkb2N1bWVudFwiLFxuICBcIi4qRG9zc2llcnNfTGVnaXNsYXRpZnNfLiovZG9zc2llcnNcIjogXCJkb3NzaWVyXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9vcmdhbmVzXCI6IFwib3JnYW5lXCIsXG4gIFwiLiphY3RldXJzX21hbmRhdHNfb3JnYW5lcy9hY3RldXJzXCI6IFwiYWN0ZXVyXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovb3JnYW5lc1wiOlxuICAgIFwib3JnYW5lXCIsXG4gIFwiLipBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLiovYWN0ZXVyc1wiOlxuICAgIFwiYWN0ZXVyXCIsXG4gIFwiLipDb21wdGVzX1JlbmR1c19TZWFuY2VzXy4qXCI6IFwiZGViYXRcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRzKCk6IGFueSB7XG4gIHJldHVybiBbXG4gICAgXCJBZ2VuZGFfWElWXCIsXG4gICAgXCJBZ2VuZGFfWFZcIixcbiAgICBcIkFnZW5kYV9YVklcIixcbiAgICBcIlNjcnV0aW5zX1hJVlwiLFxuICAgIFwiU2NydXRpbnNfWFZcIixcbiAgICBcIlNjcnV0aW5zX1hWSVwiLFxuICAgIFwiUXVlc3Rpb25zX0Vjcml0ZXNfWFZJXCIsXG4gICAgXCJRdWVzdGlvbnNfR291dmVybmVtZW50X1hWSVwiLFxuICAgIFwiQW1lbmRlbWVudHNfWElWXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVlwiLFxuICAgIFwiQW1lbmRlbWVudHNfWFZJXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVklcIixcbiAgICBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIixcbiAgICBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIsXG4gICAgXCJDb21wdGVzX1JlbmR1c19TZWFuY2VzX1hWSVwiLFxuICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZERhdGFzZXQoZGlyOiBhbnkpOiBhbnkge1xuICBmb3IgKGNvbnN0IGRhdGFzZXQgb2YgZ2V0RGF0YXNldHMoKSkge1xuICAgIGlmIChkaXIuaW5jbHVkZXMoZGF0YXNldCkpIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2hlbWFzKCk6IGFueSB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGRpcmVjdG9yeTJzY2hlbWEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhc2V0RGlyZWN0b3J5U2NoZW1hKGRhdGFzZXQ6IHN0cmluZyk6IGFueSB7XG4gIGxldCBkaXJlY3RvcmllczogYW55XG4gIGlmIChkYXRhc2V0LmluY2x1ZGVzKFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfXCIpKSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbYCR7ZGF0YXNldH0vZG9jdW1lbnRzYCwgYCR7ZGF0YXNldH0vZG9zc2llcnNgXVxuICB9IGVsc2UgaWYgKFxuICAgIGRhdGFzZXQuaW5jbHVkZXMoXCJhY3RldXJzX21hbmRhdHNfb3JnYW5lc1wiKSB8fFxuICAgIGRhdGFzZXQuaW5jbHVkZXMoXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlXCIpXG4gICkge1xuICAgIGRpcmVjdG9yaWVzID0gW2Ake2RhdGFzZXR9L29yZ2FuZXNgLCBgJHtkYXRhc2V0fS9hY3RldXJzYF1cbiAgfSBlbHNlIHtcbiAgICBkaXJlY3RvcmllcyA9IFtkYXRhc2V0XVxuICB9XG5cbiAgbGV0IHJlc3VsdHMgPSBbXVxuICBmb3IgKGNvbnN0IGRpcmVjdG9yeSBvZiBkaXJlY3Rvcmllcykge1xuICAgIGZvciAoY29uc3QgcmUgb2YgT2JqZWN0LmtleXMoZGlyZWN0b3J5MnNjaGVtYSkpIHtcbiAgICAgIGlmIChuZXcgUmVnRXhwKHJlKS5leGVjKGRpcmVjdG9yeSkpXG4gICAgICAgIHJlc3VsdHMucHVzaChbYCR7ZGlyZWN0b3J5fS8qKi8qLmpzb25gLCBkaXJlY3Rvcnkyc2NoZW1hW3JlXV0pXG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHRzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWxlRGF0YXNldFVybChmaWxlbmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSB8IG51bGwge1xuICBjb25zdCByZSA9IFwiXi4qLyguKilfbmV0dG95ZS8oLiopXCJcbiAgY29uc3QgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlKS5leGVjKGZpbGVuYW1lKVxuICBpZiAobWF0Y2ggPT0gbnVsbCkgcmV0dXJuIG51bGxcbiAgbGV0IFtkYXRhc2V0LCBmaWxlXSA9IFttYXRjaFsxXSwgbWF0Y2hbMl1dXG4gIGlmIChkYXRhc2V0ID09IFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiKVxuICAgIGRhdGFzZXQgPSBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCJcbiAgcmV0dXJuIFtkYXRhc2V0LCBmaWxlXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlmZlVwc3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkYXRhc2V0VXJsID0gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWUpXG4gIGlmIChkYXRhc2V0VXJsID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICBjb25zdCBbZGF0YXNldCwgZmlsZV0gPSBkYXRhc2V0VXJsXG4gIGNvbnN0IHN1bSA9IGNyZWF0ZUhhc2goXCJzaGExXCIpLnVwZGF0ZShmaWxlKS5kaWdlc3QoXCJoZXhcIikudG9TdHJpbmcoKVxuICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9kYXRhLnRyaWNvdGV1c2VzLmZyLyR7ZGF0YXNldH0vLS9jb21wYXJlL3Vwc3RyZWFtLi4ubWFzdGVyIyR7c3VtfSlgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXN0ZXJVcmwoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGFzZXRVcmwgPSBmaWxlRGF0YXNldFVybChmaWxlbmFtZSlcbiAgaWYgKGRhdGFzZXRVcmwgPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gIGNvbnN0IFtkYXRhc2V0LCBmaWxlXSA9IGRhdGFzZXRVcmxcbiAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS50cmljb3RldXNlcy5mci8ke2RhdGFzZXR9Ly0vdHJlZS9tYXN0ZXIvJHtmaWxlfSlgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJCeUxlZ2lzbGF0dXJlKFxuICBkYXRhc2V0czogRGF0YXNldHMsXG4gIGxlZ2lzbGF0dXJlOiBhbnksXG4pOiBEYXRhc2V0cyB7XG4gIC8vIFdoZW4gYSBnaXZlbiBsZWdpc2xhdHVyZSBpcyAwLCBpdCBpcyB0aGUgc2FtZSBhcyBnaXZpbmcgbm8gbGVnaXNsYXR1cmU6XG4gIC8vIEl0IG1lYW5zIFwiZXZlcnkgbGVnaXNsYXR1cmVzXCIuXG4gIGNvbnN0IGxlZ2lzbGF0dXJlcyA9IGxlZ2lzbGF0dXJlPy5zb21lKFxuICAgIChsZWdpc2xhdHVyZTogbnVtYmVyKSA9PiBsZWdpc2xhdHVyZSA9PT0gMCxcbiAgKVxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBsZWdpc2xhdHVyZVxuICBpZiAobGVnaXNsYXR1cmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBlbmFibGVkTGVnaXNsYXR1cmVzID0gbGVnaXNsYXR1cmVzLm1hcCgobGVnaXNsYXR1cmU6IG51bWJlcikgPT5cbiAgICAgIGxlZ2lzbGF0dXJlLnRvU3RyaW5nKCksXG4gICAgKVxuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkYXRhc2V0cykpIHtcbiAgICAgIGRhdGFzZXRzW2tleSBhcyBrZXlvZiB0eXBlb2YgZGF0YXNldHNdID0gdmFsdWUuZmlsdGVyKFxuICAgICAgICAoZGF0YXNldDogeyBsZWdpc2xhdHVyZTogYW55IH0pID0+XG4gICAgICAgICAgZGF0YXNldC5sZWdpc2xhdHVyZSA9PT0gTGVnaXNsYXR1cmUuQWxsIHx8XG4gICAgICAgICAgZW5hYmxlZExlZ2lzbGF0dXJlcy5pbmNsdWRlcyhkYXRhc2V0LmxlZ2lzbGF0dXJlKSxcbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRhdGFzZXRzXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxRQUFRO0FBQ25DLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsU0FFZEMsV0FBVztBQXNCcEIsV0FBWUMsZ0JBQWdCLDBCQUFoQkEsZ0JBQWdCO0VBQWhCQSxnQkFBZ0IsQ0FBaEJBLGdCQUFnQjtFQUFoQkEsZ0JBQWdCLENBQWhCQSxnQkFBZ0I7RUFBQSxPQUFoQkEsZ0JBQWdCO0FBQUE7QUFLNUIsV0FBWUMsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBZkEsZUFBZSxDQUFmQSxlQUFlO0VBQWZBLGVBQWUsQ0FBZkEsZUFBZTtFQUFmQSxlQUFlLENBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7QUFvQjNCLE9BQU8sTUFBTUMsUUFBa0IsR0FBRztFQUNoQ0MsZ0JBQWdCLEVBQUUsQ0FDaEI7SUFDRTtJQUNBO0lB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
|
|
@@ -179,7 +179,6 @@ export function stateFromActes(dossier, actePath, actes) {
|
|
|
179
179
|
// No status found, continue with previous acte.
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
|
|
183
182
|
return null;
|
|
184
183
|
}
|
|
185
184
|
export function stateFromDossier(dossier) {
|
|
@@ -206,4 +205,4 @@ export function* walkDocumentAndDivisions(documentOrDivision) {
|
|
|
206
205
|
yield* walkDocumentAndDivisions(division);
|
|
207
206
|
}
|
|
208
207
|
}
|
|
209
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1bmNhcGl0YWxpemVGaXJzdExldHRlciIsIkNvZGVUeXBlT3JnYW5lIiwiRmluYWxTdGF0dXMiLCJTdGF0dXNPbmx5IiwiY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llciIsImRvc3NpZXIiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwidW5kZWZpbmVkIiwiYWN0ZSIsIndhbGtBY3RlcyIsImNvZGVBY3RlIiwibWF0Y2giLCJvcmdhbmVSZWYiLCJzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSIsImxpYmVsbGUiLCJTdWNjZXNzIiwiRmFpbHVyZSIsIkluUHJvZ3Jlc3MiLCJDb25zdGl0dSIsInN0YXRlRnJvbUFjdGVQYXRoIiwiYWN0ZVBhdGgiLCJsZWFmQWN0ZSIsImxlbmd0aCIsInhzaVR5cGUiLCJzdGF0dXRBZG9wdGlvbiIsImN1cnJlbnRTdGF0dXMiLCJsYWJlbCIsInN0YXR1dENvbmNsdXNpb24iLCJmaW5hbFN0YXR1cyIsInByb2NlZHVyZVBhcmxlbWVudGFpcmUiLCJjb2RlIiwiaW5jbHVkZXMiLCJkZWNpc2lvbiIsInR5cGVEZWNsYXJhdGlvbiIsInR5cGVNb3Rpb25DZW5zdXJlIiwib3JnYW5lIiwiY29kZVR5cGUiLCJ0eXBlTW90aW9uIiwiY2FzU2Fpc2luZSIsInN0YXRlRnJvbUFjdGVzIiwiYWN0ZXMiLCJyZXZlcnNlIiwic3RhdHVzIiwic3RhdGVGcm9tRG9zc2llciIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsImRvY3VtZW50T3JEaXZpc2lvbiIsImRpdmlzaW9uIiwiZGl2aXNpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5pbXBvcnQgeyBDb2RlVHlwZU9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgdHlwZSB7XG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRGaWxlSW5mb3Mge1xuICBmaWxlbmFtZT86IHN0cmluZ1xuICBzaGEyNTY/OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRGaWxlc0luZGV4ID0ge1xuICBodG1sPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBwZGY/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG4gIFwicmF3LWh0bWxcIj86IERvY3VtZW50RmlsZUluZm9zW11cbn1cblxuZXhwb3J0IGVudW0gRmluYWxTdGF0dXMge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgY3VycmVudFN0YXR1czogU3RhdHVzXG4gIGZpbmFsU3RhdHVzPzogRmluYWxTdGF0dXNcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSBDb2RlVHlwZU9yZ2FuZSB8IFN0YXR1c09ubHlcblxuZXhwb3J0IGVudW0gU3RhdHVzT25seSB7XG4gIEZhaWx1cmUgPSBcIkZBSUxVUkVcIixcbiAgSW5Qcm9ncmVzcyA9IFwiSU5fUFJPR1JFU1NcIixcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llcihcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2Ygd2Fsa0FjdGVzKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGFjdGUuY29kZUFjdGUgYXMgdW5rbm93biBhcyBzdHJpbmcpLm1hdGNoKC9eQU4uKi1DT00tRk9ORC1TQUlTSUUkLykgIT09XG4gICAgICAgICAgbnVsbCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGFjdGUub3JnYW5lUmVmICE9PSBcIlBPMjExNDk0XCIgLy8gQ29tbWlzc2lvbiBkZXMgZmluYW5jZXMgZHUgU8OJTkFUICg9PiBlcnJldXIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFjdGUub3JnYW5lUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGU6IHN0cmluZyk6IFN0YXR1cyB7XG4gIHN3aXRjaCAobGliZWxsZSkge1xuICAgIGNhc2UgXCJBY2NvcmRcIjpcbiAgICBjYXNlIFwiYWRvcHTDqVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpLCBkYW5zIGxlcyBjb25kaXRpb25zIHByw6l2dWVzIMOgIGwnYXJ0aWNsZSA0NSwgYWxpbsOpYSAzLFwiICtcbiAgICAgIFwiIGRlIGxhIENvbnN0aXR1dGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcIkNvbmZvcm1lXCI6XG4gICAgY2FzZSBcImNvbnNpZMOpcsOpZSBjb21tZSBkw6lmaW5pdGl2ZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTUxLTcgZHUgUsOoZ2xlbWVudFwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS05IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiTW90aW9uIGFkb3B0w6koZSlcIjpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LlN1Y2Nlc3NcbiAgICBjYXNlIFwiRMOpc2FjY29yZFwiOlxuICAgIGNhc2UgXCJNb3Rpb24gcmVqZXTDqShlKVwiOlxuICAgIGNhc2UgXCJyZWpldMOpXCI6XG4gICAgY2FzZSBcInJlamV0w6llXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5GYWlsdXJlXG4gICAgY2FzZSBcImFkb3B0w6kgYXZlYyBtb2RpZmljYXRpb25zXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJEZSBkcm9pdCAoYXJ0aWNsZSA2MSBhbGluw6lhIDEgZGUgbGEgQ29uc3RpdHV0aW9uKVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqWVcIjpcbiAgICBjYXNlIFwiTW90aW9uIGRlIGNlbnN1cmUgNDktMlwiOlxuICAgIGNhc2UgXCJQYXJ0aWVsbGVtZW50IGNvbmZvcm1lXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5JblByb2dyZXNzXG4gICAgY2FzZSBcIlNvaXhhbnRlIGTDqXB1dMOpcyBhdSBtb2luc1wiOlxuICAgIGNhc2UgXCJTb2l4YW50ZSBzw6luYXRldXJzIGF1IG1vaW5zXCI6XG4gICAgICByZXR1cm4gQ29kZVR5cGVPcmdhbmUuQ29uc3RpdHVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21BY3RlUGF0aChcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGFjdGVQYXRoOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgbGVhZkFjdGUgPSBhY3RlUGF0aFthY3RlUGF0aC5sZW5ndGggLSAxXVxuICBsZXQgbGliZWxsZSA9IG51bGxcbiAgc3dpdGNoIChsZWFmQWN0ZS54c2lUeXBlKSB7XG4gICAgY2FzZSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0QWRvcHRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkNvbmNsdXNpb25FdGFwZUNDX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbl9UeXBlXCI6IHtcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICBsZXQgY3VycmVudFN0YXR1cyA9IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpXG4gICAgICBsZXQgZmluYWxTdGF0dXMgPSB1bmRlZmluZWRcbiAgICAgIHN3aXRjaCAoZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzJcIjpcbiAgICAgICAgICAvLyBQcm9wb3NpdGlvbiBkZSBsb2kgb3JkaW5haXJlXG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgW1wicmVqZXTDqVwiLCBcInJlamV0w6llXCJdLmluY2x1ZGVzKGxpYmVsbGUpICYmXG4gICAgICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV84XCI6IC8vIFLDqXNvbHV0aW9uXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yMlwiOlxuICAgICAgICAgIC8vIFLDqXNvbHV0aW9uIEFydGljbGUgMzQtMVxuICAgICAgICAgIGlmIChjdXJyZW50U3RhdHVzID09PSBTdGF0dXNPbmx5LlN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuU3VjY2Vzc1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5GYWlsdXJlKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBmaW5hbFN0YXR1czpcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBmb3Igb3RoZXIgY2FzZXMgPT4gVG8gaW1wcm92ZS5cbiAgICAgICAgICAvLyBFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcbiAgICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUuY29kZSA9PT1cbiAgICAgICAgICAgIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMTNcIiAmJiBsaWJlbGxlID09PSBcIk1vdGlvbiByZWpldMOpKGUpXCJcbiAgICAgICAgICAgID8gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgICAgOiBGaW5hbFN0YXR1cy5TdWNjZXNzLCAvLyBUT0RPOiBOb3Qgc3VyZSBvZiB0aGlzIGB0cnVlYCB2YWx1ZVxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5kZWNpc2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVEZWNsYXJhdGlvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RNb3Rpb25DZW5zdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uQ2Vuc3VyZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RSYXBwb3J0X1R5cGVcIjpcbiAgICAgIGlmIChcbiAgICAgICAgW1xuICAgICAgICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgICAgICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgICAgIF0uaW5jbHVkZXMoZG9zc2llci54c2lUeXBlISlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IGFjdGVQYXRoWzBdLm9yZ2FuZSEuY29kZVR5cGUsXG4gICAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLlN1Y2Nlc3MsXG4gICAgICAgICAgbGFiZWw6IFwicmFwcG9ydCBkw6lwb3PDqVwiLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNhc2UgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVNb3Rpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIlByb211bGdhdGlvbl9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LlN1Y2Nlc3MsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICBsYWJlbDogXCJwcm9tdWxndcOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IFN0YXR1c09ubHkuRmFpbHVyZSxcbiAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLkZhaWx1cmUsXG4gICAgICAgIGxhYmVsOiBcInJldGlyw6lcIixcbiAgICAgIH1cbiAgICBjYXNlIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5jYXNTYWlzaW5lIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBUaGlzIGFjdGUgZ2l2ZXMgbm8gc3RhdHVzLlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZXMoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbiAgYWN0ZXM/OiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgaWYgKGFjdGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgWy4uLmFjdGVzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGFjdGUuYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgICA/IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFsuLi5hY3RlUGF0aCwgYWN0ZV0sIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgICAgOiBzdGF0ZUZyb21BY3RlUGF0aChkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdKVxuICAgICAgaWYgKHN0YXR1cyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gc3RhdHVzXG4gICAgICB9XG4gICAgICAvLyBObyBzdGF0dXMgZm91bmQsIGNvbnRpbnVlIHdpdGggcHJldmlvdXMgYWN0ZS5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbURvc3NpZXIoZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUpOiBTdGF0ZSB7XG4gIGNvbnN0IHN0YXR1cyA9IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFtdLCBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpXG4gIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdHVzXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3MsXG4gICAgbGFiZWw6IFwiZW4gY291cnNcIixcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtBY3RlcyhcbiAgYWN0ZXM6IEFjdGVMZWdpc2xhdGlmW10sXG4pOiBHZW5lcmF0b3I8QWN0ZUxlZ2lzbGF0aWYsIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgeWllbGQgYWN0ZVxuICAgIGlmIChhY3RlLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgeWllbGQqIHdhbGtBY3RlcyhhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zKFxuICBkb2N1bWVudE9yRGl2aXNpb246IERvY3VtZW50IHwgRGl2aXNpb24sXG4pOiBHZW5lcmF0b3I8RG9jdW1lbnQgfCBEaXZpc2lvbiwgdm9pZCwgdW5rbm93bj4ge1xuICB5aWVsZCBkb2N1bWVudE9yRGl2aXNpb25cbiAgZm9yIChjb25zdCBkaXZpc2lvbiBvZiBkb2N1bWVudE9yRGl2aXNpb24uZGl2aXNpb25zID8/IFtdKSB7XG4gICAgeWllbGQqIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhkaXZpc2lvbilcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiU0FBU0EsdUJBQXVCO0FBQUEsU0FDdkJDLGNBQWM7QUFxQnZCLFdBQVlDLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBYXZCLFdBQVlDLFVBQVUsMEJBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBQSxPQUFWQSxVQUFVO0FBQUE7QUFNdEIsT0FBTyxTQUFTQyw0QkFBNEJBLENBQzFDQyxPQUE2QixFQUNUO0VBQ3BCLElBQUlBLE9BQU8sQ0FBQ0MsZ0JBQWdCLEtBQUtDLFNBQVMsRUFBRTtJQUMxQyxLQUFLLE1BQU1DLElBQUksSUFBSUMsU0FBUyxDQUFDSixPQUFPLENBQUNDLGdCQUFnQixDQUFDLEVBQUU7TUFDdEQsSUFDR0UsSUFBSSxDQUFDRSxRQUFRLENBQXVCQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FDbEUsSUFBSSxJQUNOSCxJQUFJLENBQUNJLFNBQVMsS0FBS0wsU0FBUyxJQUM1QkMsSUFBSSxDQUFDSSxTQUFTLEtBQUssVUFBVSxDQUFDO01BQUEsRUFDOUI7UUFDQSxPQUFPSixJQUFJLENBQUNJLFNBQVM7TUFDdkI7SUFDRjtFQUNGO0VBQ0EsT0FBT0wsU0FBUztBQUNsQjtBQUVBLE9BQU8sU0FBU00sdUJBQXVCQSxDQUFDQyxPQUFlLEVBQVU7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
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1bmNhcGl0YWxpemVGaXJzdExldHRlciIsIkNvZGVUeXBlT3JnYW5lIiwiRmluYWxTdGF0dXMiLCJTdGF0dXNPbmx5IiwiY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llciIsImRvc3NpZXIiLCJhY3Rlc0xlZ2lzbGF0aWZzIiwidW5kZWZpbmVkIiwiYWN0ZSIsIndhbGtBY3RlcyIsImNvZGVBY3RlIiwibWF0Y2giLCJvcmdhbmVSZWYiLCJzdGF0dXNGcm9tQ29kaWVyTGliZWxsZSIsImxpYmVsbGUiLCJTdWNjZXNzIiwiRmFpbHVyZSIsIkluUHJvZ3Jlc3MiLCJDb25zdGl0dSIsInN0YXRlRnJvbUFjdGVQYXRoIiwiYWN0ZVBhdGgiLCJsZWFmQWN0ZSIsImxlbmd0aCIsInhzaVR5cGUiLCJzdGF0dXRBZG9wdGlvbiIsImN1cnJlbnRTdGF0dXMiLCJsYWJlbCIsInN0YXR1dENvbmNsdXNpb24iLCJmaW5hbFN0YXR1cyIsInByb2NlZHVyZVBhcmxlbWVudGFpcmUiLCJjb2RlIiwiaW5jbHVkZXMiLCJkZWNpc2lvbiIsInR5cGVEZWNsYXJhdGlvbiIsInR5cGVNb3Rpb25DZW5zdXJlIiwib3JnYW5lIiwiY29kZVR5cGUiLCJ0eXBlTW90aW9uIiwiY2FzU2Fpc2luZSIsInN0YXRlRnJvbUFjdGVzIiwiYWN0ZXMiLCJyZXZlcnNlIiwic3RhdHVzIiwic3RhdGVGcm9tRG9zc2llciIsIndhbGtEb2N1bWVudEFuZERpdmlzaW9ucyIsImRvY3VtZW50T3JEaXZpc2lvbiIsImRpdmlzaW9uIiwiZGl2aXNpb25zIl0sInNvdXJjZXMiOlsiLi4vc3JjL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIH0gZnJvbSBcIi4vc3RyaW5nc1wiXG5pbXBvcnQgeyBDb2RlVHlwZU9yZ2FuZSB9IGZyb20gXCIuL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQgdHlwZSB7XG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBBY3RlTGVnaXNsYXRpZixcbiAgRGl2aXNpb24sXG4gIERvY3VtZW50LFxufSBmcm9tIFwiLi90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRGaWxlSW5mb3Mge1xuICBmaWxlbmFtZT86IHN0cmluZ1xuICBzaGEyNTY/OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRGaWxlc0luZGV4ID0ge1xuICBodG1sPzogRG9jdW1lbnRGaWxlSW5mb3NbXVxuICBwZGY/OiBEb2N1bWVudEZpbGVJbmZvc1tdXG4gIFwicmF3LWh0bWxcIj86IERvY3VtZW50RmlsZUluZm9zW11cbn1cblxuZXhwb3J0IGVudW0gRmluYWxTdGF0dXMge1xuICBGYWlsdXJlID0gXCJGQUlMVVJFXCIsXG4gIFN1Y2Nlc3MgPSBcIlNVQ0NFU1NcIixcbn1cblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgY3VycmVudFN0YXR1czogU3RhdHVzXG4gIGZpbmFsU3RhdHVzPzogRmluYWxTdGF0dXNcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0dXMgPSBDb2RlVHlwZU9yZ2FuZSB8IFN0YXR1c09ubHlcblxuZXhwb3J0IGVudW0gU3RhdHVzT25seSB7XG4gIEZhaWx1cmUgPSBcIkZBSUxVUkVcIixcbiAgSW5Qcm9ncmVzcyA9IFwiSU5fUFJPR1JFU1NcIixcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tbWlzc2lvbkZvbmRVaWRGcm9tRG9zc2llcihcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2Ygd2Fsa0FjdGVzKGRvc3NpZXIuYWN0ZXNMZWdpc2xhdGlmcykpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGFjdGUuY29kZUFjdGUgYXMgdW5rbm93biBhcyBzdHJpbmcpLm1hdGNoKC9eQU4uKi1DT00tRk9ORC1TQUlTSUUkLykgIT09XG4gICAgICAgICAgbnVsbCAmJlxuICAgICAgICBhY3RlLm9yZ2FuZVJlZiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGFjdGUub3JnYW5lUmVmICE9PSBcIlBPMjExNDk0XCIgLy8gQ29tbWlzc2lvbiBkZXMgZmluYW5jZXMgZHUgU8OJTkFUICg9PiBlcnJldXIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGFjdGUub3JnYW5lUmVmXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGU6IHN0cmluZyk6IFN0YXR1cyB7XG4gIHN3aXRjaCAobGliZWxsZSkge1xuICAgIGNhc2UgXCJBY2NvcmRcIjpcbiAgICBjYXNlIFwiYWRvcHTDqVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpLCBkYW5zIGxlcyBjb25kaXRpb25zIHByw6l2dWVzIMOgIGwnYXJ0aWNsZSA0NSwgYWxpbsOpYSAzLFwiICtcbiAgICAgIFwiIGRlIGxhIENvbnN0aXR1dGlvblwiOlxuICAgIGNhc2UgXCJhZG9wdMOpZVwiOlxuICAgIGNhc2UgXCJhZG9wdMOpIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIHNhbnMgbW9kaWZpY2F0aW9uXCI6XG4gICAgY2FzZSBcIkNvbmZvcm1lXCI6XG4gICAgY2FzZSBcImNvbnNpZMOpcsOpZSBjb21tZSBkw6lmaW5pdGl2ZSBlbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgMTUxLTcgZHUgUsOoZ2xlbWVudFwiOlxuICAgIGNhc2UgXCJjb25zaWTDqXLDqWUgY29tbWUgZMOpZmluaXRpdmUgZW4gYXBwbGljYXRpb24gZGUgbCdhcnRpY2xlIDE1MS05IGR1IFLDqGdsZW1lbnRcIjpcbiAgICBjYXNlIFwiTW90aW9uIGFkb3B0w6koZSlcIjpcbiAgICAgIHJldHVybiBTdGF0dXNPbmx5LlN1Y2Nlc3NcbiAgICBjYXNlIFwiRMOpc2FjY29yZFwiOlxuICAgIGNhc2UgXCJNb3Rpb24gcmVqZXTDqShlKVwiOlxuICAgIGNhc2UgXCJyZWpldMOpXCI6XG4gICAgY2FzZSBcInJlamV0w6llXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5GYWlsdXJlXG4gICAgY2FzZSBcImFkb3B0w6kgYXZlYyBtb2RpZmljYXRpb25zXCI6XG4gICAgY2FzZSBcImFkb3B0w6llIGF2ZWMgbW9kaWZpY2F0aW9uc1wiOlxuICAgIGNhc2UgXCJEZSBkcm9pdCAoYXJ0aWNsZSA2MSBhbGluw6lhIDEgZGUgbGEgQ29uc3RpdHV0aW9uKVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqVwiOlxuICAgIGNhc2UgXCJtb2RpZmnDqWVcIjpcbiAgICBjYXNlIFwiTW90aW9uIGRlIGNlbnN1cmUgNDktMlwiOlxuICAgIGNhc2UgXCJQYXJ0aWVsbGVtZW50IGNvbmZvcm1lXCI6XG4gICAgICByZXR1cm4gU3RhdHVzT25seS5JblByb2dyZXNzXG4gICAgY2FzZSBcIlNvaXhhbnRlIGTDqXB1dMOpcyBhdSBtb2luc1wiOlxuICAgIGNhc2UgXCJTb2l4YW50ZSBzw6luYXRldXJzIGF1IG1vaW5zXCI6XG4gICAgICByZXR1cm4gQ29kZVR5cGVPcmdhbmUuQ29uc3RpdHVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFN0YXR1c09ubHkuSW5Qcm9ncmVzc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZUZyb21BY3RlUGF0aChcbiAgZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gIGFjdGVQYXRoOiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgbGVhZkFjdGUgPSBhY3RlUGF0aFthY3RlUGF0aC5sZW5ndGggLSAxXVxuICBsZXQgbGliZWxsZSA9IG51bGxcbiAgc3dpdGNoIChsZWFmQWN0ZS54c2lUeXBlKSB7XG4gICAgY2FzZSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuc3RhdHV0QWRvcHRpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkNvbmNsdXNpb25FdGFwZUNDX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGNhc2UgXCJEZWNpc2lvbl9UeXBlXCI6IHtcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5zdGF0dXRDb25jbHVzaW9uIS5saWJlbGxlXG4gICAgICBsZXQgY3VycmVudFN0YXR1cyA9IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpXG4gICAgICBsZXQgZmluYWxTdGF0dXMgPSB1bmRlZmluZWRcbiAgICAgIHN3aXRjaCAoZG9zc2llci5wcm9jZWR1cmVQYXJsZW1lbnRhaXJlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBcIlBST0NFRFVSRV9QQVJMRU1FTlRBSVJFXzJcIjpcbiAgICAgICAgICAvLyBQcm9wb3NpdGlvbiBkZSBsb2kgb3JkaW5haXJlXG4gICAgICAgICAgLy8gTm90IHN1cmUgZm9yIG90aGVyIGNhc2VzID0+IFRvIGltcHJvdmUuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgW1wicmVqZXTDqVwiLCBcInJlamV0w6llXCJdLmluY2x1ZGVzKGxpYmVsbGUpICYmXG4gICAgICAgICAgICBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZG9zc2llci5hY3Rlc0xlZ2lzbGF0aWZzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZmluYWxTdGF0dXMgPSBGaW5hbFN0YXR1cy5GYWlsdXJlXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV84XCI6IC8vIFLDqXNvbHV0aW9uXG4gICAgICAgIGNhc2UgXCJQUk9DRURVUkVfUEFSTEVNRU5UQUlSRV8yMlwiOlxuICAgICAgICAgIC8vIFLDqXNvbHV0aW9uIEFydGljbGUgMzQtMVxuICAgICAgICAgIGlmIChjdXJyZW50U3RhdHVzID09PSBTdGF0dXNPbmx5LlN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIGZpbmFsU3RhdHVzID0gRmluYWxTdGF0dXMuU3VjY2Vzc1xuICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudFN0YXR1cyA9PT0gU3RhdHVzT25seS5GYWlsdXJlKSB7XG4gICAgICAgICAgICBmaW5hbFN0YXR1cyA9IEZpbmFsU3RhdHVzLkZhaWx1cmVcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1cyxcbiAgICAgICAgZmluYWxTdGF0dXMsXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCI6XG4gICAgICBsaWJlbGxlID0gbGVhZkFjdGUuZGVjaXNpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBmaW5hbFN0YXR1czpcbiAgICAgICAgICAvLyBOb3Qgc3VyZSBmb3Igb3RoZXIgY2FzZXMgPT4gVG8gaW1wcm92ZS5cbiAgICAgICAgICAvLyBFbmdhZ2VtZW50IGRlIGxhIHJlc3BvbnNhYmlsaXTDqSBnb3V2ZXJuZW1lbnRhbGVcbiAgICAgICAgICBkb3NzaWVyLnByb2NlZHVyZVBhcmxlbWVudGFpcmUuY29kZSA9PT1cbiAgICAgICAgICAgIFwiUFJPQ0VEVVJFX1BBUkxFTUVOVEFJUkVfMTNcIiAmJiBsaWJlbGxlID09PSBcIk1vdGlvbiByZWpldMOpKGUpXCJcbiAgICAgICAgICAgID8gRmluYWxTdGF0dXMuRmFpbHVyZVxuICAgICAgICAgICAgOiBGaW5hbFN0YXR1cy5TdWNjZXNzLCAvLyBUT0RPOiBOb3Qgc3VyZSBvZiB0aGlzIGB0cnVlYCB2YWx1ZVxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5kZWNpc2lvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVEZWNsYXJhdGlvbiEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RNb3Rpb25DZW5zdXJlX1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS50eXBlTW90aW9uQ2Vuc3VyZSEubGliZWxsZVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudFN0YXR1czogc3RhdHVzRnJvbUNvZGllckxpYmVsbGUobGliZWxsZSksXG4gICAgICAgIGxhYmVsOiB1bmNhcGl0YWxpemVGaXJzdExldHRlcihsaWJlbGxlKSxcbiAgICAgIH1cbiAgICBjYXNlIFwiRGVwb3RSYXBwb3J0X1R5cGVcIjpcbiAgICAgIGlmIChcbiAgICAgICAgW1xuICAgICAgICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICAgICAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgICAgICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgICAgIF0uaW5jbHVkZXMoZG9zc2llci54c2lUeXBlISlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGN1cnJlbnRTdGF0dXM6IGFjdGVQYXRoWzBdLm9yZ2FuZSEuY29kZVR5cGUsXG4gICAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLlN1Y2Nlc3MsXG4gICAgICAgICAgbGFiZWw6IFwicmFwcG9ydCBkw6lwb3PDqVwiLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGNhc2UgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiOlxuICAgICAgbGliZWxsZSA9IGxlYWZBY3RlLnR5cGVNb3Rpb24hLmxpYmVsbGVcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IHN0YXR1c0Zyb21Db2RpZXJMaWJlbGxlKGxpYmVsbGUpLFxuICAgICAgICBsYWJlbDogdW5jYXBpdGFsaXplRmlyc3RMZXR0ZXIobGliZWxsZSksXG4gICAgICB9XG4gICAgY2FzZSBcIlByb211bGdhdGlvbl9UeXBlXCI6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LlN1Y2Nlc3MsXG4gICAgICAgIGZpbmFsU3RhdHVzOiBGaW5hbFN0YXR1cy5TdWNjZXNzLFxuICAgICAgICBsYWJlbDogXCJwcm9tdWxndcOpXCIsXG4gICAgICB9XG4gICAgY2FzZSBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIjpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnRTdGF0dXM6IFN0YXR1c09ubHkuRmFpbHVyZSxcbiAgICAgICAgZmluYWxTdGF0dXM6IEZpbmFsU3RhdHVzLkZhaWx1cmUsXG4gICAgICAgIGxhYmVsOiBcInJldGlyw6lcIixcbiAgICAgIH1cbiAgICBjYXNlIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIjpcbiAgICAgIGxpYmVsbGUgPSBsZWFmQWN0ZS5jYXNTYWlzaW5lIS5saWJlbGxlXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50U3RhdHVzOiBzdGF0dXNGcm9tQ29kaWVyTGliZWxsZShsaWJlbGxlKSxcbiAgICAgICAgbGFiZWw6IHVuY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGxpYmVsbGUpLFxuICAgICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBUaGlzIGFjdGUgZ2l2ZXMgbm8gc3RhdHVzLlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVGcm9tQWN0ZXMoXG4gIGRvc3NpZXI6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICBhY3RlUGF0aDogQWN0ZUxlZ2lzbGF0aWZbXSxcbiAgYWN0ZXM/OiBBY3RlTGVnaXNsYXRpZltdLFxuKTogU3RhdGUgfCBudWxsIHtcbiAgaWYgKGFjdGVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGUgb2YgWy4uLmFjdGVzXS5yZXZlcnNlKCkpIHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGFjdGUuYWN0ZXNMZWdpc2xhdGlmc1xuICAgICAgICA/IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFsuLi5hY3RlUGF0aCwgYWN0ZV0sIGFjdGUuYWN0ZXNMZWdpc2xhdGlmcylcbiAgICAgICAgOiBzdGF0ZUZyb21BY3RlUGF0aChkb3NzaWVyLCBbLi4uYWN0ZVBhdGgsIGFjdGVdKVxuICAgICAgaWYgKHN0YXR1cyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gc3RhdHVzXG4gICAgICB9XG4gICAgICAvLyBObyBzdGF0dXMgZm91bmQsIGNvbnRpbnVlIHdpdGggcHJldmlvdXMgYWN0ZS5cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlRnJvbURvc3NpZXIoZG9zc2llcjogRG9zc2llclBhcmxlbWVudGFpcmUpOiBTdGF0ZSB7XG4gIGNvbnN0IHN0YXR1cyA9IHN0YXRlRnJvbUFjdGVzKGRvc3NpZXIsIFtdLCBkb3NzaWVyLmFjdGVzTGVnaXNsYXRpZnMpXG4gIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdHVzXG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjdXJyZW50U3RhdHVzOiBTdGF0dXNPbmx5LkluUHJvZ3Jlc3MsXG4gICAgbGFiZWw6IFwiZW4gY291cnNcIixcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtBY3RlcyhcbiAgYWN0ZXM6IEFjdGVMZWdpc2xhdGlmW10sXG4pOiBHZW5lcmF0b3I8QWN0ZUxlZ2lzbGF0aWYsIHZvaWQsIHVua25vd24+IHtcbiAgZm9yIChjb25zdCBhY3RlIG9mIGFjdGVzKSB7XG4gICAgeWllbGQgYWN0ZVxuICAgIGlmIChhY3RlLmFjdGVzTGVnaXNsYXRpZnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgeWllbGQqIHdhbGtBY3RlcyhhY3RlLmFjdGVzTGVnaXNsYXRpZnMpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RvY3VtZW50QW5kRGl2aXNpb25zKFxuICBkb2N1bWVudE9yRGl2aXNpb246IERvY3VtZW50IHwgRGl2aXNpb24sXG4pOiBHZW5lcmF0b3I8RG9jdW1lbnQgfCBEaXZpc2lvbiwgdm9pZCwgdW5rbm93bj4ge1xuICB5aWVsZCBkb2N1bWVudE9yRGl2aXNpb25cbiAgZm9yIChjb25zdCBkaXZpc2lvbiBvZiBkb2N1bWVudE9yRGl2aXNpb24uZGl2aXNpb25zID8/IFtdKSB7XG4gICAgeWllbGQqIHdhbGtEb2N1bWVudEFuZERpdmlzaW9ucyhkaXZpc2lvbilcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiU0FBU0EsdUJBQXVCO0FBQUEsU0FDdkJDLGNBQWM7QUFxQnZCLFdBQVlDLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBYXZCLFdBQVlDLFVBQVUsMEJBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBQSxPQUFWQSxVQUFVO0FBQUE7QUFNdEIsT0FBTyxTQUFTQyw0QkFBNEJBLENBQzFDQyxPQUE2QixFQUNUO0VBQ3BCLElBQUlBLE9BQU8sQ0FBQ0MsZ0JBQWdCLEtBQUtDLFNBQVMsRUFBRTtJQUMxQyxLQUFLLE1BQU1DLElBQUksSUFBSUMsU0FBUyxDQUFDSixPQUFPLENBQUNDLGdCQUFnQixDQUFDLEVBQUU7TUFDdEQsSUFDR0UsSUFBSSxDQUFDRSxRQUFRLENBQXVCQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsS0FDbEUsSUFBSSxJQUNOSCxJQUFJLENBQUNJLFNBQVMsS0FBS0wsU0FBUyxJQUM1QkMsSUFBSSxDQUFDSSxTQUFTLEtBQUssVUFBVSxDQUFDO01BQUEsRUFDOUI7UUFDQSxPQUFPSixJQUFJLENBQUNJLFNBQVM7TUFDdkI7SUFDRjtFQUNGO0VBQ0EsT0FBT0wsU0FBUztBQUNsQjtBQUVBLE9BQU8sU0FBU00sdUJBQXVCQSxDQUFDQyxPQUFlLEVBQVU7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
|
package/lib/file_systems.js
CHANGED
|
@@ -49,8 +49,8 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
49
49
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
50
50
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
51
51
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
52
|
-
function _toPropertyKey(
|
|
53
|
-
function _toPrimitive(
|
|
52
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
53
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
54
54
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
55
55
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
56
56
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
@@ -157,4 +157,4 @@ function getFiles(args) {
|
|
|
157
157
|
args.forEach(_getFiles);
|
|
158
158
|
return files;
|
|
159
159
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2xvYiIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcGF0aCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiaSIsImxlbmd0aCIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiQ29uc3RydWN0b3IiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJwcm90b3R5cGUiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIlR5cGVFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJOdW1iZXIiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImEiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidSIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJfX3Byb3RvX18iLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJGIiwiX2UiLCJub3JtYWxDb21wbGV0aW9uIiwiZGlkRXJyIiwiZXJyIiwic3RlcCIsIl9lMiIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwiZnJvbSIsInRlc3QiLCJpdGVyIiwibGVuIiwiYXJyMiIsIndhbGtEaXIiLCJyb290RGlyIiwicmVsYXRpdmVTcGxpdERpciIsImFyZ3VtZW50cyIsIl9jYWxsZWUiLCJkaXIiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImZpbGVuYW1lIiwiZmlsZVBhdGgiLCJyZWxhdGl2ZVNwbGl0UGF0aCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwYXRoIiwiam9pbiIsImFwcGx5IiwiY29uY2F0IiwiZnMiLCJleGlzdHNTeW5jIiwicmVhZGRpclN5bmMiLCJzdGF0U3luYyIsImlzRGlyZWN0b3J5IiwidDEiLCJsb2FkIiwicmF3anNvbiIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiSlNPTiIsInBhcnNlIiwid3JpdGUiLCJzb21ldGhpbmciLCJjb250ZW50Iiwic3RyaW5naWZ5IiwiZW5zdXJlRGlyU3luYyIsImRpcm5hbWUiLCJ3cml0ZUZpbGVTeW5jIiwiR2V0RmlsZU5vdEZvdW5kRXJyb3IiLCJleHBvcnRzIiwibWVzc2FnZSIsImdldEZpbGVzIiwiYXJncyIsImZpbGVzIiwiX2dldEZpbGVzIiwiZmlsZU9yUGF0dGVybiIsImdsb2IiLCJoYXNNYWdpYyIsImRhdGFGaWxlcyIsImdsb2JTeW5jIiwiY3dkIiwicHJvY2VzcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlX3N5c3RlbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2xvYiB9IGZyb20gXCJnbG9iXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuXG5leHBvcnQgZnVuY3Rpb24qIHdhbGtEaXIoXG4gIHJvb3REaXI6IHN0cmluZyxcbiAgcmVsYXRpdmVTcGxpdERpcjogc3RyaW5nW10gPSBbXSxcbik6IEl0ZXJhYmxlPHN0cmluZ1tdPiB7XG4gIGNvbnN0IGRpciA9IHBhdGguam9pbihyb290RGlyLCAuLi5yZWxhdGl2ZVNwbGl0RGlyKVxuXG4gIGlmKCFmcy5leGlzdHNTeW5jKGRpcikpIHtcbiAgICByZXR1cm5cbiAgfVxuICBcbiAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBmcy5yZWFkZGlyU3luYyhkaXIpKSB7XG4gICAgaWYgKGZpbGVuYW1lWzBdID09PSBcIi5cIikge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSlcbiAgICBjb25zdCByZWxhdGl2ZVNwbGl0UGF0aCA9IFsuLi5yZWxhdGl2ZVNwbGl0RGlyLCBmaWxlbmFtZV1cbiAgICBpZiAoZnMuc3RhdFN5bmMoZmlsZVBhdGgpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIHlpZWxkKiB3YWxrRGlyKHJvb3REaXIsIHJlbGF0aXZlU3BsaXRQYXRoKVxuICAgIH0gZWxzZSB7XG4gICAgICB5aWVsZCByZWxhdGl2ZVNwbGl0UGF0aFxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZChwYXRoOiBzdHJpbmcpOiBhbnkge1xuICBjb25zdCByYXdqc29uOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMocGF0aCwge1xuICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgfSlcbiAgcmV0dXJuIEpTT04ucGFyc2UocmF3anNvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlKHNvbWV0aGluZzogYW55LCBmaWxlbmFtZTogc3RyaW5nKTogYW55IHtcbiAgY29uc3QgY29udGVudCA9IEpTT04uc3RyaW5naWZ5KHNvbWV0aGluZywgbnVsbCwgMilcbiAgZnMuZW5zdXJlRGlyU3luYyhwYXRoLmRpcm5hbWUoZmlsZW5hbWUpKVxuICBmcy53cml0ZUZpbGVTeW5jKGZpbGVuYW1lLCBjb250ZW50LCB7XG4gICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICB9KVxufVxuXG5leHBvcnQgY2xhc3MgR2V0RmlsZU5vdEZvdW5kRXJyb3Ige1xuICBtZXNzYWdlOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVzKGFyZ3M6IGFueSk6IGFueSB7XG4gIGxldCBmaWxlczogc3RyaW5nW10gPSBbXVxuICBmdW5jdGlvbiBfZ2V0RmlsZXMoZmlsZU9yUGF0dGVybjogYW55KSB7XG4gICAgaWYgKGdsb2IuaGFzTWFnaWMoZmlsZU9yUGF0dGVybikpIHtcbiAgICAgIGNvbnN0IGRhdGFGaWxlcyA9IGdsb2IuZ2xvYlN5bmMoZmlsZU9yUGF0dGVybiwgeyBjd2Q6IHByb2Nlc3MuY3dkKCkgfSlcbiAgICAgIGlmIChkYXRhRmlsZXMubGVuZ3RoIDw9IDApXG4gICAgICAgIHRocm93IG5ldyBHZXRGaWxlTm90Rm91bmRFcnJvcihgJHtmaWxlT3JQYXR0ZXJufSBnbG9iIGRvZXMgbm90IG1hdGNoYClcbiAgICAgIGZpbGVzID0gZmlsZXMuY29uY2F0KGRhdGFGaWxlcylcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXMucHVzaChmaWxlT3JQYXR0ZXJuKVxuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKGZpbGVPclBhdHRlcm4pKVxuICAgICAgICB0aHJvdyBuZXcgR2V0RmlsZU5vdEZvdW5kRXJyb3IoYCR7ZmlsZU9yUGF0dGVybn0gZmlsZSBkb2VzIG5vdCBleGlzdGApXG4gICAgfVxuICB9XG4gIGFyZ3MuZm9yRWFjaChfZ2V0RmlsZXMpXG4gIHJldHVybiBmaWxlc1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQXVCLFNBQUFFLHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsZ0JBQUFBLEdBQUE7QUFBQSxTQUFBRSxrQkFBQUMsTUFBQSxFQUFBQyxLQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBRCxLQUFBLENBQUFFLE1BQUEsRUFBQUQsQ0FBQSxVQUFBRSxVQUFBLEdBQUFILEtBQUEsQ0FBQUMsQ0FBQSxHQUFBRSxVQUFBLENBQUFDLFVBQUEsR0FBQUQsVUFBQSxDQUFBQyxVQUFBLFdBQUFELFVBQUEsQ0FBQUUsWUFBQSx3QkFBQUYsVUFBQSxFQUFBQSxVQUFBLENBQUFHLFFBQUEsU0FBQUMsTUFBQSxDQUFBQyxjQUFBLENBQUFULE1BQUEsRUFBQVUsY0FBQSxDQUFBTixVQUFBLENBQUFPLEdBQUEsR0FBQVAsVUFBQTtBQUFBLFNBQUFRLGFBQUFDLFdBQUEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBLFFBQUFELFVBQUEsRUFBQWYsaUJBQUEsQ0FBQWMsV0FBQSxDQUFBRyxTQUFBLEVBQUFGLFVBQUEsT0FBQUMsV0FBQSxFQUFBaEIsaUJBQUEsQ0FBQWMsV0FBQSxFQUFBRSxXQUFBLEdBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSSxXQUFBLGlCQUFBTixRQUFBLG1CQUFBTSxXQUFBO0FBQUEsU0FBQUksZ0JBQUFDLFFBQUEsRUFBQUwsV0FBQSxVQUFBSyxRQUFBLFlBQUFMLFdBQUEsZUFBQU0sU0FBQTtBQUFBLFNBQUFDLGdCQUFBdkIsR0FBQSxFQUFBYyxHQUFBLEVBQUFVLEtBQUEsSUFBQVYsR0FBQSxHQUFBRCxjQUFBLENBQUFDLEdBQUEsT0FBQUEsR0FBQSxJQUFBZCxHQUFBLElBQUFXLE1BQUEsQ0FBQUMsY0FBQSxDQUFBWixHQUFBLEVBQUFjLEdBQUEsSUFBQVUsS0FBQSxFQUFBQSxLQUFBLEVBQUFoQixVQUFBLFFBQUFDLFlBQUEsUUFBQUMsUUFBQSxvQkFBQVYsR0FBQSxDQUFBYyxHQUFBLElBQUFVLEtBQUEsV0FBQXhCLEdBQUE7QUFBQSxTQUFBYSxlQUFBWSxHQUFBLFFBQUFYLEdBQUEsR0FBQVksWUFBQSxDQUFBRCxHQUFBLG9CQUFBRSxPQUFBLENBQUFiLEdBQUEsaUJBQUFBLEdBQUEsR0FBQWMsTUFBQSxDQUFBZCxHQUFBO0FBQUEsU0FBQVksYUFBQUcsS0FBQSxFQUFBQyxJQUFBLFFBQUFILE9BQUEsQ0FBQUUsS0FBQSxrQkFBQUEsS0FBQSxrQkFBQUEsS0FBQSxNQUFBRSxJQUFBLEdBQUFGLEtBQUEsQ0FBQUcsTUFBQSxDQUFBQyxXQUFBLE9BQUFGLElBQUEsS0FBQUcsU0FBQSxRQUFBQyxHQUFBLEdBQUFKLElBQUEsQ0FBQUssSUFBQSxDQUFBUCxLQUFBLEVBQUFDLElBQUEsb0JBQUFILE9BQUEsQ0FBQVEsR0FBQSx1QkFBQUEsR0FBQSxZQUFBYixTQUFBLDREQUFBUSxJQUFBLGdCQUFBRixNQUFBLEdBQUFTLE1BQUEsRUFBQVIsS0FBQTtBQUFBLFNBQUFTLG9CQUFBLGtCQUR2QixxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBOUIsTUFBQSxDQUFBUSxTQUFBLEVBQUF1QixDQUFBLEdBQUFELENBQUEsQ0FBQUUsY0FBQSxFQUFBQyxDQUFBLEdBQUFqQyxNQUFBLENBQUFDLGNBQUEsY0FBQTRCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLElBQUFELENBQUEsQ0FBQUQsQ0FBQSxJQUFBRSxDQUFBLENBQUFqQixLQUFBLEtBQUFuQixDQUFBLHdCQUFBMkIsTUFBQSxHQUFBQSxNQUFBLE9BQUFhLENBQUEsR0FBQXhDLENBQUEsQ0FBQXlDLFFBQUEsa0JBQUFDLENBQUEsR0FBQTFDLENBQUEsQ0FBQTJDLGFBQUEsdUJBQUFDLENBQUEsR0FBQTVDLENBQUEsQ0FBQTZDLFdBQUEsOEJBQUFDLE9BQUFYLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUE5QixNQUFBLENBQUFDLGNBQUEsQ0FBQTRCLENBQUEsRUFBQUQsQ0FBQSxJQUFBZixLQUFBLEVBQUFpQixDQUFBLEVBQUFqQyxVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxTQUFBOEIsQ0FBQSxDQUFBRCxDQUFBLFdBQUFZLE1BQUEsbUJBQUFYLENBQUEsSUFBQVcsTUFBQSxZQUFBQSxPQUFBWCxDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxXQUFBRCxDQUFBLENBQUFELENBQUEsSUFBQUUsQ0FBQSxnQkFBQVcsS0FBQVosQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxRQUFBckMsQ0FBQSxHQUFBa0MsQ0FBQSxJQUFBQSxDQUFBLENBQUFwQixTQUFBLFlBQUFrQyxTQUFBLEdBQUFkLENBQUEsR0FBQWMsU0FBQSxFQUFBUixDQUFBLEdBQUFsQyxNQUFBLENBQUEyQyxNQUFBLENBQUFqRCxDQUFBLENBQUFjLFNBQUEsR0FBQTRCLENBQUEsT0FBQVEsT0FBQSxDQUFBYixDQUFBLGdCQUFBRSxDQUFBLENBQUFDLENBQUEsZUFBQXJCLEtBQUEsRUFBQWdDLGdCQUFBLENBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQU0sQ0FBQSxNQUFBRixDQUFBLGFBQUFZLFNBQUFqQixDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxtQkFBQWlCLElBQUEsWUFBQWpDLEdBQUEsRUFBQWUsQ0FBQSxDQUFBSixJQUFBLENBQUFHLENBQUEsRUFBQUUsQ0FBQSxjQUFBRCxDQUFBLGFBQUFrQixJQUFBLFdBQUFqQyxHQUFBLEVBQUFlLENBQUEsUUFBQUQsQ0FBQSxDQUFBYSxJQUFBLEdBQUFBLElBQUEsTUFBQU8sQ0FBQSxxQkFBQUMsQ0FBQSxxQkFBQUMsQ0FBQSxnQkFBQUMsQ0FBQSxnQkFBQUMsQ0FBQSxnQkFBQVYsVUFBQSxjQUFBVyxrQkFBQSxjQUFBQywyQkFBQSxTQUFBQyxDQUFBLE9BQUFmLE1BQUEsQ0FBQWUsQ0FBQSxFQUFBckIsQ0FBQSxxQ0FBQXNCLENBQUEsR0FBQXhELE1BQUEsQ0FBQXlELGNBQUEsRUFBQUMsQ0FBQSxHQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUEsQ0FBQSxDQUFBRyxNQUFBLFFBQUFELENBQUEsSUFBQUEsQ0FBQSxLQUFBNUIsQ0FBQSxJQUFBQyxDQUFBLENBQUFOLElBQUEsQ0FBQWlDLENBQUEsRUFBQXhCLENBQUEsTUFBQXFCLENBQUEsR0FBQUcsQ0FBQSxPQUFBRSxDQUFBLEdBQUFOLDBCQUFBLENBQUE5QyxTQUFBLEdBQUFrQyxTQUFBLENBQUFsQyxTQUFBLEdBQUFSLE1BQUEsQ0FBQTJDLE1BQUEsQ0FBQVksQ0FBQSxZQUFBTSxzQkFBQWhDLENBQUEsZ0NBQUFpQyxPQUFBLFdBQUFsQyxDQUFBLElBQUFZLE1BQUEsQ0FBQVgsQ0FBQSxFQUFBRCxDQUFBLFlBQUFDLENBQUEsZ0JBQUFrQyxPQUFBLENBQUFuQyxDQUFBLEVBQUFDLENBQUEsc0JBQUFtQyxjQUFBbkMsQ0FBQSxFQUFBRCxDQUFBLGFBQUFxQyxPQUFBbkMsQ0FBQSxFQUFBRyxDQUFBLEVBQUF2QyxDQUFBLEVBQUF3QyxDQUFBLFFBQUFFLENBQUEsR0FBQVUsUUFBQSxDQUFBakIsQ0FBQSxDQUFBQyxDQUFBLEdBQUFELENBQUEsRUFBQUksQ0FBQSxtQkFBQUcsQ0FBQSxDQUFBVyxJQUFBLFFBQUFULENBQUEsR0FBQUYsQ0FBQSxDQUFBdEIsR0FBQSxFQUFBa0MsQ0FBQSxHQUFBVixDQUFBLENBQUF6QixLQUFBLFNBQUFtQyxDQUFBLGdCQUFBaEMsT0FBQSxDQUFBZ0MsQ0FBQSxLQUFBakIsQ0FBQSxDQUFBTixJQUFBLENBQUF1QixDQUFBLGVBQUFwQixDQUFBLENBQUFzQyxPQUFBLENBQUFsQixDQUFBLENBQUFtQixPQUFBLEVBQUFDLElBQUEsV0FBQXZDLENBQUEsSUFBQW9DLE1BQUEsU0FBQXBDLENBQUEsRUFBQW5DLENBQUEsRUFBQXdDLENBQUEsZ0JBQUFMLENBQUEsSUFBQW9DLE1BQUEsVUFBQXBDLENBQUEsRUFBQW5DLENBQUEsRUFBQXdDLENBQUEsUUFBQU4sQ0FBQSxDQUFBc0MsT0FBQSxDQUFBbEIsQ0FBQSxFQUFBb0IsSUFBQSxXQUFBdkMsQ0FBQSxJQUFBUyxDQUFBLENBQUF6QixLQUFBLEdBQUFnQixDQUFBLEVBQUFuQyxDQUFBLENBQUE0QyxDQUFBLGdCQUFBVCxDQUFBLFdBQUFvQyxNQUFBLFVBQUFwQyxDQUFBLEVBQUFuQyxDQUFBLEVBQUF3QyxDQUFBLFNBQUFBLENBQUEsQ0FBQUUsQ0FBQSxDQUFBdEIsR0FBQSxTQUFBZ0IsQ0FBQSxFQUFBRyxDQUFBLG9CQUFBcEIsS0FBQSxXQUFBQSxNQUFBZ0IsQ0FBQSxFQUFBRSxDQUFBLGFBQUFzQywyQkFBQSxlQUFBekMsQ0FBQSxXQUFBQSxDQUFBLEVBQUFFLENBQUEsSUFBQW1DLE1BQUEsQ0FBQXBDLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBLEVBQUFFLENBQUEsZ0JBQUFBLENBQUEsR0FBQUEsQ0FBQSxHQUFBQSxDQUFBLENBQUFzQyxJQUFBLENBQUFDLDBCQUFBLEVBQUFBLDBCQUFBLElBQUFBLDBCQUFBLHFCQUFBeEIsaUJBQUFqQixDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxRQUFBRSxDQUFBLEdBQUFlLENBQUEsbUJBQUF0RCxDQUFBLEVBQUF3QyxDQUFBLFFBQUFELENBQUEsS0FBQWlCLENBQUEsWUFBQW9CLEtBQUEsc0NBQUFyQyxDQUFBLEtBQUFrQixDQUFBLG9CQUFBekQsQ0FBQSxRQUFBd0MsQ0FBQSxXQUFBckIsS0FBQSxFQUFBZ0IsQ0FBQSxFQUFBMEMsSUFBQSxlQUFBeEMsQ0FBQSxDQUFBeUMsTUFBQSxHQUFBOUUsQ0FBQSxFQUFBcUMsQ0FBQSxDQUFBakIsR0FBQSxHQUFBb0IsQ0FBQSxVQUFBRSxDQUFBLEdBQUFMLENBQUEsQ0FBQTBDLFFBQUEsTUFBQXJDLENBQUEsUUFBQUUsQ0FBQSxHQUFBb0MsbUJBQUEsQ0FBQXRDLENBQUEsRUFBQUwsQ0FBQSxPQUFBTyxDQUFBLFFBQUFBLENBQUEsS0FBQWMsQ0FBQSxtQkFBQWQsQ0FBQSxxQkFBQVAsQ0FBQSxDQUFBeUMsTUFBQSxFQUFBekMsQ0FBQSxDQUFBNEMsSUFBQSxHQUFBNUMsQ0FBQSxDQUFBNkMsS0FBQSxHQUFBN0MsQ0FBQSxDQUFBakIsR0FBQSxzQkFBQWlCLENBQUEsQ0FBQXlDLE1BQUEsUUFBQXZDLENBQUEsS0FBQWUsQ0FBQSxRQUFBZixDQUFBLEdBQUFrQixDQUFBLEVBQUFwQixDQUFBLENBQUFqQixHQUFBLEVBQUFpQixDQUFBLENBQUE4QyxpQkFBQSxDQUFBOUMsQ0FBQSxDQUFBakIsR0FBQSx1QkFBQWlCLENBQUEsQ0FBQXlDLE1BQUEsSUFBQXpDLENBQUEsQ0FBQStDLE1BQUEsV0FBQS9DLENBQUEsQ0FBQWpCLEdBQUEsR0FBQW1CLENBQUEsR0FBQWlCLENBQUEsTUFBQUssQ0FBQSxHQUFBVCxRQUFBLENBQUFsQixDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxvQkFBQXdCLENBQUEsQ0FBQVIsSUFBQSxRQUFBZCxDQUFBLEdBQUFGLENBQUEsQ0FBQXdDLElBQUEsR0FBQXBCLENBQUEsR0FBQUYsQ0FBQSxFQUFBTSxDQUFBLENBQUF6QyxHQUFBLEtBQUFzQyxDQUFBLHFCQUFBdkMsS0FBQSxFQUFBMEMsQ0FBQSxDQUFBekMsR0FBQSxFQUFBeUQsSUFBQSxFQUFBeEMsQ0FBQSxDQUFBd0MsSUFBQSxrQkFBQWhCLENBQUEsQ0FBQVIsSUFBQSxLQUFBZCxDQUFBLEdBQUFrQixDQUFBLEVBQUFwQixDQUFBLENBQUF5QyxNQUFBLFlBQUF6QyxDQUFBLENBQUFqQixHQUFBLEdBQUF5QyxDQUFBLENBQUF6QyxHQUFBLG1CQUFBNEQsb0JBQUE5QyxDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBRCxDQUFBLENBQUEwQyxNQUFBLEVBQUF2QyxDQUFBLEdBQUFMLENBQUEsQ0FBQU8sUUFBQSxDQUFBSixDQUFBLE9BQUFFLENBQUEsS0FBQUosQ0FBQSxTQUFBQyxDQUFBLENBQUEyQyxRQUFBLHFCQUFBMUMsQ0FBQSxJQUFBSCxDQUFBLENBQUFPLFFBQUEsZUFBQUwsQ0FBQSxDQUFBMEMsTUFBQSxhQUFBMUMsQ0FBQSxDQUFBaEIsR0FBQSxHQUFBZSxDQUFBLEVBQUE2QyxtQkFBQSxDQUFBOUMsQ0FBQSxFQUFBRSxDQUFBLGVBQUFBLENBQUEsQ0FBQTBDLE1BQUEsa0JBQUF6QyxDQUFBLEtBQUFELENBQUEsQ0FBQTBDLE1BQUEsWUFBQTFDLENBQUEsQ0FBQWhCLEdBQUEsT0FBQUgsU0FBQSx1Q0FBQW9CLENBQUEsaUJBQUFxQixDQUFBLE1BQUExRCxDQUFBLEdBQUFvRCxRQUFBLENBQUFiLENBQUEsRUFBQUwsQ0FBQSxDQUFBTyxRQUFBLEVBQUFMLENBQUEsQ0FBQWhCLEdBQUEsbUJBQUFwQixDQUFBLENBQUFxRCxJQUFBLFNBQUFqQixDQUFBLENBQUEwQyxNQUFBLFlBQUExQyxDQUFBLENBQUFoQixHQUFBLEdBQUFwQixDQUFBLENBQUFvQixHQUFBLEVBQUFnQixDQUFBLENBQUEyQyxRQUFBLFNBQUFyQixDQUFBLE1BQUFsQixDQUFBLEdBQUF4QyxDQUFBLENBQUFvQixHQUFBLFNBQUFvQixDQUFBLEdBQUFBLENBQUEsQ0FBQXFDLElBQUEsSUFBQXpDLENBQUEsQ0FBQUYsQ0FBQSxDQUFBbUQsVUFBQSxJQUFBN0MsQ0FBQSxDQUFBckIsS0FBQSxFQUFBaUIsQ0FBQSxDQUFBa0QsSUFBQSxHQUFBcEQsQ0FBQSxDQUFBcUQsT0FBQSxlQUFBbkQsQ0FBQSxDQUFBMEMsTUFBQSxLQUFBMUMsQ0FBQSxDQUFBMEMsTUFBQSxXQUFBMUMsQ0FBQSxDQUFBaEIsR0FBQSxHQUFBZSxDQUFBLEdBQUFDLENBQUEsQ0FBQTJDLFFBQUEsU0FBQXJCLENBQUEsSUFBQWxCLENBQUEsSUFBQUosQ0FBQSxDQUFBMEMsTUFBQSxZQUFBMUMsQ0FBQSxDQUFBaEIsR0FBQSxPQUFBSCxTQUFBLHNDQUFBbUIsQ0FBQSxDQUFBMkMsUUFBQSxTQUFBckIsQ0FBQSxjQUFBOEIsYUFBQXJELENBQUEsUUFBQUQsQ0FBQSxLQUFBdUQsTUFBQSxFQUFBdEQsQ0FBQSxZQUFBQSxDQUFBLEtBQUFELENBQUEsQ0FBQXdELFFBQUEsR0FBQXZELENBQUEsV0FBQUEsQ0FBQSxLQUFBRCxDQUFBLENBQUF5RCxVQUFBLEdBQUF4RCxDQUFBLEtBQUFELENBQUEsQ0FBQTBELFFBQUEsR0FBQXpELENBQUEsV0FBQTBELFVBQUEsQ0FBQUMsSUFBQSxDQUFBNUQsQ0FBQSxjQUFBNkQsY0FBQTVELENBQUEsUUFBQUQsQ0FBQSxHQUFBQyxDQUFBLENBQUE2RCxVQUFBLFFBQUE5RCxDQUFBLENBQUFtQixJQUFBLG9CQUFBbkIsQ0FBQSxDQUFBZCxHQUFBLEVBQUFlLENBQUEsQ0FBQTZELFVBQUEsR0FBQTlELENBQUEsYUFBQWdCLFFBQUFmLENBQUEsU0FBQTBELFVBQUEsTUFBQUosTUFBQSxhQUFBdEQsQ0FBQSxDQUFBaUMsT0FBQSxDQUFBb0IsWUFBQSxjQUFBUyxLQUFBLGlCQUFBaEMsT0FBQS9CLENBQUEsUUFBQUEsQ0FBQSxXQUFBQSxDQUFBLFFBQUFFLENBQUEsR0FBQUYsQ0FBQSxDQUFBTSxDQUFBLE9BQUFKLENBQUEsU0FBQUEsQ0FBQSxDQUFBTCxJQUFBLENBQUFHLENBQUEsNEJBQUFBLENBQUEsQ0FBQW9ELElBQUEsU0FBQXBELENBQUEsT0FBQWdFLEtBQUEsQ0FBQWhFLENBQUEsQ0FBQWpDLE1BQUEsU0FBQXNDLENBQUEsT0FBQXZDLENBQUEsWUFBQXNGLEtBQUEsYUFBQS9DLENBQUEsR0FBQUwsQ0FBQSxDQUFBakMsTUFBQSxPQUFBb0MsQ0FBQSxDQUFBTixJQUFBLENBQUFHLENBQUEsRUFBQUssQ0FBQSxVQUFBK0MsSUFBQSxDQUFBbkUsS0FBQSxHQUFBZSxDQUFBLENBQUFLLENBQUEsR0FBQStDLElBQUEsQ0FBQVQsSUFBQSxPQUFBUyxJQUFBLFNBQUFBLElBQUEsQ0FBQW5FLEtBQUEsR0FBQWdCLENBQUEsRUFBQW1ELElBQUEsQ0FBQVQsSUFBQSxPQUFBUyxJQUFBLFlBQUF0RixDQUFBLENBQUFzRixJQUFBLEdBQUF0RixDQUFBLGdCQUFBaUIsU0FBQSxDQUFBSyxPQUFBLENBQUFZLENBQUEsa0NBQUF5QixpQkFBQSxDQUFBN0MsU0FBQSxHQUFBOEMsMEJBQUEsRUFBQXJCLENBQUEsQ0FBQTJCLENBQUEsbUJBQUEvQyxLQUFBLEVBQUF5QywwQkFBQSxFQUFBeEQsWUFBQSxTQUFBbUMsQ0FBQSxDQUFBcUIsMEJBQUEsbUJBQUF6QyxLQUFBLEVBQUF3QyxpQkFBQSxFQUFBdkQsWUFBQSxTQUFBdUQsaUJBQUEsQ0FBQXdDLFdBQUEsR0FBQXJELE1BQUEsQ0FBQWMsMEJBQUEsRUFBQWhCLENBQUEsd0JBQUFWLENBQUEsQ0FBQWtFLG1CQUFBLGFBQUFqRSxDQUFBLFFBQUFELENBQUEsd0JBQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBa0UsV0FBQSxXQUFBbkUsQ0FBQSxLQUFBQSxDQUFBLEtBQUF5QixpQkFBQSw2QkFBQXpCLENBQUEsQ0FBQWlFLFdBQUEsSUFBQWpFLENBQUEsQ0FBQW9FLElBQUEsT0FBQXBFLENBQUEsQ0FBQXFFLElBQUEsYUFBQXBFLENBQUEsV0FBQTdCLE1BQUEsQ0FBQWtHLGNBQUEsR0FBQWxHLE1BQUEsQ0FBQWtHLGNBQUEsQ0FBQXJFLENBQUEsRUFBQXlCLDBCQUFBLEtBQUF6QixDQUFBLENBQUFzRSxTQUFBLEdBQUE3QywwQkFBQSxFQUFBZCxNQUFBLENBQUFYLENBQUEsRUFBQVMsQ0FBQSx5QkFBQVQsQ0FBQSxDQUFBckIsU0FBQSxHQUFBUixNQUFBLENBQUEyQyxNQUFBLENBQUFpQixDQUFBLEdBQUEvQixDQUFBLEtBQUFELENBQUEsQ0FBQXdFLEtBQUEsYUFBQXZFLENBQUEsYUFBQXNDLE9BQUEsRUFBQXRDLENBQUEsT0FBQWdDLHFCQUFBLENBQUFHLGFBQUEsQ0FBQXhELFNBQUEsR0FBQWdDLE1BQUEsQ0FBQXdCLGFBQUEsQ0FBQXhELFNBQUEsRUFBQTRCLENBQUEsaUNBQUFSLENBQUEsQ0FBQW9DLGFBQUEsR0FBQUEsYUFBQSxFQUFBcEMsQ0FBQSxDQUFBeUUsS0FBQSxhQUFBeEUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUUsQ0FBQSxFQUFBdkMsQ0FBQSxlQUFBQSxDQUFBLEtBQUFBLENBQUEsR0FBQTRHLE9BQUEsT0FBQXBFLENBQUEsT0FBQThCLGFBQUEsQ0FBQXZCLElBQUEsQ0FBQVosQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsRUFBQUUsQ0FBQSxHQUFBdkMsQ0FBQSxVQUFBa0MsQ0FBQSxDQUFBa0UsbUJBQUEsQ0FBQWhFLENBQUEsSUFBQUksQ0FBQSxHQUFBQSxDQUFBLENBQUE4QyxJQUFBLEdBQUFaLElBQUEsV0FBQXZDLENBQUEsV0FBQUEsQ0FBQSxDQUFBMEMsSUFBQSxHQUFBMUMsQ0FBQSxDQUFBaEIsS0FBQSxHQUFBcUIsQ0FBQSxDQUFBOEMsSUFBQSxXQUFBbkIscUJBQUEsQ0FBQUQsQ0FBQSxHQUFBcEIsTUFBQSxDQUFBb0IsQ0FBQSxFQUFBdEIsQ0FBQSxnQkFBQUUsTUFBQSxDQUFBb0IsQ0FBQSxFQUFBMUIsQ0FBQSxpQ0FBQU0sTUFBQSxDQUFBb0IsQ0FBQSw2REFBQWhDLENBQUEsQ0FBQTJFLElBQUEsYUFBQTFFLENBQUEsUUFBQUQsQ0FBQSxHQUFBNUIsTUFBQSxDQUFBNkIsQ0FBQSxHQUFBQyxDQUFBLGdCQUFBQyxDQUFBLElBQUFILENBQUEsRUFBQUUsQ0FBQSxDQUFBMEQsSUFBQSxDQUFBekQsQ0FBQSxVQUFBRCxDQUFBLENBQUEwRSxPQUFBLGFBQUF4QixLQUFBLFdBQUFsRCxDQUFBLENBQUFuQyxNQUFBLFNBQUFrQyxDQUFBLEdBQUFDLENBQUEsQ0FBQTJFLEdBQUEsUUFBQTVFLENBQUEsSUFBQUQsQ0FBQSxTQUFBb0QsSUFBQSxDQUFBbkUsS0FBQSxHQUFBZ0IsQ0FBQSxFQUFBbUQsSUFBQSxDQUFBVCxJQUFBLE9BQUFTLElBQUEsV0FBQUEsSUFBQSxDQUFBVCxJQUFBLE9BQUFTLElBQUEsUUFBQXBELENBQUEsQ0FBQStCLE1BQUEsR0FBQUEsTUFBQSxFQUFBZixPQUFBLENBQUFwQyxTQUFBLEtBQUF1RixXQUFBLEVBQUFuRCxPQUFBLEVBQUErQyxLQUFBLFdBQUFBLE1BQUEvRCxDQUFBLGFBQUE4RSxJQUFBLFdBQUExQixJQUFBLFdBQUFMLElBQUEsUUFBQUMsS0FBQSxHQUFBL0MsQ0FBQSxPQUFBMEMsSUFBQSxZQUFBRSxRQUFBLGNBQUFELE1BQUEsZ0JBQUExRCxHQUFBLEdBQUFlLENBQUEsT0FBQTBELFVBQUEsQ0FBQXpCLE9BQUEsQ0FBQTJCLGFBQUEsSUFBQTdELENBQUEsV0FBQUUsQ0FBQSxrQkFBQUEsQ0FBQSxDQUFBNkUsTUFBQSxPQUFBNUUsQ0FBQSxDQUFBTixJQUFBLE9BQUFLLENBQUEsTUFBQThELEtBQUEsRUFBQTlELENBQUEsQ0FBQThFLEtBQUEsY0FBQTlFLENBQUEsSUFBQUQsQ0FBQSxNQUFBZ0YsSUFBQSxXQUFBQSxLQUFBLFNBQUF0QyxJQUFBLFdBQUExQyxDQUFBLFFBQUEwRCxVQUFBLElBQUFHLFVBQUEsa0JBQUE3RCxDQUFBLENBQUFrQixJQUFBLFFBQUFsQixDQUFBLENBQUFmLEdBQUEsY0FBQWdHLElBQUEsS0FBQWpDLGlCQUFBLFdBQUFBLGtCQUFBakQsQ0FBQSxhQUFBMkMsSUFBQSxRQUFBM0MsQ0FBQSxNQUFBRSxDQUFBLGtCQUFBaUYsT0FBQWhGLENBQUEsRUFBQUUsQ0FBQSxXQUFBQyxDQUFBLENBQUFhLElBQUEsWUFBQWIsQ0FBQSxDQUFBcEIsR0FBQSxHQUFBYyxDQUFBLEVBQUFFLENBQUEsQ0FBQWtELElBQUEsR0FBQWpELENBQUEsRUFBQUUsQ0FBQSxLQUFBSCxDQUFBLENBQUEwQyxNQUFBLFdBQUExQyxDQUFBLENBQUFoQixHQUFBLEdBQUFlLENBQUEsS0FBQUksQ0FBQSxhQUFBQSxDQUFBLFFBQUFzRCxVQUFBLENBQUE1RixNQUFBLE1BQUFzQyxDQUFBLFNBQUFBLENBQUEsUUFBQXZDLENBQUEsUUFBQTZGLFVBQUEsQ0FBQXRELENBQUEsR0FBQUMsQ0FBQSxHQUFBeEMsQ0FBQSxDQUFBZ0csVUFBQSxpQkFBQWhHLENBQUEsQ0FBQXlGLE1BQUEsU0FBQTRCLE1BQUEsYUFBQXJILENBQUEsQ0FBQXlGLE1BQUEsU0FBQXVCLElBQUEsUUFBQXRFLENBQUEsR0FBQUwsQ0FBQSxDQUFBTixJQUFBLENBQUEvQixDQUFBLGVBQUE0QyxDQUFBLEdBQUFQLENBQUEsQ0FBQU4sSUFBQSxDQUFBL0IsQ0FBQSxxQkFBQTBDLENBQUEsSUFBQUUsQ0FBQSxhQUFBb0UsSUFBQSxHQUFBaEgsQ0FBQSxDQUFBMEYsUUFBQSxTQUFBMkIsTUFBQSxDQUFBckgsQ0FBQSxDQUFBMEYsUUFBQSxnQkFBQXNCLElBQUEsR0FBQWhILENBQUEsQ0FBQTJGLFVBQUEsU0FBQTBCLE1BQUEsQ0FBQXJILENBQUEsQ0FBQTJGLFVBQUEsY0FBQWpELENBQUEsYUFBQXNFLElBQUEsR0FBQWhILENBQUEsQ0FBQTBGLFFBQUEsU0FBQTJCLE1BQUEsQ0FBQXJILENBQUEsQ0FBQTBGLFFBQUEscUJBQUE5QyxDQUFBLFlBQUFnQyxLQUFBLHFEQUFBb0MsSUFBQSxHQUFBaEgsQ0FBQSxDQUFBMkYsVUFBQSxTQUFBMEIsTUFBQSxDQUFBckgsQ0FBQSxDQUFBMkYsVUFBQSxZQUFBUCxNQUFBLFdBQUFBLE9BQUFqRCxDQUFBLEVBQUFELENBQUEsYUFBQUUsQ0FBQSxRQUFBeUQsVUFBQSxDQUFBNUYsTUFBQSxNQUFBbUMsQ0FBQSxTQUFBQSxDQUFBLFFBQUFHLENBQUEsUUFBQXNELFVBQUEsQ0FBQXpELENBQUEsT0FBQUcsQ0FBQSxDQUFBa0QsTUFBQSxTQUFBdUIsSUFBQSxJQUFBM0UsQ0FBQSxDQUFBTixJQUFBLENBQUFRLENBQUEsd0JBQUF5RSxJQUFBLEdBQUF6RSxDQUFBLENBQUFvRCxVQUFBLFFBQUEzRixDQUFBLEdBQUF1QyxDQUFBLGFBQUF2QyxDQUFBLGlCQUFBbUMsQ0FBQSxtQkFBQUEsQ0FBQSxLQUFBbkMsQ0FBQSxDQUFBeUYsTUFBQSxJQUFBdkQsQ0FBQSxJQUFBQSxDQUFBLElBQUFsQyxDQUFBLENBQUEyRixVQUFBLEtBQUEzRixDQUFBLGNBQUF3QyxDQUFBLEdBQUF4QyxDQUFBLEdBQUFBLENBQUEsQ0FBQWdHLFVBQUEsY0FBQXhELENBQUEsQ0FBQWEsSUFBQSxHQUFBbEIsQ0FBQSxFQUFBSyxDQUFBLENBQUFwQixHQUFBLEdBQUFjLENBQUEsRUFBQWxDLENBQUEsU0FBQThFLE1BQUEsZ0JBQUFRLElBQUEsR0FBQXRGLENBQUEsQ0FBQTJGLFVBQUEsRUFBQWpDLENBQUEsU0FBQTRELFFBQUEsQ0FBQTlFLENBQUEsTUFBQThFLFFBQUEsV0FBQUEsU0FBQW5GLENBQUEsRUFBQUQsQ0FBQSxvQkFBQUMsQ0FBQSxDQUFBa0IsSUFBQSxRQUFBbEIsQ0FBQSxDQUFBZixHQUFBLHFCQUFBZSxDQUFBLENBQUFrQixJQUFBLG1CQUFBbEIsQ0FBQSxDQUFBa0IsSUFBQSxRQUFBaUMsSUFBQSxHQUFBbkQsQ0FBQSxDQUFBZixHQUFBLGdCQUFBZSxDQUFBLENBQUFrQixJQUFBLFNBQUErRCxJQUFBLFFBQUFoRyxHQUFBLEdBQUFlLENBQUEsQ0FBQWYsR0FBQSxPQUFBMEQsTUFBQSxrQkFBQVEsSUFBQSx5QkFBQW5ELENBQUEsQ0FBQWtCLElBQUEsSUFBQW5CLENBQUEsVUFBQW9ELElBQUEsR0FBQXBELENBQUEsR0FBQXdCLENBQUEsS0FBQTZELE1BQUEsV0FBQUEsT0FBQXBGLENBQUEsYUFBQUQsQ0FBQSxRQUFBMkQsVUFBQSxDQUFBNUYsTUFBQSxNQUFBaUMsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQXlELFVBQUEsQ0FBQTNELENBQUEsT0FBQUUsQ0FBQSxDQUFBdUQsVUFBQSxLQUFBeEQsQ0FBQSxjQUFBbUYsUUFBQSxDQUFBbEYsQ0FBQSxDQUFBNEQsVUFBQSxFQUFBNUQsQ0FBQSxDQUFBd0QsUUFBQSxHQUFBRyxhQUFBLENBQUEzRCxDQUFBLEdBQUFzQixDQUFBLHlCQUFBOEQsT0FBQXJGLENBQUEsYUFBQUQsQ0FBQSxRQUFBMkQsVUFBQSxDQUFBNUYsTUFBQSxNQUFBaUMsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQXlELFVBQUEsQ0FBQTNELENBQUEsT0FBQUUsQ0FBQSxDQUFBcUQsTUFBQSxLQUFBdEQsQ0FBQSxRQUFBRSxDQUFBLEdBQUFELENBQUEsQ0FBQTRELFVBQUEsa0JBQUEzRCxDQUFBLENBQUFnQixJQUFBLFFBQUFkLENBQUEsR0FBQUYsQ0FBQSxDQUFBakIsR0FBQSxFQUFBMkUsYUFBQSxDQUFBM0QsQ0FBQSxZQUFBRyxDQUFBLGdCQUFBcUMsS0FBQSw4QkFBQTZDLGFBQUEsV0FBQUEsY0FBQXZGLENBQUEsRUFBQUUsQ0FBQSxFQUFBQyxDQUFBLGdCQUFBMEMsUUFBQSxLQUFBdEMsUUFBQSxFQUFBd0IsTUFBQSxDQUFBL0IsQ0FBQSxHQUFBbUQsVUFBQSxFQUFBakQsQ0FBQSxFQUFBbUQsT0FBQSxFQUFBbEQsQ0FBQSxvQkFBQXlDLE1BQUEsVUFBQTFELEdBQUEsR0FBQWUsQ0FBQSxHQUFBdUIsQ0FBQSxPQUFBeEIsQ0FBQTtBQUFBLFNBQUF3RiwyQkFBQW5GLENBQUEsRUFBQW9GLGNBQUEsUUFBQUMsRUFBQSxVQUFBakcsTUFBQSxvQkFBQVksQ0FBQSxDQUFBWixNQUFBLENBQUFjLFFBQUEsS0FBQUYsQ0FBQSxxQkFBQXFGLEVBQUEsUUFBQUMsS0FBQSxDQUFBQyxPQUFBLENBQUF2RixDQUFBLE1BQUFxRixFQUFBLEdBQUFHLDJCQUFBLENBQUF4RixDQUFBLE1BQUFvRixjQUFBLElBQUFwRixDQUFBLFdBQUFBLENBQUEsQ0FBQXRDLE1BQUEscUJBQUEySCxFQUFBLEVBQUFyRixDQUFBLEdBQUFxRixFQUFBLE1BQUE1SCxDQUFBLFVBQUFnSSxDQUFBLFlBQUFBLEVBQUEsZUFBQXZFLENBQUEsRUFBQXVFLENBQUEsRUFBQTNGLENBQUEsV0FBQUEsRUFBQSxRQUFBckMsQ0FBQSxJQUFBdUMsQ0FBQSxDQUFBdEMsTUFBQSxXQUFBNEUsSUFBQSxtQkFBQUEsSUFBQSxTQUFBMUQsS0FBQSxFQUFBb0IsQ0FBQSxDQUFBdkMsQ0FBQSxVQUFBa0MsQ0FBQSxXQUFBQSxFQUFBK0YsRUFBQSxVQUFBQSxFQUFBLEtBQUF6RSxDQUFBLEVBQUF3RSxDQUFBLGdCQUFBL0csU0FBQSxpSkFBQWlILGdCQUFBLFNBQUFDLE1BQUEsVUFBQUMsR0FBQSxXQUFBM0UsQ0FBQSxXQUFBQSxFQUFBLElBQUFtRSxFQUFBLEdBQUFBLEVBQUEsQ0FBQTdGLElBQUEsQ0FBQVEsQ0FBQSxNQUFBRixDQUFBLFdBQUFBLEVBQUEsUUFBQWdHLElBQUEsR0FBQVQsRUFBQSxDQUFBdEMsSUFBQSxJQUFBNEMsZ0JBQUEsR0FBQUcsSUFBQSxDQUFBeEQsSUFBQSxTQUFBd0QsSUFBQSxLQUFBbkcsQ0FBQSxXQUFBQSxFQUFBb0csR0FBQSxJQUFBSCxNQUFBLFNBQUFDLEdBQUEsR0FBQUUsR0FBQSxLQUFBOUUsQ0FBQSxXQUFBQSxFQUFBLGVBQUEwRSxnQkFBQSxJQUFBTixFQUFBLG9CQUFBQSxFQUFBLDhCQUFBTyxNQUFBLFFBQUFDLEdBQUE7QUFBQSxTQUFBRyxtQkFBQUMsR0FBQSxXQUFBQyxrQkFBQSxDQUFBRCxHQUFBLEtBQUFFLGdCQUFBLENBQUFGLEdBQUEsS0FBQVQsMkJBQUEsQ0FBQVMsR0FBQSxLQUFBRyxrQkFBQTtBQUFBLFNBQUFBLG1CQUFBLGNBQUExSCxTQUFBO0FBQUEsU0FBQThHLDRCQUFBeEYsQ0FBQSxFQUFBcUcsTUFBQSxTQUFBckcsQ0FBQSxxQkFBQUEsQ0FBQSxzQkFBQXNHLGlCQUFBLENBQUF0RyxDQUFBLEVBQUFxRyxNQUFBLE9BQUF2RyxDQUFBLEdBQUEvQixNQUFBLENBQUFRLFNBQUEsQ0FBQWdJLFFBQUEsQ0FBQS9HLElBQUEsQ0FBQVEsQ0FBQSxFQUFBMkUsS0FBQSxhQUFBN0UsQ0FBQSxpQkFBQUUsQ0FBQSxDQUFBOEQsV0FBQSxFQUFBaEUsQ0FBQSxHQUFBRSxDQUFBLENBQUE4RCxXQUFBLENBQUFDLElBQUEsTUFBQWpFLENBQUEsY0FBQUEsQ0FBQSxtQkFBQXdGLEtBQUEsQ0FBQWtCLElBQUEsQ0FBQXhHLENBQUEsT0FBQUYsQ0FBQSwrREFBQTJHLElBQUEsQ0FBQTNHLENBQUEsVUFBQXdHLGlCQUFBLENBQUF0RyxDQUFBLEVBQUFxRyxNQUFBO0FBQUEsU0FBQUYsaUJBQUFPLElBQUEsZUFBQXRILE1BQUEsb0JBQUFzSCxJQUFBLENBQUF0SCxNQUFBLENBQUFjLFFBQUEsYUFBQXdHLElBQUEsK0JBQUFwQixLQUFBLENBQUFrQixJQUFBLENBQUFFLElBQUE7QUFBQSxTQUFBUixtQkFBQUQsR0FBQSxRQUFBWCxLQUFBLENBQUFDLE9BQUEsQ0FBQVUsR0FBQSxVQUFBSyxpQkFBQSxDQUFBTCxHQUFBO0FBQUEsU0FBQUssa0JBQUFMLEdBQUEsRUFBQVUsR0FBQSxRQUFBQSxHQUFBLFlBQUFBLEdBQUEsR0FBQVYsR0FBQSxDQUFBdkksTUFBQSxFQUFBaUosR0FBQSxHQUFBVixHQUFBLENBQUF2SSxNQUFBLFdBQUFELENBQUEsTUFBQW1KLElBQUEsT0FBQXRCLEtBQUEsQ0FBQXFCLEdBQUEsR0FBQWxKLENBQUEsR0FBQWtKLEdBQUEsRUFBQWxKLENBQUEsSUFBQW1KLElBQUEsQ0FBQW5KLENBQUEsSUFBQXdJLEdBQUEsQ0FBQXhJLENBQUEsVUFBQW1KLElBQUE7QUFHTyxTQUFVQyxPQUFPQSxDQUN0QkMsT0FBZTtFQUFBLElBQ2ZDLGdCQUEwQixHQUFBQyxTQUFBLENBQUF0SixNQUFBLFFBQUFzSixTQUFBLFFBQUExSCxTQUFBLEdBQUEwSCxTQUFBLE1BQUcsRUFBRTtFQUFBLG9CQUFBdEgsbUJBQUEsR0FBQXNFLElBQUEsVUFBQWlELFFBQUE7SUFBQSxJQUFBQyxHQUFBLEVBQUFDLFNBQUEsRUFBQUMsS0FBQSxFQUFBQyxRQUFBLEVBQUFDLFFBQUEsRUFBQUMsaUJBQUE7SUFBQSxPQUFBN0gsbUJBQUEsR0FBQWMsSUFBQSxVQUFBZ0gsU0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFoRCxJQUFBLEdBQUFnRCxRQUFBLENBQUExRSxJQUFBO1FBQUE7VUFFekJtRSxHQUFHLEdBQUdRLGdCQUFJLENBQUNDLElBQUksQ0FBQUMsS0FBQSxDQUFURixnQkFBSSxHQUFNWixPQUFPLEVBQUFlLE1BQUEsQ0FBQTdCLGtCQUFBLENBQUtlLGdCQUFnQixHQUFDO1VBQUEsSUFFL0NlLG1CQUFFLENBQUNDLFVBQVUsQ0FBQ2IsR0FBRyxDQUFDO1lBQUFPLFFBQUEsQ0FBQTFFLElBQUE7WUFBQTtVQUFBO1VBQUEsT0FBQTBFLFFBQUEsQ0FBQTVFLE1BQUE7UUFBQTtVQUFBc0UsU0FBQSxHQUFBaEMsMEJBQUEsQ0FJQzJDLG1CQUFFLENBQUNFLFdBQVcsQ0FBQ2QsR0FBRyxDQUFDO1VBQUFPLFFBQUEsQ0FBQWhELElBQUE7VUFBQTBDLFNBQUEsQ0FBQWpHLENBQUE7UUFBQTtVQUFBLEtBQUFrRyxLQUFBLEdBQUFELFNBQUEsQ0FBQXJILENBQUEsSUFBQXdDLElBQUE7WUFBQW1GLFFBQUEsQ0FBQTFFLElBQUE7WUFBQTtVQUFBO1VBQS9Cc0UsUUFBUSxHQUFBRCxLQUFBLENBQUF4SSxLQUFBO1VBQUEsTUFDYnlJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO1lBQUFJLFFBQUEsQ0FBQTFFLElBQUE7WUFBQTtVQUFBO1VBQUEsT0FBQTBFLFFBQUEsQ0FBQTVFLE1BQUE7UUFBQTtVQUdqQnlFLFFBQVEsR0FBR0ksZ0JBQUksQ0FBQ0MsSUFBSSxDQUFDVCxHQUFHLEVBQUVHLFFBQVEsQ0FBQztVQUNuQ0UsaUJBQWlCLE1BQUFNLE1BQUEsQ0FBQTdCLGtCQUFBLENBQU9lLGdCQUFnQixJQUFFTSxRQUFRO1VBQUEsS0FDcERTLG1CQUFFLENBQUNHLFFBQVEsQ0FBQ1gsUUFBUSxDQUFDLENBQUNZLFdBQVcsQ0FBQyxDQUFDO1lBQUFULFFBQUEsQ0FBQTFFLElBQUE7WUFBQTtVQUFBO1VBQ3JDLE9BQUEwRSxRQUFBLENBQUF2QyxhQUFBLENBQU8yQixPQUFPLENBQUNDLE9BQU8sRUFBRVMsaUJBQWlCLENBQUM7UUFBQTtVQUFBRSxRQUFBLENBQUExRSxJQUFBO1VBQUE7UUFBQTtVQUFBMEUsUUFBQSxDQUFBMUUsSUFBQTtVQUUxQyxPQUFNd0UsaUJBQWlCO1FBQUE7VUFBQUUsUUFBQSxDQUFBMUUsSUFBQTtVQUFBO1FBQUE7VUFBQTBFLFFBQUEsQ0FBQTFFLElBQUE7VUFBQTtRQUFBO1VBQUEwRSxRQUFBLENBQUFoRCxJQUFBO1VBQUFnRCxRQUFBLENBQUFVLEVBQUEsR0FBQVYsUUFBQTtVQUFBTixTQUFBLENBQUF4SCxDQUFBLENBQUE4SCxRQUFBLENBQUFVLEVBQUE7UUFBQTtVQUFBVixRQUFBLENBQUFoRCxJQUFBO1VBQUEwQyxTQUFBLENBQUFsRyxDQUFBO1VBQUEsT0FBQXdHLFFBQUEsQ0FBQXpDLE1BQUE7UUFBQTtRQUFBO1VBQUEsT0FBQXlDLFFBQUEsQ0FBQTdDLElBQUE7TUFBQTtJQUFBLEdBQUFxQyxPQUFBO0VBQUE7QUFBQTtBQUt0QixTQUFTbUIsSUFBSUEsQ0FBQ1YsSUFBWSxFQUFPO0VBQ3RDLElBQU1XLE9BQWUsR0FBR1AsbUJBQUUsQ0FBQ1EsWUFBWSxDQUFDWixJQUFJLEVBQUU7SUFDNUNhLFFBQVEsRUFBRTtFQUNaLENBQUMsQ0FBQztFQUNGLE9BQU9DLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixPQUFPLENBQUM7QUFDNUI7QUFFTyxTQUFTSyxLQUFLQSxDQUFDQyxTQUFjLEVBQUV0QixRQUFnQixFQUFPO0VBQzNELElBQU11QixPQUFPLEdBQUdKLElBQUksQ0FBQ0ssU0FBUyxDQUFDRixTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztFQUNsRGIsbUJBQUUsQ0FBQ2dCLGFBQWEsQ0FBQ3BCLGdCQUFJLENBQUNxQixPQUFPLENBQUMxQixRQUFRLENBQUMsQ0FBQztFQUN4Q1MsbUJBQUUsQ0FBQ2tCLGFBQWEsQ0FBQzNCLFFBQVEsRUFBRXVCLE9BQU8sRUFBRTtJQUNsQ0wsUUFBUSxFQUFFO0VBQ1osQ0FBQyxDQUFDO0FBQ0o7QUFBQyxJQUVZVSxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxnQkFBQTlLLFlBQUEsQ0FHL0IsU0FBQThLLHFCQUFZRSxPQUFlLEVBQUU7RUFBQTNLLGVBQUEsT0FBQXlLLG9CQUFBO0VBQUF0SyxlQUFBO0VBQzNCLElBQUksQ0FBQ3dLLE9BQU8sR0FBR0EsT0FBTztBQUN4QixDQUFDO0FBR0ksU0FBU0MsUUFBUUEsQ0FBQ0MsSUFBUyxFQUFPO0VBQ3ZDLElBQUlDLEtBQWUsR0FBRyxFQUFFO0VBQ3hCLFNBQVNDLFNBQVNBLENBQUNDLGFBQWtCLEVBQUU7SUFDckMsSUFBSUMsVUFBSSxDQUFDQyxRQUFRLENBQUNGLGFBQWEsQ0FBQyxFQUFFO01BQ2hDLElBQU1HLFNBQVMsR0FBR0YsVUFBSSxDQUFDRyxRQUFRLENBQUNKLGFBQWEsRUFBRTtRQUFFSyxHQUFHLEVBQUVDLE9BQU8sQ0FBQ0QsR0FBRyxDQUFDO01BQUUsQ0FBQyxDQUFDO01BQ3RFLElBQUlGLFNBQVMsQ0FBQ2pNLE1BQU0sSUFBSSxDQUFDLEVBQ3ZCLE1BQU0sSUFBSXVMLG9CQUFvQixJQUFBcEIsTUFBQSxDQUFJMkIsYUFBYSx5QkFBc0IsQ0FBQztNQUN4RUYsS0FBSyxHQUFHQSxLQUFLLENBQUN6QixNQUFNLENBQUM4QixTQUFTLENBQUM7SUFDakMsQ0FBQyxNQUFNO01BQ0xMLEtBQUssQ0FBQy9GLElBQUksQ0FBQ2lHLGFBQWEsQ0FBQztNQUN6QixJQUFJLENBQUMxQixtQkFBRSxDQUFDQyxVQUFVLENBQUN5QixhQUFhLENBQUMsRUFDL0IsTUFBTSxJQUFJUCxvQkFBb0IsSUFBQXBCLE1BQUEsQ0FBSTJCLGFBQWEseUJBQXNCLENBQUM7SUFDMUU7RUFDRjtFQUNBSCxJQUFJLENBQUN4SCxPQUFPLENBQUMwSCxTQUFTLENBQUM7RUFDdkIsT0FBT0QsS0FBSztBQUNkIn0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2xvYiIsInJlcXVpcmUiLCJfZnNFeHRyYSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcGF0aCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiaSIsImxlbmd0aCIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiQ29uc3RydWN0b3IiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJwcm90b3R5cGUiLCJfY2xhc3NDYWxsQ2hlY2siLCJpbnN0YW5jZSIsIlR5cGVFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwidCIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJyIiwiZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIk51bWJlciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJuIiwiaGFzT3duUHJvcGVydHkiLCJvIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIkYiLCJfZSIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwiX2UyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiYXJyIiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJmcm9tIiwidGVzdCIsIml0ZXIiLCJsZW4iLCJhcnIyIiwid2Fsa0RpciIsInJvb3REaXIiLCJyZWxhdGl2ZVNwbGl0RGlyIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiX2NhbGxlZSIsImRpciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZmlsZW5hbWUiLCJmaWxlUGF0aCIsInJlbGF0aXZlU3BsaXRQYXRoIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInBhdGgiLCJqb2luIiwiYXBwbHkiLCJjb25jYXQiLCJmcyIsImV4aXN0c1N5bmMiLCJyZWFkZGlyU3luYyIsInN0YXRTeW5jIiwiaXNEaXJlY3RvcnkiLCJ0MSIsImxvYWQiLCJyYXdqc29uIiwicmVhZEZpbGVTeW5jIiwiZW5jb2RpbmciLCJKU09OIiwicGFyc2UiLCJ3cml0ZSIsInNvbWV0aGluZyIsImNvbnRlbnQiLCJzdHJpbmdpZnkiLCJlbnN1cmVEaXJTeW5jIiwiZGlybmFtZSIsIndyaXRlRmlsZVN5bmMiLCJHZXRGaWxlTm90Rm91bmRFcnJvciIsImV4cG9ydHMiLCJtZXNzYWdlIiwiZ2V0RmlsZXMiLCJhcmdzIiwiZmlsZXMiLCJfZ2V0RmlsZXMiLCJmaWxlT3JQYXR0ZXJuIiwiZ2xvYiIsImhhc01hZ2ljIiwiZGF0YUZpbGVzIiwiZ2xvYlN5bmMiLCJjd2QiLCJwcm9jZXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2ZpbGVfc3lzdGVtcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmV4cG9ydCBmdW5jdGlvbiogd2Fsa0RpcihcbiAgcm9vdERpcjogc3RyaW5nLFxuICByZWxhdGl2ZVNwbGl0RGlyOiBzdHJpbmdbXSA9IFtdLFxuKTogSXRlcmFibGU8c3RyaW5nW10+IHtcbiAgY29uc3QgZGlyID0gcGF0aC5qb2luKHJvb3REaXIsIC4uLnJlbGF0aXZlU3BsaXREaXIpXG5cbiAgaWYgKCFmcy5leGlzdHNTeW5jKGRpcikpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgZnMucmVhZGRpclN5bmMoZGlyKSkge1xuICAgIGlmIChmaWxlbmFtZVswXSA9PT0gXCIuXCIpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKGRpciwgZmlsZW5hbWUpXG4gICAgY29uc3QgcmVsYXRpdmVTcGxpdFBhdGggPSBbLi4ucmVsYXRpdmVTcGxpdERpciwgZmlsZW5hbWVdXG4gICAgaWYgKGZzLnN0YXRTeW5jKGZpbGVQYXRoKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICB5aWVsZCogd2Fsa0Rpcihyb290RGlyLCByZWxhdGl2ZVNwbGl0UGF0aClcbiAgICB9IGVsc2Uge1xuICAgICAgeWllbGQgcmVsYXRpdmVTcGxpdFBhdGhcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWQocGF0aDogc3RyaW5nKTogYW55IHtcbiAgY29uc3QgcmF3anNvbjogc3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHBhdGgsIHtcbiAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gIH0pXG4gIHJldHVybiBKU09OLnBhcnNlKHJhd2pzb24pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZShzb21ldGhpbmc6IGFueSwgZmlsZW5hbWU6IHN0cmluZyk6IGFueSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShzb21ldGhpbmcsIG51bGwsIDIpXG4gIGZzLmVuc3VyZURpclN5bmMocGF0aC5kaXJuYW1lKGZpbGVuYW1lKSlcbiAgZnMud3JpdGVGaWxlU3luYyhmaWxlbmFtZSwgY29udGVudCwge1xuICAgIGVuY29kaW5nOiBcInV0ZjhcIixcbiAgfSlcbn1cblxuZXhwb3J0IGNsYXNzIEdldEZpbGVOb3RGb3VuZEVycm9yIHtcbiAgbWVzc2FnZTogc3RyaW5nXG5cbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlcyhhcmdzOiBhbnkpOiBhbnkge1xuICBsZXQgZmlsZXM6IHN0cmluZ1tdID0gW11cbiAgZnVuY3Rpb24gX2dldEZpbGVzKGZpbGVPclBhdHRlcm46IGFueSkge1xuICAgIGlmIChnbG9iLmhhc01hZ2ljKGZpbGVPclBhdHRlcm4pKSB7XG4gICAgICBjb25zdCBkYXRhRmlsZXMgPSBnbG9iLmdsb2JTeW5jKGZpbGVPclBhdHRlcm4sIHsgY3dkOiBwcm9jZXNzLmN3ZCgpIH0pXG4gICAgICBpZiAoZGF0YUZpbGVzLmxlbmd0aCA8PSAwKVxuICAgICAgICB0aHJvdyBuZXcgR2V0RmlsZU5vdEZvdW5kRXJyb3IoYCR7ZmlsZU9yUGF0dGVybn0gZ2xvYiBkb2VzIG5vdCBtYXRjaGApXG4gICAgICBmaWxlcyA9IGZpbGVzLmNvbmNhdChkYXRhRmlsZXMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGVzLnB1c2goZmlsZU9yUGF0dGVybilcbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhmaWxlT3JQYXR0ZXJuKSlcbiAgICAgICAgdGhyb3cgbmV3IEdldEZpbGVOb3RGb3VuZEVycm9yKGAke2ZpbGVPclBhdHRlcm59IGZpbGUgZG9lcyBub3QgZXhpc3RgKVxuICAgIH1cbiAgfVxuICBhcmdzLmZvckVhY2goX2dldEZpbGVzKVxuICByZXR1cm4gZmlsZXNcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUF1QixTQUFBRSx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLGdCQUFBQSxHQUFBO0FBQUEsU0FBQUUsa0JBQUFDLE1BQUEsRUFBQUMsS0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQUQsS0FBQSxDQUFBRSxNQUFBLEVBQUFELENBQUEsVUFBQUUsVUFBQSxHQUFBSCxLQUFBLENBQUFDLENB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
|