@growsober/sdk 1.0.0 → 1.0.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.
@@ -304,4 +304,4 @@ function useCreateReflection(options) {
304
304
  ...options,
305
305
  });
306
306
  }
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvbXV0YXRpb25zL3N1cHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0EsNENBd0JDO0FBb0JELDRDQXNCQztBQWtCRCw0Q0FzQkM7QUFrQkQsb0NBdUJDO0FBbUJELHdDQXNCQztBQW9CRCx3Q0FnQ0M7QUFjRCx3Q0FrQkM7QUFjRCw0Q0FtQkM7QUFrQkQsa0RBc0JDO0FBcllELHVEQUsrQjtBQUMvQixzQ0FBeUM7QUFlekMsZ0RBQWlEO0FBRWpELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQTBCLEVBQWlDLEVBQUU7WUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QyxpREFBaUQ7WUFDakQsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFB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cUJBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFdkUsb0NBQW9DO1FBQ3RDLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlTXV0YXRpb24sXG4gIHVzZVF1ZXJ5Q2xpZW50LFxuICBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIFVzZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgRGFpbHlDaGVja0luUmVzcG9uc2UsXG4gIENyZWF0ZUNoZWNrSW5SZXF1ZXN0LFxuICBVcGRhdGVDaGVja0luUmVxdWVzdCxcbiAgTW9vZExvZ1Jlc3BvbnNlLFxuICBDcmVhdGVNb29kTG9nUmVxdWVzdCxcbiAgV2luUmVzcG9uc2UsXG4gIENyZWF0ZVdpblJlcXVlc3QsXG4gIEhhYml0UmVzcG9uc2UsXG4gIENyZWF0ZUhhYml0UmVxdWVzdCxcbiAgVXBkYXRlSGFiaXRSZXF1ZXN0LFxuICBSZWZsZWN0aW9uUmVzcG9uc2UsXG4gIENyZWF0ZVJlZmxlY3Rpb25SZXF1ZXN0LFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBzdXBwb3J0S2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvc3VwcG9ydCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ3JlYXRlIGEgZGFpbHkgY2hlY2staW5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZSwgaXNQZW5kaW5nIH0gPSB1c2VDcmVhdGVDaGVja0luKCk7XG4gKlxuICogbXV0YXRlKHtcbiAqICAgbW9vZDogOCxcbiAqICAgbm90ZXM6ICdGZWVsaW5nIGdyZWF0IHRvZGF5IScsXG4gKiAgIHRyaWdnZXJzOiBbJ3N0cmVzcyddLFxuICogICBncmF0aXR1ZGU6IFsnTXkgc3VwcG9ydCBncm91cCddXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlQ2hlY2tJbihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPERhaWx5Q2hlY2tJblJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlQ2hlY2tJblJlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxEYWlseUNoZWNrSW5SZXNwb25zZSwgRXJyb3IsIENyZWF0ZUNoZWNrSW5SZXF1ZXN0PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBDcmVhdGVDaGVja0luUmVxdWVzdCk6IFByb21pc2U8RGFpbHlDaGVja0luUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9zdXBwb3J0L2NoZWNrLWlucycsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChuZXdDaGVja0luLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgY2hlY2staW5zIGxpc3QgYW5kIHRvZGF5J3MgY2hlY2staW5cbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmNoZWNrSW5zKCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0luVG9kYXkoKSB9KTtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmNoZWNrSW5TdHJlYWsoKSB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBVcGRhdGUgYSBkYWlseSBjaGVjay1pblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlLCBpc1BlbmRpbmcgfSA9IHVzZVVwZGF0ZUNoZWNrSW4oKTtcbiAqXG4gKiBtdXRhdGUoe1xuICogICBpZDogJ2NoZWNraW4tMTIzJyxcbiAqICAgZGF0YToge1xuICogICAgIG1vb2Q6IDQsXG4gKiAgICAgbm90ZXM6ICdVcGRhdGVkIG5vdGVzJyxcbiAqICAgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVwZGF0ZUNoZWNrSW4oXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxEYWlseUNoZWNrSW5SZXNwb25zZSwgRXJyb3IsIHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQ2hlY2tJblJlcXVlc3QgfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PERhaWx5Q2hlY2tJblJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVDaGVja0luUmVxdWVzdCB9PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7IGlkLCBkYXRhIH06IHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQ2hlY2tJblJlcXVlc3QgfSk6IFByb21pc2U8RGFpbHlDaGVja0luUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucHV0KGAvYXBpL3YxL3N1cHBvcnQvY2hlY2staW5zLyR7aWR9YCwgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKHVwZGF0ZWRDaGVja0luLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgY2hlY2staW5zIGxpc3QgYW5kIHRvZGF5J3MgY2hlY2staW5cbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmNoZWNrSW5zKCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0luVG9kYXkoKSB9KTtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmNoZWNrSW5TdHJlYWsoKSB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIG1vb2QgbG9nXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ3JlYXRlTW9vZExvZygpO1xuICpcbiAqIG11dGF0ZSh7XG4gKiAgIG1vb2Q6IDcsXG4gKiAgIG5vdGVzOiAnRmVlbGluZyBvcHRpbWlzdGljJyxcbiAqICAgYWN0aXZpdGllczogWydleGVyY2lzZScsICdtZWRpdGF0aW9uJ11cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDcmVhdGVNb29kTG9nKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8TW9vZExvZ1Jlc3BvbnNlLCBFcnJvciwgQ3JlYXRlTW9vZExvZ1JlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxNb29kTG9nUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVNb29kTG9nUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlTW9vZExvZ1JlcXVlc3QpOiBQcm9taXNlPE1vb2RMb2dSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KCcvYXBpL3YxL3N1cHBvcnQvbW9vZCcsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChuZXdNb29kTG9nLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgbW9vZCBsb2dzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLm1vb2RMb2dzKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgd2luXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ3JlYXRlV2luKCk7XG4gKlxuICogbXV0YXRlKHtcbiAqICAgdGl0bGU6ICczMCBkYXlzIHNvYmVyIScsXG4gKiAgIGRlc2NyaXB0aW9uOiAnSGl0IG15IGZpcnN0IG1pbGVzdG9uZScsXG4gKiAgIGNhdGVnb3J5OiAnc29icmlldHknXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlV2luKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8V2luUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVXaW5SZXF1ZXN0PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8V2luUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVXaW5SZXF1ZXN0PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBDcmVhdGVXaW5SZXF1ZXN0KTogUHJvbWlzZTxXaW5SZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KCcvYXBpL3YxL3N1cHBvcnQvd2lucycsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChuZXdXaW4sIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSB3aW5zIGxpc3RzXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy53aW5zKCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy53aW5zQnlDYXRlZ29yeSgpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGhhYml0XG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ3JlYXRlSGFiaXQoKTtcbiAqXG4gKiBtdXRhdGUoe1xuICogICBuYW1lOiAnTW9ybmluZyBtZWRpdGF0aW9uJyxcbiAqICAgZGVzY3JpcHRpb246ICcxMCBtaW51dGVzIG9mIG1pbmRmdWxuZXNzJyxcbiAqICAgZnJlcXVlbmN5OiAnZGFpbHknLFxuICogICB0YXJnZXREYXlzOiA3XG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlSGFiaXQoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxIYWJpdFJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlSGFiaXRSZXF1ZXN0PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8SGFiaXRSZXNwb25zZSwgRXJyb3IsIENyZWF0ZUhhYml0UmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlSGFiaXRSZXF1ZXN0KTogUHJvbWlzZTxIYWJpdFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvc3VwcG9ydC9oYWJpdHMnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAobmV3SGFiaXQsIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSBoYWJpdHMgbGlzdFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuaGFiaXRzKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIGEgaGFiaXRcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZSwgaXNQZW5kaW5nIH0gPSB1c2VVcGRhdGVIYWJpdCgpO1xuICpcbiAqIG11dGF0ZSh7XG4gKiAgIGlkOiAnaGFiaXQtMTIzJyxcbiAqICAgZGF0YToge1xuICogICAgIG5hbWU6ICdFdmVuaW5nIG1lZGl0YXRpb24nLFxuICogICAgIHRhcmdldERheXM6IDE0XG4gKiAgIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVIYWJpdChcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgSGFiaXRSZXNwb25zZSxcbiAgICAgIEVycm9yLFxuICAgICAgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVIYWJpdFJlcXVlc3QgfVxuICAgID4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEhhYml0UmVzcG9uc2UsIEVycm9yLCB7IGlkOiBzdHJpbmc7IGRhdGE6IFVwZGF0ZUhhYml0UmVxdWVzdCB9PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7XG4gICAgICBpZCxcbiAgICAgIGRhdGEsXG4gICAgfToge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRhdGE6IFVwZGF0ZUhhYml0UmVxdWVzdDtcbiAgICB9KTogUHJvbWlzZTxIYWJpdFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnB1dChgL2FwaS92MS9zdXBwb3J0L2hhYml0cy8ke2lkfWAsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICh1cGRhdGVkSGFiaXQsIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSBoYWJpdHMgbGlzdFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuaGFiaXRzKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogRGVsZXRlIGEgaGFiaXRcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZSwgaXNQZW5kaW5nIH0gPSB1c2VEZWxldGVIYWJpdCgpO1xuICpcbiAqIG11dGF0ZSgnaGFiaXQtMTIzJyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZURlbGV0ZUhhYml0KFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHN0cmluZz4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PHZvaWQsIEVycm9yLCBzdHJpbmc+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgYXdhaXQgY2xpZW50LmRlbGV0ZShgL2FwaS92MS9zdXBwb3J0L2hhYml0cy8ke2lkfWApO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoZGF0YSwgaGFiaXRJZCwgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSBoYWJpdHMgbGlzdFxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuaGFiaXRzKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogQ29tcGxldGUgYSBoYWJpdCBmb3IgdG9kYXlcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZSwgaXNQZW5kaW5nIH0gPSB1c2VDb21wbGV0ZUhhYml0KCk7XG4gKlxuICogbXV0YXRlKCdoYWJpdC0xMjMnKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29tcGxldGVIYWJpdChcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPEhhYml0UmVzcG9uc2UsIEVycm9yLCBzdHJpbmc+LCAnbXV0YXRpb25Gbic+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxIYWJpdFJlc3BvbnNlLCBFcnJvciwgc3RyaW5nPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTxIYWJpdFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoYC9hcGkvdjEvc3VwcG9ydC9oYWJpdHMvJHtpZH0vY29tcGxldGVgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoY29tcGxldGVkSGFiaXQsIGhhYml0SWQsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaGFiaXRzIGxpc3QgdG8gc2hvdyB1cGRhdGVkIGNvbXBsZXRpb24gc3RhdHVzXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5oYWJpdHMoKSB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSByZWZsZWN0aW9uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ3JlYXRlUmVmbGVjdGlvbigpO1xuICpcbiAqIG11dGF0ZSh7XG4gKiAgIGNvbnRlbnQ6ICdUb2RheSBJIGxlYXJuZWQuLi4nLFxuICogICBjYXRlZ29yeTogJ2dyb3d0aCcsXG4gKiAgIG1vb2Q6IDhcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDcmVhdGVSZWZsZWN0aW9uKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8UmVmbGVjdGlvblJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlUmVmbGVjdGlvblJlcXVlc3Q+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxSZWZsZWN0aW9uUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVSZWZsZWN0aW9uUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlUmVmbGVjdGlvblJlcXVlc3QpOiBQcm9taXNlPFJlZmxlY3Rpb25SZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KCcvYXBpL3YxL3N1cHBvcnQvcmVmbGVjdGlvbnMnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAobmV3UmVmbGVjdGlvbiwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIHJlZmxlY3Rpb25zIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLnJlZmxlY3Rpb25zKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG4iXX0=
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvbXV0YXRpb25zL3N1cHBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0EsNENBd0JDO0FBb0JELDRDQXNCQztBQWtCRCw0Q0FzQkM7QUFrQkQsb0NBdUJDO0FBbUJELHdDQXNCQztBQW9CRCx3Q0FnQ0M7QUFjRCx3Q0FrQkM7QUFjRCw0Q0FtQkM7QUFrQkQsa0RBc0JDO0FBcllELHVEQUsrQjtBQUMvQixzQ0FBeUM7QUFlekMsZ0RBQWlEO0FBRWpELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQTBCLEVBQTRCLEVBQUU7WUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUM1QyxpREFBaUQ7WUFDakQsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFXLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFB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cUJBQVcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFdkUsb0NBQW9DO1FBQ3RDLENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlTXV0YXRpb24sXG4gIHVzZVF1ZXJ5Q2xpZW50LFxuICBVc2VNdXRhdGlvbk9wdGlvbnMsXG4gIFVzZU11dGF0aW9uUmVzdWx0LFxufSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHtcbiAgQ2hlY2tJblJlc3BvbnNlLFxuICBDcmVhdGVDaGVja0luUmVxdWVzdCxcbiAgVXBkYXRlQ2hlY2tJblJlcXVlc3QsXG4gIE1vb2RMb2dSZXNwb25zZSxcbiAgTG9nTW9vZFJlcXVlc3QsXG4gIFdpblJlc3BvbnNlLFxuICBDcmVhdGVXaW5SZXF1ZXN0LFxuICBIYWJpdFJlc3BvbnNlLFxuICBDcmVhdGVIYWJpdFJlcXVlc3QsXG4gIFVwZGF0ZUhhYml0UmVxdWVzdCxcbiAgUmVmbGVjdGlvblJlc3BvbnNlLFxuICBDcmVhdGVSZWZsZWN0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc3VwcG9ydEtleXMgfSBmcm9tICcuLi9xdWVyaWVzL3N1cHBvcnQnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNVVRBVElPTiBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENyZWF0ZSBhIGRhaWx5IGNoZWNrLWluXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ3JlYXRlQ2hlY2tJbigpO1xuICpcbiAqIG11dGF0ZSh7XG4gKiAgIG1vb2Q6IDgsXG4gKiAgIG5vdGVzOiAnRmVlbGluZyBncmVhdCB0b2RheSEnLFxuICogICB0cmlnZ2VyczogWydzdHJlc3MnXSxcbiAqICAgZ3JhdGl0dWRlOiBbJ015IHN1cHBvcnQgZ3JvdXAnXVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUNoZWNrSW4oXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxDaGVja0luUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVDaGVja0luUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PENoZWNrSW5SZXNwb25zZSwgRXJyb3IsIENyZWF0ZUNoZWNrSW5SZXF1ZXN0PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBDcmVhdGVDaGVja0luUmVxdWVzdCk6IFByb21pc2U8Q2hlY2tJblJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3QoJy9hcGkvdjEvc3VwcG9ydC9jaGVjay1pbnMnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAobmV3Q2hlY2tJbiwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGNoZWNrLWlucyBsaXN0IGFuZCB0b2RheSdzIGNoZWNrLWluXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0lucygpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuY2hlY2tJblRvZGF5KCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0luU3RyZWFrKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIGEgZGFpbHkgY2hlY2staW5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZSwgaXNQZW5kaW5nIH0gPSB1c2VVcGRhdGVDaGVja0luKCk7XG4gKlxuICogbXV0YXRlKHtcbiAqICAgaWQ6ICdjaGVja2luLTEyMycsXG4gKiAgIGRhdGE6IHtcbiAqICAgICBtb29kOiA0LFxuICogICAgIG5vdGVzOiAnVXBkYXRlZCBub3RlcycsXG4gKiAgIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVDaGVja0luKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8Q2hlY2tJblJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVDaGVja0luUmVxdWVzdCB9PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8Q2hlY2tJblJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVDaGVja0luUmVxdWVzdCB9PiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7IGlkLCBkYXRhIH06IHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQ2hlY2tJblJlcXVlc3QgfSk6IFByb21pc2U8Q2hlY2tJblJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnB1dChgL2FwaS92MS9zdXBwb3J0L2NoZWNrLWlucy8ke2lkfWAsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6ICh1cGRhdGVkQ2hlY2tJbiwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGNoZWNrLWlucyBsaXN0IGFuZCB0b2RheSdzIGNoZWNrLWluXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0lucygpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuY2hlY2tJblRvZGF5KCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5jaGVja0luU3RyZWFrKCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBtb29kIGxvZ1xuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlLCBpc1BlbmRpbmcgfSA9IHVzZUNyZWF0ZU1vb2RMb2coKTtcbiAqXG4gKiBtdXRhdGUoe1xuICogICBtb29kOiA3LFxuICogICBub3RlczogJ0ZlZWxpbmcgb3B0aW1pc3RpYycsXG4gKiAgIGFjdGl2aXRpZXM6IFsnZXhlcmNpc2UnLCAnbWVkaXRhdGlvbiddXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlTW9vZExvZyhcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPE1vb2RMb2dSZXNwb25zZSwgRXJyb3IsIExvZ01vb2RSZXF1ZXN0PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8TW9vZExvZ1Jlc3BvbnNlLCBFcnJvciwgTG9nTW9vZFJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IExvZ01vb2RSZXF1ZXN0KTogUHJvbWlzZTxNb29kTG9nUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9zdXBwb3J0L21vb2QnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAobmV3TW9vZExvZywgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIG1vb2QgbG9ncyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5tb29kTG9ncygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIHdpblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlLCBpc1BlbmRpbmcgfSA9IHVzZUNyZWF0ZVdpbigpO1xuICpcbiAqIG11dGF0ZSh7XG4gKiAgIHRpdGxlOiAnMzAgZGF5cyBzb2JlciEnLFxuICogICBkZXNjcmlwdGlvbjogJ0hpdCBteSBmaXJzdCBtaWxlc3RvbmUnLFxuICogICBjYXRlZ29yeTogJ3NvYnJpZXR5J1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZVdpbihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFdpblJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlV2luUmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PFdpblJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlV2luUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlV2luUmVxdWVzdCk6IFByb21pc2U8V2luUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9zdXBwb3J0L3dpbnMnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAobmV3V2luLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgd2lucyBsaXN0c1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMud2lucygpIH0pO1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMud2luc0J5Q2F0ZWdvcnkoKSB9KTtcblxuICAgICAgLy8gQ2FsbCB1c2VyJ3Mgb25TdWNjZXNzIGlmIHByb3ZpZGVkXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBoYWJpdFxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlLCBpc1BlbmRpbmcgfSA9IHVzZUNyZWF0ZUhhYml0KCk7XG4gKlxuICogbXV0YXRlKHtcbiAqICAgbmFtZTogJ01vcm5pbmcgbWVkaXRhdGlvbicsXG4gKiAgIGRlc2NyaXB0aW9uOiAnMTAgbWludXRlcyBvZiBtaW5kZnVsbmVzcycsXG4gKiAgIGZyZXF1ZW5jeTogJ2RhaWx5JyxcbiAqICAgdGFyZ2V0RGF5czogN1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUhhYml0KFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8SGFiaXRSZXNwb25zZSwgRXJyb3IsIENyZWF0ZUhhYml0UmVxdWVzdD4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbik6IFVzZU11dGF0aW9uUmVzdWx0PEhhYml0UmVzcG9uc2UsIEVycm9yLCBDcmVhdGVIYWJpdFJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IENyZWF0ZUhhYml0UmVxdWVzdCk6IFByb21pc2U8SGFiaXRSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KCcvYXBpL3YxL3N1cHBvcnQvaGFiaXRzJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKG5ld0hhYml0LCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaGFiaXRzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmhhYml0cygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhIGhhYml0XG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlVXBkYXRlSGFiaXQoKTtcbiAqXG4gKiBtdXRhdGUoe1xuICogICBpZDogJ2hhYml0LTEyMycsXG4gKiAgIGRhdGE6IHtcbiAqICAgICBuYW1lOiAnRXZlbmluZyBtZWRpdGF0aW9uJyxcbiAqICAgICB0YXJnZXREYXlzOiAxNFxuICogICB9XG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXBkYXRlSGFiaXQoXG4gIG9wdGlvbnM/OiBPbWl0PFxuICAgIFVzZU11dGF0aW9uT3B0aW9uczxcbiAgICAgIEhhYml0UmVzcG9uc2UsXG4gICAgICBFcnJvcixcbiAgICAgIHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlSGFiaXRSZXF1ZXN0IH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxIYWJpdFJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVIYWJpdFJlcXVlc3QgfT4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoe1xuICAgICAgaWQsXG4gICAgICBkYXRhLFxuICAgIH06IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBkYXRhOiBVcGRhdGVIYWJpdFJlcXVlc3Q7XG4gICAgfSk6IFByb21pc2U8SGFiaXRSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQoYC9hcGkvdjEvc3VwcG9ydC9oYWJpdHMvJHtpZH1gLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAodXBkYXRlZEhhYml0LCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaGFiaXRzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmhhYml0cygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIERlbGV0ZSBhIGhhYml0XG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlRGVsZXRlSGFiaXQoKTtcbiAqXG4gKiBtdXRhdGUoJ2hhYml0LTEyMycpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VEZWxldGVIYWJpdChcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPHZvaWQsIEVycm9yLCBzdHJpbmc+LCAnbXV0YXRpb25Gbic+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDx2b2lkLCBFcnJvciwgc3RyaW5nPiB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGF3YWl0IGNsaWVudC5kZWxldGUoYC9hcGkvdjEvc3VwcG9ydC9oYWJpdHMvJHtpZH1gKTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGRhdGEsIGhhYml0SWQsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgaGFiaXRzIGxpc3RcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHN1cHBvcnRLZXlzLmhhYml0cygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENvbXBsZXRlIGEgaGFiaXQgZm9yIHRvZGF5XG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGUsIGlzUGVuZGluZyB9ID0gdXNlQ29tcGxldGVIYWJpdCgpO1xuICpcbiAqIG11dGF0ZSgnaGFiaXQtMTIzJyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbXBsZXRlSGFiaXQoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczxIYWJpdFJlc3BvbnNlLCBFcnJvciwgc3RyaW5nPiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8SGFiaXRSZXNwb25zZSwgRXJyb3IsIHN0cmluZz4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoaWQ6IHN0cmluZyk6IFByb21pc2U8SGFiaXRSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KGAvYXBpL3YxL3N1cHBvcnQvaGFiaXRzLyR7aWR9L2NvbXBsZXRlYCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGNvbXBsZXRlZEhhYml0LCBoYWJpdElkLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGhhYml0cyBsaXN0IHRvIHNob3cgdXBkYXRlZCBjb21wbGV0aW9uIHN0YXR1c1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogc3VwcG9ydEtleXMuaGFiaXRzKCkgfSk7XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgcmVmbGVjdGlvblxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlLCBpc1BlbmRpbmcgfSA9IHVzZUNyZWF0ZVJlZmxlY3Rpb24oKTtcbiAqXG4gKiBtdXRhdGUoe1xuICogICBjb250ZW50OiAnVG9kYXkgSSBsZWFybmVkLi4uJyxcbiAqICAgY2F0ZWdvcnk6ICdncm93dGgnLFxuICogICBtb29kOiA4XG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlUmVmbGVjdGlvbihcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFJlZmxlY3Rpb25SZXNwb25zZSwgRXJyb3IsIENyZWF0ZVJlZmxlY3Rpb25SZXF1ZXN0PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8UmVmbGVjdGlvblJlc3BvbnNlLCBFcnJvciwgQ3JlYXRlUmVmbGVjdGlvblJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IENyZWF0ZVJlZmxlY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxSZWZsZWN0aW9uUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdCgnL2FwaS92MS9zdXBwb3J0L3JlZmxlY3Rpb25zJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKG5ld1JlZmxlY3Rpb24sIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSByZWZsZWN0aW9ucyBsaXN0XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBzdXBwb3J0S2V5cy5yZWZsZWN0aW9ucygpIH0pO1xuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { UseQueryOptions } from '@tanstack/react-query';
2
- import type { AmbassadorResponse, AmbassadorLeaderboardResponse, AmbassadorStatus } from '../types';
2
+ import type { AmbassadorResponse } from '../types';
3
3
  export declare const ambassadorKeys: {
4
4
  all: readonly ["ambassadors"];
5
5
  lists: () => readonly ["ambassadors", "list"];
@@ -10,6 +10,7 @@ export declare const ambassadorKeys: {
10
10
  leaderboard: (filters?: LeaderboardFilters) => readonly ["ambassadors", "leaderboard", LeaderboardFilters | undefined];
11
11
  pending: () => readonly ["ambassadors", "pending"];
12
12
  };
13
+ type AmbassadorStatus = AmbassadorResponse['status'];
13
14
  export interface AmbassadorListFilters {
14
15
  page?: number;
15
16
  limit?: number;
@@ -38,16 +39,81 @@ export declare function useAmbassadors(filters?: AmbassadorListFilters, options?
38
39
  /**
39
40
  * Get ambassador by ID
40
41
  */
41
- export declare function useAmbassador(id: string, options?: Omit<UseQueryOptions<AmbassadorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<AmbassadorResponse, Error>;
42
+ export declare function useAmbassador(id: string, options?: Omit<UseQueryOptions<AmbassadorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
43
+ id: string;
44
+ userId: string;
45
+ hubId?: Record<string, never>;
46
+ title?: Record<string, never>;
47
+ bio?: Record<string, never>;
48
+ status: "PENDING" | "ACTIVE" | "INACTIVE" | "ALUMNI";
49
+ isVerified: boolean;
50
+ isFoundingAmbassador: boolean;
51
+ eventsHosted: number;
52
+ membersRecruited: number;
53
+ rewardPoints: number;
54
+ createdAt: string;
55
+ approvedAt?: Record<string, never>;
56
+ user?: Record<string, never>;
57
+ hub?: Record<string, never>;
58
+ }, Error>;
42
59
  /**
43
60
  * Get current user's ambassador status
44
61
  */
45
- export declare function useMyAmbassador(options?: Omit<UseQueryOptions<AmbassadorResponse | null>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<AmbassadorResponse | null, Error>;
62
+ export declare function useMyAmbassador(options?: Omit<UseQueryOptions<AmbassadorResponse | null>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
63
+ id: string;
64
+ userId: string;
65
+ hubId?: Record<string, never>;
66
+ title?: Record<string, never>;
67
+ bio?: Record<string, never>;
68
+ status: "PENDING" | "ACTIVE" | "INACTIVE" | "ALUMNI";
69
+ isVerified: boolean;
70
+ isFoundingAmbassador: boolean;
71
+ eventsHosted: number;
72
+ membersRecruited: number;
73
+ rewardPoints: number;
74
+ createdAt: string;
75
+ approvedAt?: Record<string, never>;
76
+ user?: Record<string, never>;
77
+ hub?: Record<string, never>;
78
+ } | null, Error>;
46
79
  /**
47
80
  * Get ambassador leaderboard
48
81
  */
49
- export declare function useAmbassadorLeaderboard(filters?: LeaderboardFilters, options?: Omit<UseQueryOptions<AmbassadorLeaderboardResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<AmbassadorLeaderboardResponse[], Error>;
82
+ export declare function useAmbassadorLeaderboard(filters?: LeaderboardFilters, options?: Omit<UseQueryOptions<AmbassadorResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
83
+ id: string;
84
+ userId: string;
85
+ hubId?: Record<string, never>;
86
+ title?: Record<string, never>;
87
+ bio?: Record<string, never>;
88
+ status: "PENDING" | "ACTIVE" | "INACTIVE" | "ALUMNI";
89
+ isVerified: boolean;
90
+ isFoundingAmbassador: boolean;
91
+ eventsHosted: number;
92
+ membersRecruited: number;
93
+ rewardPoints: number;
94
+ createdAt: string;
95
+ approvedAt?: Record<string, never>;
96
+ user?: Record<string, never>;
97
+ hub?: Record<string, never>;
98
+ }[], Error>;
50
99
  /**
51
100
  * Get pending ambassador applications (admin)
52
101
  */
53
- export declare function usePendingAmbassadors(options?: Omit<UseQueryOptions<AmbassadorResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<AmbassadorResponse[], Error>;
102
+ export declare function usePendingAmbassadors(options?: Omit<UseQueryOptions<AmbassadorResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
103
+ id: string;
104
+ userId: string;
105
+ hubId?: Record<string, never>;
106
+ title?: Record<string, never>;
107
+ bio?: Record<string, never>;
108
+ status: "PENDING" | "ACTIVE" | "INACTIVE" | "ALUMNI";
109
+ isVerified: boolean;
110
+ isFoundingAmbassador: boolean;
111
+ eventsHosted: number;
112
+ membersRecruited: number;
113
+ rewardPoints: number;
114
+ createdAt: string;
115
+ approvedAt?: Record<string, never>;
116
+ user?: Record<string, never>;
117
+ hub?: Record<string, never>;
118
+ }[], Error>;
119
+ export {};
@@ -95,4 +95,4 @@ function usePendingAmbassadors(options) {
95
95
  ...options,
96
96
  });
97
97
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1iYXNzYWRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvYW1iYXNzYWRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0RBLHdDQWFDO0FBS0Qsc0NBY0M7QUFLRCwwQ0FZQztBQUtELDREQWFDO0FBS0Qsc0RBWUM7QUExSUQsdURBQWtFO0FBQ2xFLHNDQUF5QztBQUd6QywrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLCtFQUErRTtBQUVsRSxRQUFBLGNBQWMsR0FBRztJQUM1QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQVU7SUFDN0IsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxzQkFBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQVU7SUFDckQsSUFBSSxFQUFFLENBQUMsT0FBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHNCQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFVO0lBQ3hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFVO0lBQ3pELE1BQU0sRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHNCQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQ2xFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFVO0lBQ2hELFdBQVcsRUFBRSxDQUFDLE9BQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxzQkFBYyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFVO0lBQ3ZHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFVO0NBQzNELENBQUM7QUE4QkYsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwr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LENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEFtYmFzc2Fkb3JSZXNwb25zZSwgQW1iYXNzYWRvckxlYWRlcmJvYXJkUmVzcG9uc2UsIEFtYmFzc2Fkb3JTdGF0dXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEtFWVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNvbnN0IGFtYmFzc2Fkb3JLZXlzID0ge1xuICBhbGw6IFsnYW1iYXNzYWRvcnMnXSBhcyBjb25zdCxcbiAgbGlzdHM6ICgpID0+IFsuLi5hbWJhc3NhZG9yS2V5cy5hbGwsICdsaXN0J10gYXMgY29uc3QsXG4gIGxpc3Q6IChmaWx0ZXJzPzogQW1iYXNzYWRvckxpc3RGaWx0ZXJzKSA9PiBbLi4uYW1iYXNzYWRvcktleXMubGlzdHMoKSwgZmlsdGVyc10gYXMgY29uc3QsXG4gIGRldGFpbHM6ICgpID0+IFsuLi5hbWJhc3NhZG9yS2V5cy5hbGwsICdkZXRhaWwnXSBhcyBjb25zdCxcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmRldGFpbHMoKSwgaWRdIGFzIGNvbnN0LFxuICBtZTogKCkgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmFsbCwgJ21lJ10gYXMgY29uc3QsXG4gIGxlYWRlcmJvYXJkOiAoZmlsdGVycz86IExlYWRlcmJvYXJkRmlsdGVycykgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmFsbCwgJ2xlYWRlcmJvYXJkJywgZmlsdGVyc10gYXMgY29uc3QsXG4gIHBlbmRpbmc6ICgpID0+IFsuLi5hbWJhc3NhZG9yS2V5cy5hbGwsICdwZW5kaW5nJ10gYXMgY29uc3QsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEFtYmFzc2Fkb3JMaXN0RmlsdGVycyB7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBodWJJZD86IHN0cmluZztcbiAgc3RhdHVzPzogQW1iYXNzYWRvclN0YXR1cztcbiAgaXNWZXJpZmllZD86IGJvb2xlYW47XG4gIGlzRm91bmRpbmdBbWJhc3NhZG9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWFkZXJib2FyZEZpbHRlcnMge1xuICBsaW1pdD86IG51bWJlcjtcbiAgaHViSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVkQW1iYXNzYWRvcnNSZXNwb25zZSB7XG4gIGFtYmFzc2Fkb3JzOiBBbWJhc3NhZG9yUmVzcG9uc2VbXTtcbiAgbWV0YToge1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgdG90YWxQYWdlczogbnVtYmVyO1xuICB9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdldCBhbGwgYW1iYXNzYWRvcnMgd2l0aCBwYWdpbmF0aW9uIGFuZCBmaWx0ZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBbWJhc3NhZG9ycyhcbiAgZmlsdGVycz86IEFtYmFzc2Fkb3JMaXN0RmlsdGVycyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFBhZ2luYXRlZEFtYmFzc2Fkb3JzUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGFtYmFzc2Fkb3JLZXlzLmxpc3QoZmlsdGVycyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8UGFnaW5hdGVkQW1iYXNzYWRvcnNSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoJy9hcGkvdjEvYW1iYXNzYWRvcnMnLCB7IHBhcmFtczogZmlsdGVycyB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGFtYmFzc2Fkb3IgYnkgSURcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFtYmFzc2Fkb3IoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxBbWJhc3NhZG9yUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGFtYmFzc2Fkb3JLZXlzLmRldGFpbChpZCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8QW1iYXNzYWRvclJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldChgL2FwaS92MS9hbWJhc3NhZG9ycy8ke2lkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiAhIWlkICYmIChvcHRpb25zPy5lbmFibGVkICE9PSBmYWxzZSksXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIGFtYmFzc2Fkb3Igc3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNeUFtYmFzc2Fkb3IoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxBbWJhc3NhZG9yUmVzcG9uc2UgfCBudWxsPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBhbWJhc3NhZG9yS2V5cy5tZSgpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPEFtYmFzc2Fkb3JSZXNwb25zZSB8IG51bGw+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KCcvYXBpL3YxL2FtYmFzc2Fkb3JzL21lJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBhbWJhc3NhZG9yIGxlYWRlcmJvYXJkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBbWJhc3NhZG9yTGVhZGVyYm9hcmQoXG4gIGZpbHRlcnM/OiBMZWFkZXJib2FyZEZpbHRlcnMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxBbWJhc3NhZG9yTGVhZGVyYm9hcmRSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBhbWJhc3NhZG9yS2V5cy5sZWFkZXJib2FyZChmaWx0ZXJzKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxBbWJhc3NhZG9yTGVhZGVyYm9hcmRSZXNwb25zZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldCgnL2FwaS92MS9hbWJhc3NhZG9ycy9sZWFkZXJib2FyZCcsIHsgcGFyYW1zOiBmaWx0ZXJzIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgcGVuZGluZyBhbWJhc3NhZG9yIGFwcGxpY2F0aW9ucyAoYWRtaW4pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VQZW5kaW5nQW1iYXNzYWRvcnMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxBbWJhc3NhZG9yUmVzcG9uc2VbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogYW1iYXNzYWRvcktleXMucGVuZGluZygpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPEFtYmFzc2Fkb3JSZXNwb25zZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldCgnL2FwaS92MS9hbWJhc3NhZG9ycy9wZW5kaW5nJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1iYXNzYWRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvYW1iYXNzYWRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeURBLHdDQWFDO0FBS0Qsc0NBY0M7QUFLRCwwQ0FZQztBQUtELDREQWFDO0FBS0Qsc0RBWUM7QUE3SUQsdURBQWtFO0FBQ2xFLHNDQUF5QztBQUd6QywrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLCtFQUErRTtBQUVsRSxRQUFBLGNBQWMsR0FBRztJQUM1QixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQVU7SUFDN0IsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxzQkFBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQVU7SUFDckQsSUFBSSxFQUFFLENBQUMsT0FBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHNCQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFVO0lBQ3hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFVO0lBQ3pELE1BQU0sRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLHNCQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQ2xFLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFVO0lBQ2hELFdBQVcsRUFBRSxDQUFDLE9BQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxzQkFBYyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFVO0lBQ3ZHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsc0JBQWMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFVO0NBQzNELENBQUM7QUFpQ0YsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwr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LENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEFtYmFzc2Fkb3JSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgS0VZU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgYW1iYXNzYWRvcktleXMgPSB7XG4gIGFsbDogWydhbWJhc3NhZG9ycyddIGFzIGNvbnN0LFxuICBsaXN0czogKCkgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmFsbCwgJ2xpc3QnXSBhcyBjb25zdCxcbiAgbGlzdDogKGZpbHRlcnM/OiBBbWJhc3NhZG9yTGlzdEZpbHRlcnMpID0+IFsuLi5hbWJhc3NhZG9yS2V5cy5saXN0cygpLCBmaWx0ZXJzXSBhcyBjb25zdCxcbiAgZGV0YWlsczogKCkgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmFsbCwgJ2RldGFpbCddIGFzIGNvbnN0LFxuICBkZXRhaWw6IChpZDogc3RyaW5nKSA9PiBbLi4uYW1iYXNzYWRvcktleXMuZGV0YWlscygpLCBpZF0gYXMgY29uc3QsXG4gIG1lOiAoKSA9PiBbLi4uYW1iYXNzYWRvcktleXMuYWxsLCAnbWUnXSBhcyBjb25zdCxcbiAgbGVhZGVyYm9hcmQ6IChmaWx0ZXJzPzogTGVhZGVyYm9hcmRGaWx0ZXJzKSA9PiBbLi4uYW1iYXNzYWRvcktleXMuYWxsLCAnbGVhZGVyYm9hcmQnLCBmaWx0ZXJzXSBhcyBjb25zdCxcbiAgcGVuZGluZzogKCkgPT4gWy4uLmFtYmFzc2Fkb3JLZXlzLmFsbCwgJ3BlbmRpbmcnXSBhcyBjb25zdCxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEV4dHJhY3Qgc3RhdHVzIHR5cGUgZnJvbSBBbWJhc3NhZG9yUmVzcG9uc2VcbnR5cGUgQW1iYXNzYWRvclN0YXR1cyA9IEFtYmFzc2Fkb3JSZXNwb25zZVsnc3RhdHVzJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1iYXNzYWRvckxpc3RGaWx0ZXJzIHtcbiAgcGFnZT86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGh1YklkPzogc3RyaW5nO1xuICBzdGF0dXM/OiBBbWJhc3NhZG9yU3RhdHVzO1xuICBpc1ZlcmlmaWVkPzogYm9vbGVhbjtcbiAgaXNGb3VuZGluZ0FtYmFzc2Fkb3I/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYWRlcmJvYXJkRmlsdGVycyB7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBodWJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWRBbWJhc3NhZG9yc1Jlc3BvbnNlIHtcbiAgYW1iYXNzYWRvcnM6IEFtYmFzc2Fkb3JSZXNwb25zZVtdO1xuICBtZXRhOiB7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgbGltaXQ6IG51bWJlcjtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGFsbCBhbWJhc3NhZG9ycyB3aXRoIHBhZ2luYXRpb24gYW5kIGZpbHRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFtYmFzc2Fkb3JzKFxuICBmaWx0ZXJzPzogQW1iYXNzYWRvckxpc3RGaWx0ZXJzLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8UGFnaW5hdGVkQW1iYXNzYWRvcnNSZXNwb25zZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogYW1iYXNzYWRvcktleXMubGlzdChmaWx0ZXJzKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxQYWdpbmF0ZWRBbWJhc3NhZG9yc1Jlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldCgnL2FwaS92MS9hbWJhc3NhZG9ycycsIHsgcGFyYW1zOiBmaWx0ZXJzIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgYW1iYXNzYWRvciBieSBJRFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQW1iYXNzYWRvcihcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPEFtYmFzc2Fkb3JSZXNwb25zZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogYW1iYXNzYWRvcktleXMuZGV0YWlsKGlkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxBbWJhc3NhZG9yUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KGAvYXBpL3YxL2FtYmFzc2Fkb3JzLyR7aWR9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhaWQgJiYgKG9wdGlvbnM/LmVuYWJsZWQgIT09IGZhbHNlKSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgY3VycmVudCB1c2VyJ3MgYW1iYXNzYWRvciBzdGF0dXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU15QW1iYXNzYWRvcihcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPEFtYmFzc2Fkb3JSZXNwb25zZSB8IG51bGw+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGFtYmFzc2Fkb3JLZXlzLm1lKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8QW1iYXNzYWRvclJlc3BvbnNlIHwgbnVsbD4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoJy9hcGkvdjEvYW1iYXNzYWRvcnMvbWUnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGFtYmFzc2Fkb3IgbGVhZGVyYm9hcmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUFtYmFzc2Fkb3JMZWFkZXJib2FyZChcbiAgZmlsdGVycz86IExlYWRlcmJvYXJkRmlsdGVycyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPEFtYmFzc2Fkb3JSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBhbWJhc3NhZG9yS2V5cy5sZWFkZXJib2FyZChmaWx0ZXJzKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxBbWJhc3NhZG9yUmVzcG9uc2VbXT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoJy9hcGkvdjEvYW1iYXNzYWRvcnMvbGVhZGVyYm9hcmQnLCB7IHBhcmFtczogZmlsdGVycyB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IHBlbmRpbmcgYW1iYXNzYWRvciBhcHBsaWNhdGlvbnMgKGFkbWluKVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlUGVuZGluZ0FtYmFzc2Fkb3JzKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8QW1iYXNzYWRvclJlc3BvbnNlW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGFtYmFzc2Fkb3JLZXlzLnBlbmRpbmcoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxBbWJhc3NhZG9yUmVzcG9uc2VbXT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoJy9hcGkvdjEvYW1iYXNzYWRvcnMvcGVuZGluZycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
- import type { EventChatResponse, ChatMemberResponse, PaginatedMessagesResponse } from '../types';
2
1
  export declare const eventChatKeys: {
3
2
  all: readonly ["event-chat"];
4
3
  chat: (eventId: string) => readonly ["event-chat", "chat", string];
@@ -8,12 +7,39 @@ export declare const eventChatKeys: {
8
7
  /**
9
8
  * Get or create chat for an event
10
9
  */
11
- export declare function useEventChat(eventId: string | undefined): import("@tanstack/react-query").UseQueryResult<EventChatResponse, Error>;
10
+ export declare function useEventChat(eventId: string | undefined): import("@tanstack/react-query").UseQueryResult<{
11
+ id: string;
12
+ eventId: string;
13
+ messageCount: number;
14
+ memberCount: number;
15
+ isActive: boolean;
16
+ isLocked: boolean;
17
+ lastMessageAt?: string;
18
+ createdAt: string;
19
+ eventTitle?: string;
20
+ eventStartDate?: string;
21
+ }, Error>;
12
22
  /**
13
23
  * Get chat members
14
24
  */
15
- export declare function useEventChatMembers(eventId: string | undefined): import("@tanstack/react-query").UseQueryResult<ChatMemberResponse[], Error>;
25
+ export declare function useEventChatMembers(eventId: string | undefined): import("@tanstack/react-query").UseQueryResult<{
26
+ id: string;
27
+ chatId: string;
28
+ userId: string;
29
+ role: "MEMBER" | "MODERATOR" | "HOST";
30
+ nickname?: string;
31
+ isMuted: boolean;
32
+ lastReadAt?: string;
33
+ joinedAt: string;
34
+ userName?: string;
35
+ userImage?: string;
36
+ }[], Error>;
16
37
  /**
17
38
  * Get chat messages with infinite scroll pagination
18
39
  */
19
- export declare function useEventChatMessages(eventId: string | undefined, limit?: number): import("@tanstack/react-query").UseInfiniteQueryResult<import("@tanstack/react-query").InfiniteData<PaginatedMessagesResponse, unknown>, Error>;
40
+ export declare function useEventChatMessages(eventId: string | undefined, limit?: number): import("@tanstack/react-query").UseInfiniteQueryResult<import("@tanstack/react-query").InfiniteData<{
41
+ messages: import("@growsober/types/dist/generated").components["schemas"]["MessageResponseDto"][];
42
+ total: number;
43
+ hasMore: boolean;
44
+ nextCursor?: string;
45
+ }, unknown>, Error>;
@@ -11,16 +11,58 @@ export declare const grow90Keys: {
11
11
  /**
12
12
  * Get current user's GROW90 enrollment
13
13
  */
14
- export declare function useGrow90Enrollment(options?: Omit<UseQueryOptions<Grow90EnrollmentResponse | null>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Grow90EnrollmentResponse | null, Error>;
14
+ export declare function useGrow90Enrollment(options?: Omit<UseQueryOptions<Grow90EnrollmentResponse | null>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
15
+ id: string;
16
+ userId: string;
17
+ startDate: string;
18
+ targetEndDate: string;
19
+ actualEndDate?: Record<string, never>;
20
+ currentDay: number;
21
+ completedDays: number;
22
+ missedDays: number;
23
+ status: "ACTIVE" | "COMPLETED" | "PAUSED" | "ABANDONED";
24
+ completedAt?: Record<string, never>;
25
+ dailyReminderTime: string;
26
+ weeklyCallDay?: Record<string, never>;
27
+ createdAt: string;
28
+ progressPercentage: number;
29
+ daysRemaining: number;
30
+ } | null, Error>;
15
31
  /**
16
32
  * Get today's GROW90 content and progress
17
33
  */
18
- export declare function useGrow90Today(options?: Omit<UseQueryOptions<Grow90TodayResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Grow90TodayResponse, Error>;
34
+ export declare function useGrow90Today(options?: Omit<UseQueryOptions<Grow90TodayResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
35
+ progress: Record<string, never>;
36
+ dayNumber: number;
37
+ dailyContent: Record<string, never>;
38
+ tasks: Record<string, never>;
39
+ }, Error>;
19
40
  /**
20
41
  * Get all GROW90 progress entries
21
42
  */
22
- export declare function useGrow90Progress(options?: Omit<UseQueryOptions<Grow90ProgressResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Grow90ProgressResponse[], Error>;
43
+ export declare function useGrow90Progress(options?: Omit<UseQueryOptions<Grow90ProgressResponse[]>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
44
+ id: string;
45
+ dayNumber: number;
46
+ date: string;
47
+ isCompleted: boolean;
48
+ completedAt?: Record<string, never>;
49
+ morningCheckIn: boolean;
50
+ eveningCheckIn: boolean;
51
+ contentViewed: boolean;
52
+ journalEntry?: Record<string, never>;
53
+ gratitudeList: string[];
54
+ morningMood?: Record<string, never>;
55
+ eveningMood?: Record<string, never>;
56
+ createdAt: string;
57
+ }[], Error>;
23
58
  /**
24
59
  * Get GROW90 statistics
25
60
  */
26
- export declare function useGrow90Stats(options?: Omit<UseQueryOptions<Grow90StatsResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<Grow90StatsResponse, Error>;
61
+ export declare function useGrow90Stats(options?: Omit<UseQueryOptions<Grow90StatsResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
62
+ completedDays: number;
63
+ currentStreak: number;
64
+ longestStreak: number;
65
+ averageMood: Record<string, never>;
66
+ completionRate: number;
67
+ journalEntriesCount: number;
68
+ }, Error>;
@@ -1,5 +1,5 @@
1
1
  import { UseQueryOptions } from '@tanstack/react-query';
2
- import type { HubResponse, HubMemberResponse } from '../types';
2
+ import type { HubResponse, ChatMemberResponse } from '../types';
3
3
  export declare const hubKeys: {
4
4
  all: readonly ["hubs"];
5
5
  lists: () => readonly ["hubs", "list"];
@@ -35,7 +35,7 @@ export interface PaginatedHubsResponse {
35
35
  };
36
36
  }
37
37
  export interface PaginatedMembersResponse {
38
- data: HubMemberResponse[];
38
+ data: ChatMemberResponse[];
39
39
  meta: {
40
40
  total: number;
41
41
  page: number;
@@ -140,4 +140,4 @@ function useHubMembership(id, options) {
140
140
  ...options,
141
141
  });
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9odWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlGQSwwQkFhQztBQVNELHdCQWNDO0FBU0Qsb0NBY0M7QUFRRCw4QkFZQztBQVVELHNDQWlCQztBQVNELDRDQWNDO0FBbE5ELHVEQUFrRTtBQUNsRSxzQ0FBeUM7QUFHekMsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFFbEUsUUFBQSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFVO0lBQ3RCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQVU7SUFDOUMsSUFBSSxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQVU7SUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBVTtJQUNsRCxNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQzNELE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBVTtJQUNqRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFVO0lBQ2xELE9BQU8sRUFBRSxDQUFDLEVBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUUsQ0FDL0MsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBVTtJQUN0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Q0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUN0QyxPQUFPLEVBQUUsS0FBSyxJQUF1QyxFQUFFO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUU7Z0JBQzlELE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUMsQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxLQUFLLEtBQUssQ0FBQztRQUM3QyxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLEVBQVUsRUFDVixPQUEyRTtJQUUzRSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxlQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEVBQUUsS0FBSyxJQUFpQyxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUM7UUFDN0MsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVF1ZXJ5LCBVc2VRdWVyeU9wdGlvbnMgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgSHViUmVzcG9uc2UsIEh1Yk1lbWJlclJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBLRVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCBodWJLZXlzID0ge1xuICBhbGw6IFsnaHVicyddIGFzIGNvbnN0LFxuICBsaXN0czogKCkgPT4gWy4uLmh1YktleXMuYWxsLCAnbGlzdCddIGFzIGNvbnN0LFxuICBsaXN0OiAoZmlsdGVycz86IEh1Ykxpc3RGaWx0ZXJzKSA9PiBbLi4uaHViS2V5cy5saXN0cygpLCBmaWx0ZXJzXSBhcyBjb25zdCxcbiAgZGV0YWlsczogKCkgPT4gWy4uLmh1YktleXMuYWxsLCAnZGV0YWlsJ10gYXMgY29uc3QsXG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IFsuLi5odWJLZXlzLmRldGFpbHMoKSwgaWRdIGFzIGNvbnN0LFxuICBieVNsdWc6IChzbHVnOiBzdHJpbmcpID0+IFsuLi5odWJLZXlzLmFsbCwgJ3NsdWcnLCBzbHVnXSBhcyBjb25zdCxcbiAgbXlIdWJzOiAoKSA9PiBbLi4uaHViS2V5cy5hbGwsICdteS1odWJzJ10gYXMgY29uc3QsXG4gIG1lbWJlcnM6IChpZDogc3RyaW5nLCBmaWx0ZXJzPzogTWVtYmVyRmlsdGVycykgPT5cbiAgICBbLi4uaHViS2V5cy5kZXRhaWwoaWQpLCAnbWVtYmVycycsIGZpbHRlcnNdIGFzIGNvbnN0LFxuICBtZW1iZXJzaGlwOiAoaWQ6IHN0cmluZykgPT4gWy4uLmh1YktleXMuZGV0YWlsKGlkKSwgJ21lbWJlcnNoaXAnXSBhcyBjb25zdCxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHViTGlzdEZpbHRlcnMge1xuICBwYWdlPzogbnVtYmVyO1xuICBsaW1pdD86IG51bWJlcjtcbiAgY2l0eUlkPzogc3RyaW5nO1xuICBzZWFyY2g/OiBzdHJpbmc7XG4gIGlzRmVhdHVyZWQ/OiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogJ1BVQkxJQycgfCAnUFJJVkFURScgfCAnSU5WSVRFX09OTFknO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlckZpbHRlcnMge1xuICBwYWdlPzogbnVtYmVyO1xuICBsaW1pdD86IG51bWJlcjtcbiAgcm9sZT86IHN0cmluZztcbiAgc3RhdHVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZEh1YnNSZXNwb25zZSB7XG4gIGRhdGE6IEh1YlJlc3BvbnNlW107XG4gIG1ldGE6IHtcbiAgICB0b3RhbDogbnVtYmVyO1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBsaW1pdDogbnVtYmVyO1xuICAgIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgfTtcbn1cblxuLy8gSHViTWVtYmVyUmVzcG9uc2UgaXMgaW1wb3J0ZWQgZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGVkTWVtYmVyc1Jlc3BvbnNlIHtcbiAgZGF0YTogSHViTWVtYmVyUmVzcG9uc2VbXTtcbiAgbWV0YToge1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgdG90YWxQYWdlczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlcnNoaXBSZXNwb25zZSB7XG4gIGlzTWVtYmVyOiBib29sZWFuO1xuICByb2xlPzogJ09XTkVSJyB8ICdBRE1JTicgfCAnTUVNQkVSJztcbiAgc3RhdHVzPzogJ0FDVElWRScgfCAnUEVORElORycgfCAnQkFOTkVEJztcbiAgam9pbmVkQXQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGFsbCBodWJzIHdpdGggcGFnaW5hdGlvbiBhbmQgZmlsdGVyc1xuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gT3B0aW9uYWwgZmlsdGVycyBmb3IgaHVicyBsaXN0XG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIHBhZ2luYXRlZCBodWJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VIdWJzKFxuICBmaWx0ZXJzPzogSHViTGlzdEZpbHRlcnMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxQYWdpbmF0ZWRIdWJzUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMubGlzdChmaWx0ZXJzKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxQYWdpbmF0ZWRIdWJzUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KCcvYXBpL3YxL2h1YnMnLCB7IHBhcmFtczogZmlsdGVycyB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGh1YiBieSBJRFxuICpcbiAqIEBwYXJhbSBpZCAtIEh1YiBJRFxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBodWIgZGV0YWlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8SHViUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMuZGV0YWlsKGlkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxIdWJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoYC9hcGkvdjEvaHVicy8ke2lkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiAhIWlkICYmIChvcHRpb25zPy5lbmFibGVkICE9PSBmYWxzZSksXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGh1YiBieSBzbHVnXG4gKlxuICogQHBhcmFtIHNsdWcgLSBIdWIgc2x1Z1xuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBodWIgZGV0YWlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViQnlTbHVnKFxuICBzbHVnOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxIdWJSZXNwb25zZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogaHViS2V5cy5ieVNsdWcoc2x1ZyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8SHViUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KGAvYXBpL3YxL2h1YnMvc2x1Zy8ke3NsdWd9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhc2x1ZyAmJiAob3B0aW9ucz8uZW5hYmxlZCAhPT0gZmFsc2UpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBodWJzIHRoZSBjdXJyZW50IHVzZXIgaXMgYSBtZW1iZXIgb2ZcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIHVzZXIncyBodWJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNeUh1YnMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxIdWJSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBodWJLZXlzLm15SHVicygpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPEh1YlJlc3BvbnNlW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KCcvYXBpL3YxL2h1YnMvbXktaHVicycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgaHViIG1lbWJlcnMgd2l0aCBwYWdpbmF0aW9uIGFuZCBmaWx0ZXJzXG4gKlxuICogQHBhcmFtIGlkIC0gSHViIElEXG4gKiBAcGFyYW0gZmlsdGVycyAtIE9wdGlvbmFsIGZpbHRlcnMgZm9yIG1lbWJlcnMgbGlzdFxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBwYWdpbmF0ZWQgbWVtYmVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViTWVtYmVycyhcbiAgaWQ6IHN0cmluZyxcbiAgZmlsdGVycz86IE1lbWJlckZpbHRlcnMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxQYWdpbmF0ZWRNZW1iZXJzUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMubWVtYmVycyhpZCwgZmlsdGVycyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8UGFnaW5hdGVkTWVtYmVyc1Jlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldChgL2FwaS92MS9odWJzLyR7aWR9L21lbWJlcnNgLCB7XG4gICAgICAgIHBhcmFtczogZmlsdGVyc1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhaWQgJiYgKG9wdGlvbnM/LmVuYWJsZWQgIT09IGZhbHNlKSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgY3VycmVudCB1c2VyJ3MgbWVtYmVyc2hpcCBzdGF0dXMgZm9yIGEgaHViXG4gKlxuICogQHBhcmFtIGlkIC0gSHViIElEXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIG1lbWJlcnNoaXAgc3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VIdWJNZW1iZXJzaGlwKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWVtYmVyc2hpcFJlc3BvbnNlPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBodWJLZXlzLm1lbWJlcnNoaXAoaWQpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPE1lbWJlcnNoaXBSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoYC9hcGkvdjEvaHVicy8ke2lkfS9tZW1iZXJzaGlwYCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhaWQgJiYgKG9wdGlvbnM/LmVuYWJsZWQgIT09IGZhbHNlKSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcXVlcmllcy9odWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWlGQSwwQkFhQztBQVNELHdCQWNDO0FBU0Qsb0NBY0M7QUFRRCw4QkFZQztBQVVELHNDQWlCQztBQVNELDRDQWNDO0FBbE5ELHVEQUFrRTtBQUNsRSxzQ0FBeUM7QUFHekMsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFFbEUsUUFBQSxPQUFPLEdBQUc7SUFDckIsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFVO0lBQ3RCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQVU7SUFDOUMsSUFBSSxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQVU7SUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBVTtJQUNsRCxNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQzNELE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBVTtJQUNqRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFVO0lBQ2xELE9BQU8sRUFBRSxDQUFDLEVBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUUsQ0FDL0MsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBVTtJQUN0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Q0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUN0QyxPQUFPLEVBQUUsS0FBSyxJQUF1QyxFQUFFO1lBQ3JELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUU7Z0JBQzlELE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUMsQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxLQUFLLEtBQUssQ0FBQztRQUM3QyxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLEVBQVUsRUFDVixPQUEyRTtJQUUzRSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxlQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEVBQUUsS0FBSyxJQUFpQyxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUM7UUFDN0MsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVF1ZXJ5LCBVc2VRdWVyeU9wdGlvbnMgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB0eXBlIHsgSHViUmVzcG9uc2UsIENoYXRNZW1iZXJSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgS0VZU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgaHViS2V5cyA9IHtcbiAgYWxsOiBbJ2h1YnMnXSBhcyBjb25zdCxcbiAgbGlzdHM6ICgpID0+IFsuLi5odWJLZXlzLmFsbCwgJ2xpc3QnXSBhcyBjb25zdCxcbiAgbGlzdDogKGZpbHRlcnM/OiBIdWJMaXN0RmlsdGVycykgPT4gWy4uLmh1YktleXMubGlzdHMoKSwgZmlsdGVyc10gYXMgY29uc3QsXG4gIGRldGFpbHM6ICgpID0+IFsuLi5odWJLZXlzLmFsbCwgJ2RldGFpbCddIGFzIGNvbnN0LFxuICBkZXRhaWw6IChpZDogc3RyaW5nKSA9PiBbLi4uaHViS2V5cy5kZXRhaWxzKCksIGlkXSBhcyBjb25zdCxcbiAgYnlTbHVnOiAoc2x1Zzogc3RyaW5nKSA9PiBbLi4uaHViS2V5cy5hbGwsICdzbHVnJywgc2x1Z10gYXMgY29uc3QsXG4gIG15SHViczogKCkgPT4gWy4uLmh1YktleXMuYWxsLCAnbXktaHVicyddIGFzIGNvbnN0LFxuICBtZW1iZXJzOiAoaWQ6IHN0cmluZywgZmlsdGVycz86IE1lbWJlckZpbHRlcnMpID0+XG4gICAgWy4uLmh1YktleXMuZGV0YWlsKGlkKSwgJ21lbWJlcnMnLCBmaWx0ZXJzXSBhcyBjb25zdCxcbiAgbWVtYmVyc2hpcDogKGlkOiBzdHJpbmcpID0+IFsuLi5odWJLZXlzLmRldGFpbChpZCksICdtZW1iZXJzaGlwJ10gYXMgY29uc3QsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1Ykxpc3RGaWx0ZXJzIHtcbiAgcGFnZT86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGNpdHlJZD86IHN0cmluZztcbiAgc2VhcmNoPzogc3RyaW5nO1xuICBpc0ZlYXR1cmVkPzogYm9vbGVhbjtcbiAgdmlzaWJpbGl0eT86ICdQVUJMSUMnIHwgJ1BSSVZBVEUnIHwgJ0lOVklURV9PTkxZJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW1iZXJGaWx0ZXJzIHtcbiAgcGFnZT86IG51bWJlcjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWRIdWJzUmVzcG9uc2Uge1xuICBkYXRhOiBIdWJSZXNwb25zZVtdO1xuICBtZXRhOiB7XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBwYWdlOiBudW1iZXI7XG4gICAgbGltaXQ6IG51bWJlcjtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIH07XG59XG5cbi8vIENoYXRNZW1iZXJSZXNwb25zZSBpcyBpbXBvcnRlZCBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWRNZW1iZXJzUmVzcG9uc2Uge1xuICBkYXRhOiBDaGF0TWVtYmVyUmVzcG9uc2VbXTtcbiAgbWV0YToge1xuICAgIHRvdGFsOiBudW1iZXI7XG4gICAgcGFnZTogbnVtYmVyO1xuICAgIGxpbWl0OiBudW1iZXI7XG4gICAgdG90YWxQYWdlczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lbWJlcnNoaXBSZXNwb25zZSB7XG4gIGlzTWVtYmVyOiBib29sZWFuO1xuICByb2xlPzogJ09XTkVSJyB8ICdBRE1JTicgfCAnTUVNQkVSJztcbiAgc3RhdHVzPzogJ0FDVElWRScgfCAnUEVORElORycgfCAnQkFOTkVEJztcbiAgam9pbmVkQXQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGFsbCBodWJzIHdpdGggcGFnaW5hdGlvbiBhbmQgZmlsdGVyc1xuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gT3B0aW9uYWwgZmlsdGVycyBmb3IgaHVicyBsaXN0XG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIHBhZ2luYXRlZCBodWJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VIdWJzKFxuICBmaWx0ZXJzPzogSHViTGlzdEZpbHRlcnMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxQYWdpbmF0ZWRIdWJzUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMubGlzdChmaWx0ZXJzKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxQYWdpbmF0ZWRIdWJzUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KCcvYXBpL3YxL2h1YnMnLCB7IHBhcmFtczogZmlsdGVycyB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGh1YiBieSBJRFxuICpcbiAqIEBwYXJhbSBpZCAtIEh1YiBJRFxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBodWIgZGV0YWlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8SHViUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMuZGV0YWlsKGlkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxIdWJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoYC9hcGkvdjEvaHVicy8ke2lkfWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiAhIWlkICYmIChvcHRpb25zPy5lbmFibGVkICE9PSBmYWxzZSksXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGh1YiBieSBzbHVnXG4gKlxuICogQHBhcmFtIHNsdWcgLSBIdWIgc2x1Z1xuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBodWIgZGV0YWlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViQnlTbHVnKFxuICBzbHVnOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxIdWJSZXNwb25zZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogaHViS2V5cy5ieVNsdWcoc2x1ZyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8SHViUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KGAvYXBpL3YxL2h1YnMvc2x1Zy8ke3NsdWd9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhc2x1ZyAmJiAob3B0aW9ucz8uZW5hYmxlZCAhPT0gZmFsc2UpLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBodWJzIHRoZSBjdXJyZW50IHVzZXIgaXMgYSBtZW1iZXIgb2ZcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIHVzZXIncyBodWJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNeUh1YnMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxIdWJSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBodWJLZXlzLm15SHVicygpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPEh1YlJlc3BvbnNlW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0KCcvYXBpL3YxL2h1YnMvbXktaHVicycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgaHViIG1lbWJlcnMgd2l0aCBwYWdpbmF0aW9uIGFuZCBmaWx0ZXJzXG4gKlxuICogQHBhcmFtIGlkIC0gSHViIElEXG4gKiBAcGFyYW0gZmlsdGVycyAtIE9wdGlvbmFsIGZpbHRlcnMgZm9yIG1lbWJlcnMgbGlzdFxuICogQHBhcmFtIG9wdGlvbnMgLSBSZWFjdCBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBRdWVyeSByZXN1bHQgd2l0aCBwYWdpbmF0ZWQgbWVtYmVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlSHViTWVtYmVycyhcbiAgaWQ6IHN0cmluZyxcbiAgZmlsdGVycz86IE1lbWJlckZpbHRlcnMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxQYWdpbmF0ZWRNZW1iZXJzUmVzcG9uc2U+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKSB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IGh1YktleXMubWVtYmVycyhpZCwgZmlsdGVycyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8UGFnaW5hdGVkTWVtYmVyc1Jlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldChgL2FwaS92MS9odWJzLyR7aWR9L21lbWJlcnNgLCB7XG4gICAgICAgIHBhcmFtczogZmlsdGVyc1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhaWQgJiYgKG9wdGlvbnM/LmVuYWJsZWQgIT09IGZhbHNlKSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgY3VycmVudCB1c2VyJ3MgbWVtYmVyc2hpcCBzdGF0dXMgZm9yIGEgaHViXG4gKlxuICogQHBhcmFtIGlkIC0gSHViIElEXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFJlYWN0IFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFF1ZXJ5IHJlc3VsdCB3aXRoIG1lbWJlcnNoaXAgc3RhdHVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VIdWJNZW1iZXJzaGlwKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWVtYmVyc2hpcFJlc3BvbnNlPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbikge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBodWJLZXlzLm1lbWJlcnNoaXAoaWQpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPE1lbWJlcnNoaXBSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQoYC9hcGkvdjEvaHVicy8ke2lkfS9tZW1iZXJzaGlwYCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhaWQgJiYgKG9wdGlvbnM/LmVuYWJsZWQgIT09IGZhbHNlKSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
@@ -8,7 +8,7 @@
8
8
  * @module api/queries/map
9
9
  */
10
10
  import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
11
- import type { MapUserResponse, MapEventResponse, MapHubResponse, MapBusinessResponse } from '../types';
11
+ import type { MapMemberResponse, MapEventResponse, MapHubResponse, BusinessResponse } from '../types';
12
12
  /**
13
13
  * Query key factory for map-related queries
14
14
  */
@@ -88,7 +88,7 @@ export interface MapBusinessesParams {
88
88
  * @param options - TanStack Query options
89
89
  * @returns TanStack Query result with array of map users
90
90
  */
91
- export declare function useMapMembers(params: MapMembersParams, options?: Omit<UseQueryOptions<MapUserResponse[]>, 'queryKey' | 'queryFn'>): UseQueryResult<MapUserResponse[]>;
91
+ export declare function useMapMembers(params: MapMembersParams, options?: Omit<UseQueryOptions<MapMemberResponse[]>, 'queryKey' | 'queryFn'>): UseQueryResult<MapMemberResponse[]>;
92
92
  /**
93
93
  * Get events for map display
94
94
  *
@@ -213,4 +213,4 @@ export declare function useMapHubs(params: MapHubsParams, options?: Omit<UseQuer
213
213
  * @param options - TanStack Query options
214
214
  * @returns TanStack Query result with array of map businesses
215
215
  */
216
- export declare function useMapBusinesses(params: MapBusinessesParams, options?: Omit<UseQueryOptions<MapBusinessResponse[]>, 'queryKey' | 'queryFn'>): UseQueryResult<MapBusinessResponse[]>;
216
+ export declare function useMapBusinesses(params: MapBusinessesParams, options?: Omit<UseQueryOptions<BusinessResponse[]>, 'queryKey' | 'queryFn'>): UseQueryResult<BusinessResponse[]>;
@@ -275,4 +275,4 @@ function useMapBusinesses(params, options) {
275
275
  ...options,
276
276
  });
277
277
  }
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9xdWVyaWVzL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQTJHSCxzQ0FzQkM7QUEyQ0Qsb0NBc0JDO0FBMENELGdDQXFCQztBQTJDRCw0Q0FzQkM7QUFoVUQsdURBQWtGO0FBQ2xGLHNDQUF5QztBQVF6QywrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLCtFQUErRTtBQUUvRTs7R0FFRztBQUNVLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBVTtJQUNyQixPQUFPLEVBQUUsQ0FBQyxNQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFVO0lBQ3BGLE1BQU0sRUFBRSxDQUFDLE1BQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQVU7SUFDakYsSUFBSSxFQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVTtJQUMzRSxVQUFVLEVBQUUsQ0FBQyxNQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFVO0NBQzlGLENBQUM7QUFxQ0YsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwrRUFBK0U7QUFFL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixNQUF3QixFQUN4QixPQUEwRTtJQUUxRSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxlQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxPQUFP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QTJCLEVBQzNCLE9BQThFO0lBRTlFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLGVBQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxLQUFLLElBQW9DLEVBQUU7WUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUF3Qix3QkFBd0IsRUFBRTtnQkFDakYsTUFBTSxFQUFFO29CQUNOLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztvQkFDZixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7b0JBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUNyQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ2pCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtpQkFDbEM7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVM7UUFDN0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWFwIFF1ZXJ5IEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIG1hcC1yZWxhdGVkIHJlYWQgb3BlcmF0aW9ucy5cbiAqIFRoZXNlIGhvb2tzIGhhbmRsZSBmZXRjaGluZyBtYXAgZGF0YSBpbmNsdWRpbmcgdXNlcnMsIGV2ZW50cywgYW5kIGJ1c2luZXNzZXNcbiAqIGZvciBkaXNwbGF5IG9uIHRoZSBtZW1iZXIgbWFwIGZlYXR1cmUuXG4gKlxuICogQG1vZHVsZSBhcGkvcXVlcmllcy9tYXBcbiAqL1xuXG5pbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zLCBVc2VRdWVyeVJlc3VsdCB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBnZXRBcGlDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHR5cGUge1xuICBNYXBVc2VyUmVzcG9uc2UsXG4gIE1hcEV2ZW50UmVzcG9uc2UsXG4gIE1hcEh1YlJlc3BvbnNlLFxuICBNYXBCdXNpbmVzc1Jlc3BvbnNlLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEtFWVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBRdWVyeSBrZXkgZmFjdG9yeSBmb3IgbWFwLXJlbGF0ZWQgcXVlcmllc1xuICovXG5leHBvcnQgY29uc3QgbWFwS2V5cyA9IHtcbiAgYWxsOiBbJ21hcCddIGFzIGNvbnN0LFxuICBtZW1iZXJzOiAocGFyYW1zPzogTWFwTWVtYmVyc1BhcmFtcykgPT4gWy4uLm1hcEtleXMuYWxsLCAnbWVtYmVycycsIHBhcmFtc10gYXMgY29uc3QsXG4gIGV2ZW50czogKHBhcmFtcz86IE1hcEV2ZW50c1BhcmFtcykgPT4gWy4uLm1hcEtleXMuYWxsLCAnZXZlbnRzJywgcGFyYW1zXSBhcyBjb25zdCxcbiAgaHViczogKHBhcmFtcz86IE1hcEh1YnNQYXJhbXMpID0+IFsuLi5tYXBLZXlzLmFsbCwgJ2h1YnMnLCBwYXJhbXNdIGFzIGNvbnN0LFxuICBidXNpbmVzc2VzOiAocGFyYW1zPzogTWFwQnVzaW5lc3Nlc1BhcmFtcykgPT4gWy4uLm1hcEtleXMuYWxsLCAnYnVzaW5lc3NlcycsIHBhcmFtc10gYXMgY29uc3QsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQQVJBTSBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcE1lbWJlcnNQYXJhbXMge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG4gIHJhZGl1cz86IG51bWJlcjsgLy8ga21cbiAgaHViSWQ/OiBzdHJpbmc7XG4gIG9wZW5Ub01lZXRPbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBFdmVudHNQYXJhbXMge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG4gIHJhZGl1cz86IG51bWJlcjsgLy8ga21cbiAgaHViSWQ/OiBzdHJpbmc7XG4gIHVwY29taW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBIdWJzUGFyYW1zIHtcbiAgbGF0OiBudW1iZXI7XG4gIGxuZzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7IC8vIGttXG4gIGNpdHk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwQnVzaW5lc3Nlc1BhcmFtcyB7XG4gIGxhdDogbnVtYmVyO1xuICBsbmc6IG51bWJlcjtcbiAgcmFkaXVzPzogbnVtYmVyOyAvLyBrbVxuICB0eXBlPzogc3RyaW5nO1xuICBhZkRyaW5rc09ubHk/OiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdldCBtZW1iZXJzIGZvciBtYXAgZGlzcGxheVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0cmlldmVzIHVzZXJzIHdobyBoYXZlIG9wdGVkIHRvIGJlIHZpc2libGUgb24gdGhlIG1lbWJlciBtYXAuXG4gKiBPbmx5IHNob3dzIHVzZXJzIHdobyBoYXZlIGVuYWJsZWQgXCJvcGVuIHRvIG1lZXRcIiBhbmQgc2hhcmVkIHRoZWlyIGxvY2F0aW9uLlxuICogUHJlbWl1bSBmZWF0dXJlLlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9tYXAvbWVtYmVyc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZU1hcE1lbWJlcnMgfSBmcm9tICdAZ3Jvd3NvYmVyL3Nkayc7XG4gKlxuICogZnVuY3Rpb24gTWVtYmVyTWFwKCkge1xuICogICBjb25zdCB7IGRhdGE6IG1lbWJlcnMsIGlzTG9hZGluZyB9ID0gdXNlTWFwTWVtYmVycyh7XG4gKiAgICAgbGF0OiA1MS41MDc0LFxuICogICAgIGxuZzogLTAuMTI3OCxcbiAqICAgICByYWRpdXM6IDUwLCAvLyA1MGttIHJhZGl1c1xuICogICB9KTtcbiAqXG4gKiAgIGlmIChpc0xvYWRpbmcpIHJldHVybiA8TWFwTG9hZGVyIC8+O1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8TWFwPlxuICogICAgICAge21lbWJlcnM/Lm1hcChtZW1iZXIgPT4gKFxuICogICAgICAgICA8TWFya2VyXG4gKiAgICAgICAgICAga2V5PXttZW1iZXIuaWR9XG4gKiAgICAgICAgICAgcG9zaXRpb249e1ttZW1iZXIubG9jYXRpb25MYXQsIG1lbWJlci5sb2NhdGlvbkxvbmddfVxuICogICAgICAgICA+XG4gKiAgICAgICAgICAgPEF2YXRhciBzcmM9e21lbWJlci5hdmF0YXJ9IC8+XG4gKiAgICAgICAgIDwvTWFya2VyPlxuICogICAgICAgKSl9XG4gKiAgICAgPC9NYXA+XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gTG9jYXRpb24gYW5kIGZpbHRlciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFRhblN0YWNrIFF1ZXJ5IHJlc3VsdCB3aXRoIGFycmF5IG9mIG1hcCB1c2Vyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTWFwTWVtYmVycyhcbiAgcGFyYW1zOiBNYXBNZW1iZXJzUGFyYW1zLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWFwVXNlclJlc3BvbnNlW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8TWFwVXNlclJlc3BvbnNlW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogbWFwS2V5cy5tZW1iZXJzKHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8TWFwVXNlclJlc3BvbnNlW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PE1hcFVzZXJSZXNwb25zZVtdPignL2FwaS92MS9tYXAvbWVtYmVycycsIHtcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgbGF0OiBwYXJhbXMubGF0LFxuICAgICAgICAgIGxuZzogcGFyYW1zLmxuZyxcbiAgICAgICAgICByYWRpdXM6IHBhcmFtcy5yYWRpdXMsXG4gICAgICAgICAgaHViSWQ6IHBhcmFtcy5odWJJZCxcbiAgICAgICAgICBvcGVuVG9NZWV0T25seTogcGFyYW1zLm9wZW5Ub01lZXRPbmx5LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6IHBhcmFtcy5sYXQgIT09IHVuZGVmaW5lZCAmJiBwYXJhbXMubG5nICE9PSB1bmRlZmluZWQsXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGV2ZW50cyBmb3IgbWFwIGRpc3BsYXlcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHJpZXZlcyBldmVudHMgd2l0aCBsb2NhdGlvbiBkYXRhIGZvciBkaXNwbGF5IG9uIHRoZSBtYXAuXG4gKiBTaG93cyB1cGNvbWluZyBldmVudHMgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFkaXVzLlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9tYXAvZXZlbnRzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlTWFwRXZlbnRzIH0gZnJvbSAnQGdyb3dzb2Jlci9zZGsnO1xuICpcbiAqIGZ1bmN0aW9uIEV2ZW50TWFwKCkge1xuICogICBjb25zdCB7IGRhdGE6IGV2ZW50cywgaXNMb2FkaW5nIH0gPSB1c2VNYXBFdmVudHMoe1xuICogICAgIGxhdDogNTEuNTA3NCxcbiAqICAgICBsbmc6IC0wLjEyNzgsXG4gKiAgICAgcmFkaXVzOiAyNSxcbiAqICAgICB1cGNvbWluZzogdHJ1ZSxcbiAqICAgfSk7XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxNYXA+XG4gKiAgICAgICB7ZXZlbnRzPy5tYXAoZXZlbnQgPT4gKFxuICogICAgICAgICA8TWFya2VyXG4gKiAgICAgICAgICAga2V5PXtldmVudC5pZH1cbiAqICAgICAgICAgICBwb3NpdGlvbj17W2V2ZW50LmxvY2F0aW9uTGF0LCBldmVudC5sb2NhdGlvbkxvbmddfVxuICogICAgICAgICAgIGljb249XCJldmVudFwiXG4gKiAgICAgICAgID5cbiAqICAgICAgICAgICA8RXZlbnRQb3B1cCBldmVudD17ZXZlbnR9IC8+XG4gKiAgICAgICAgIDwvTWFya2VyPlxuICogICAgICAgKSl9XG4gKiAgICAgPC9NYXA+XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gTG9jYXRpb24gYW5kIGZpbHRlciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG9wdGlvbnNcbiAqIEByZXR1cm5zIFRhblN0YWNrIFF1ZXJ5IHJlc3VsdCB3aXRoIGFycmF5IG9mIG1hcCBldmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1hcEV2ZW50cyhcbiAgcGFyYW1zOiBNYXBFdmVudHNQYXJhbXMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxNYXBFdmVudFJlc3BvbnNlW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8TWFwRXZlbnRSZXNwb25zZVtdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IG1hcEtleXMuZXZlbnRzKHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8TWFwRXZlbnRSZXNwb25zZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxNYXBFdmVudFJlc3BvbnNlW10+KCcvYXBpL3YxL21hcC9ldmVudHMnLCB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGxhdDogcGFyYW1zLmxhdCxcbiAgICAgICAgICBsbmc6IHBhcmFtcy5sbmcsXG4gICAgICAgICAgcmFkaXVzOiBwYXJhbXMucmFkaXVzLFxuICAgICAgICAgIGh1YklkOiBwYXJhbXMuaHViSWQsXG4gICAgICAgICAgdXBjb21pbmc6IHBhcmFtcy51cGNvbWluZyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiBwYXJhbXMubGF0ICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLmxuZyAhPT0gdW5kZWZpbmVkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBodWJzIGZvciBtYXAgZGlzcGxheVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0cmlldmVzIGh1YnMgd2l0aCBsb2NhdGlvbiBkYXRhIGZvciBkaXNwbGF5IG9uIHRoZSBtYXAuXG4gKiBTaG93cyBhY3RpdmUgaHVicyB3aXRoaW4gdGhlIHNwZWNpZmllZCByYWRpdXMuXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL21hcC9odWJzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlTWFwSHVicyB9IGZyb20gJ0Bncm93c29iZXIvc2RrJztcbiAqXG4gKiBmdW5jdGlvbiBIdWJNYXAoKSB7XG4gKiAgIGNvbnN0IHsgZGF0YTogaHVicywgaXNMb2FkaW5nIH0gPSB1c2VNYXBIdWJzKHtcbiAqICAgICBsYXQ6IDUxLjUwNzQsXG4gKiAgICAgbG5nOiAtMC4xMjc4LFxuICogICAgIHJhZGl1czogNTAsXG4gKiAgIH0pO1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8TWFwPlxuICogICAgICAge2h1YnM/Lm1hcChodWIgPT4gKFxuICogICAgICAgICA8TWFya2VyXG4gKiAgICAgICAgICAga2V5PXtodWIuaWR9XG4gKiAgICAgICAgICAgcG9zaXRpb249e1todWIubG9jYXRpb25MYXQsIGh1Yi5sb2NhdGlvbkxvbmddfVxuICogICAgICAgICAgIGljb249XCJodWJcIlxuICogICAgICAgICA+XG4gKiAgICAgICAgICAgPEh1YlBvcHVwIGh1Yj17aHVifSAvPlxuICogICAgICAgICA8L01hcmtlcj5cbiAqICAgICAgICkpfVxuICogICAgIDwvTWFwPlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIExvY2F0aW9uIGFuZCBmaWx0ZXIgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBUYW5TdGFjayBRdWVyeSByZXN1bHQgd2l0aCBhcnJheSBvZiBtYXAgaHVic1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTWFwSHVicyhcbiAgcGFyYW1zOiBNYXBIdWJzUGFyYW1zLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWFwSHViUmVzcG9uc2VbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxNYXBIdWJSZXNwb25zZVtdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IG1hcEtleXMuaHVicyhwYXJhbXMpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPE1hcEh1YlJlc3BvbnNlW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PE1hcEh1YlJlc3BvbnNlW10+KCcvYXBpL3YxL21hcC9odWJzJywge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBsYXQ6IHBhcmFtcy5sYXQsXG4gICAgICAgICAgbG5nOiBwYXJhbXMubG5nLFxuICAgICAgICAgIHJhZGl1czogcGFyYW1zLnJhZGl1cyxcbiAgICAgICAgICBjaXR5OiBwYXJhbXMuY2l0eSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiBwYXJhbXMubGF0ICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLmxuZyAhPT0gdW5kZWZpbmVkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBidXNpbmVzc2VzIGZvciBtYXAgZGlzcGxheVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogUmV0cmlldmVzIHBhcnRuZXIgYnVzaW5lc3NlcyB3aXRoIGxvY2F0aW9uIGRhdGEgZm9yIGRpc3BsYXkgb24gdGhlIG1hcC5cbiAqIENhbiBmaWx0ZXIgYnkgdHlwZSBhbmQgd2hldGhlciB0aGV5IHNlcnZlIGFsY29ob2wtZnJlZSBkcmlua3MuXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL21hcC9idXNpbmVzc2VzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlTWFwQnVzaW5lc3NlcyB9IGZyb20gJ0Bncm93c29iZXIvc2RrJztcbiAqXG4gKiBmdW5jdGlvbiBCdXNpbmVzc01hcCgpIHtcbiAqICAgY29uc3QgeyBkYXRhOiBidXNpbmVzc2VzLCBpc0xvYWRpbmcgfSA9IHVzZU1hcEJ1c2luZXNzZXMoe1xuICogICAgIGxhdDogNTEuNTA3NCxcbiAqICAgICBsbmc6IC0wLjEyNzgsXG4gKiAgICAgcmFkaXVzOiAxMCxcbiAqICAgICBhZkRyaW5rc09ubHk6IHRydWUsIC8vIE9ubHkgc2hvdyBBRi1mcmllbmRseSB2ZW51ZXNcbiAqICAgfSk7XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxNYXA+XG4gKiAgICAgICB7YnVzaW5lc3Nlcz8ubWFwKGJ1c2luZXNzID0+IChcbiAqICAgICAgICAgPE1hcmtlclxuICogICAgICAgICAgIGtleT17YnVzaW5lc3MuaWR9XG4gKiAgICAgICAgICAgcG9zaXRpb249e1tidXNpbmVzcy5sb2NhdGlvbkxhdCwgYnVzaW5lc3MubG9jYXRpb25Mb25nXX1cbiAqICAgICAgICAgICBpY29uPXtidXNpbmVzcy5oYXNBZkRyaW5rcyA/ICdhZi12ZW51ZScgOiAndmVudWUnfVxuICogICAgICAgICA+XG4gKiAgICAgICAgICAgPEJ1c2luZXNzUG9wdXAgYnVzaW5lc3M9e2J1c2luZXNzfSAvPlxuICogICAgICAgICA8L01hcmtlcj5cbiAqICAgICAgICkpfVxuICogICAgIDwvTWFwPlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIExvY2F0aW9uIGFuZCBmaWx0ZXIgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBUYW5TdGFjayBRdWVyeSByZXN1bHQgd2l0aCBhcnJheSBvZiBtYXAgYnVzaW5lc3Nlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTWFwQnVzaW5lc3NlcyhcbiAgcGFyYW1zOiBNYXBCdXNpbmVzc2VzUGFyYW1zLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWFwQnVzaW5lc3NSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PE1hcEJ1c2luZXNzUmVzcG9uc2VbXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBtYXBLZXlzLmJ1c2luZXNzZXMocGFyYW1zKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxNYXBCdXNpbmVzc1Jlc3BvbnNlW10+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PE1hcEJ1c2luZXNzUmVzcG9uc2VbXT4oJy9hcGkvdjEvbWFwL2J1c2luZXNzZXMnLCB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGxhdDogcGFyYW1zLmxhdCxcbiAgICAgICAgICBsbmc6IHBhcmFtcy5sbmcsXG4gICAgICAgICAgcmFkaXVzOiBwYXJhbXMucmFkaXVzLFxuICAgICAgICAgIHR5cGU6IHBhcmFtcy50eXBlLFxuICAgICAgICAgIGFmRHJpbmtzT25seTogcGFyYW1zLmFmRHJpbmtzT25seSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiBwYXJhbXMubGF0ICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLmxuZyAhPT0gdW5kZWZpbmVkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9xdWVyaWVzL21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7O0dBUUc7OztBQTJHSCxzQ0FzQkM7QUEyQ0Qsb0NBc0JDO0FBMENELGdDQXFCQztBQTJDRCw0Q0FzQkM7QUFoVUQsdURBQWtGO0FBQ2xGLHNDQUF5QztBQVF6QywrRUFBK0U7QUFDL0UsYUFBYTtBQUNiLCtFQUErRTtBQUUvRTs7R0FFRztBQUNVLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBVTtJQUNyQixPQUFPLEVBQUUsQ0FBQyxNQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFVO0lBQ3BGLE1BQU0sRUFBRSxDQUFDLE1BQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQVU7SUFDakYsSUFBSSxFQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBVTtJQUMzRSxVQUFVLEVBQUUsQ0FBQyxNQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFVO0NBQzlGLENBQUM7QUFxQ0YsK0VBQStFO0FBQy9FLGNBQWM7QUFDZCwrRUFBK0U7QUFFL0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixNQUF3QixFQUN4QixPQUE0RTtJQUU1RSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSxlQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxPQUFP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QTJCLEVBQzNCLE9BQTJFO0lBRTNFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLGVBQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxLQUFLLElBQWlDLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFxQix3QkFBd0IsRUFBRTtnQkFDOUUsTUFBTSxFQUFFO29CQUNOLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztvQkFDZixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7b0JBQ2YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUNyQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ2pCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtpQkFDbEM7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVM7UUFDN0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWFwIFF1ZXJ5IEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgaG9va3MgZm9yIG1hcC1yZWxhdGVkIHJlYWQgb3BlcmF0aW9ucy5cbiAqIFRoZXNlIGhvb2tzIGhhbmRsZSBmZXRjaGluZyBtYXAgZGF0YSBpbmNsdWRpbmcgdXNlcnMsIGV2ZW50cywgYW5kIGJ1c2luZXNzZXNcbiAqIGZvciBkaXNwbGF5IG9uIHRoZSBtZW1iZXIgbWFwIGZlYXR1cmUuXG4gKlxuICogQG1vZHVsZSBhcGkvcXVlcmllcy9tYXBcbiAqL1xuXG5pbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zLCBVc2VRdWVyeVJlc3VsdCB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBnZXRBcGlDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHR5cGUge1xuICBNYXBNZW1iZXJSZXNwb25zZSxcbiAgTWFwRXZlbnRSZXNwb25zZSxcbiAgTWFwSHViUmVzcG9uc2UsXG4gIEJ1c2luZXNzUmVzcG9uc2UsXG59IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgS0VZU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFF1ZXJ5IGtleSBmYWN0b3J5IGZvciBtYXAtcmVsYXRlZCBxdWVyaWVzXG4gKi9cbmV4cG9ydCBjb25zdCBtYXBLZXlzID0ge1xuICBhbGw6IFsnbWFwJ10gYXMgY29uc3QsXG4gIG1lbWJlcnM6IChwYXJhbXM/OiBNYXBNZW1iZXJzUGFyYW1zKSA9PiBbLi4ubWFwS2V5cy5hbGwsICdtZW1iZXJzJywgcGFyYW1zXSBhcyBjb25zdCxcbiAgZXZlbnRzOiAocGFyYW1zPzogTWFwRXZlbnRzUGFyYW1zKSA9PiBbLi4ubWFwS2V5cy5hbGwsICdldmVudHMnLCBwYXJhbXNdIGFzIGNvbnN0LFxuICBodWJzOiAocGFyYW1zPzogTWFwSHVic1BhcmFtcykgPT4gWy4uLm1hcEtleXMuYWxsLCAnaHVicycsIHBhcmFtc10gYXMgY29uc3QsXG4gIGJ1c2luZXNzZXM6IChwYXJhbXM/OiBNYXBCdXNpbmVzc2VzUGFyYW1zKSA9PiBbLi4ubWFwS2V5cy5hbGwsICdidXNpbmVzc2VzJywgcGFyYW1zXSBhcyBjb25zdCxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBBUkFNIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwTWVtYmVyc1BhcmFtcyB7XG4gIGxhdDogbnVtYmVyO1xuICBsbmc6IG51bWJlcjtcbiAgcmFkaXVzPzogbnVtYmVyOyAvLyBrbVxuICBodWJJZD86IHN0cmluZztcbiAgb3BlblRvTWVldE9ubHk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEV2ZW50c1BhcmFtcyB7XG4gIGxhdDogbnVtYmVyO1xuICBsbmc6IG51bWJlcjtcbiAgcmFkaXVzPzogbnVtYmVyOyAvLyBrbVxuICBodWJJZD86IHN0cmluZztcbiAgdXBjb21pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEh1YnNQYXJhbXMge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG4gIHJhZGl1cz86IG51bWJlcjsgLy8ga21cbiAgY2l0eT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBCdXNpbmVzc2VzUGFyYW1zIHtcbiAgbGF0OiBudW1iZXI7XG4gIGxuZzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7IC8vIGttXG4gIHR5cGU/OiBzdHJpbmc7XG4gIGFmRHJpbmtzT25seT86IGJvb2xlYW47XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IG1lbWJlcnMgZm9yIG1hcCBkaXNwbGF5XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXRyaWV2ZXMgdXNlcnMgd2hvIGhhdmUgb3B0ZWQgdG8gYmUgdmlzaWJsZSBvbiB0aGUgbWVtYmVyIG1hcC5cbiAqIE9ubHkgc2hvd3MgdXNlcnMgd2hvIGhhdmUgZW5hYmxlZCBcIm9wZW4gdG8gbWVldFwiIGFuZCBzaGFyZWQgdGhlaXIgbG9jYXRpb24uXG4gKiBQcmVtaXVtIGZlYXR1cmUuXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL21hcC9tZW1iZXJzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlTWFwTWVtYmVycyB9IGZyb20gJ0Bncm93c29iZXIvc2RrJztcbiAqXG4gKiBmdW5jdGlvbiBNZW1iZXJNYXAoKSB7XG4gKiAgIGNvbnN0IHsgZGF0YTogbWVtYmVycywgaXNMb2FkaW5nIH0gPSB1c2VNYXBNZW1iZXJzKHtcbiAqICAgICBsYXQ6IDUxLjUwNzQsXG4gKiAgICAgbG5nOiAtMC4xMjc4LFxuICogICAgIHJhZGl1czogNTAsIC8vIDUwa20gcmFkaXVzXG4gKiAgIH0pO1xuICpcbiAqICAgaWYgKGlzTG9hZGluZykgcmV0dXJuIDxNYXBMb2FkZXIgLz47XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxNYXA+XG4gKiAgICAgICB7bWVtYmVycz8ubWFwKG1lbWJlciA9PiAoXG4gKiAgICAgICAgIDxNYXJrZXJcbiAqICAgICAgICAgICBrZXk9e21lbWJlci5pZH1cbiAqICAgICAgICAgICBwb3NpdGlvbj17W21lbWJlci5sb2NhdGlvbkxhdCwgbWVtYmVyLmxvY2F0aW9uTG9uZ119XG4gKiAgICAgICAgID5cbiAqICAgICAgICAgICA8QXZhdGFyIHNyYz17bWVtYmVyLmF2YXRhcn0gLz5cbiAqICAgICAgICAgPC9NYXJrZXI+XG4gKiAgICAgICApKX1cbiAqICAgICA8L01hcD5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBMb2NhdGlvbiBhbmQgZmlsdGVyIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgcmVzdWx0IHdpdGggYXJyYXkgb2YgbWFwIHVzZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNYXBNZW1iZXJzKFxuICBwYXJhbXM6IE1hcE1lbWJlcnNQYXJhbXMsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxNYXBNZW1iZXJSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PE1hcE1lbWJlclJlc3BvbnNlW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogbWFwS2V5cy5tZW1iZXJzKHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8TWFwTWVtYmVyUmVzcG9uc2VbXT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8TWFwTWVtYmVyUmVzcG9uc2VbXT4oJy9hcGkvdjEvbWFwL21lbWJlcnMnLCB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGxhdDogcGFyYW1zLmxhdCxcbiAgICAgICAgICBsbmc6IHBhcmFtcy5sbmcsXG4gICAgICAgICAgcmFkaXVzOiBwYXJhbXMucmFkaXVzLFxuICAgICAgICAgIGh1YklkOiBwYXJhbXMuaHViSWQsXG4gICAgICAgICAgb3BlblRvTWVldE9ubHk6IHBhcmFtcy5vcGVuVG9NZWV0T25seSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiBwYXJhbXMubGF0ICE9PSB1bmRlZmluZWQgJiYgcGFyYW1zLmxuZyAhPT0gdW5kZWZpbmVkLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBldmVudHMgZm9yIG1hcCBkaXNwbGF5XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBSZXRyaWV2ZXMgZXZlbnRzIHdpdGggbG9jYXRpb24gZGF0YSBmb3IgZGlzcGxheSBvbiB0aGUgbWFwLlxuICogU2hvd3MgdXBjb21pbmcgZXZlbnRzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHJhZGl1cy5cbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9hcGkvdjEvbWFwL2V2ZW50c1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZU1hcEV2ZW50cyB9IGZyb20gJ0Bncm93c29iZXIvc2RrJztcbiAqXG4gKiBmdW5jdGlvbiBFdmVudE1hcCgpIHtcbiAqICAgY29uc3QgeyBkYXRhOiBldmVudHMsIGlzTG9hZGluZyB9ID0gdXNlTWFwRXZlbnRzKHtcbiAqICAgICBsYXQ6IDUxLjUwNzQsXG4gKiAgICAgbG5nOiAtMC4xMjc4LFxuICogICAgIHJhZGl1czogMjUsXG4gKiAgICAgdXBjb21pbmc6IHRydWUsXG4gKiAgIH0pO1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8TWFwPlxuICogICAgICAge2V2ZW50cz8ubWFwKGV2ZW50ID0+IChcbiAqICAgICAgICAgPE1hcmtlclxuICogICAgICAgICAgIGtleT17ZXZlbnQuaWR9XG4gKiAgICAgICAgICAgcG9zaXRpb249e1tldmVudC5sb2NhdGlvbkxhdCwgZXZlbnQubG9jYXRpb25Mb25nXX1cbiAqICAgICAgICAgICBpY29uPVwiZXZlbnRcIlxuICogICAgICAgICA+XG4gKiAgICAgICAgICAgPEV2ZW50UG9wdXAgZXZlbnQ9e2V2ZW50fSAvPlxuICogICAgICAgICA8L01hcmtlcj5cbiAqICAgICAgICkpfVxuICogICAgIDwvTWFwPlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIExvY2F0aW9uIGFuZCBmaWx0ZXIgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBvcHRpb25zXG4gKiBAcmV0dXJucyBUYW5TdGFjayBRdWVyeSByZXN1bHQgd2l0aCBhcnJheSBvZiBtYXAgZXZlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VNYXBFdmVudHMoXG4gIHBhcmFtczogTWFwRXZlbnRzUGFyYW1zLFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8TWFwRXZlbnRSZXNwb25zZVtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PE1hcEV2ZW50UmVzcG9uc2VbXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBtYXBLZXlzLmV2ZW50cyhwYXJhbXMpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPE1hcEV2ZW50UmVzcG9uc2VbXT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8TWFwRXZlbnRSZXNwb25zZVtdPignL2FwaS92MS9tYXAvZXZlbnRzJywge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBsYXQ6IHBhcmFtcy5sYXQsXG4gICAgICAgICAgbG5nOiBwYXJhbXMubG5nLFxuICAgICAgICAgIHJhZGl1czogcGFyYW1zLnJhZGl1cyxcbiAgICAgICAgICBodWJJZDogcGFyYW1zLmh1YklkLFxuICAgICAgICAgIHVwY29taW5nOiBwYXJhbXMudXBjb21pbmcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogcGFyYW1zLmxhdCAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcy5sbmcgIT09IHVuZGVmaW5lZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgaHVicyBmb3IgbWFwIGRpc3BsYXlcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHJpZXZlcyBodWJzIHdpdGggbG9jYXRpb24gZGF0YSBmb3IgZGlzcGxheSBvbiB0aGUgbWFwLlxuICogU2hvd3MgYWN0aXZlIGh1YnMgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFkaXVzLlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9tYXAvaHVic1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZU1hcEh1YnMgfSBmcm9tICdAZ3Jvd3NvYmVyL3Nkayc7XG4gKlxuICogZnVuY3Rpb24gSHViTWFwKCkge1xuICogICBjb25zdCB7IGRhdGE6IGh1YnMsIGlzTG9hZGluZyB9ID0gdXNlTWFwSHVicyh7XG4gKiAgICAgbGF0OiA1MS41MDc0LFxuICogICAgIGxuZzogLTAuMTI3OCxcbiAqICAgICByYWRpdXM6IDUwLFxuICogICB9KTtcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPE1hcD5cbiAqICAgICAgIHtodWJzPy5tYXAoaHViID0+IChcbiAqICAgICAgICAgPE1hcmtlclxuICogICAgICAgICAgIGtleT17aHViLmlkfVxuICogICAgICAgICAgIHBvc2l0aW9uPXtbaHViLmxvY2F0aW9uTGF0LCBodWIubG9jYXRpb25Mb25nXX1cbiAqICAgICAgICAgICBpY29uPVwiaHViXCJcbiAqICAgICAgICAgPlxuICogICAgICAgICAgIDxIdWJQb3B1cCBodWI9e2h1Yn0gLz5cbiAqICAgICAgICAgPC9NYXJrZXI+XG4gKiAgICAgICApKX1cbiAqICAgICA8L01hcD5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBMb2NhdGlvbiBhbmQgZmlsdGVyIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgcmVzdWx0IHdpdGggYXJyYXkgb2YgbWFwIGh1YnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1hcEh1YnMoXG4gIHBhcmFtczogTWFwSHVic1BhcmFtcyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPE1hcEh1YlJlc3BvbnNlW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8TWFwSHViUmVzcG9uc2VbXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBtYXBLZXlzLmh1YnMocGFyYW1zKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxNYXBIdWJSZXNwb25zZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxNYXBIdWJSZXNwb25zZVtdPignL2FwaS92MS9tYXAvaHVicycsIHtcbiAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgbGF0OiBwYXJhbXMubGF0LFxuICAgICAgICAgIGxuZzogcGFyYW1zLmxuZyxcbiAgICAgICAgICByYWRpdXM6IHBhcmFtcy5yYWRpdXMsXG4gICAgICAgICAgY2l0eTogcGFyYW1zLmNpdHksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogcGFyYW1zLmxhdCAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcy5sbmcgIT09IHVuZGVmaW5lZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgYnVzaW5lc3NlcyBmb3IgbWFwIGRpc3BsYXlcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFJldHJpZXZlcyBwYXJ0bmVyIGJ1c2luZXNzZXMgd2l0aCBsb2NhdGlvbiBkYXRhIGZvciBkaXNwbGF5IG9uIHRoZSBtYXAuXG4gKiBDYW4gZmlsdGVyIGJ5IHR5cGUgYW5kIHdoZXRoZXIgdGhleSBzZXJ2ZSBhbGNvaG9sLWZyZWUgZHJpbmtzLlxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS9tYXAvYnVzaW5lc3Nlc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZU1hcEJ1c2luZXNzZXMgfSBmcm9tICdAZ3Jvd3NvYmVyL3Nkayc7XG4gKlxuICogZnVuY3Rpb24gQnVzaW5lc3NNYXAoKSB7XG4gKiAgIGNvbnN0IHsgZGF0YTogYnVzaW5lc3NlcywgaXNMb2FkaW5nIH0gPSB1c2VNYXBCdXNpbmVzc2VzKHtcbiAqICAgICBsYXQ6IDUxLjUwNzQsXG4gKiAgICAgbG5nOiAtMC4xMjc4LFxuICogICAgIHJhZGl1czogMTAsXG4gKiAgICAgYWZEcmlua3NPbmx5OiB0cnVlLCAvLyBPbmx5IHNob3cgQUYtZnJpZW5kbHkgdmVudWVzXG4gKiAgIH0pO1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8TWFwPlxuICogICAgICAge2J1c2luZXNzZXM/Lm1hcChidXNpbmVzcyA9PiAoXG4gKiAgICAgICAgIDxNYXJrZXJcbiAqICAgICAgICAgICBrZXk9e2J1c2luZXNzLmlkfVxuICogICAgICAgICAgIHBvc2l0aW9uPXtbYnVzaW5lc3MubG9jYXRpb25MYXQsIGJ1c2luZXNzLmxvY2F0aW9uTG9uZ119XG4gKiAgICAgICAgICAgaWNvbj17YnVzaW5lc3MuaGFzQWZEcmlua3MgPyAnYWYtdmVudWUnIDogJ3ZlbnVlJ31cbiAqICAgICAgICAgPlxuICogICAgICAgICAgIDxCdXNpbmVzc1BvcHVwIGJ1c2luZXNzPXtidXNpbmVzc30gLz5cbiAqICAgICAgICAgPC9NYXJrZXI+XG4gKiAgICAgICApKX1cbiAqICAgICA8L01hcD5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBMb2NhdGlvbiBhbmQgZmlsdGVyIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgcmVzdWx0IHdpdGggYXJyYXkgb2YgbWFwIGJ1c2luZXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1hcEJ1c2luZXNzZXMoXG4gIHBhcmFtczogTWFwQnVzaW5lc3Nlc1BhcmFtcyxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPEJ1c2luZXNzUmVzcG9uc2VbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxCdXNpbmVzc1Jlc3BvbnNlW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogbWFwS2V5cy5idXNpbmVzc2VzKHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCk6IFByb21pc2U8QnVzaW5lc3NSZXNwb25zZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxCdXNpbmVzc1Jlc3BvbnNlW10+KCcvYXBpL3YxL21hcC9idXNpbmVzc2VzJywge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBsYXQ6IHBhcmFtcy5sYXQsXG4gICAgICAgICAgbG5nOiBwYXJhbXMubG5nLFxuICAgICAgICAgIHJhZGl1czogcGFyYW1zLnJhZGl1cyxcbiAgICAgICAgICB0eXBlOiBwYXJhbXMudHlwZSxcbiAgICAgICAgICBhZkRyaW5rc09ubHk6IHBhcmFtcy5hZkRyaW5rc09ubHksXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgZW5hYmxlZDogcGFyYW1zLmxhdCAhPT0gdW5kZWZpbmVkICYmIHBhcmFtcy5sbmcgIT09IHVuZGVmaW5lZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==