From 5b00c048d3db42bbd9a9bab294f89f5680c0871a Mon Sep 17 00:00:00 2001 From: Shailja Khurana Date: Wed, 6 Sep 2023 00:21:15 +0000 Subject: [PATCH 1/2] bugfix for failed discussions triggeredByNewCommnt --- dist/index.js | 23 ++++++++++------- src/index.ts | 71 +++++++++++++++++++++++++++------------------------ 2 files changed, 52 insertions(+), 42 deletions(-) diff --git a/dist/index.js b/dist/index.js index 26eb3b6..62e48e5 100644 --- a/dist/index.js +++ b/dist/index.js @@ -46435,17 +46435,22 @@ const INSTRUCTIONS_TEXT = core.getInput('instructions-response-text', { required async function main() { const githubClient = new GithubDiscussionClient_1.GithubDiscussionClient(); await githubClient.initializeAttentionLabelId(); - if ((0, util_1.triggeredByNewComment)()) { - if (github.context.payload.comment?.body.indexOf(PROPOSED_ANSWER_KEYWORD) >= 0) { - core.info('Comment created with proposed answer keyword. Adding instuctions reply to comment'); - githubClient.addInstructionTextReply(INSTRUCTIONS_TEXT, github.context.payload.discussion.node_id, github.context.payload.comment.node_id); + try { + if ((0, util_1.triggeredByNewComment)()) { + if (github.context.payload.comment?.body.indexOf(PROPOSED_ANSWER_KEYWORD) >= 0) { + core.info('Comment created with proposed answer keyword. Adding instuctions reply to comment with id: ' + github.context.payload.discussion.node_id); + githubClient.addInstructionTextReply(INSTRUCTIONS_TEXT, github.context.payload.discussion.node_id, github.context.payload.comment.node_id); + } + else { + core.info('Comment created without proposed answer keyword. No action needed'); + } } else { - core.info('Comment created without proposed answer keyword. No action needed'); + await processDiscussions(githubClient); } } - else { - await processDiscussions(githubClient); + catch (e) { + core.info(e.message); } } async function processDiscussions(githubClient) { @@ -46470,7 +46475,7 @@ async function processDiscussions(githubClient) { continue; } else if (discussion?.node?.closed) { - core.debug(`Discussion ${discussionId} is closed, so no action needed.`); + core.info(`Discussion ${discussionId} is closed, so no action needed.`); continue; } else if (discussion?.node?.locked && CLOSE_LOCKED_DISCUSSIONS) { @@ -46557,7 +46562,7 @@ function closeAndMarkAsAnswered(comment, discussionId, githubClient) { githubClient.closeDiscussionAsResolved(discussionId); } main(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyxxRUFBa0U7QUFDbEUsaUNBQXVLO0FBR3ZLLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2xGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLElBQUksZ0JBQWdCLENBQUM7QUFDdkYsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pHLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDO0FBQ25JLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sd0JBQXdCLEdBQUcsMkJBQTJCLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN0RyxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN2RyxNQUFNLDBCQUEwQixHQUFHLDZCQUE2QixDQUFDLFdBQVcs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QUFZLHFCQUFxQixDQUFDLENBQUM7S0FDbkY7QUFDSCxDQUFDO0FBbERELDBDQWtEQztBQUVELFNBQVMsMkJBQTJCLENBQUMsWUFBb0IsRUFBRSxZQUFvQztJQUM3RixZQUFZLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDckYsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQThCLEVBQUUsWUFBb0IsRUFBRSxZQUFvQztJQUN4SCxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVMsQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUcsQ0FBQztJQUNyQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEYsWUFBWSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25FLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxZQUFZLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb2N0b2tpdCBmcm9tICdAb2N0b2tpdC9ncmFwaHFsLXNjaGVtYSc7XG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJ0BhY3Rpb25zL2NvcmUnO1xuaW1wb3J0ICogYXMgZ2l0aHViIGZyb20gJ0BhY3Rpb25zL2dpdGh1Yic7XG5pbXBvcnQgeyBHaXRodWJEaXNjdXNzaW9uQ2xpZW50IH0gZnJvbSBcIi4vR2l0aHViRGlzY3Vzc2lvbkNsaWVudFwiO1xuaW1wb3J0IHsgY29udGFpbnNLZXl3b3JkLCBjb250YWluc05lZ2F0aXZlUmVhY3Rpb24sIGNvbnRhaW5zUG9zaXRpdmVSZWFjdGlvbiwgZXhjZWVkc0RheXNVbnRpbFN0YWxlLCBoYXNSZXBsaWVzLCB0cmlnZ2VyZWRCeU5ld0NvbW1lbnQsIGhhc05vbkJvdFJlcGx5IH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IERpc2N1c3Npb25Db21tZW50RWRnZSB9IGZyb20gJy4vZ2VuZXJhdGVkL2dyYXBocWwnO1xuXG5jb25zdCBQQUdFX1NJWkUgPSBwYXJzZUludChjb3JlLmdldElucHV0KCdwYWdlLXNpemUnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSkgfHwgNTA7XG5jb25zdCBHSVRIVUJfQk9UID0gY29yZS5nZXRJbnB1dCgnZ2l0aHViLWJvdCcsIHsgcmVxdWlyZWQ6IGZhbHNlfSkgfHwgJ2dpdGh1Yi1hY3Rpb25zJztcbmNvbnN0IERBWVNfVU5USUxfU1RBTEUgPSBwYXJzZUZsb2F0KGNvcmUuZ2V0SW5wdXQoJ2RheXMtdW50aWwtc3RhbGUnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSkgfHwgNztcbmNvbnN0IFBST1BPU0VEX0FOU1dFUl9LRVlXT1JEID0gY29yZS5nZXRJbnB1dCgncHJvcG9zZWQtYW5zd2VyLWtleXdvcmQnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KSB8fCAnQGdpdGh1Yi1hY3Rpb25zIHByb3Bvc2VkLWFuc3dlcic7XG5jb25zdCBjbG9zZUxvY2tlZERpc2N1c3Npb25zSW5wdXQgPSBjb3JlLmdldElucHV0KCdjbG9zZS1sb2NrZWQtZGlzY3Vzc2lvbnMnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KTtcbmNvbnN0IENMT1NFX0xPQ0tFRF9ESVNDVVNTSU9OUyA9IGNsb3NlTG9ja2VkRGlzY3Vzc2lvbnNJbnB1dC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xuY29uc3QgY2xvc2VBbnN3ZXJlZERpc2N1c3Npb25zSW5wdXQgPSBjb3JlLmdldElucHV0KCdjbG9zZS1hbnN3ZXJlZC1kaXNjdXNzaW9ucycsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuY29uc3QgQ0xPU0VfQU5TV0VSRURfRElTQ1VTU0lPTlMgPSBjbG9zZUFuc3dlcmVkRGlzY3Vzc2lvbnNJbnB1dC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xuY29uc3QgY2xvc2VTdGFsZUFzQW5zd2VyZWRJbnB1dCA9IGNvcmUuZ2V0SW5wdXQoJ2Nsb3NlLXN0YWxlLWFzLWFuc3dlcmVkJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG5jb25zdCBDTE9TRV9TVEFMRV9BU19BTlNXRVJFRCA9IGNsb3NlU3RhbGVBc0Fuc3dlcmVkSW5wdXQudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZTtcbmNvbnN0IENMT1NFX0ZPUl9TVEFMRU5FU1NfUkVTUE9OU0VfVEVYVCA9IGNvcmUuZ2V0SW5wdXQoJ3N0YWxlLXJlc3BvbnNlLXRleHQnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KVxuICB8fCAnQ2xvc2luZyB0aGUgZGlzY3Vzc2lvbiBmb3Igc3RhbGVuZXNzLiBQbGVhc2Ugb3BlbiBhIG5ldyBkaXNjdXNzaW9uIGlmIHlvdSBoYXZlIGZ1cnRoZXIgY29uY2VybnMuJztcbmNvbnN0IElOU1RSVUNUSU9OU19URVhUID0gY29yZS5nZXRJbnB1dCgnaW5zdHJ1Y3Rpb25zLXJlc3BvbnNlLXRleHQnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KVxuICB8fCAnSGVsbG8hIEEgdGVhbSBtZW1iZXIgaGFzIG1hcmtlZCB0aGUgYWJvdmUgY29tbWVudCBhcyB0aGUgbGlrZWx5IGFuc3dlciB0byB0aGlzIGRpc2N1c3Npb24gdGhyZWFkLiAnXG4gICsgJ1xcbiBcXG4gKiBJZiB5b3UgYWdyZWUsIHBsZWFzZSB1cHZvdGUgdGhhdCBjb21tZW50LCBvciBjbGljayBvbiBNYXJrIGFzIGFuc3dlci4gSSB3aWxsIGF1dG9tYXRpY2FsbHkgbWFyayB0aGUgY29tbWVudCBhcyB0aGUgYW5zd2VyIG5leHQgdGltZSBJIGNoZWNrLiAnXG4gICsgJ1xcbiBcXG4gKiBJZiB0aGlzIGFuc3dlciBkb2VzIG5vdCBoZWxwIHlvdSwgcGxlYXNlIGRvd252b3RlIHRoZSBhbnN3ZXIgaW5zdGVhZCBhbmQgbGV0IHVzIGtub3cgd2h5IGl0IHdhcyBub3QgaGVscGZ1bC4gJ1xuICArICdJIHdpbGwgYWRkIGEgbGFiZWwgdG8gdGhpcyBkaXNjdXNzaW9uIHRvIGdhaW4gYXR0ZW50aW9uIGZyb20gdGhlIHRlYW0uJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgZ2l0aHViQ2xpZW50ID0gbmV3IEdpdGh1YkRpc2N1c3Npb25DbGllbnQoKTtcbiAgYXdhaXQgZ2l0aHViQ2xpZW50LmluaXRpYWxpemVBdHRlbnRpb25MYWJlbElkKCk7XG4gIGlmICh0cmlnZ2VyZWRCeU5ld0NvbW1lbnQoKSkge1xuICAgIGlmIChnaXRodWIuY29udGV4dC5wYXlsb2FkLmNvbW1lbnQ/LmJvZHkuaW5kZXhPZihQUk9QT1NFRF9BTlNXRVJfS0VZV09SRCkgPj0gMCkge1xuICAgICAgY29yZS5pbmZvKCdDb21tZW50IGNyZWF0ZWQgd2l0aCBwcm9wb3NlZCBhbnN3ZXIga2V5d29yZC4gQWRkaW5nIGluc3R1Y3Rpb25zIHJlcGx5IHRvIGNvbW1lbnQnKTtcbiAgICAgIGdpdGh1YkNsaWVudC5hZGRJbnN0cnVjdGlvblRleHRSZXBseShJTlNUUlVDVElPTlNfVEVYVCwgZ2l0aHViLmNvbnRleHQucGF5bG9hZC5kaXNjdXNzaW9uIS5ub2RlX2lkLCBnaXRodWIuY29udGV4dC5wYXlsb2FkLmNvbW1lbnQhLm5vZGVfaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3JlLmluZm8oJ0NvbW1lbnQgY3JlYXRlZCB3aXRob3V0IHByb3Bvc2VkIGFuc3dlciBrZXl3b3JkLiBObyBhY3Rpb24gbmVlZGVkJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGF3YWl0IHByb2Nlc3NEaXNjdXNzaW9ucyhnaXRodWJDbGllbnQpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzRGlzY3Vzc2lvbnMoZ2l0aHViQ2xpZW50OiBHaXRodWJEaXNjdXNzaW9uQ2xpZW50KSB7XG4gIGNvbnN0IGRpc2N1c3Npb25DYXRlZ29yeUlETGlzdDogc3RyaW5nW10gPSBhd2FpdCBnaXRodWJDbGllbnQuZ2V0QW5zd2VyYWJsZURpc2N1c3Npb25DYXRlZ29yeUlEcygpO1xuICBpZiAoZGlzY3Vzc2lvbkNhdGVnb3J5SURMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIGNvcmUuaW5mbygnTm8gYW5zd2VyYWJsZSBkaXNjdXNzaW9ucyBmb3VuZC4gRXhpdGluZy4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGRpc2N1c3Npb25DYXRlZ29yeUlEIG9mIGRpc2N1c3Npb25DYXRlZ29yeUlETGlzdCkge1xuICAgIGxldCBoYXNOZXh0UGFnZSA9IHRydWU7XG4gICAgbGV0IGFmdGVyQ3Vyc29yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIHdoaWxlIChoYXNOZXh0UGFnZSkge1xuICAgICAgY29uc3QgZGlzY3Vzc2lvbnMgPSBhd2FpdCBnaXRodWJDbGllbnQuZ2V0RGlzY3Vzc2lvbnNNZXRhRGF0YShkaXNjdXNzaW9uQ2F0ZWdvcnlJRCwgUEFHRV9TSVpFLCBhZnRlckN1cnNvciEpO1xuICAgICAgaGFzTmV4dFBhZ2UgPSBkaXNjdXNzaW9ucy5wYWdlSW5mby5oYXNOZXh0UGFnZTtcbiAgICAgIGFmdGVyQ3Vyc29yID0gZGlzY3Vzc2lvbnMucGFnZUluZm8uZW5kQ3Vyc29yITtcbiAgICBcbiAgICAgIGZvciAoY29uc3QgZGlzY3Vzc2lvbiBvZiBkaXNjdXNzaW9ucy5lZGdlcyEpIHtcbiAgICAgICAgdmFyIGRpc2N1c3Npb25JZCA9IGRpc2N1c3Npb24/Lm5vZGU/LmlkID8gZGlzY3Vzc2lvbj8ubm9kZT8uaWQgOiBcIlwiO1xuICAgICAgICB2YXIgZGlzY3Vzc2lvbk51bSA9IGRpc2N1c3Npb24/Lm5vZGU/Lm51bWJlciA/IGRpc2N1c3Npb24ubm9kZS5udW1iZXIgOiAwO1xuICAgICAgICBjb3JlLmRlYnVnKGBQcm9jZXNzaW5nIGRpc2N1c3Npb25JZDogJHtkaXNjdXNzaW9uSWR9IHdpdGggbnVtYmVyOiAke2Rpc2N1c3Npb25OdW19IGFuZCBib2R5VGV4dDogJHtkaXNjdXNzaW9uPy5ub2RlPy5ib2R5VGV4dH1gKTtcbiAgICAgICAgaWYgKGRpc2N1c3Npb25JZCA9PT0gXCJcIiB8fCBkaXNjdXNzaW9uTnVtID09PSAwKSB7XG4gICAgICAgICAgY29yZS53YXJuaW5nKGBDYW4gbm90IHByb2NlZWQgY2hlY2tpbmcgZGlzY3Vzc2lvbiwgZGlzY3Vzc2lvbklkIGlzIG51bGwhYCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZGlzY3Vzc2lvbj8ubm9kZT8uY2xvc2VkKSB7XG4gICAgICAgICAgY29yZS5kZWJ1ZyhgRGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gaXMgY2xvc2VkLCBzbyBubyBhY3Rpb24gbmVlZGVkLmApO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGRpc2N1c3Npb24/Lm5vZGU/LmxvY2tlZCAmJiBDTE9TRV9MT0NLRURfRElTQ1VTU0lPTlMpIHtcbiAgICAgICAgICBjb3JlLmluZm8oYERpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IGlzIGxvY2tlZCwgY2xvc2luZyBpdCBhcyByZXNvbHZlZGApO1xuICAgICAgICAgIGdpdGh1YkNsaWVudC5jbG9zZURpc2N1c3Npb25Bc1Jlc29sdmVkKGRpc2N1c3Npb25JZCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZGlzY3Vzc2lvbj8ubm9kZT8uYW5zd2VyICE9IG51bGwgJiYgQ0xPU0VfQU5TV0VSRURfRElTQ1VTU0lPTlMpIHtcbiAgICAgICAgICBjb3JlLmluZm8oYERpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IGlzIGFscmVhZHkgYW5zd2VyZWQsIHNvIGNsb3NpbmcgaXQgYXMgcmVzb2x2ZWQuYCk7XG4gICAgICAgICAgZ2l0aHViQ2xpZW50LmNsb3NlRGlzY3Vzc2lvbkFzUmVzb2x2ZWQoZGlzY3Vzc2lvbklkKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBhd2FpdCBwcm9jZXNzQ29tbWVudHMoZGlzY3Vzc2lvbiEsIGdpdGh1YkNsaWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NDb21tZW50cyhkaXNjdXNzaW9uOiBvY3Rva2l0LkRpc2N1c3Npb25FZGdlLCBnaXRodWJDbGllbnQ6IEdpdGh1YkRpc2N1c3Npb25DbGllbnQpIHtcbiAgY29uc3QgZGlzY3Vzc2lvbklkID0gZGlzY3Vzc2lvbi5ub2RlPy5pZCA/IGRpc2N1c3Npb24ubm9kZT8uaWQgOiBcIlwiO1xuICBjb25zdCBkaXNjdXNzaW9uTnVtID0gZGlzY3Vzc2lvbi5ub2RlPy5udW1iZXIgPyBkaXNjdXNzaW9uLm5vZGU/Lm51bWJlciA6IDA7XG4gIGNvbnN0IGNvbW1lbnRDb3VudCA9IGF3YWl0IGdpdGh1YkNsaWVudC5nZXREaXNjdXNzaW9uQ29tbWVudENvdW50KGRpc2N1c3Npb25OdW0pO1xuICBjb25zdCBjb21tZW50cyA9IGF3YWl0IGdpdGh1YkNsaWVudC5nZXRDb21tZW50c01ldGFEYXRhKGRpc2N1c3Npb25OdW0sIGNvbW1lbnRDb3VudCk7XG5cbiAgaWYgKGNvbW1lbnRDb3VudCAhPT0gMCkge1xuICAgIGZvciAoY29uc3QgY29tbWVudCBvZiBjb21tZW50cy5lZGdlcyEpIHtcbiAgICAgIGNvbnN0IGNvbW1lbnRJZCA9IGNvbW1lbnQ/Lm5vZGU/LmlkO1xuICAgICAgY29yZS5kZWJ1ZyhgUHJvY2Vzc2luZyBjb21tZW50ICR7Y29tbWVudElkfSB3aXRoIGJvZHl0ZXh0OiAke2NvbW1lbnQ/Lm5vZGU/LmJvZHlUZXh0fWApO1xuICAgICAgaWYgKCFjb21tZW50Py5ub2RlPy5ib2R5VGV4dCB8fCAhY29tbWVudC5ub2RlLmlkKSB7XG4gICAgICAgIGNvcmUud2FybmluZyhgQ29tbWVudCBib2R5IG9yIGlkIGlzIG51bGwgaW4gZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0sIHNraXBwaW5nIGNvbW1lbnQhYCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFjb250YWluc0tleXdvcmQoY29tbWVudCEsIFBST1BPU0VEX0FOU1dFUl9LRVlXT1JEKSkge1xuICAgICAgICBjb3JlLmRlYnVnKGBObyBhbnN3ZXIgcHJvcG9zZWQgb24gY29tbWVudCAke2NvbW1lbnRJZH0sIG5vIGFjdGlvbiBuZWVkZWQhYCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGlmIChjb250YWluc05lZ2F0aXZlUmVhY3Rpb24oY29tbWVudCkpIHtcbiAgICAgICAgICBjb3JlLmluZm8oYE5lZ2F0aXZlIHJlYWN0aW9uIHJlY2VpdmVkLiBBZGRpbmcgYXR0ZW50aW9uIGxhYmVsIHRvIGRpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IHRvIHJlY2VpdmUgZnVydGhlciBhdHRlbnRpb24gZnJvbSBhIHJlcG9zaXRvcnkgbWFpbnRhaW5lcmApO1xuICAgICAgICAgIGdpdGh1YkNsaWVudC5hZGRBdHRlbnRpb25MYWJlbFRvRGlzY3Vzc2lvbihkaXNjdXNzaW9uSWQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNvbnRhaW5zUG9zaXRpdmVSZWFjdGlvbihjb21tZW50KSkge1xuICAgICAgICAgIGNvcmUuaW5mbyhgUG9zaXRpdmUgcmVhY3Rpb24gcmVjZWl2ZWQuIE1hcmtpbmcgZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gYXMgYW5zd2VyZWQsIGFuZCBlZGl0aW5nIGFuc3dlciB0byByZW1vdmUgcHJvcG9zZWQgYW5zd2VyIGtleXdvcmRgKTtcbiAgICAgICAgICBjbG9zZUFuZE1hcmtBc0Fuc3dlcmVkKGNvbW1lbnQsIGRpc2N1c3Npb25JZCwgZ2l0aHViQ2xpZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaGFzUmVwbGllcyhjb21tZW50KSkge1xuICAgICAgICAgIGNvcmUuaW5mbyhgU2luY2UgdGhpcyBoYXMgbm8gcmVwbHksIGFkZGluZyBpbnN0cnVjdGlvbnMgcmVwbHkgdG8gY29tbWVudCAke2NvbW1lbnRJZH0gaW4gZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH1gKTtcbiAgICAgICAgICBnaXRodWJDbGllbnQuYWRkSW5zdHJ1Y3Rpb25UZXh0UmVwbHkoSU5TVFJVQ1RJT05TX1RFWFQsIGRpc2N1c3Npb25JZCwgY29tbWVudElkISk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaGFzTm9uQm90UmVwbHkoY29tbWVudCwgR0lUSFVCX0JPVCkpIHtcbiAgICAgICAgICBjb3JlLmluZm8oYERpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IGhhcyBhIHJlcGx5LCBidXQgbm90IGFuIGluc3RydWN0aW9ucyByZXBseS4gQWRkaW5nIGF0dGVudGlvbiBsYWJlbGApO1xuICAgICAgICAgIGdpdGh1YkNsaWVudC5hZGRBdHRlbnRpb25MYWJlbFRvRGlzY3Vzc2lvbihkaXNjdXNzaW9uSWQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGV4Y2VlZHNEYXlzVW50aWxTdGFsZShjb21tZW50LCBEQVlTX1VOVElMX1NUQUxFKSkge1xuICAgICAgICAgIGlmIChDTE9TRV9TVEFMRV9BU19BTlNXRVJFRCkge1xuICAgICAgICAgICAgY29yZS5pbmZvKGBObyBvbmUgaGFzIHJlc3BvbmRlZCBvciBwcm92aWRlZCBhIHJlYWN0aW9uLCBjbG9zaW5nIGRpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IGFzIGFuc3dlcmVkYCk7XG4gICAgICAgICAgICBjbG9zZUFuZE1hcmtBc0Fuc3dlcmVkKGNvbW1lbnQsIGRpc2N1c3Npb25JZCwgZ2l0aHViQ2xpZW50KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29yZS5pbmZvKGBObyBvbmUgaGFzIHJlc3BvbmRlZCBvciBwcm92aWRlZCBhIHJlYWN0aW9uLCBjbG9zaW5nIGRpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IHdpdGggYSBjb21tZW50YCk7XG4gICAgICAgICAgICBjbG9zZURpc2N1c3Npb25Gb3JTdGFsZW5lc3MoZGlzY3Vzc2lvbklkLCBnaXRodWJDbGllbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cbiAgZWxzZSB7XG4gICAgY29yZS5kZWJ1ZyhgTm8gY29tbWVudHMgZm91bmQgZm9yIGRpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9LCBObyBhY3Rpb24gbmVlZGVkIWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNsb3NlRGlzY3Vzc2lvbkZvclN0YWxlbmVzcyhkaXNjdXNzaW9uSWQ6IHN0cmluZywgZ2l0aHViQ2xpZW50OiBHaXRodWJEaXNjdXNzaW9uQ2xpZW50KSB7XG4gIGdpdGh1YkNsaWVudC5hZGRDb21tZW50VG9EaXNjdXNzaW9uKGRpc2N1c3Npb25JZCwgQ0xPU0VfRk9SX1NUQUxFTkVTU19SRVNQT05TRV9URVhUKTtcbiAgZ2l0aHViQ2xpZW50LmNsb3NlRGlzY3Vzc2lvbkFzT3V0ZGF0ZWQoZGlzY3Vzc2lvbklkKTtcbn1cblxuZnVuY3Rpb24gY2xvc2VBbmRNYXJrQXNBbnN3ZXJlZChjb21tZW50OiBEaXNjdXNzaW9uQ29tbWVudEVkZ2UsIGRpc2N1c3Npb25JZDogc3RyaW5nLCBnaXRodWJDbGllbnQ6IEdpdGh1YkRpc2N1c3Npb25DbGllbnQpIHtcbiAgY29uc3QgYm9keVRleHQgPSBjb21tZW50Py5ub2RlPy5ib2R5VGV4dCE7XG4gIGNvbnN0IGNvbW1lbnRJZCA9IGNvbW1lbnQ/Lm5vZGU/LmlkITtcbiAgY29uc3QgdXBkYXRlZEFuc3dlclRleHQgPSBib2R5VGV4dC5yZXBsYWNlKFBST1BPU0VEX0FOU1dFUl9LRVlXT1JELCAnQW5zd2VyOiAnKTtcbiAgZ2l0aHViQ2xpZW50LnVwZGF0ZURpc2N1c3Npb25Db21tZW50KGNvbW1lbnRJZCwgdXBkYXRlZEFuc3dlclRleHQpO1xuICBnaXRodWJDbGllbnQubWFya0Rpc2N1c3Npb25Db21tZW50QXNBbnN3ZXIoY29tbWVudElkKTtcbiAgZ2l0aHViQ2xpZW50LmNsb3NlRGlzY3Vzc2lvbkFzUmVzb2x2ZWQoZGlzY3Vzc2lvbklkKTtcbn1cblxubWFpbigpO1xuIl19 +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyxxRUFBa0U7QUFDbEUsaUNBQXVLO0FBR3ZLLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2xGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBQyxDQUFDLElBQUksZ0JBQWdCLENBQUM7QUFDdkYsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pHLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDO0FBQ25JLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ25HLE1BQU0sd0JBQXdCLEdBQUcsMkJBQTJCLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN0RyxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN2RyxNQUFNLDBCQUEwQixHQUFHLDZCQUE2QixDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDMUcsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDaEcsTUFBTSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ25HLE1BQU0saUNBQWlDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztPQUM5RixrR0FBa0csQ0FBQztBQUN4RyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7T0FDckYsb0dBQW9HO1VBQ3JHLHVKQUF1SjtVQUN2Six1SEFBdUg7VUFDdkgsd0VBQXdFLENBQUM7QUFFN0UsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSwrQ0FBc0IsRUFBRSxDQUFDO0lBQ2xELE1BQU0sWUFBWSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDaEQsSUFBRztRQUNELElBQUksSUFBQSw0QkFBcUIsR0FBRSxFQUFFO1lBQzNCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsNkZBQTZGLEdBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNySixZQUFZLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUk7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO2FBQ2hGO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDeEM7S0FDRjtJQUNELE9BQU0sQ0FBQyxFQUFDO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBRSxDQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDakM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLGtCQUFrQixDQUFDLFlBQW9DO0lBQzNFLE1BQU0sd0JBQXdCLEdBQWEsTUFBTSxZQUFZLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztJQUNuRyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU87S0FDUjtJQUVELEtBQUssTUFBTSxvQkFBb0IsSUFBSSx3QkFBd0IsRUFBRTtRQUMzRCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxXQUFXLEdBQWtCLElBQUksQ0FBQztRQUV0QyxPQUFPLFdBQVcsRUFBRTtZQUNsQixNQUFNLFdBQVcsR0FBRyxNQUFNLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsV0FBWSxDQUFDLENBQUM7WUFDN0csV0FBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQy9DLFdBQVcsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVUsQ0FBQztZQUU1QyxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsQ0FBQyxLQUFNLEVBQUU7Z0JBQzNDLElBQUksWUFBWSxHQUFHLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxJQUFJLGFBQWEsR0FBRyxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsWUFBWSxpQkFBaUIsYUFBYSxrQkFBa0IsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNqSSxJQUFJLFlBQVksS0FBSyxFQUFFLElBQUksYUFBYSxLQUFLLENBQUMsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO29CQUMzRSxTQUFTO2lCQUNWO3FCQUNJLElBQUksVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxZQUFZLGtDQUFrQyxDQUFDLENBQUM7b0JBQ3hFLFNBQVM7aUJBQ1Y7cUJBQ0ksSUFBSSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSx3QkFBd0IsRUFBRTtvQkFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLFlBQVksb0NBQW9DLENBQUMsQ0FBQztvQkFDMUUsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNyRCxTQUFTO2lCQUNWO3FCQUNJLElBQUksVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxJQUFJLDBCQUEwQixFQUFFO29CQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsWUFBWSxrREFBa0QsQ0FBQyxDQUFDO29CQUN4RixZQUFZLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JELFNBQVM7aUJBQ1Y7cUJBQ0k7b0JBQ0gsTUFBTSxlQUFlLENBQUMsVUFBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO2lCQUNsRDthQUNGO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUE1Q0gsZ0RBNENHO0FBRUksS0FBSyxVQUFVLGVBQWUsQ0FBQyxVQUFrQyxFQUFFLFlBQW9DO0lBQzVHLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BFLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sWUFBWSxHQUFHLE1BQU0sWUFBWSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sUUFBUSxHQUFHLE1BQU0sWUFBWSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVyRixJQUFJLFlBQVksS0FBSyxDQUFDLEVBQUU7UUFDdEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBTSxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLFNBQVMsbUJBQW1CLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsWUFBWSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUM1RixTQUFTO2FBQ1Y7WUFDRCxJQUFJLENBQUMsSUFBQSxzQkFBZSxFQUFDLE9BQVEsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxTQUFTLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVFLFNBQVM7YUFDVjtpQkFDSTtnQkFDSCxJQUFJLElBQUEsK0JBQXdCLEVBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsb0VBQW9FLFlBQVksNERBQTRELENBQUMsQ0FBQztvQkFDeEosWUFBWSxDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMxRDtxQkFDSSxJQUFJLElBQUEsK0JBQXdCLEVBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0RBQWtELFlBQVksb0VBQW9FLENBQUMsQ0FBQztvQkFDOUksc0JBQXNCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztpQkFDN0Q7cUJBQ0ksSUFBSSxDQUFDLElBQUEsaUJBQVUsRUFBQyxPQUFPLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpRUFBaUUsU0FBUyxrQkFBa0IsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDdEgsWUFBWSxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxTQUFVLENBQUMsQ0FBQztpQkFDbkY7cUJBQ0ksSUFBSSxJQUFBLHFCQUFjLEVBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFO29CQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsWUFBWSxxRUFBcUUsQ0FBQyxDQUFDO29CQUMzRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzFEO3FCQUNJLElBQUksSUFBQSw0QkFBcUIsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTtvQkFDekQsSUFBSSx1QkFBdUIsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtRUFBbUUsWUFBWSxjQUFjLENBQUMsQ0FBQzt3QkFDekcsc0JBQXNCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztxQkFDN0Q7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxtRUFBbUUsWUFBWSxpQkFBaUIsQ0FBQyxDQUFDO3dCQUM1RywyQkFBMkIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO2FBQ0Y7U0FDRjtRQUFBLENBQUM7S0FDSDtTQUNJO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsWUFBWSxxQkFBcUIsQ0FBQyxDQUFDO0tBQ25GO0FBQ0gsQ0FBQztBQWxERCwwQ0FrREM7QUFFRCxTQUFTLDJCQUEyQixDQUFDLFlBQW9CLEVBQUUsWUFBb0M7SUFDN0YsWUFBWSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3JGLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxPQUE4QixFQUFFLFlBQW9CLEVBQUUsWUFBb0M7SUFDeEgsTUFBTSxRQUFRLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFTLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFHLENBQUM7SUFDckMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hGLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNuRSxZQUFZLENBQUMsNkJBQTZCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9jdG9raXQgZnJvbSAnQG9jdG9raXQvZ3JhcGhxbC1zY2hlbWEnO1xuaW1wb3J0ICogYXMgY29yZSBmcm9tICdAYWN0aW9ucy9jb3JlJztcbmltcG9ydCAqIGFzIGdpdGh1YiBmcm9tICdAYWN0aW9ucy9naXRodWInO1xuaW1wb3J0IHsgR2l0aHViRGlzY3Vzc2lvbkNsaWVudCB9IGZyb20gXCIuL0dpdGh1YkRpc2N1c3Npb25DbGllbnRcIjtcbmltcG9ydCB7IGNvbnRhaW5zS2V5d29yZCwgY29udGFpbnNOZWdhdGl2ZVJlYWN0aW9uLCBjb250YWluc1Bvc2l0aXZlUmVhY3Rpb24sIGV4Y2VlZHNEYXlzVW50aWxTdGFsZSwgaGFzUmVwbGllcywgdHJpZ2dlcmVkQnlOZXdDb21tZW50LCBoYXNOb25Cb3RSZXBseSB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBEaXNjdXNzaW9uQ29tbWVudEVkZ2UgfSBmcm9tICcuL2dlbmVyYXRlZC9ncmFwaHFsJztcblxuY29uc3QgUEFHRV9TSVpFID0gcGFyc2VJbnQoY29yZS5nZXRJbnB1dCgncGFnZS1zaXplJywgeyByZXF1aXJlZDogZmFsc2UgfSkpIHx8IDUwO1xuY29uc3QgR0lUSFVCX0JPVCA9IGNvcmUuZ2V0SW5wdXQoJ2dpdGh1Yi1ib3QnLCB7IHJlcXVpcmVkOiBmYWxzZX0pIHx8ICdnaXRodWItYWN0aW9ucyc7XG5jb25zdCBEQVlTX1VOVElMX1NUQUxFID0gcGFyc2VGbG9hdChjb3JlLmdldElucHV0KCdkYXlzLXVudGlsLXN0YWxlJywgeyByZXF1aXJlZDogZmFsc2UgfSkpIHx8IDc7XG5jb25zdCBQUk9QT1NFRF9BTlNXRVJfS0VZV09SRCA9IGNvcmUuZ2V0SW5wdXQoJ3Byb3Bvc2VkLWFuc3dlci1rZXl3b3JkJywgeyByZXF1aXJlZDogZmFsc2UgfSkgfHwgJ0BnaXRodWItYWN0aW9ucyBwcm9wb3NlZC1hbnN3ZXInO1xuY29uc3QgY2xvc2VMb2NrZWREaXNjdXNzaW9uc0lucHV0ID0gY29yZS5nZXRJbnB1dCgnY2xvc2UtbG9ja2VkLWRpc2N1c3Npb25zJywgeyByZXF1aXJlZDogZmFsc2UgfSk7XG5jb25zdCBDTE9TRV9MT0NLRURfRElTQ1VTU0lPTlMgPSBjbG9zZUxvY2tlZERpc2N1c3Npb25zSW5wdXQudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZTtcbmNvbnN0IGNsb3NlQW5zd2VyZWREaXNjdXNzaW9uc0lucHV0ID0gY29yZS5nZXRJbnB1dCgnY2xvc2UtYW5zd2VyZWQtZGlzY3Vzc2lvbnMnLCB7IHJlcXVpcmVkOiBmYWxzZSB9KTtcbmNvbnN0IENMT1NFX0FOU1dFUkVEX0RJU0NVU1NJT05TID0gY2xvc2VBbnN3ZXJlZERpc2N1c3Npb25zSW5wdXQudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZTtcbmNvbnN0IGNsb3NlU3RhbGVBc0Fuc3dlcmVkSW5wdXQgPSBjb3JlLmdldElucHV0KCdjbG9zZS1zdGFsZS1hcy1hbnN3ZXJlZCcsIHsgcmVxdWlyZWQ6IGZhbHNlIH0pO1xuY29uc3QgQ0xPU0VfU1RBTEVfQVNfQU5TV0VSRUQgPSBjbG9zZVN0YWxlQXNBbnN3ZXJlZElucHV0LnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScgPyBmYWxzZSA6IHRydWU7XG5jb25zdCBDTE9TRV9GT1JfU1RBTEVORVNTX1JFU1BPTlNFX1RFWFQgPSBjb3JlLmdldElucHV0KCdzdGFsZS1yZXNwb25zZS10ZXh0JywgeyByZXF1aXJlZDogZmFsc2UgfSlcbiAgfHwgJ0Nsb3NpbmcgdGhlIGRpc2N1c3Npb24gZm9yIHN0YWxlbmVzcy4gUGxlYXNlIG9wZW4gYSBuZXcgZGlzY3Vzc2lvbiBpZiB5b3UgaGF2ZSBmdXJ0aGVyIGNvbmNlcm5zLic7XG5jb25zdCBJTlNUUlVDVElPTlNfVEVYVCA9IGNvcmUuZ2V0SW5wdXQoJ2luc3RydWN0aW9ucy1yZXNwb25zZS10ZXh0JywgeyByZXF1aXJlZDogZmFsc2UgfSlcbiAgfHwgJ0hlbGxvISBBIHRlYW0gbWVtYmVyIGhhcyBtYXJrZWQgdGhlIGFib3ZlIGNvbW1lbnQgYXMgdGhlIGxpa2VseSBhbnN3ZXIgdG8gdGhpcyBkaXNjdXNzaW9uIHRocmVhZC4gJ1xuICArICdcXG4gXFxuICogSWYgeW91IGFncmVlLCBwbGVhc2UgdXB2b3RlIHRoYXQgY29tbWVudCwgb3IgY2xpY2sgb24gTWFyayBhcyBhbnN3ZXIuIEkgd2lsbCBhdXRvbWF0aWNhbGx5IG1hcmsgdGhlIGNvbW1lbnQgYXMgdGhlIGFuc3dlciBuZXh0IHRpbWUgSSBjaGVjay4gJ1xuICArICdcXG4gXFxuICogSWYgdGhpcyBhbnN3ZXIgZG9lcyBub3QgaGVscCB5b3UsIHBsZWFzZSBkb3dudm90ZSB0aGUgYW5zd2VyIGluc3RlYWQgYW5kIGxldCB1cyBrbm93IHdoeSBpdCB3YXMgbm90IGhlbHBmdWwuICdcbiAgKyAnSSB3aWxsIGFkZCBhIGxhYmVsIHRvIHRoaXMgZGlzY3Vzc2lvbiB0byBnYWluIGF0dGVudGlvbiBmcm9tIHRoZSB0ZWFtLic7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGdpdGh1YkNsaWVudCA9IG5ldyBHaXRodWJEaXNjdXNzaW9uQ2xpZW50KCk7XG4gIGF3YWl0IGdpdGh1YkNsaWVudC5pbml0aWFsaXplQXR0ZW50aW9uTGFiZWxJZCgpO1xuICB0cnl7XG4gICAgaWYgKHRyaWdnZXJlZEJ5TmV3Q29tbWVudCgpKSB7XG4gICAgICBpZiAoZ2l0aHViLmNvbnRleHQucGF5bG9hZC5jb21tZW50Py5ib2R5LmluZGV4T2YoUFJPUE9TRURfQU5TV0VSX0tFWVdPUkQpID49IDApIHtcbiAgICAgICAgY29yZS5pbmZvKCdDb21tZW50IGNyZWF0ZWQgd2l0aCBwcm9wb3NlZCBhbnN3ZXIga2V5d29yZC4gQWRkaW5nIGluc3R1Y3Rpb25zIHJlcGx5IHRvIGNvbW1lbnQgd2l0aCBpZDogJysgZ2l0aHViLmNvbnRleHQucGF5bG9hZC5kaXNjdXNzaW9uIS5ub2RlX2lkKTtcbiAgICAgICAgZ2l0aHViQ2xpZW50LmFkZEluc3RydWN0aW9uVGV4dFJlcGx5KElOU1RSVUNUSU9OU19URVhULCBnaXRodWIuY29udGV4dC5wYXlsb2FkLmRpc2N1c3Npb24hLm5vZGVfaWQsIGdpdGh1Yi5jb250ZXh0LnBheWxvYWQuY29tbWVudCEubm9kZV9pZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb3JlLmluZm8oJ0NvbW1lbnQgY3JlYXRlZCB3aXRob3V0IHByb3Bvc2VkIGFuc3dlciBrZXl3b3JkLiBObyBhY3Rpb24gbmVlZGVkJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHByb2Nlc3NEaXNjdXNzaW9ucyhnaXRodWJDbGllbnQpO1xuICAgIH1cbiAgfVxuICBjYXRjaChlKXtcbiAgICBjb3JlLmluZm8oKGUgYXMgRXJyb3IpLm1lc3NhZ2UpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzRGlzY3Vzc2lvbnMoZ2l0aHViQ2xpZW50OiBHaXRodWJEaXNjdXNzaW9uQ2xpZW50KSB7XG4gIGNvbnN0IGRpc2N1c3Npb25DYXRlZ29yeUlETGlzdDogc3RyaW5nW10gPSBhd2FpdCBnaXRodWJDbGllbnQuZ2V0QW5zd2VyYWJsZURpc2N1c3Npb25DYXRlZ29yeUlEcygpO1xuICBpZiAoZGlzY3Vzc2lvbkNhdGVnb3J5SURMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIGNvcmUuaW5mbygnTm8gYW5zd2VyYWJsZSBkaXNjdXNzaW9ucyBmb3VuZC4gRXhpdGluZy4nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3IgKGNvbnN0IGRpc2N1c3Npb25DYXRlZ29yeUlEIG9mIGRpc2N1c3Npb25DYXRlZ29yeUlETGlzdCkge1xuICAgIGxldCBoYXNOZXh0UGFnZSA9IHRydWU7XG4gICAgbGV0IGFmdGVyQ3Vyc29yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIHdoaWxlIChoYXNOZXh0UGFnZSkge1xuICAgICAgY29uc3QgZGlzY3Vzc2lvbnMgPSBhd2FpdCBnaXRodWJDbGllbnQuZ2V0RGlzY3Vzc2lvbnNNZXRhRGF0YShkaXNjdXNzaW9uQ2F0ZWdvcnlJRCwgUEFHRV9TSVpFLCBhZnRlckN1cnNvciEpO1xuICAgICAgaGFzTmV4dFBhZ2UgPSBkaXNjdXNzaW9ucy5wYWdlSW5mby5oYXNOZXh0UGFnZTtcbiAgICAgIGFmdGVyQ3Vyc29yID0gZGlzY3Vzc2lvbnMucGFnZUluZm8uZW5kQ3Vyc29yITtcblxuICAgICAgICBmb3IgKGNvbnN0IGRpc2N1c3Npb24gb2YgZGlzY3Vzc2lvbnMuZWRnZXMhKSB7XG4gICAgICAgICAgdmFyIGRpc2N1c3Npb25JZCA9IGRpc2N1c3Npb24/Lm5vZGU/LmlkID8gZGlzY3Vzc2lvbj8ubm9kZT8uaWQgOiBcIlwiO1xuICAgICAgICAgIHZhciBkaXNjdXNzaW9uTnVtID0gZGlzY3Vzc2lvbj8ubm9kZT8ubnVtYmVyID8gZGlzY3Vzc2lvbi5ub2RlLm51bWJlciA6IDA7XG4gICAgICAgICAgY29yZS5kZWJ1ZyhgUHJvY2Vzc2luZyBkaXNjdXNzaW9uSWQ6ICR7ZGlzY3Vzc2lvbklkfSB3aXRoIG51bWJlcjogJHtkaXNjdXNzaW9uTnVtfSBhbmQgYm9keVRleHQ6ICR7ZGlzY3Vzc2lvbj8ubm9kZT8uYm9keVRleHR9YCk7XG4gICAgICAgICAgaWYgKGRpc2N1c3Npb25JZCA9PT0gXCJcIiB8fCBkaXNjdXNzaW9uTnVtID09PSAwKSB7XG4gICAgICAgICAgICBjb3JlLndhcm5pbmcoYENhbiBub3QgcHJvY2VlZCBjaGVja2luZyBkaXNjdXNzaW9uLCBkaXNjdXNzaW9uSWQgaXMgbnVsbCFgKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmIChkaXNjdXNzaW9uPy5ub2RlPy5jbG9zZWQpIHtcbiAgICAgICAgICAgIGNvcmUuaW5mbyhgRGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gaXMgY2xvc2VkLCBzbyBubyBhY3Rpb24gbmVlZGVkLmApO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGRpc2N1c3Npb24/Lm5vZGU/LmxvY2tlZCAmJiBDTE9TRV9MT0NLRURfRElTQ1VTU0lPTlMpIHtcbiAgICAgICAgICAgIGNvcmUuaW5mbyhgRGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gaXMgbG9ja2VkLCBjbG9zaW5nIGl0IGFzIHJlc29sdmVkYCk7XG4gICAgICAgICAgICBnaXRodWJDbGllbnQuY2xvc2VEaXNjdXNzaW9uQXNSZXNvbHZlZChkaXNjdXNzaW9uSWQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGRpc2N1c3Npb24/Lm5vZGU/LmFuc3dlciAhPSBudWxsICYmIENMT1NFX0FOU1dFUkVEX0RJU0NVU1NJT05TKSB7XG4gICAgICAgICAgICBjb3JlLmluZm8oYERpc2N1c3Npb24gJHtkaXNjdXNzaW9uSWR9IGlzIGFscmVhZHkgYW5zd2VyZWQsIHNvIGNsb3NpbmcgaXQgYXMgcmVzb2x2ZWQuYCk7XG4gICAgICAgICAgICBnaXRodWJDbGllbnQuY2xvc2VEaXNjdXNzaW9uQXNSZXNvbHZlZChkaXNjdXNzaW9uSWQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgcHJvY2Vzc0NvbW1lbnRzKGRpc2N1c3Npb24hLCBnaXRodWJDbGllbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0NvbW1lbnRzKGRpc2N1c3Npb246IG9jdG9raXQuRGlzY3Vzc2lvbkVkZ2UsIGdpdGh1YkNsaWVudDogR2l0aHViRGlzY3Vzc2lvbkNsaWVudCkge1xuICBjb25zdCBkaXNjdXNzaW9uSWQgPSBkaXNjdXNzaW9uLm5vZGU/LmlkID8gZGlzY3Vzc2lvbi5ub2RlPy5pZCA6IFwiXCI7XG4gIGNvbnN0IGRpc2N1c3Npb25OdW0gPSBkaXNjdXNzaW9uLm5vZGU/Lm51bWJlciA/IGRpc2N1c3Npb24ubm9kZT8ubnVtYmVyIDogMDtcbiAgY29uc3QgY29tbWVudENvdW50ID0gYXdhaXQgZ2l0aHViQ2xpZW50LmdldERpc2N1c3Npb25Db21tZW50Q291bnQoZGlzY3Vzc2lvbk51bSk7XG4gIGNvbnN0IGNvbW1lbnRzID0gYXdhaXQgZ2l0aHViQ2xpZW50LmdldENvbW1lbnRzTWV0YURhdGEoZGlzY3Vzc2lvbk51bSwgY29tbWVudENvdW50KTtcblxuICBpZiAoY29tbWVudENvdW50ICE9PSAwKSB7XG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzLmVkZ2VzISkge1xuICAgICAgY29uc3QgY29tbWVudElkID0gY29tbWVudD8ubm9kZT8uaWQ7XG4gICAgICBjb3JlLmRlYnVnKGBQcm9jZXNzaW5nIGNvbW1lbnQgJHtjb21tZW50SWR9IHdpdGggYm9keXRleHQ6ICR7Y29tbWVudD8ubm9kZT8uYm9keVRleHR9YCk7XG4gICAgICBpZiAoIWNvbW1lbnQ/Lm5vZGU/LmJvZHlUZXh0IHx8ICFjb21tZW50Lm5vZGUuaWQpIHtcbiAgICAgICAgY29yZS53YXJuaW5nKGBDb21tZW50IGJvZHkgb3IgaWQgaXMgbnVsbCBpbiBkaXNjdXNzaW9uICR7ZGlzY3Vzc2lvbklkfSwgc2tpcHBpbmcgY29tbWVudCFgKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIWNvbnRhaW5zS2V5d29yZChjb21tZW50ISwgUFJPUE9TRURfQU5TV0VSX0tFWVdPUkQpKSB7XG4gICAgICAgIGNvcmUuZGVidWcoYE5vIGFuc3dlciBwcm9wb3NlZCBvbiBjb21tZW50ICR7Y29tbWVudElkfSwgbm8gYWN0aW9uIG5lZWRlZCFgKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKGNvbnRhaW5zTmVnYXRpdmVSZWFjdGlvbihjb21tZW50KSkge1xuICAgICAgICAgIGNvcmUuaW5mbyhgTmVnYXRpdmUgcmVhY3Rpb24gcmVjZWl2ZWQuIEFkZGluZyBhdHRlbnRpb24gbGFiZWwgdG8gZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gdG8gcmVjZWl2ZSBmdXJ0aGVyIGF0dGVudGlvbiBmcm9tIGEgcmVwb3NpdG9yeSBtYWludGFpbmVyYCk7XG4gICAgICAgICAgZ2l0aHViQ2xpZW50LmFkZEF0dGVudGlvbkxhYmVsVG9EaXNjdXNzaW9uKGRpc2N1c3Npb25JZCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY29udGFpbnNQb3NpdGl2ZVJlYWN0aW9uKGNvbW1lbnQpKSB7XG4gICAgICAgICAgY29yZS5pbmZvKGBQb3NpdGl2ZSByZWFjdGlvbiByZWNlaXZlZC4gTWFya2luZyBkaXNjdXNzaW9uICR7ZGlzY3Vzc2lvbklkfSBhcyBhbnN3ZXJlZCwgYW5kIGVkaXRpbmcgYW5zd2VyIHRvIHJlbW92ZSBwcm9wb3NlZCBhbnN3ZXIga2V5d29yZGApO1xuICAgICAgICAgIGNsb3NlQW5kTWFya0FzQW5zd2VyZWQoY29tbWVudCwgZGlzY3Vzc2lvbklkLCBnaXRodWJDbGllbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFoYXNSZXBsaWVzKGNvbW1lbnQpKSB7XG4gICAgICAgICAgY29yZS5pbmZvKGBTaW5jZSB0aGlzIGhhcyBubyByZXBseSwgYWRkaW5nIGluc3RydWN0aW9ucyByZXBseSB0byBjb21tZW50ICR7Y29tbWVudElkfSBpbiBkaXNjdXNzaW9uICR7ZGlzY3Vzc2lvbklkfWApO1xuICAgICAgICAgIGdpdGh1YkNsaWVudC5hZGRJbnN0cnVjdGlvblRleHRSZXBseShJTlNUUlVDVElPTlNfVEVYVCwgZGlzY3Vzc2lvbklkLCBjb21tZW50SWQhKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChoYXNOb25Cb3RSZXBseShjb21tZW50LCBHSVRIVUJfQk9UKSkge1xuICAgICAgICAgIGNvcmUuaW5mbyhgRGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gaGFzIGEgcmVwbHksIGJ1dCBub3QgYW4gaW5zdHJ1Y3Rpb25zIHJlcGx5LiBBZGRpbmcgYXR0ZW50aW9uIGxhYmVsYCk7XG4gICAgICAgICAgZ2l0aHViQ2xpZW50LmFkZEF0dGVudGlvbkxhYmVsVG9EaXNjdXNzaW9uKGRpc2N1c3Npb25JZCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXhjZWVkc0RheXNVbnRpbFN0YWxlKGNvbW1lbnQsIERBWVNfVU5USUxfU1RBTEUpKSB7XG4gICAgICAgICAgaWYgKENMT1NFX1NUQUxFX0FTX0FOU1dFUkVEKSB7XG4gICAgICAgICAgICBjb3JlLmluZm8oYE5vIG9uZSBoYXMgcmVzcG9uZGVkIG9yIHByb3ZpZGVkIGEgcmVhY3Rpb24sIGNsb3NpbmcgZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gYXMgYW5zd2VyZWRgKTtcbiAgICAgICAgICAgIGNsb3NlQW5kTWFya0FzQW5zd2VyZWQoY29tbWVudCwgZGlzY3Vzc2lvbklkLCBnaXRodWJDbGllbnQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb3JlLmluZm8oYE5vIG9uZSBoYXMgcmVzcG9uZGVkIG9yIHByb3ZpZGVkIGEgcmVhY3Rpb24sIGNsb3NpbmcgZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0gd2l0aCBhIGNvbW1lbnRgKTtcbiAgICAgICAgICAgIGNsb3NlRGlzY3Vzc2lvbkZvclN0YWxlbmVzcyhkaXNjdXNzaW9uSWQsIGdpdGh1YkNsaWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICBlbHNlIHtcbiAgICBjb3JlLmRlYnVnKGBObyBjb21tZW50cyBmb3VuZCBmb3IgZGlzY3Vzc2lvbiAke2Rpc2N1c3Npb25JZH0sIE5vIGFjdGlvbiBuZWVkZWQhYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvc2VEaXNjdXNzaW9uRm9yU3RhbGVuZXNzKGRpc2N1c3Npb25JZDogc3RyaW5nLCBnaXRodWJDbGllbnQ6IEdpdGh1YkRpc2N1c3Npb25DbGllbnQpIHtcbiAgZ2l0aHViQ2xpZW50LmFkZENvbW1lbnRUb0Rpc2N1c3Npb24oZGlzY3Vzc2lvbklkLCBDTE9TRV9GT1JfU1RBTEVORVNTX1JFU1BPTlNFX1RFWFQpO1xuICBnaXRodWJDbGllbnQuY2xvc2VEaXNjdXNzaW9uQXNPdXRkYXRlZChkaXNjdXNzaW9uSWQpO1xufVxuXG5mdW5jdGlvbiBjbG9zZUFuZE1hcmtBc0Fuc3dlcmVkKGNvbW1lbnQ6IERpc2N1c3Npb25Db21tZW50RWRnZSwgZGlzY3Vzc2lvbklkOiBzdHJpbmcsIGdpdGh1YkNsaWVudDogR2l0aHViRGlzY3Vzc2lvbkNsaWVudCkge1xuICBjb25zdCBib2R5VGV4dCA9IGNvbW1lbnQ/Lm5vZGU/LmJvZHlUZXh0ITtcbiAgY29uc3QgY29tbWVudElkID0gY29tbWVudD8ubm9kZT8uaWQhO1xuICBjb25zdCB1cGRhdGVkQW5zd2VyVGV4dCA9IGJvZHlUZXh0LnJlcGxhY2UoUFJPUE9TRURfQU5TV0VSX0tFWVdPUkQsICdBbnN3ZXI6ICcpO1xuICBnaXRodWJDbGllbnQudXBkYXRlRGlzY3Vzc2lvbkNvbW1lbnQoY29tbWVudElkLCB1cGRhdGVkQW5zd2VyVGV4dCk7XG4gIGdpdGh1YkNsaWVudC5tYXJrRGlzY3Vzc2lvbkNvbW1lbnRBc0Fuc3dlcihjb21tZW50SWQpO1xuICBnaXRodWJDbGllbnQuY2xvc2VEaXNjdXNzaW9uQXNSZXNvbHZlZChkaXNjdXNzaW9uSWQpO1xufVxuXG5tYWluKCk7XG4iXX0= })(); module.exports = __webpack_exports__; diff --git a/src/index.ts b/src/index.ts index f8cff4e..c96f9f8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -26,15 +26,20 @@ const INSTRUCTIONS_TEXT = core.getInput('instructions-response-text', { required async function main() { const githubClient = new GithubDiscussionClient(); await githubClient.initializeAttentionLabelId(); - if (triggeredByNewComment()) { - if (github.context.payload.comment?.body.indexOf(PROPOSED_ANSWER_KEYWORD) >= 0) { - core.info('Comment created with proposed answer keyword. Adding instuctions reply to comment'); - githubClient.addInstructionTextReply(INSTRUCTIONS_TEXT, github.context.payload.discussion!.node_id, github.context.payload.comment!.node_id); + try{ + if (triggeredByNewComment()) { + if (github.context.payload.comment?.body.indexOf(PROPOSED_ANSWER_KEYWORD) >= 0) { + core.info('Comment created with proposed answer keyword. Adding instuctions reply to comment with id: '+ github.context.payload.discussion!.node_id); + githubClient.addInstructionTextReply(INSTRUCTIONS_TEXT, github.context.payload.discussion!.node_id, github.context.payload.comment!.node_id); + } else { + core.info('Comment created without proposed answer keyword. No action needed'); + } } else { - core.info('Comment created without proposed answer keyword. No action needed'); + await processDiscussions(githubClient); } - } else { - await processDiscussions(githubClient); + } + catch(e){ + core.info((e as Error).message); } } @@ -53,36 +58,36 @@ export async function processDiscussions(githubClient: GithubDiscussionClient) { const discussions = await githubClient.getDiscussionsMetaData(discussionCategoryID, PAGE_SIZE, afterCursor!); hasNextPage = discussions.pageInfo.hasNextPage; afterCursor = discussions.pageInfo.endCursor!; - - for (const discussion of discussions.edges!) { - var discussionId = discussion?.node?.id ? discussion?.node?.id : ""; - var discussionNum = discussion?.node?.number ? discussion.node.number : 0; - core.debug(`Processing discussionId: ${discussionId} with number: ${discussionNum} and bodyText: ${discussion?.node?.bodyText}`); - if (discussionId === "" || discussionNum === 0) { - core.warning(`Can not proceed checking discussion, discussionId is null!`); - continue; - } - else if (discussion?.node?.closed) { - core.debug(`Discussion ${discussionId} is closed, so no action needed.`); - continue; - } - else if (discussion?.node?.locked && CLOSE_LOCKED_DISCUSSIONS) { - core.info(`Discussion ${discussionId} is locked, closing it as resolved`); - githubClient.closeDiscussionAsResolved(discussionId); - continue; - } - else if (discussion?.node?.answer != null && CLOSE_ANSWERED_DISCUSSIONS) { - core.info(`Discussion ${discussionId} is already answered, so closing it as resolved.`); - githubClient.closeDiscussionAsResolved(discussionId); - continue; - } - else { - await processComments(discussion!, githubClient); + + for (const discussion of discussions.edges!) { + var discussionId = discussion?.node?.id ? discussion?.node?.id : ""; + var discussionNum = discussion?.node?.number ? discussion.node.number : 0; + core.debug(`Processing discussionId: ${discussionId} with number: ${discussionNum} and bodyText: ${discussion?.node?.bodyText}`); + if (discussionId === "" || discussionNum === 0) { + core.warning(`Can not proceed checking discussion, discussionId is null!`); + continue; + } + else if (discussion?.node?.closed) { + core.info(`Discussion ${discussionId} is closed, so no action needed.`); + continue; + } + else if (discussion?.node?.locked && CLOSE_LOCKED_DISCUSSIONS) { + core.info(`Discussion ${discussionId} is locked, closing it as resolved`); + githubClient.closeDiscussionAsResolved(discussionId); + continue; + } + else if (discussion?.node?.answer != null && CLOSE_ANSWERED_DISCUSSIONS) { + core.info(`Discussion ${discussionId} is already answered, so closing it as resolved.`); + githubClient.closeDiscussionAsResolved(discussionId); + continue; + } + else { + await processComments(discussion!, githubClient); + } } } } } -} export async function processComments(discussion: octokit.DiscussionEdge, githubClient: GithubDiscussionClient) { const discussionId = discussion.node?.id ? discussion.node?.id : ""; From 376392c33bba04a6e5a78b58c406cb3f32bffa5f Mon Sep 17 00:00:00 2001 From: Shailja Khurana Date: Thu, 7 Sep 2023 23:32:54 +0000 Subject: [PATCH 2/2] added try catch blocks --- src/GithubDiscussionClient.ts | 138 ++++++++++++++++++++-------------- 1 file changed, 82 insertions(+), 56 deletions(-) diff --git a/src/GithubDiscussionClient.ts b/src/GithubDiscussionClient.ts index f4ea480..a02b7ac 100644 --- a/src/GithubDiscussionClient.ts +++ b/src/GithubDiscussionClient.ts @@ -13,13 +13,19 @@ export class GithubDiscussionClient { private attentionLabelId: string; constructor() { - const githubToken = core.getInput('github-token', { required: false }) || process.env.GITHUB_TOKEN; - if (!githubToken) { - throw new Error('You must provide a GitHub token as an input to this action, or as a `GITHUB_TOKEN` env variable. See the README for more info.'); - } this.owner = github.context.repo.owner; this.repo = github.context.repo.repo; - this.githubToken = githubToken; + + try { + const githubToken = core.getInput('github-token', { required: false }) || process.env.GITHUB_TOKEN; + if (!githubToken) { + throw new Error('You must provide a GitHub token as an input to this action, or as a `GITHUB_TOKEN` env variable. See the README for more info.'); + } + this.githubToken = githubToken; + } + catch(error) { + core.info("Error reported in Provided Github Token"+ error); + } } public get githubClient(): ApolloClient { @@ -49,79 +55,99 @@ export class GithubDiscussionClient { } public async initializeAttentionLabelId() { - if (!this.attentionLabelId) { - const attentionLabel = core.getInput('attention-label', { required: false }) || 'attention'; - const result = await this.githubClient.query({ - query: GetLabelId, + try{ + if (!this.attentionLabelId) { + const attentionLabel = core.getInput('attention-label', { required: false }) || 'attention'; + const result = await this.githubClient.query({ + query: GetLabelId, + variables: { + owner: this.owner, + name: this.repo, + labelName: attentionLabel + } + }); + + if (!result.data.repository?.label?.id) { + throw new Error(`Couldn't find label ${attentionLabel} in repository. Please create this label and try again.`); + } + + this.attentionLabelId = result.data.repository?.label?.id; + } + } + catch(error) { + core.info("Error reported in getting the Attention label " +error); + } + } + + public async getTotalDiscussionCount(categoryID: string): Promise { + try { + const resultCountObject = await this.githubClient.query({ + query: GetDiscussionCount, variables: { owner: this.owner, name: this.repo, - labelName: attentionLabel - } + categoryId: categoryID + }, }); - if (!result.data.repository?.label?.id) { - throw new Error(`Couldn't find label ${attentionLabel} in repository. Please create this label and try again.`); + if (resultCountObject.error) { + core.warning(`Error in reading discussions count for discussions category ${categoryID}: ${resultCountObject.error}`); } - this.attentionLabelId = result.data.repository?.label?.id; + core.debug(`Total discussion count for Category ${categoryID}: ${resultCountObject.data.repository?.discussions.totalCount}`); + return resultCountObject.data.repository?.discussions.totalCount!; } - } - - public async getTotalDiscussionCount(categoryID: string): Promise { - const resultCountObject = await this.githubClient.query({ - query: GetDiscussionCount, - variables: { - owner: this.owner, - name: this.repo, - categoryId: categoryID - }, - }); - - if (resultCountObject.error) { - core.warning(`Error in reading discussions count for discussions category ${categoryID}: ${resultCountObject.error}`); + catch(error) { + core.info("Error reported in Getting total discussion count "+error); return 0; } - - core.debug(`Total discussion count for Category ${categoryID}: ${resultCountObject.data.repository?.discussions.totalCount}`); - return resultCountObject.data.repository?.discussions.totalCount!; } public async getDiscussionCommentCount(discussionNum: number): Promise { - const result = await this.githubClient.query({ - query: GetDiscussionCommentCount, - variables: { - owner: this.owner, - name: this.repo, - num: discussionNum - }, - }); + try { + const result = await this.githubClient.query({ + query: GetDiscussionCommentCount, + variables: { + owner: this.owner, + name: this.repo, + num: discussionNum + }, + }); - if (result.error) { - core.warning(`Error retrieving comment count for discussion ${discussionNum}: ${result.error}`); + if (result.error) { + core.warning(`Error retrieving comment count for discussion ${discussionNum}: ${result.error}`); + } + + return result.data.repository?.discussion?.comments.totalCount!; + } + catch(error) { + core.info(`Error ${error}reported in getting Discussion comment count for discussion number: ${discussionNum} `); return 0; } - - return result.data.repository?.discussion?.comments.totalCount!; } public async getCommentsMetaData(discussionNum: number, commentCount: number): Promise { - const result = await this.githubClient.query({ - query: GetCommentMetaData, - variables: { - owner: this.owner, - name: this.repo, - discussionNumber: discussionNum, - commentCount: commentCount, - }, - }) + try{ + const result = await this.githubClient.query({ + query: GetCommentMetaData, + variables: { + owner: this.owner, + name: this.repo, + discussionNumber: discussionNum, + commentCount: commentCount, + }, + }) - if (result.error) { - core.warning(`Error retrieving comment metadata for discussion ${discussionNum}: ${result.error}`); + if (result.error) { + core.warning(`Error retrieving comment metadata for discussion ${discussionNum}: ${result.error}`); + } + + return result.data.repository?.discussion?.comments as DiscussionCommentConnection; + } + catch(error) { + core.info(`Error ${error} reported in getting comments metadata for the discussion ${discussionNum} `); return {} as DiscussionCommentConnection; } - - return result.data.repository?.discussion?.comments as DiscussionCommentConnection; } public async getDiscussionsMetaData(categoryID: string, pageSize: number, afterCursor: string): Promise {