@payloadcms/db-mongodb 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IAyElB,CAAA"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IA4ElB,CAAA"}
package/dist/find.js CHANGED
@@ -53,8 +53,11 @@ const find = async function find({ collection, limit, locale, page, pagination,
53
53
  sort,
54
54
  useEstimatedCount
55
55
  };
56
- if (!useEstimatedCount && this.disableIndexHints !== true) {
57
- // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding a hint.
56
+ if (!useEstimatedCount && Object.keys(query).length === 0 && this.disableIndexHints !== true) {
57
+ // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding
58
+ // a hint. By default, if no hint is provided, MongoDB does not use an indexed field to count the returned documents,
59
+ // which makes queries very slow. This only happens when no query (filter) is provided. If one is provided, it uses
60
+ // the correct indexed field
58
61
  paginationOptions.useCustomCountFn = ()=>{
59
62
  return Promise.resolve(Model.countDocuments(query, {
60
63
  hint: {
@@ -80,4 +83,4 @@ const find = async function find({ collection, limit, locale, page, pagination,
80
83
  };
81
84
  };
82
85
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFnaW5hdGVPcHRpb25zIH0gZnJvbSAnbW9uZ29vc2UnXG5pbXBvcnQgdHlwZSB7IEZpbmQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG5pbXBvcnQgeyBidWlsZFNvcnRQYXJhbSB9IGZyb20gJy4vcXVlcmllcy9idWlsZFNvcnRQYXJhbSdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyB3aXRoU2Vzc2lvbiB9IGZyb20gJy4vd2l0aFNlc3Npb24nXG5cbmV4cG9ydCBjb25zdCBmaW5kOiBGaW5kID0gYXN5bmMgZnVuY3Rpb24gZmluZChcbiAgdGhpczogTW9uZ29vc2VBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIGxpbWl0LCBsb2NhbGUsIHBhZ2UsIHBhZ2luYXRpb24sIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCBzb3J0OiBzb3J0QXJnLCB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IE1vZGVsID0gdGhpcy5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXVxuICBjb25zdCBjb2xsZWN0aW9uQ29uZmlnID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25dLmNvbmZpZ1xuICBjb25zdCBvcHRpb25zID0gd2l0aFNlc3Npb24odGhpcywgcmVxLnRyYW5zYWN0aW9uSUQpXG5cbiAgbGV0IGhhc05lYXJDb25zdHJhaW50ID0gZmFsc2VcblxuICBpZiAod2hlcmUpIHtcbiAgICBjb25zdCBjb25zdHJhaW50cyA9IGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzKHdoZXJlKVxuICAgIGhhc05lYXJDb25zdHJhaW50ID0gY29uc3RyYWludHMuc29tZSgocHJvcCkgPT4gT2JqZWN0LmtleXMocHJvcCkuc29tZSgoa2V5KSA9PiBrZXkgPT09ICduZWFyJykpXG4gIH1cblxuICBsZXQgc29ydFxuICBpZiAoIWhhc05lYXJDb25zdHJhaW50KSB7XG4gICAgc29ydCA9IGJ1aWxkU29ydFBhcmFtKHtcbiAgICAgIGNvbmZpZzogdGhpcy5wYXlsb2FkLmNvbmZpZyxcbiAgICAgIGZpZWxkczogY29sbGVjdGlvbkNvbmZpZy5maWVsZHMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzb3J0OiBzb3J0QXJnIHx8IGNvbGxlY3Rpb25Db25maWcuZGVmYXVsdFNvcnQsXG4gICAgICB0aW1lc3RhbXBzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBxdWVyeSA9IGF3YWl0IE1vZGVsLmJ1aWxkUXVlcnkoe1xuICAgIGxvY2FsZSxcbiAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gdXNlRXN0aW1hdGVkQ291bnQgaXMgZmFzdGVyLCBidXQgbm90IGFjY3VyYXRlLCBhcyBpdCBpZ25vcmVzIGFueSBmaWx0ZXJzLiBJdCBpcyB0aHVzIHNldCB0byB0cnVlIGlmIHRoZXJlIGFyZSBubyBmaWx0ZXJzLlxuICBjb25zdCB1c2VFc3RpbWF0ZWRDb3VudCA9IGhhc05lYXJDb25zdHJhaW50IHx8ICFxdWVyeSB8fCBPYmplY3Qua2V5cyhxdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb3B0aW9ucyxcbiAgICBwYWdlLFxuICAgIHBhZ2luYXRpb24sXG4gICAgc29ydCxcbiAgICB1c2VFc3RpbWF0ZWRDb3VudCxcbiAgfVxuXG4gIGlmICghdXNlRXN0aW1hdGVkQ291bnQgJiYgdGhpcy5kaXNhYmxlSW5kZXhIaW50cyAhPT0gdHJ1ZSkge1xuICAgIC8vIEltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBjb3VudERvY3VtZW50cyBxdWVyeSB3aGljaCBpcyB1c2VkIGlmIHVzZUVzdGltYXRlZENvdW50IGlzIHNldCB0byBmYWxzZSBieSBhZGRpbmcgYSBoaW50LlxuICAgIHBhZ2luYXRpb25PcHRpb25zLnVzZUN1c3RvbUNvdW50Rm4gPSAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICBNb2RlbC5jb3VudERvY3VtZW50cyhxdWVyeSwge1xuICAgICAgICAgIGhpbnQ6IHsgX2lkOiAxIH0sXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGlmIChsaW1pdCA+IDApIHtcbiAgICBwYWdpbmF0aW9uT3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gICAgLy8gbGltaXQgbXVzdCBhbHNvIGJlIHNldCBoZXJlLCBpdCdzIGlnbm9yZWQgd2hlbiBwYWdpbmF0aW9uIGlzIGZhbHNlXG4gICAgcGFnaW5hdGlvbk9wdGlvbnMub3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBNb2RlbC5wYWdpbmF0ZShxdWVyeSwgcGFnaW5hdGlvbk9wdGlvbnMpXG4gIGNvbnN0IGRvY3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kb2NzKSlcblxuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBkb2NzOiBkb2NzLm1hcCgoZG9jKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIGRvYy5pZCA9IGRvYy5faWRcbiAgICAgIHJldHVybiBzYW5pdGl6ZUludGVybmFsRmllbGRzKGRvYylcbiAgICB9KSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmQiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJsb2NhbGUiLCJwYWdlIiwicGFnaW5hdGlvbiIsInJlcSIsInNvcnQiLCJzb3J0QXJnIiwid2hlcmUiLCJNb2RlbCIsImNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbkNvbmZpZyIsInBheWxvYWQiLCJjb25maWciLCJvcHRpb25zIiwid2l0aFNlc3Npb24iLCJ0cmFuc2FjdGlvbklEIiwiaGFzTmVhckNvbnN0cmFpbnQiLCJjb25zdHJhaW50cyIsImZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIiwic29tZSIsInByb3AiLCJPYmplY3QiLCJrZXlzIiwia2V5IiwiYnVpbGRTb3J0UGFyYW0iLCJmaWVsZHMiLCJkZWZhdWx0U29ydCIsInRpbWVzdGFtcHMiLCJxdWVyeSIsImJ1aWxkUXVlcnkiLCJ1c2VFc3RpbWF0ZWRDb3VudCIsImxlbmd0aCIsInBhZ2luYXRpb25PcHRpb25zIiwiZm9yY2VDb3VudEZuIiwibGVhbiIsImxlYW5XaXRoSWQiLCJkaXNhYmxlSW5kZXhIaW50cyIsInVzZUN1c3RvbUNvdW50Rm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvdW50RG9jdW1lbnRzIiwiaGludCIsIl9pZCIsInJlc3VsdCIsInBhZ2luYXRlIiwiZG9jcyIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIm1hcCIsImRvYyIsImlkIiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZYUE7OztlQUFBQTs7OzBCQVIyQjtnQ0FJVDsrRUFDSTs2QkFDUDs7Ozs7O0FBRXJCLE1BQU1BLE9BQWEsZUFBZUEsS0FFdkMsRUFBRUMsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxNQUFNQyxPQUFPLEVBQUVDLEtBQUssRUFBRTtJQUVqRyxNQUFNQyxRQUFRLElBQUksQ0FBQ0MsV0FBVyxDQUFDVixXQUFXO0lBQzFDLE1BQU1XLG1CQUFtQixJQUFJLENBQUNDLE9BQU8sQ0FBQ0YsV0FBVyxDQUFDVixXQUFXLENBQUNhLE1BQU07SUFDcEUsTUFBTUMsVUFBVUMsSUFBQUEsd0JBQVcsRUFBQyxJQUFJLEVBQUVWLElBQUlXLGFBQWE7SUFFbkQsSUFBSUMsb0JBQW9CO0lBRXhCLElBQUlULE9BQU87UUFDVCxNQUFNVSxjQUFjQyxJQUFBQSxpQ0FBdUIsRUFBQ1g7UUFDNUNTLG9CQUFvQkMsWUFBWUUsSUFBSSxDQUFDLENBQUNDLE9BQVNDLE9BQU9DLElBQUksQ0FBQ0YsTUFBTUQsSUFBSSxDQUFDLENBQUNJLE1BQVFBLFFBQVE7SUFDekY7SUFFQSxJQUFJbEI7SUFDSixJQUFJLENBQUNXLG1CQUFtQjtRQUN0QlgsT0FBT21CLElBQUFBLDhCQUFjLEVBQUM7WUFDcEJaLFFBQVEsSUFBSSxDQUFDRCxPQUFPLENBQUNDLE1BQU07WUFDM0JhLFFBQVFmLGlCQUFpQmUsTUFBTTtZQUMvQnhCO1lBQ0FJLE1BQU1DLFdBQVdJLGlCQUFpQmdCLFdBQVc7WUFDN0NDLFlBQVk7UUFDZDtJQUNGO0lBRUEsTUFBTUMsUUFBUSxNQUFNcEIsTUFBTXFCLFVBQVUsQ0FBQztRQUNuQzVCO1FBQ0FVLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1FBQ3JCSjtJQUNGO0lBRUEsNEhBQTRIO0lBQzVILE1BQU11QixvQkFBb0JkLHFCQUFxQixDQUFDWSxTQUFTUCxPQUFPQyxJQUFJLENBQUNNLE9BQU9HLE1BQU0sS0FBSztJQUN2RixNQUFNQyxvQkFBcUM7UUFDekNDLGNBQWNqQjtRQUNka0IsTUFBTTtRQUNOQyxZQUFZO1FBQ1p0QjtRQUNBWDtRQUNBQztRQUNBRTtRQUNBeUI7SUFDRjtJQUVBLElBQUksQ0FBQ0EscUJBQXFCLElBQUksQ0FBQ00saUJBQWlCLEtBQUssTUFBTTtRQUN6RCwySEFBMkg7UUFDM0hKLGtCQUFrQkssZ0JBQWdCLEdBQUc7WUFDbkMsT0FBT0MsUUFBUUMsT0FBTyxDQUNwQi9CLE1BQU1nQyxjQUFjLENBQUNaLE9BQU87Z0JBQzFCYSxNQUFNO29CQUFFQyxLQUFLO2dCQUFFO1lBQ2pCO1FBRUo7SUFDRjtJQUVBLElBQUkxQyxRQUFRLEdBQUc7UUFDYmdDLGtCQUFrQmhDLEtBQUssR0FBR0E7UUFDMUIscUVBQXFFO1FBQ3JFZ0Msa0JBQWtCbkIsT0FBTyxDQUFDYixLQUFLLEdBQUdBO0lBQ3BDO0lBRUEsTUFBTTJDLFNBQVMsTUFBTW5DLE1BQU1vQyxRQUFRLENBQUNoQixPQUFPSTtJQUMzQyxNQUFNYSxPQUFPQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ0wsT0FBT0UsSUFBSTtJQUVsRCxPQUFPO1FBQ0wsR0FBR0YsTUFBTTtRQUNURSxNQUFNQSxLQUFLSSxHQUFHLENBQUMsQ0FBQ0M7WUFDZCw2Q0FBNkM7WUFDN0NBLElBQUlDLEVBQUUsR0FBR0QsSUFBSVIsR0FBRztZQUNoQixPQUFPVSxJQUFBQSwrQkFBc0IsRUFBQ0Y7UUFDaEM7SUFDRjtBQUNGIn0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFnaW5hdGVPcHRpb25zIH0gZnJvbSAnbW9uZ29vc2UnXG5pbXBvcnQgdHlwZSB7IEZpbmQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG5pbXBvcnQgeyBidWlsZFNvcnRQYXJhbSB9IGZyb20gJy4vcXVlcmllcy9idWlsZFNvcnRQYXJhbSdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyB3aXRoU2Vzc2lvbiB9IGZyb20gJy4vd2l0aFNlc3Npb24nXG5cbmV4cG9ydCBjb25zdCBmaW5kOiBGaW5kID0gYXN5bmMgZnVuY3Rpb24gZmluZChcbiAgdGhpczogTW9uZ29vc2VBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIGxpbWl0LCBsb2NhbGUsIHBhZ2UsIHBhZ2luYXRpb24sIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCBzb3J0OiBzb3J0QXJnLCB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IE1vZGVsID0gdGhpcy5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXVxuICBjb25zdCBjb2xsZWN0aW9uQ29uZmlnID0gdGhpcy5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25dLmNvbmZpZ1xuICBjb25zdCBvcHRpb25zID0gd2l0aFNlc3Npb24odGhpcywgcmVxLnRyYW5zYWN0aW9uSUQpXG5cbiAgbGV0IGhhc05lYXJDb25zdHJhaW50ID0gZmFsc2VcblxuICBpZiAod2hlcmUpIHtcbiAgICBjb25zdCBjb25zdHJhaW50cyA9IGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzKHdoZXJlKVxuICAgIGhhc05lYXJDb25zdHJhaW50ID0gY29uc3RyYWludHMuc29tZSgocHJvcCkgPT4gT2JqZWN0LmtleXMocHJvcCkuc29tZSgoa2V5KSA9PiBrZXkgPT09ICduZWFyJykpXG4gIH1cblxuICBsZXQgc29ydFxuICBpZiAoIWhhc05lYXJDb25zdHJhaW50KSB7XG4gICAgc29ydCA9IGJ1aWxkU29ydFBhcmFtKHtcbiAgICAgIGNvbmZpZzogdGhpcy5wYXlsb2FkLmNvbmZpZyxcbiAgICAgIGZpZWxkczogY29sbGVjdGlvbkNvbmZpZy5maWVsZHMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzb3J0OiBzb3J0QXJnIHx8IGNvbGxlY3Rpb25Db25maWcuZGVmYXVsdFNvcnQsXG4gICAgICB0aW1lc3RhbXBzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBxdWVyeSA9IGF3YWl0IE1vZGVsLmJ1aWxkUXVlcnkoe1xuICAgIGxvY2FsZSxcbiAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gdXNlRXN0aW1hdGVkQ291bnQgaXMgZmFzdGVyLCBidXQgbm90IGFjY3VyYXRlLCBhcyBpdCBpZ25vcmVzIGFueSBmaWx0ZXJzLiBJdCBpcyB0aHVzIHNldCB0byB0cnVlIGlmIHRoZXJlIGFyZSBubyBmaWx0ZXJzLlxuICBjb25zdCB1c2VFc3RpbWF0ZWRDb3VudCA9IGhhc05lYXJDb25zdHJhaW50IHx8ICFxdWVyeSB8fCBPYmplY3Qua2V5cyhxdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb3B0aW9ucyxcbiAgICBwYWdlLFxuICAgIHBhZ2luYXRpb24sXG4gICAgc29ydCxcbiAgICB1c2VFc3RpbWF0ZWRDb3VudCxcbiAgfVxuXG4gIGlmICghdXNlRXN0aW1hdGVkQ291bnQgJiYgT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA9PT0gMCAmJiB0aGlzLmRpc2FibGVJbmRleEhpbnRzICE9PSB0cnVlKSB7XG4gICAgLy8gSW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGNvdW50RG9jdW1lbnRzIHF1ZXJ5IHdoaWNoIGlzIHVzZWQgaWYgdXNlRXN0aW1hdGVkQ291bnQgaXMgc2V0IHRvIGZhbHNlIGJ5IGFkZGluZ1xuICAgIC8vIGEgaGludC4gQnkgZGVmYXVsdCwgaWYgbm8gaGludCBpcyBwcm92aWRlZCwgTW9uZ29EQiBkb2VzIG5vdCB1c2UgYW4gaW5kZXhlZCBmaWVsZCB0byBjb3VudCB0aGUgcmV0dXJuZWQgZG9jdW1lbnRzLFxuICAgIC8vIHdoaWNoIG1ha2VzIHF1ZXJpZXMgdmVyeSBzbG93LiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIG5vIHF1ZXJ5IChmaWx0ZXIpIGlzIHByb3ZpZGVkLiBJZiBvbmUgaXMgcHJvdmlkZWQsIGl0IHVzZXNcbiAgICAvLyB0aGUgY29ycmVjdCBpbmRleGVkIGZpZWxkXG4gICAgcGFnaW5hdGlvbk9wdGlvbnMudXNlQ3VzdG9tQ291bnRGbiA9ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoXG4gICAgICAgIE1vZGVsLmNvdW50RG9jdW1lbnRzKHF1ZXJ5LCB7XG4gICAgICAgICAgaGludDogeyBfaWQ6IDEgfSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgaWYgKGxpbWl0ID4gMCkge1xuICAgIHBhZ2luYXRpb25PcHRpb25zLmxpbWl0ID0gbGltaXRcbiAgICAvLyBsaW1pdCBtdXN0IGFsc28gYmUgc2V0IGhlcmUsIGl0J3MgaWdub3JlZCB3aGVuIHBhZ2luYXRpb24gaXMgZmFsc2VcbiAgICBwYWdpbmF0aW9uT3B0aW9ucy5vcHRpb25zLmxpbWl0ID0gbGltaXRcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IE1vZGVsLnBhZ2luYXRlKHF1ZXJ5LCBwYWdpbmF0aW9uT3B0aW9ucylcbiAgY29uc3QgZG9jcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0LmRvY3MpKVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVzdWx0LFxuICAgIGRvY3M6IGRvY3MubWFwKChkb2MpID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZG9jLmlkID0gZG9jLl9pZFxuICAgICAgcmV0dXJuIHNhbml0aXplSW50ZXJuYWxGaWVsZHMoZG9jKVxuICAgIH0pLFxuICB9XG59XG4iXSwibmFtZXMiOlsiZmluZCIsImNvbGxlY3Rpb24iLCJsaW1pdCIsImxvY2FsZSIsInBhZ2UiLCJwYWdpbmF0aW9uIiwicmVxIiwic29ydCIsInNvcnRBcmciLCJ3aGVyZSIsIk1vZGVsIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uQ29uZmlnIiwicGF5bG9hZCIsImNvbmZpZyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJoYXNOZWFyQ29uc3RyYWludCIsImNvbnN0cmFpbnRzIiwiZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMiLCJzb21lIiwicHJvcCIsIk9iamVjdCIsImtleXMiLCJrZXkiLCJidWlsZFNvcnRQYXJhbSIsImZpZWxkcyIsImRlZmF1bHRTb3J0IiwidGltZXN0YW1wcyIsInF1ZXJ5IiwiYnVpbGRRdWVyeSIsInVzZUVzdGltYXRlZENvdW50IiwibGVuZ3RoIiwicGFnaW5hdGlvbk9wdGlvbnMiLCJmb3JjZUNvdW50Rm4iLCJsZWFuIiwibGVhbldpdGhJZCIsImRpc2FibGVJbmRleEhpbnRzIiwidXNlQ3VzdG9tQ291bnRGbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY291bnREb2N1bWVudHMiLCJoaW50IiwiX2lkIiwicmVzdWx0IiwicGFnaW5hdGUiLCJkb2NzIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwibWFwIiwiZG9jIiwiaWQiLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7MEJBUjJCO2dDQUlUOytFQUNJOzZCQUNQOzs7Ozs7QUFFckIsTUFBTUEsT0FBYSxlQUFlQSxLQUV2QyxFQUFFQyxVQUFVLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxDQUFDLENBQW1CLEVBQUVDLE1BQU1DLE9BQU8sRUFBRUMsS0FBSyxFQUFFO0lBRWpHLE1BQU1DLFFBQVEsSUFBSSxDQUFDQyxXQUFXLENBQUNWLFdBQVc7SUFDMUMsTUFBTVcsbUJBQW1CLElBQUksQ0FBQ0MsT0FBTyxDQUFDRixXQUFXLENBQUNWLFdBQVcsQ0FBQ2EsTUFBTTtJQUNwRSxNQUFNQyxVQUFVQyxJQUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRVYsSUFBSVcsYUFBYTtJQUVuRCxJQUFJQyxvQkFBb0I7SUFFeEIsSUFBSVQsT0FBTztRQUNULE1BQU1VLGNBQWNDLElBQUFBLGlDQUF1QixFQUFDWDtRQUM1Q1Msb0JBQW9CQyxZQUFZRSxJQUFJLENBQUMsQ0FBQ0MsT0FBU0MsT0FBT0MsSUFBSSxDQUFDRixNQUFNRCxJQUFJLENBQUMsQ0FBQ0ksTUFBUUEsUUFBUTtJQUN6RjtJQUVBLElBQUlsQjtJQUNKLElBQUksQ0FBQ1csbUJBQW1CO1FBQ3RCWCxPQUFPbUIsSUFBQUEsOEJBQWMsRUFBQztZQUNwQlosUUFBUSxJQUFJLENBQUNELE9BQU8sQ0FBQ0MsTUFBTTtZQUMzQmEsUUFBUWYsaUJBQWlCZSxNQUFNO1lBQy9CeEI7WUFDQUksTUFBTUMsV0FBV0ksaUJBQWlCZ0IsV0FBVztZQUM3Q0MsWUFBWTtRQUNkO0lBQ0Y7SUFFQSxNQUFNQyxRQUFRLE1BQU1wQixNQUFNcUIsVUFBVSxDQUFDO1FBQ25DNUI7UUFDQVUsU0FBUyxJQUFJLENBQUNBLE9BQU87UUFDckJKO0lBQ0Y7SUFFQSw0SEFBNEg7SUFDNUgsTUFBTXVCLG9CQUFvQmQscUJBQXFCLENBQUNZLFNBQVNQLE9BQU9DLElBQUksQ0FBQ00sT0FBT0csTUFBTSxLQUFLO0lBQ3ZGLE1BQU1DLG9CQUFxQztRQUN6Q0MsY0FBY2pCO1FBQ2RrQixNQUFNO1FBQ05DLFlBQVk7UUFDWnRCO1FBQ0FYO1FBQ0FDO1FBQ0FFO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSSxDQUFDQSxxQkFBcUJULE9BQU9DLElBQUksQ0FBQ00sT0FBT0csTUFBTSxLQUFLLEtBQUssSUFBSSxDQUFDSyxpQkFBaUIsS0FBSyxNQUFNO1FBQzVGLG1IQUFtSDtRQUNuSCxxSEFBcUg7UUFDckgsbUhBQW1IO1FBQ25ILDRCQUE0QjtRQUM1Qkosa0JBQWtCSyxnQkFBZ0IsR0FBRztZQUNuQyxPQUFPQyxRQUFRQyxPQUFPLENBQ3BCL0IsTUFBTWdDLGNBQWMsQ0FBQ1osT0FBTztnQkFDMUJhLE1BQU07b0JBQUVDLEtBQUs7Z0JBQUU7WUFDakI7UUFFSjtJQUNGO0lBRUEsSUFBSTFDLFFBQVEsR0FBRztRQUNiZ0Msa0JBQWtCaEMsS0FBSyxHQUFHQTtRQUMxQixxRUFBcUU7UUFDckVnQyxrQkFBa0JuQixPQUFPLENBQUNiLEtBQUssR0FBR0E7SUFDcEM7SUFFQSxNQUFNMkMsU0FBUyxNQUFNbkMsTUFBTW9DLFFBQVEsQ0FBQ2hCLE9BQU9JO0lBQzNDLE1BQU1hLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsU0FBUyxDQUFDTCxPQUFPRSxJQUFJO0lBRWxELE9BQU87UUFDTCxHQUFHRixNQUFNO1FBQ1RFLE1BQU1BLEtBQUtJLEdBQUcsQ0FBQyxDQUFDQztZQUNkLDZDQUE2QztZQUM3Q0EsSUFBSUMsRUFBRSxHQUFHRCxJQUFJUixHQUFHO1lBQ2hCLE9BQU9VLElBQUFBLCtCQUFzQixFQUFDRjtRQUNoQztJQUNGO0FBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"findGlobalVersions.d.ts","sourceRoot":"","sources":["../src/findGlobalVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAY1D,eAAO,MAAM,kBAAkB,EAAE,kBA2FhC,CAAA"}
1
+ {"version":3,"file":"findGlobalVersions.d.ts","sourceRoot":"","sources":["../src/findGlobalVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAY1D,eAAO,MAAM,kBAAkB,EAAE,kBA8FhC,CAAA"}
@@ -60,8 +60,11 @@ const findGlobalVersions = async function findGlobalVersions({ global, limit, lo
60
60
  sort,
61
61
  useEstimatedCount
62
62
  };
63
- if (!useEstimatedCount && this.disableIndexHints !== true) {
64
- // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding a hint.
63
+ if (!useEstimatedCount && Object.keys(query).length === 0 && this.disableIndexHints !== true) {
64
+ // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding
65
+ // a hint. By default, if no hint is provided, MongoDB does not use an indexed field to count the returned documents,
66
+ // which makes queries very slow. This only happens when no query (filter) is provided. If one is provided, it uses
67
+ // the correct indexed field
65
68
  paginationOptions.useCustomCountFn = ()=>{
66
69
  return Promise.resolve(Model.countDocuments(query, {
67
70
  hint: {
@@ -87,4 +90,4 @@ const findGlobalVersions = async function findGlobalVersions({ global, limit, lo
87
90
  };
88
91
  };
89
92
 
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kR2xvYmFsVmVyc2lvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgRmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuXG5pbXBvcnQgdHlwZSB7IE1vbmdvb3NlQWRhcHRlciB9IGZyb20gJy4nXG5cbmltcG9ydCB7IGJ1aWxkU29ydFBhcmFtIH0gZnJvbSAnLi9xdWVyaWVzL2J1aWxkU29ydFBhcmFtJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcydcbmltcG9ydCB7IHdpdGhTZXNzaW9uIH0gZnJvbSAnLi93aXRoU2Vzc2lvbidcblxuZXhwb3J0IGNvbnN0IGZpbmRHbG9iYWxWZXJzaW9uczogRmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgZnVuY3Rpb24gZmluZEdsb2JhbFZlcnNpb25zKFxuICB0aGlzOiBNb25nb29zZUFkYXB0ZXIsXG4gIHtcbiAgICBnbG9iYWwsXG4gICAgbGltaXQsXG4gICAgbG9jYWxlLFxuICAgIHBhZ2UsXG4gICAgcGFnaW5hdGlvbixcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICBza2lwLFxuICAgIHNvcnQ6IHNvcnRBcmcsXG4gICAgd2hlcmUsXG4gIH0sXG4pIHtcbiAgY29uc3QgTW9kZWwgPSB0aGlzLnZlcnNpb25zW2dsb2JhbF1cbiAgY29uc3QgdmVyc2lvbkZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhcbiAgICB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IGdsb2JhbCksXG4gIClcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi53aXRoU2Vzc2lvbih0aGlzLCByZXEudHJhbnNhY3Rpb25JRCksXG4gICAgbGltaXQsXG4gICAgc2tpcCxcbiAgfVxuXG4gIGxldCBoYXNOZWFyQ29uc3RyYWludCA9IGZhbHNlXG5cbiAgaWYgKHdoZXJlKSB7XG4gICAgY29uc3QgY29uc3RyYWludHMgPSBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyh3aGVyZSlcbiAgICBoYXNOZWFyQ29uc3RyYWludCA9IGNvbnN0cmFpbnRzLnNvbWUoKHByb3ApID0+IE9iamVjdC5rZXlzKHByb3ApLnNvbWUoKGtleSkgPT4ga2V5ID09PSAnbmVhcicpKVxuICB9XG5cbiAgbGV0IHNvcnRcbiAgaWYgKCFoYXNOZWFyQ29uc3RyYWludCkge1xuICAgIHNvcnQgPSBidWlsZFNvcnRQYXJhbSh7XG4gICAgICBjb25maWc6IHRoaXMucGF5bG9hZC5jb25maWcsXG4gICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzb3J0OiBzb3J0QXJnIHx8ICctdXBkYXRlZEF0JyxcbiAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IHF1ZXJ5ID0gYXdhaXQgTW9kZWwuYnVpbGRRdWVyeSh7XG4gICAgZ2xvYmFsU2x1ZzogZ2xvYmFsLFxuICAgIGxvY2FsZSxcbiAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gdXNlRXN0aW1hdGVkQ291bnQgaXMgZmFzdGVyLCBidXQgbm90IGFjY3VyYXRlLCBhcyBpdCBpZ25vcmVzIGFueSBmaWx0ZXJzLiBJdCBpcyB0aHVzIHNldCB0byB0cnVlIGlmIHRoZXJlIGFyZSBubyBmaWx0ZXJzLlxuICBjb25zdCB1c2VFc3RpbWF0ZWRDb3VudCA9IGhhc05lYXJDb25zdHJhaW50IHx8ICFxdWVyeSB8fCBPYmplY3Qua2V5cyhxdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb2Zmc2V0OiBza2lwLFxuICAgIG9wdGlvbnMsXG4gICAgcGFnZSxcbiAgICBwYWdpbmF0aW9uLFxuICAgIHNvcnQsXG4gICAgdXNlRXN0aW1hdGVkQ291bnQsXG4gIH1cblxuICBpZiAoIXVzZUVzdGltYXRlZENvdW50ICYmIHRoaXMuZGlzYWJsZUluZGV4SGludHMgIT09IHRydWUpIHtcbiAgICAvLyBJbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgY291bnREb2N1bWVudHMgcXVlcnkgd2hpY2ggaXMgdXNlZCBpZiB1c2VFc3RpbWF0ZWRDb3VudCBpcyBzZXQgdG8gZmFsc2UgYnkgYWRkaW5nIGEgaGludC5cbiAgICBwYWdpbmF0aW9uT3B0aW9ucy51c2VDdXN0b21Db3VudEZuID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgTW9kZWwuY291bnREb2N1bWVudHMocXVlcnksIHtcbiAgICAgICAgICBoaW50OiB7IF9pZDogMSB9LFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBpZiAobGltaXQgPiAwKSB7XG4gICAgcGFnaW5hdGlvbk9wdGlvbnMubGltaXQgPSBsaW1pdFxuICAgIC8vIGxpbWl0IG11c3QgYWxzbyBiZSBzZXQgaGVyZSwgaXQncyBpZ25vcmVkIHdoZW4gcGFnaW5hdGlvbiBpcyBmYWxzZVxuICAgIHBhZ2luYXRpb25PcHRpb25zLm9wdGlvbnMubGltaXQgPSBsaW1pdFxuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgTW9kZWwucGFnaW5hdGUocXVlcnksIHBhZ2luYXRpb25PcHRpb25zKVxuICBjb25zdCBkb2NzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQuZG9jcykpXG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgZG9jczogZG9jcy5tYXAoKGRvYykgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBkb2MuaWQgPSBkb2MuX2lkXG4gICAgICByZXR1cm4gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG4gICAgfSksXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kR2xvYmFsVmVyc2lvbnMiLCJnbG9iYWwiLCJsaW1pdCIsImxvY2FsZSIsInBhZ2UiLCJwYWdpbmF0aW9uIiwicmVxIiwic2tpcCIsInNvcnQiLCJzb3J0QXJnIiwid2hlcmUiLCJNb2RlbCIsInZlcnNpb25zIiwidmVyc2lvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyIsInBheWxvYWQiLCJnbG9iYWxzIiwiY29uZmlnIiwiZmluZCIsInNsdWciLCJvcHRpb25zIiwid2l0aFNlc3Npb24iLCJ0cmFuc2FjdGlvbklEIiwiaGFzTmVhckNvbnN0cmFpbnQiLCJjb25zdHJhaW50cyIsImZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIiwic29tZSIsInByb3AiLCJPYmplY3QiLCJrZXlzIiwia2V5IiwiYnVpbGRTb3J0UGFyYW0iLCJmaWVsZHMiLCJ0aW1lc3RhbXBzIiwicXVlcnkiLCJidWlsZFF1ZXJ5IiwiZ2xvYmFsU2x1ZyIsInVzZUVzdGltYXRlZENvdW50IiwibGVuZ3RoIiwicGFnaW5hdGlvbk9wdGlvbnMiLCJmb3JjZUNvdW50Rm4iLCJsZWFuIiwibGVhbldpdGhJZCIsIm9mZnNldCIsImRpc2FibGVJbmRleEhpbnRzIiwidXNlQ3VzdG9tQ291bnRGbiIsIlByb21pc2UiLCJyZXNvbHZlIiwiY291bnREb2N1bWVudHMiLCJoaW50IiwiX2lkIiwicmVzdWx0IiwicGFnaW5hdGUiLCJkb2NzIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwibWFwIiwiZG9jIiwiaWQiLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFhQTs7O2VBQUFBOzs7MEJBVDJCOzBCQUNDO2dDQUlWOytFQUNJOzZCQUNQOzs7Ozs7QUFFckIsTUFBTUEscUJBQXlDLGVBQWVBLG1CQUVuRSxFQUNFQyxNQUFNLEVBQ05DLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLFVBQVUsRUFDVkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxJQUFJLEVBQ0pDLE1BQU1DLE9BQU8sRUFDYkMsS0FBSyxFQUNOO0lBRUQsTUFBTUMsUUFBUSxJQUFJLENBQUNDLFFBQVEsQ0FBQ1gsT0FBTztJQUNuQyxNQUFNWSxnQkFBZ0JDLElBQUFBLGtDQUF3QixFQUM1QyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQSxTQUFTbEI7SUFFMUQsTUFBTW1CLFVBQVU7UUFDZCxHQUFHQyxJQUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRWYsSUFBSWdCLGFBQWEsQ0FBQztRQUN2Q3BCO1FBQ0FLO0lBQ0Y7SUFFQSxJQUFJZ0Isb0JBQW9CO0lBRXhCLElBQUliLE9BQU87UUFDVCxNQUFNYyxjQUFjQyxJQUFBQSxpQ0FBdUIsRUFBQ2Y7UUFDNUNhLG9CQUFvQkMsWUFBWUUsSUFBSSxDQUFDLENBQUNDLE9BQVNDLE9BQU9DLElBQUksQ0FBQ0YsTUFBTUQsSUFBSSxDQUFDLENBQUNJLE1BQVFBLFFBQVE7SUFDekY7SUFFQSxJQUFJdEI7SUFDSixJQUFJLENBQUNlLG1CQUFtQjtRQUN0QmYsT0FBT3VCLElBQUFBLDhCQUFjLEVBQUM7WUFDcEJkLFFBQVEsSUFBSSxDQUFDRixPQUFPLENBQUNFLE1BQU07WUFDM0JlLFFBQVFuQjtZQUNSVjtZQUNBSyxNQUFNQyxXQUFXO1lBQ2pCd0IsWUFBWTtRQUNkO0lBQ0Y7SUFFQSxNQUFNQyxRQUFRLE1BQU12QixNQUFNd0IsVUFBVSxDQUFDO1FBQ25DQyxZQUFZbkM7UUFDWkU7UUFDQVksU0FBUyxJQUFJLENBQUNBLE9BQU87UUFDckJMO0lBQ0Y7SUFFQSw0SEFBNEg7SUFDNUgsTUFBTTJCLG9CQUFvQmQscUJBQXFCLENBQUNXLFNBQVNOLE9BQU9DLElBQUksQ0FBQ0ssT0FBT0ksTUFBTSxLQUFLO0lBQ3ZGLE1BQU1DLG9CQUFxQztRQUN6Q0MsY0FBY2pCO1FBQ2RrQixNQUFNO1FBQ05DLFlBQVk7UUFDWkMsUUFBUXBDO1FBQ1JhO1FBQ0FoQjtRQUNBQztRQUNBRztRQUNBNkI7SUFDRjtJQUVBLElBQUksQ0FBQ0EscUJBQXFCLElBQUksQ0FBQ08saUJBQWlCLEtBQUssTUFBTTtRQUN6RCwySEFBMkg7UUFDM0hMLGtCQUFrQk0sZ0JBQWdCLEdBQUc7WUFDbkMsT0FBT0MsUUFBUUMsT0FBTyxDQUNwQnBDLE1BQU1xQyxjQUFjLENBQUNkLE9BQU87Z0JBQzFCZSxNQUFNO29CQUFFQyxLQUFLO2dCQUFFO1lBQ2pCO1FBRUo7SUFDRjtJQUVBLElBQUloRCxRQUFRLEdBQUc7UUFDYnFDLGtCQUFrQnJDLEtBQUssR0FBR0E7UUFDMUIscUVBQXFFO1FBQ3JFcUMsa0JBQWtCbkIsT0FBTyxDQUFDbEIsS0FBSyxHQUFHQTtJQUNwQztJQUVBLE1BQU1pRCxTQUFTLE1BQU14QyxNQUFNeUMsUUFBUSxDQUFDbEIsT0FBT0s7SUFDM0MsTUFBTWMsT0FBT0MsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxTQUFTLENBQUNMLE9BQU9FLElBQUk7SUFFbEQsT0FBTztRQUNMLEdBQUdGLE1BQU07UUFDVEUsTUFBTUEsS0FBS0ksR0FBRyxDQUFDLENBQUNDO1lBQ2QsNkNBQTZDO1lBQzdDQSxJQUFJQyxFQUFFLEdBQUdELElBQUlSLEdBQUc7WUFDaEIsT0FBT1UsSUFBQUEsK0JBQXNCLEVBQUNGO1FBQ2hDO0lBQ0Y7QUFDRiJ9
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kR2xvYmFsVmVyc2lvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgRmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuXG5pbXBvcnQgdHlwZSB7IE1vbmdvb3NlQWRhcHRlciB9IGZyb20gJy4nXG5cbmltcG9ydCB7IGJ1aWxkU29ydFBhcmFtIH0gZnJvbSAnLi9xdWVyaWVzL2J1aWxkU29ydFBhcmFtJ1xuaW1wb3J0IHNhbml0aXplSW50ZXJuYWxGaWVsZHMgZnJvbSAnLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcydcbmltcG9ydCB7IHdpdGhTZXNzaW9uIH0gZnJvbSAnLi93aXRoU2Vzc2lvbidcblxuZXhwb3J0IGNvbnN0IGZpbmRHbG9iYWxWZXJzaW9uczogRmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgZnVuY3Rpb24gZmluZEdsb2JhbFZlcnNpb25zKFxuICB0aGlzOiBNb25nb29zZUFkYXB0ZXIsXG4gIHtcbiAgICBnbG9iYWwsXG4gICAgbGltaXQsXG4gICAgbG9jYWxlLFxuICAgIHBhZ2UsXG4gICAgcGFnaW5hdGlvbixcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICBza2lwLFxuICAgIHNvcnQ6IHNvcnRBcmcsXG4gICAgd2hlcmUsXG4gIH0sXG4pIHtcbiAgY29uc3QgTW9kZWwgPSB0aGlzLnZlcnNpb25zW2dsb2JhbF1cbiAgY29uc3QgdmVyc2lvbkZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhcbiAgICB0aGlzLnBheWxvYWQuZ2xvYmFscy5jb25maWcuZmluZCgoeyBzbHVnIH0pID0+IHNsdWcgPT09IGdsb2JhbCksXG4gIClcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi53aXRoU2Vzc2lvbih0aGlzLCByZXEudHJhbnNhY3Rpb25JRCksXG4gICAgbGltaXQsXG4gICAgc2tpcCxcbiAgfVxuXG4gIGxldCBoYXNOZWFyQ29uc3RyYWludCA9IGZhbHNlXG5cbiAgaWYgKHdoZXJlKSB7XG4gICAgY29uc3QgY29uc3RyYWludHMgPSBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyh3aGVyZSlcbiAgICBoYXNOZWFyQ29uc3RyYWludCA9IGNvbnN0cmFpbnRzLnNvbWUoKHByb3ApID0+IE9iamVjdC5rZXlzKHByb3ApLnNvbWUoKGtleSkgPT4ga2V5ID09PSAnbmVhcicpKVxuICB9XG5cbiAgbGV0IHNvcnRcbiAgaWYgKCFoYXNOZWFyQ29uc3RyYWludCkge1xuICAgIHNvcnQgPSBidWlsZFNvcnRQYXJhbSh7XG4gICAgICBjb25maWc6IHRoaXMucGF5bG9hZC5jb25maWcsXG4gICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzb3J0OiBzb3J0QXJnIHx8ICctdXBkYXRlZEF0JyxcbiAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IHF1ZXJ5ID0gYXdhaXQgTW9kZWwuYnVpbGRRdWVyeSh7XG4gICAgZ2xvYmFsU2x1ZzogZ2xvYmFsLFxuICAgIGxvY2FsZSxcbiAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gdXNlRXN0aW1hdGVkQ291bnQgaXMgZmFzdGVyLCBidXQgbm90IGFjY3VyYXRlLCBhcyBpdCBpZ25vcmVzIGFueSBmaWx0ZXJzLiBJdCBpcyB0aHVzIHNldCB0byB0cnVlIGlmIHRoZXJlIGFyZSBubyBmaWx0ZXJzLlxuICBjb25zdCB1c2VFc3RpbWF0ZWRDb3VudCA9IGhhc05lYXJDb25zdHJhaW50IHx8ICFxdWVyeSB8fCBPYmplY3Qua2V5cyhxdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb2Zmc2V0OiBza2lwLFxuICAgIG9wdGlvbnMsXG4gICAgcGFnZSxcbiAgICBwYWdpbmF0aW9uLFxuICAgIHNvcnQsXG4gICAgdXNlRXN0aW1hdGVkQ291bnQsXG4gIH1cblxuICBpZiAoIXVzZUVzdGltYXRlZENvdW50ICYmIE9iamVjdC5rZXlzKHF1ZXJ5KS5sZW5ndGggPT09IDAgJiYgdGhpcy5kaXNhYmxlSW5kZXhIaW50cyAhPT0gdHJ1ZSkge1xuICAgIC8vIEltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBjb3VudERvY3VtZW50cyBxdWVyeSB3aGljaCBpcyB1c2VkIGlmIHVzZUVzdGltYXRlZENvdW50IGlzIHNldCB0byBmYWxzZSBieSBhZGRpbmdcbiAgICAvLyBhIGhpbnQuIEJ5IGRlZmF1bHQsIGlmIG5vIGhpbnQgaXMgcHJvdmlkZWQsIE1vbmdvREIgZG9lcyBub3QgdXNlIGFuIGluZGV4ZWQgZmllbGQgdG8gY291bnQgdGhlIHJldHVybmVkIGRvY3VtZW50cyxcbiAgICAvLyB3aGljaCBtYWtlcyBxdWVyaWVzIHZlcnkgc2xvdy4gVGhpcyBvbmx5IGhhcHBlbnMgd2hlbiBubyBxdWVyeSAoZmlsdGVyKSBpcyBwcm92aWRlZC4gSWYgb25lIGlzIHByb3ZpZGVkLCBpdCB1c2VzXG4gICAgLy8gdGhlIGNvcnJlY3QgaW5kZXhlZCBmaWVsZFxuICAgIHBhZ2luYXRpb25PcHRpb25zLnVzZUN1c3RvbUNvdW50Rm4gPSAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICBNb2RlbC5jb3VudERvY3VtZW50cyhxdWVyeSwge1xuICAgICAgICAgIGhpbnQ6IHsgX2lkOiAxIH0sXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGlmIChsaW1pdCA+IDApIHtcbiAgICBwYWdpbmF0aW9uT3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gICAgLy8gbGltaXQgbXVzdCBhbHNvIGJlIHNldCBoZXJlLCBpdCdzIGlnbm9yZWQgd2hlbiBwYWdpbmF0aW9uIGlzIGZhbHNlXG4gICAgcGFnaW5hdGlvbk9wdGlvbnMub3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBNb2RlbC5wYWdpbmF0ZShxdWVyeSwgcGFnaW5hdGlvbk9wdGlvbnMpXG4gIGNvbnN0IGRvY3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kb2NzKSlcblxuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBkb2NzOiBkb2NzLm1hcCgoZG9jKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIGRvYy5pZCA9IGRvYy5faWRcbiAgICAgIHJldHVybiBzYW5pdGl6ZUludGVybmFsRmllbGRzKGRvYylcbiAgICB9KSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRHbG9iYWxWZXJzaW9ucyIsImdsb2JhbCIsImxpbWl0IiwibG9jYWxlIiwicGFnZSIsInBhZ2luYXRpb24iLCJyZXEiLCJza2lwIiwic29ydCIsInNvcnRBcmciLCJ3aGVyZSIsIk1vZGVsIiwidmVyc2lvbnMiLCJ2ZXJzaW9uRmllbGRzIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIiwicGF5bG9hZCIsImdsb2JhbHMiLCJjb25maWciLCJmaW5kIiwic2x1ZyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJoYXNOZWFyQ29uc3RyYWludCIsImNvbnN0cmFpbnRzIiwiZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMiLCJzb21lIiwicHJvcCIsIk9iamVjdCIsImtleXMiLCJrZXkiLCJidWlsZFNvcnRQYXJhbSIsImZpZWxkcyIsInRpbWVzdGFtcHMiLCJxdWVyeSIsImJ1aWxkUXVlcnkiLCJnbG9iYWxTbHVnIiwidXNlRXN0aW1hdGVkQ291bnQiLCJsZW5ndGgiLCJwYWdpbmF0aW9uT3B0aW9ucyIsImZvcmNlQ291bnRGbiIsImxlYW4iLCJsZWFuV2l0aElkIiwib2Zmc2V0IiwiZGlzYWJsZUluZGV4SGludHMiLCJ1c2VDdXN0b21Db3VudEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjb3VudERvY3VtZW50cyIsImhpbnQiLCJfaWQiLCJyZXN1bHQiLCJwYWdpbmF0ZSIsImRvY3MiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJtYXAiLCJkb2MiLCJpZCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7OzswQkFUMkI7MEJBQ0M7Z0NBSVY7K0VBQ0k7NkJBQ1A7Ozs7OztBQUVyQixNQUFNQSxxQkFBeUMsZUFBZUEsbUJBRW5FLEVBQ0VDLE1BQU0sRUFDTkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsVUFBVSxFQUNWQyxNQUFNLENBQUMsQ0FBbUIsRUFDMUJDLElBQUksRUFDSkMsTUFBTUMsT0FBTyxFQUNiQyxLQUFLLEVBQ047SUFFRCxNQUFNQyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxDQUFDWCxPQUFPO0lBQ25DLE1BQU1ZLGdCQUFnQkMsSUFBQUEsa0NBQXdCLEVBQzVDLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsRUFBRUMsSUFBSSxFQUFFLEdBQUtBLFNBQVNsQjtJQUUxRCxNQUFNbUIsVUFBVTtRQUNkLEdBQUdDLElBQUFBLHdCQUFXLEVBQUMsSUFBSSxFQUFFZixJQUFJZ0IsYUFBYSxDQUFDO1FBQ3ZDcEI7UUFDQUs7SUFDRjtJQUVBLElBQUlnQixvQkFBb0I7SUFFeEIsSUFBSWIsT0FBTztRQUNULE1BQU1jLGNBQWNDLElBQUFBLGlDQUF1QixFQUFDZjtRQUM1Q2Esb0JBQW9CQyxZQUFZRSxJQUFJLENBQUMsQ0FBQ0MsT0FBU0MsT0FBT0MsSUFBSSxDQUFDRixNQUFNRCxJQUFJLENBQUMsQ0FBQ0ksTUFBUUEsUUFBUTtJQUN6RjtJQUVBLElBQUl0QjtJQUNKLElBQUksQ0FBQ2UsbUJBQW1CO1FBQ3RCZixPQUFPdUIsSUFBQUEsOEJBQWMsRUFBQztZQUNwQmQsUUFBUSxJQUFJLENBQUNGLE9BQU8sQ0FBQ0UsTUFBTTtZQUMzQmUsUUFBUW5CO1lBQ1JWO1lBQ0FLLE1BQU1DLFdBQVc7WUFDakJ3QixZQUFZO1FBQ2Q7SUFDRjtJQUVBLE1BQU1DLFFBQVEsTUFBTXZCLE1BQU13QixVQUFVLENBQUM7UUFDbkNDLFlBQVluQztRQUNaRTtRQUNBWSxTQUFTLElBQUksQ0FBQ0EsT0FBTztRQUNyQkw7SUFDRjtJQUVBLDRIQUE0SDtJQUM1SCxNQUFNMkIsb0JBQW9CZCxxQkFBcUIsQ0FBQ1csU0FBU04sT0FBT0MsSUFBSSxDQUFDSyxPQUFPSSxNQUFNLEtBQUs7SUFDdkYsTUFBTUMsb0JBQXFDO1FBQ3pDQyxjQUFjakI7UUFDZGtCLE1BQU07UUFDTkMsWUFBWTtRQUNaQyxRQUFRcEM7UUFDUmE7UUFDQWhCO1FBQ0FDO1FBQ0FHO1FBQ0E2QjtJQUNGO0lBRUEsSUFBSSxDQUFDQSxxQkFBcUJULE9BQU9DLElBQUksQ0FBQ0ssT0FBT0ksTUFBTSxLQUFLLEtBQUssSUFBSSxDQUFDTSxpQkFBaUIsS0FBSyxNQUFNO1FBQzVGLG1IQUFtSDtRQUNuSCxxSEFBcUg7UUFDckgsbUhBQW1IO1FBQ25ILDRCQUE0QjtRQUM1Qkwsa0JBQWtCTSxnQkFBZ0IsR0FBRztZQUNuQyxPQUFPQyxRQUFRQyxPQUFPLENBQ3BCcEMsTUFBTXFDLGNBQWMsQ0FBQ2QsT0FBTztnQkFDMUJlLE1BQU07b0JBQUVDLEtBQUs7Z0JBQUU7WUFDakI7UUFFSjtJQUNGO0lBRUEsSUFBSWhELFFBQVEsR0FBRztRQUNicUMsa0JBQWtCckMsS0FBSyxHQUFHQTtRQUMxQixxRUFBcUU7UUFDckVxQyxrQkFBa0JuQixPQUFPLENBQUNsQixLQUFLLEdBQUdBO0lBQ3BDO0lBRUEsTUFBTWlELFNBQVMsTUFBTXhDLE1BQU15QyxRQUFRLENBQUNsQixPQUFPSztJQUMzQyxNQUFNYyxPQUFPQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ0wsT0FBT0UsSUFBSTtJQUVsRCxPQUFPO1FBQ0wsR0FBR0YsTUFBTTtRQUNURSxNQUFNQSxLQUFLSSxHQUFHLENBQUMsQ0FBQ0M7WUFDZCw2Q0FBNkM7WUFDN0NBLElBQUlDLEVBQUUsR0FBR0QsSUFBSVIsR0FBRztZQUNoQixPQUFPVSxJQUFBQSwrQkFBc0IsRUFBQ0Y7UUFDaEM7SUFDRjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../src/findVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAWpD,eAAO,MAAM,YAAY,EAAE,YAyF1B,CAAA"}
1
+ {"version":3,"file":"findVersions.d.ts","sourceRoot":"","sources":["../src/findVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAWpD,eAAO,MAAM,YAAY,EAAE,YA4F1B,CAAA"}
@@ -59,8 +59,11 @@ const findVersions = async function findVersions({ collection, limit, locale, pa
59
59
  sort,
60
60
  useEstimatedCount
61
61
  };
62
- if (!useEstimatedCount && this.disableIndexHints !== true) {
63
- // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding a hint.
62
+ if (!useEstimatedCount && Object.keys(query).length === 0 && this.disableIndexHints !== true) {
63
+ // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding
64
+ // a hint. By default, if no hint is provided, MongoDB does not use an indexed field to count the returned documents,
65
+ // which makes queries very slow. This only happens when no query (filter) is provided. If one is provided, it uses
66
+ // the correct indexed field
64
67
  paginationOptions.useCustomCountFn = ()=>{
65
68
  return Promise.resolve(Model.countDocuments(query, {
66
69
  hint: {
@@ -86,4 +89,4 @@ const findVersions = async function findVersions({ collection, limit, locale, pa
86
89
  };
87
90
  };
88
91
 
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kVmVyc2lvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgRmluZFZlcnNpb25zIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgTW9uZ29vc2VBZGFwdGVyIH0gZnJvbSAnLidcblxuaW1wb3J0IHsgYnVpbGRTb3J0UGFyYW0gfSBmcm9tICcuL3F1ZXJpZXMvYnVpbGRTb3J0UGFyYW0nXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgd2l0aFNlc3Npb24gfSBmcm9tICcuL3dpdGhTZXNzaW9uJ1xuXG5leHBvcnQgY29uc3QgZmluZFZlcnNpb25zOiBGaW5kVmVyc2lvbnMgPSBhc3luYyBmdW5jdGlvbiBmaW5kVmVyc2lvbnMoXG4gIHRoaXM6IE1vbmdvb3NlQWRhcHRlcixcbiAge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgbGltaXQsXG4gICAgbG9jYWxlLFxuICAgIHBhZ2UsXG4gICAgcGFnaW5hdGlvbixcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICBza2lwLFxuICAgIHNvcnQ6IHNvcnRBcmcsXG4gICAgd2hlcmUsXG4gIH0sXG4pIHtcbiAgY29uc3QgTW9kZWwgPSB0aGlzLnZlcnNpb25zW2NvbGxlY3Rpb25dXG4gIGNvbnN0IGNvbGxlY3Rpb25Db25maWcgPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvbl0uY29uZmlnXG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4ud2l0aFNlc3Npb24odGhpcywgcmVxLnRyYW5zYWN0aW9uSUQpLFxuICAgIGxpbWl0LFxuICAgIHNraXAsXG4gIH1cblxuICBsZXQgaGFzTmVhckNvbnN0cmFpbnQgPSBmYWxzZVxuXG4gIGlmICh3aGVyZSkge1xuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMod2hlcmUpXG4gICAgaGFzTmVhckNvbnN0cmFpbnQgPSBjb25zdHJhaW50cy5zb21lKChwcm9wKSA9PiBPYmplY3Qua2V5cyhwcm9wKS5zb21lKChrZXkpID0+IGtleSA9PT0gJ25lYXInKSlcbiAgfVxuXG4gIGxldCBzb3J0XG4gIGlmICghaGFzTmVhckNvbnN0cmFpbnQpIHtcbiAgICBzb3J0ID0gYnVpbGRTb3J0UGFyYW0oe1xuICAgICAgY29uZmlnOiB0aGlzLnBheWxvYWQuY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uQ29uZmlnLmZpZWxkcyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIHNvcnQ6IHNvcnRBcmcgfHwgJy11cGRhdGVkQXQnLFxuICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgcXVlcnkgPSBhd2FpdCBNb2RlbC5idWlsZFF1ZXJ5KHtcbiAgICBsb2NhbGUsXG4gICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIC8vIHVzZUVzdGltYXRlZENvdW50IGlzIGZhc3RlciwgYnV0IG5vdCBhY2N1cmF0ZSwgYXMgaXQgaWdub3JlcyBhbnkgZmlsdGVycy4gSXQgaXMgdGh1cyBzZXQgdG8gdHJ1ZSBpZiB0aGVyZSBhcmUgbm8gZmlsdGVycy5cbiAgY29uc3QgdXNlRXN0aW1hdGVkQ291bnQgPSBoYXNOZWFyQ29uc3RyYWludCB8fCAhcXVlcnkgfHwgT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA9PT0gMFxuICBjb25zdCBwYWdpbmF0aW9uT3B0aW9uczogUGFnaW5hdGVPcHRpb25zID0ge1xuICAgIGZvcmNlQ291bnRGbjogaGFzTmVhckNvbnN0cmFpbnQsXG4gICAgbGVhbjogdHJ1ZSxcbiAgICBsZWFuV2l0aElkOiB0cnVlLFxuICAgIGxpbWl0LFxuICAgIG9mZnNldDogc2tpcCB8fCAwLFxuICAgIG9wdGlvbnMsXG4gICAgcGFnZSxcbiAgICBwYWdpbmF0aW9uLFxuICAgIHNvcnQsXG4gICAgdXNlRXN0aW1hdGVkQ291bnQsXG4gIH1cblxuICBpZiAoIXVzZUVzdGltYXRlZENvdW50ICYmIHRoaXMuZGlzYWJsZUluZGV4SGludHMgIT09IHRydWUpIHtcbiAgICAvLyBJbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgY291bnREb2N1bWVudHMgcXVlcnkgd2hpY2ggaXMgdXNlZCBpZiB1c2VFc3RpbWF0ZWRDb3VudCBpcyBzZXQgdG8gZmFsc2UgYnkgYWRkaW5nIGEgaGludC5cbiAgICBwYWdpbmF0aW9uT3B0aW9ucy51c2VDdXN0b21Db3VudEZuID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgTW9kZWwuY291bnREb2N1bWVudHMocXVlcnksIHtcbiAgICAgICAgICBoaW50OiB7IF9pZDogMSB9LFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBpZiAobGltaXQgPiAwKSB7XG4gICAgcGFnaW5hdGlvbk9wdGlvbnMubGltaXQgPSBsaW1pdFxuICAgIC8vIGxpbWl0IG11c3QgYWxzbyBiZSBzZXQgaGVyZSwgaXQncyBpZ25vcmVkIHdoZW4gcGFnaW5hdGlvbiBpcyBmYWxzZVxuICAgIHBhZ2luYXRpb25PcHRpb25zLm9wdGlvbnMubGltaXQgPSBsaW1pdFxuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgTW9kZWwucGFnaW5hdGUocXVlcnksIHBhZ2luYXRpb25PcHRpb25zKVxuICBjb25zdCBkb2NzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQuZG9jcykpXG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgZG9jczogZG9jcy5tYXAoKGRvYykgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBkb2MuaWQgPSBkb2MuX2lkXG4gICAgICByZXR1cm4gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG4gICAgfSksXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kVmVyc2lvbnMiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJsb2NhbGUiLCJwYWdlIiwicGFnaW5hdGlvbiIsInJlcSIsInNraXAiLCJzb3J0Iiwic29ydEFyZyIsIndoZXJlIiwiTW9kZWwiLCJ2ZXJzaW9ucyIsImNvbGxlY3Rpb25Db25maWciLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJvcHRpb25zIiwid2l0aFNlc3Npb24iLCJ0cmFuc2FjdGlvbklEIiwiaGFzTmVhckNvbnN0cmFpbnQiLCJjb25zdHJhaW50cyIsImZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIiwic29tZSIsInByb3AiLCJPYmplY3QiLCJrZXlzIiwia2V5IiwiYnVpbGRTb3J0UGFyYW0iLCJmaWVsZHMiLCJ0aW1lc3RhbXBzIiwicXVlcnkiLCJidWlsZFF1ZXJ5IiwidXNlRXN0aW1hdGVkQ291bnQiLCJsZW5ndGgiLCJwYWdpbmF0aW9uT3B0aW9ucyIsImZvcmNlQ291bnRGbiIsImxlYW4iLCJsZWFuV2l0aElkIiwib2Zmc2V0IiwiZGlzYWJsZUluZGV4SGludHMiLCJ1c2VDdXN0b21Db3VudEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjb3VudERvY3VtZW50cyIsImhpbnQiLCJfaWQiLCJyZXN1bHQiLCJwYWdpbmF0ZSIsImRvY3MiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJtYXAiLCJkb2MiLCJpZCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBWWFBOzs7ZUFBQUE7OzswQkFSMkI7Z0NBSVQ7K0VBQ0k7NkJBQ1A7Ozs7OztBQUVyQixNQUFNQSxlQUE2QixlQUFlQSxhQUV2RCxFQUNFQyxVQUFVLEVBQ1ZDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxJQUFJLEVBQ0pDLFVBQVUsRUFDVkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxJQUFJLEVBQ0pDLE1BQU1DLE9BQU8sRUFDYkMsS0FBSyxFQUNOO0lBRUQsTUFBTUMsUUFBUSxJQUFJLENBQUNDLFFBQVEsQ0FBQ1gsV0FBVztJQUN2QyxNQUFNWSxtQkFBbUIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ2QsV0FBVyxDQUFDZSxNQUFNO0lBQ3BFLE1BQU1DLFVBQVU7UUFDZCxHQUFHQyxJQUFBQSx3QkFBVyxFQUFDLElBQUksRUFBRVosSUFBSWEsYUFBYSxDQUFDO1FBQ3ZDakI7UUFDQUs7SUFDRjtJQUVBLElBQUlhLG9CQUFvQjtJQUV4QixJQUFJVixPQUFPO1FBQ1QsTUFBTVcsY0FBY0MsSUFBQUEsaUNBQXVCLEVBQUNaO1FBQzVDVSxvQkFBb0JDLFlBQVlFLElBQUksQ0FBQyxDQUFDQyxPQUFTQyxPQUFPQyxJQUFJLENBQUNGLE1BQU1ELElBQUksQ0FBQyxDQUFDSSxNQUFRQSxRQUFRO0lBQ3pGO0lBRUEsSUFBSW5CO0lBQ0osSUFBSSxDQUFDWSxtQkFBbUI7UUFDdEJaLE9BQU9vQixJQUFBQSw4QkFBYyxFQUFDO1lBQ3BCWixRQUFRLElBQUksQ0FBQ0YsT0FBTyxDQUFDRSxNQUFNO1lBQzNCYSxRQUFRaEIsaUJBQWlCZ0IsTUFBTTtZQUMvQjFCO1lBQ0FLLE1BQU1DLFdBQVc7WUFDakJxQixZQUFZO1FBQ2Q7SUFDRjtJQUVBLE1BQU1DLFFBQVEsTUFBTXBCLE1BQU1xQixVQUFVLENBQUM7UUFDbkM3QjtRQUNBVyxTQUFTLElBQUksQ0FBQ0EsT0FBTztRQUNyQko7SUFDRjtJQUVBLDRIQUE0SDtJQUM1SCxNQUFNdUIsb0JBQW9CYixxQkFBcUIsQ0FBQ1csU0FBU04sT0FBT0MsSUFBSSxDQUFDSyxPQUFPRyxNQUFNLEtBQUs7SUFDdkYsTUFBTUMsb0JBQXFDO1FBQ3pDQyxjQUFjaEI7UUFDZGlCLE1BQU07UUFDTkMsWUFBWTtRQUNacEM7UUFDQXFDLFFBQVFoQyxRQUFRO1FBQ2hCVTtRQUNBYjtRQUNBQztRQUNBRztRQUNBeUI7SUFDRjtJQUVBLElBQUksQ0FBQ0EscUJBQXFCLElBQUksQ0FBQ08saUJBQWlCLEtBQUssTUFBTTtRQUN6RCwySEFBMkg7UUFDM0hMLGtCQUFrQk0sZ0JBQWdCLEdBQUc7WUFDbkMsT0FBT0MsUUFBUUMsT0FBTyxDQUNwQmhDLE1BQU1pQyxjQUFjLENBQUNiLE9BQU87Z0JBQzFCYyxNQUFNO29CQUFFQyxLQUFLO2dCQUFFO1lBQ2pCO1FBRUo7SUFDRjtJQUVBLElBQUk1QyxRQUFRLEdBQUc7UUFDYmlDLGtCQUFrQmpDLEtBQUssR0FBR0E7UUFDMUIscUVBQXFFO1FBQ3JFaUMsa0JBQWtCbEIsT0FBTyxDQUFDZixLQUFLLEdBQUdBO0lBQ3BDO0lBRUEsTUFBTTZDLFNBQVMsTUFBTXBDLE1BQU1xQyxRQUFRLENBQUNqQixPQUFPSTtJQUMzQyxNQUFNYyxPQUFPQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLFNBQVMsQ0FBQ0wsT0FBT0UsSUFBSTtJQUVsRCxPQUFPO1FBQ0wsR0FBR0YsTUFBTTtRQUNURSxNQUFNQSxLQUFLSSxHQUFHLENBQUMsQ0FBQ0M7WUFDZCw2Q0FBNkM7WUFDN0NBLElBQUlDLEVBQUUsR0FBR0QsSUFBSVIsR0FBRztZQUNoQixPQUFPVSxJQUFBQSwrQkFBc0IsRUFBQ0Y7UUFDaEM7SUFDRjtBQUNGIn0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maW5kVmVyc2lvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgRmluZFZlcnNpb25zIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgTW9uZ29vc2VBZGFwdGVyIH0gZnJvbSAnLidcblxuaW1wb3J0IHsgYnVpbGRTb3J0UGFyYW0gfSBmcm9tICcuL3F1ZXJpZXMvYnVpbGRTb3J0UGFyYW0nXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuL3V0aWxpdGllcy9zYW5pdGl6ZUludGVybmFsRmllbGRzJ1xuaW1wb3J0IHsgd2l0aFNlc3Npb24gfSBmcm9tICcuL3dpdGhTZXNzaW9uJ1xuXG5leHBvcnQgY29uc3QgZmluZFZlcnNpb25zOiBGaW5kVmVyc2lvbnMgPSBhc3luYyBmdW5jdGlvbiBmaW5kVmVyc2lvbnMoXG4gIHRoaXM6IE1vbmdvb3NlQWRhcHRlcixcbiAge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgbGltaXQsXG4gICAgbG9jYWxlLFxuICAgIHBhZ2UsXG4gICAgcGFnaW5hdGlvbixcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICBza2lwLFxuICAgIHNvcnQ6IHNvcnRBcmcsXG4gICAgd2hlcmUsXG4gIH0sXG4pIHtcbiAgY29uc3QgTW9kZWwgPSB0aGlzLnZlcnNpb25zW2NvbGxlY3Rpb25dXG4gIGNvbnN0IGNvbGxlY3Rpb25Db25maWcgPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvbl0uY29uZmlnXG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4ud2l0aFNlc3Npb24odGhpcywgcmVxLnRyYW5zYWN0aW9uSUQpLFxuICAgIGxpbWl0LFxuICAgIHNraXAsXG4gIH1cblxuICBsZXQgaGFzTmVhckNvbnN0cmFpbnQgPSBmYWxzZVxuXG4gIGlmICh3aGVyZSkge1xuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMod2hlcmUpXG4gICAgaGFzTmVhckNvbnN0cmFpbnQgPSBjb25zdHJhaW50cy5zb21lKChwcm9wKSA9PiBPYmplY3Qua2V5cyhwcm9wKS5zb21lKChrZXkpID0+IGtleSA9PT0gJ25lYXInKSlcbiAgfVxuXG4gIGxldCBzb3J0XG4gIGlmICghaGFzTmVhckNvbnN0cmFpbnQpIHtcbiAgICBzb3J0ID0gYnVpbGRTb3J0UGFyYW0oe1xuICAgICAgY29uZmlnOiB0aGlzLnBheWxvYWQuY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uQ29uZmlnLmZpZWxkcyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIHNvcnQ6IHNvcnRBcmcgfHwgJy11cGRhdGVkQXQnLFxuICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgcXVlcnkgPSBhd2FpdCBNb2RlbC5idWlsZFF1ZXJ5KHtcbiAgICBsb2NhbGUsXG4gICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgIHdoZXJlLFxuICB9KVxuXG4gIC8vIHVzZUVzdGltYXRlZENvdW50IGlzIGZhc3RlciwgYnV0IG5vdCBhY2N1cmF0ZSwgYXMgaXQgaWdub3JlcyBhbnkgZmlsdGVycy4gSXQgaXMgdGh1cyBzZXQgdG8gdHJ1ZSBpZiB0aGVyZSBhcmUgbm8gZmlsdGVycy5cbiAgY29uc3QgdXNlRXN0aW1hdGVkQ291bnQgPSBoYXNOZWFyQ29uc3RyYWludCB8fCAhcXVlcnkgfHwgT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA9PT0gMFxuICBjb25zdCBwYWdpbmF0aW9uT3B0aW9uczogUGFnaW5hdGVPcHRpb25zID0ge1xuICAgIGZvcmNlQ291bnRGbjogaGFzTmVhckNvbnN0cmFpbnQsXG4gICAgbGVhbjogdHJ1ZSxcbiAgICBsZWFuV2l0aElkOiB0cnVlLFxuICAgIGxpbWl0LFxuICAgIG9mZnNldDogc2tpcCB8fCAwLFxuICAgIG9wdGlvbnMsXG4gICAgcGFnZSxcbiAgICBwYWdpbmF0aW9uLFxuICAgIHNvcnQsXG4gICAgdXNlRXN0aW1hdGVkQ291bnQsXG4gIH1cblxuICBpZiAoIXVzZUVzdGltYXRlZENvdW50ICYmIE9iamVjdC5rZXlzKHF1ZXJ5KS5sZW5ndGggPT09IDAgJiYgdGhpcy5kaXNhYmxlSW5kZXhIaW50cyAhPT0gdHJ1ZSkge1xuICAgIC8vIEltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBjb3VudERvY3VtZW50cyBxdWVyeSB3aGljaCBpcyB1c2VkIGlmIHVzZUVzdGltYXRlZENvdW50IGlzIHNldCB0byBmYWxzZSBieSBhZGRpbmdcbiAgICAvLyBhIGhpbnQuIEJ5IGRlZmF1bHQsIGlmIG5vIGhpbnQgaXMgcHJvdmlkZWQsIE1vbmdvREIgZG9lcyBub3QgdXNlIGFuIGluZGV4ZWQgZmllbGQgdG8gY291bnQgdGhlIHJldHVybmVkIGRvY3VtZW50cyxcbiAgICAvLyB3aGljaCBtYWtlcyBxdWVyaWVzIHZlcnkgc2xvdy4gVGhpcyBvbmx5IGhhcHBlbnMgd2hlbiBubyBxdWVyeSAoZmlsdGVyKSBpcyBwcm92aWRlZC4gSWYgb25lIGlzIHByb3ZpZGVkLCBpdCB1c2VzXG4gICAgLy8gdGhlIGNvcnJlY3QgaW5kZXhlZCBmaWVsZFxuICAgIHBhZ2luYXRpb25PcHRpb25zLnVzZUN1c3RvbUNvdW50Rm4gPSAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICBNb2RlbC5jb3VudERvY3VtZW50cyhxdWVyeSwge1xuICAgICAgICAgIGhpbnQ6IHsgX2lkOiAxIH0sXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGlmIChsaW1pdCA+IDApIHtcbiAgICBwYWdpbmF0aW9uT3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gICAgLy8gbGltaXQgbXVzdCBhbHNvIGJlIHNldCBoZXJlLCBpdCdzIGlnbm9yZWQgd2hlbiBwYWdpbmF0aW9uIGlzIGZhbHNlXG4gICAgcGFnaW5hdGlvbk9wdGlvbnMub3B0aW9ucy5saW1pdCA9IGxpbWl0XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBNb2RlbC5wYWdpbmF0ZShxdWVyeSwgcGFnaW5hdGlvbk9wdGlvbnMpXG4gIGNvbnN0IGRvY3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kb2NzKSlcblxuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBkb2NzOiBkb2NzLm1hcCgoZG9jKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIGRvYy5pZCA9IGRvYy5faWRcbiAgICAgIHJldHVybiBzYW5pdGl6ZUludGVybmFsRmllbGRzKGRvYylcbiAgICB9KSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRWZXJzaW9ucyIsImNvbGxlY3Rpb24iLCJsaW1pdCIsImxvY2FsZSIsInBhZ2UiLCJwYWdpbmF0aW9uIiwicmVxIiwic2tpcCIsInNvcnQiLCJzb3J0QXJnIiwid2hlcmUiLCJNb2RlbCIsInZlcnNpb25zIiwiY29sbGVjdGlvbkNvbmZpZyIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJoYXNOZWFyQ29uc3RyYWludCIsImNvbnN0cmFpbnRzIiwiZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMiLCJzb21lIiwicHJvcCIsIk9iamVjdCIsImtleXMiLCJrZXkiLCJidWlsZFNvcnRQYXJhbSIsImZpZWxkcyIsInRpbWVzdGFtcHMiLCJxdWVyeSIsImJ1aWxkUXVlcnkiLCJ1c2VFc3RpbWF0ZWRDb3VudCIsImxlbmd0aCIsInBhZ2luYXRpb25PcHRpb25zIiwiZm9yY2VDb3VudEZuIiwibGVhbiIsImxlYW5XaXRoSWQiLCJvZmZzZXQiLCJkaXNhYmxlSW5kZXhIaW50cyIsInVzZUN1c3RvbUNvdW50Rm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvdW50RG9jdW1lbnRzIiwiaGludCIsIl9pZCIsInJlc3VsdCIsInBhZ2luYXRlIiwiZG9jcyIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIm1hcCIsImRvYyIsImlkIiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZYUE7OztlQUFBQTs7OzBCQVIyQjtnQ0FJVDsrRUFDSTs2QkFDUDs7Ozs7O0FBRXJCLE1BQU1BLGVBQTZCLGVBQWVBLGFBRXZELEVBQ0VDLFVBQVUsRUFDVkMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsVUFBVSxFQUNWQyxNQUFNLENBQUMsQ0FBbUIsRUFDMUJDLElBQUksRUFDSkMsTUFBTUMsT0FBTyxFQUNiQyxLQUFLLEVBQ047SUFFRCxNQUFNQyxRQUFRLElBQUksQ0FBQ0MsUUFBUSxDQUFDWCxXQUFXO0lBQ3ZDLE1BQU1ZLG1CQUFtQixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDZCxXQUFXLENBQUNlLE1BQU07SUFDcEUsTUFBTUMsVUFBVTtRQUNkLEdBQUdDLElBQUFBLHdCQUFXLEVBQUMsSUFBSSxFQUFFWixJQUFJYSxhQUFhLENBQUM7UUFDdkNqQjtRQUNBSztJQUNGO0lBRUEsSUFBSWEsb0JBQW9CO0lBRXhCLElBQUlWLE9BQU87UUFDVCxNQUFNVyxjQUFjQyxJQUFBQSxpQ0FBdUIsRUFBQ1o7UUFDNUNVLG9CQUFvQkMsWUFBWUUsSUFBSSxDQUFDLENBQUNDLE9BQVNDLE9BQU9DLElBQUksQ0FBQ0YsTUFBTUQsSUFBSSxDQUFDLENBQUNJLE1BQVFBLFFBQVE7SUFDekY7SUFFQSxJQUFJbkI7SUFDSixJQUFJLENBQUNZLG1CQUFtQjtRQUN0QlosT0FBT29CLElBQUFBLDhCQUFjLEVBQUM7WUFDcEJaLFFBQVEsSUFBSSxDQUFDRixPQUFPLENBQUNFLE1BQU07WUFDM0JhLFFBQVFoQixpQkFBaUJnQixNQUFNO1lBQy9CMUI7WUFDQUssTUFBTUMsV0FBVztZQUNqQnFCLFlBQVk7UUFDZDtJQUNGO0lBRUEsTUFBTUMsUUFBUSxNQUFNcEIsTUFBTXFCLFVBQVUsQ0FBQztRQUNuQzdCO1FBQ0FXLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1FBQ3JCSjtJQUNGO0lBRUEsNEhBQTRIO0lBQzVILE1BQU11QixvQkFBb0JiLHFCQUFxQixDQUFDVyxTQUFTTixPQUFPQyxJQUFJLENBQUNLLE9BQU9HLE1BQU0sS0FBSztJQUN2RixNQUFNQyxvQkFBcUM7UUFDekNDLGNBQWNoQjtRQUNkaUIsTUFBTTtRQUNOQyxZQUFZO1FBQ1pwQztRQUNBcUMsUUFBUWhDLFFBQVE7UUFDaEJVO1FBQ0FiO1FBQ0FDO1FBQ0FHO1FBQ0F5QjtJQUNGO0lBRUEsSUFBSSxDQUFDQSxxQkFBcUJSLE9BQU9DLElBQUksQ0FBQ0ssT0FBT0csTUFBTSxLQUFLLEtBQUssSUFBSSxDQUFDTSxpQkFBaUIsS0FBSyxNQUFNO1FBQzVGLG1IQUFtSDtRQUNuSCxxSEFBcUg7UUFDckgsbUhBQW1IO1FBQ25ILDRCQUE0QjtRQUM1Qkwsa0JBQWtCTSxnQkFBZ0IsR0FBRztZQUNuQyxPQUFPQyxRQUFRQyxPQUFPLENBQ3BCaEMsTUFBTWlDLGNBQWMsQ0FBQ2IsT0FBTztnQkFDMUJjLE1BQU07b0JBQUVDLEtBQUs7Z0JBQUU7WUFDakI7UUFFSjtJQUNGO0lBRUEsSUFBSTVDLFFBQVEsR0FBRztRQUNiaUMsa0JBQWtCakMsS0FBSyxHQUFHQTtRQUMxQixxRUFBcUU7UUFDckVpQyxrQkFBa0JsQixPQUFPLENBQUNmLEtBQUssR0FBR0E7SUFDcEM7SUFFQSxNQUFNNkMsU0FBUyxNQUFNcEMsTUFBTXFDLFFBQVEsQ0FBQ2pCLE9BQU9JO0lBQzNDLE1BQU1jLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsU0FBUyxDQUFDTCxPQUFPRSxJQUFJO0lBRWxELE9BQU87UUFDTCxHQUFHRixNQUFNO1FBQ1RFLE1BQU1BLEtBQUtJLEdBQUcsQ0FBQyxDQUFDQztZQUNkLDZDQUE2QztZQUM3Q0EsSUFBSUMsRUFBRSxHQUFHRCxJQUFJUixHQUFHO1lBQ2hCLE9BQU9VLElBQUFBLCtCQUFzQixFQUFDRjtRQUNoQztJQUNGO0FBQ0YifQ==
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ function mongooseAdapter({ autoPluralization = true, connectOptions, disableInde
52
52
  (0, _extendWebpackConfig.extendWebpackConfig)(payload.config);
53
53
  (0, _extendViteConfig.extendViteConfig)(payload.config);
54
54
  if (transactionOptions === false) {
55
- beginTransactionFunction = undefined;
55
+ beginTransactionFunction = ()=>null;
56
56
  }
57
57
  return (0, _database.createDatabaseAdapter)({
58
58
  name: 'mongoose',
@@ -134,4 +134,4 @@ function mongooseAdapter({ autoPluralization = true, connectOptions, disableInde
134
134
  return srcDir;
135
135
  }
136
136
 
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJ21vbmdvZGInXG5pbXBvcnQgdHlwZSB7IENsaWVudFNlc3Npb24sIENvbm5lY3RPcHRpb25zLCBDb25uZWN0aW9uIH0gZnJvbSAnbW9uZ29vc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IGNyZWF0ZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbk1vZGVsLCBHbG9iYWxNb2RlbCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBleHRlbmRWaXRlQ29uZmlnIH0gZnJvbSAnLi9leHRlbmRWaXRlQ29uZmlnJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vZXh0ZW5kV2VicGFja0NvbmZpZydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgeyBmaW5kR2xvYmFsIH0gZnJvbSAnLi9maW5kR2xvYmFsJ1xuaW1wb3J0IHsgZmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAnLi9maW5kR2xvYmFsVmVyc2lvbnMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIH0gZnJvbSAnLi9maW5kVmVyc2lvbnMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9pbml0J1xuaW1wb3J0IHsgbWlncmF0ZUZyZXNoIH0gZnJvbSAnLi9taWdyYXRlRnJlc2gnXG5pbXBvcnQgeyBxdWVyeURyYWZ0cyB9IGZyb20gJy4vcXVlcnlEcmFmdHMnXG5pbXBvcnQgeyBiZWdpblRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvYmVnaW5UcmFuc2FjdGlvbidcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyByb2xsYmFja1RyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvcm9sbGJhY2tUcmFuc2FjdGlvbidcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZU9uZSB9IGZyb20gJy4vdXBkYXRlT25lJ1xuaW1wb3J0IHsgdXBkYXRlVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlVmVyc2lvbidcblxuZXhwb3J0IHR5cGUgeyBNaWdyYXRlRG93bkFyZ3MsIE1pZ3JhdGVVcEFyZ3MgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZ3Mge1xuICAvKiogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgYXV0by1wbHVyYWxpemF0aW9uIG9mIGNvbGxlY3Rpb24gbmFtZXMsIERlZmF1bHRzIHRvIHRydWUgKi9cbiAgYXV0b1BsdXJhbGl6YXRpb24/OiBib29sZWFuXG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIG9wdGlvbnMgKi9cbiAgY29ubmVjdE9wdGlvbnM/OiBDb25uZWN0T3B0aW9ucyAmIHtcbiAgICAvKiogU2V0IGZhbHNlIHRvIGRpc2FibGUgJGZhY2V0IGFnZ3JlZ2F0aW9uIGluIG5vbi1zdXBwb3J0aW5nIGRhdGFiYXNlcywgRGVmYXVsdHMgdG8gdHJ1ZSAqL1xuICAgIHVzZUZhY2V0PzogYm9vbGVhblxuICB9XG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBkaXNhYmxlIGhpbnRpbmcgdG8gTW9uZ29EQiB0byB1c2UgJ2lkJyBhcyBpbmRleC4gVGhpcyBpcyBjdXJyZW50bHkgZG9uZSB3aGVuIGNvdW50aW5nIGRvY3VtZW50cyBmb3IgcGFnaW5hdGlvbi4gRGlzYWJsaW5nIHRoaXMgb3B0aW1pemF0aW9uIG1pZ2h0IGZpeCBzb21lIHByb2JsZW1zIHdpdGggQVdTIERvY3VtZW50REIuIERlZmF1bHRzIHRvIGZhbHNlICovXG4gIGRpc2FibGVJbmRleEhpbnRzPzogYm9vbGVhblxuICBtaWdyYXRpb25EaXI/OiBzdHJpbmdcbiAgdHJhbnNhY3Rpb25PcHRpb25zPzogVHJhbnNhY3Rpb25PcHRpb25zIHwgZmFsc2VcbiAgLyoqIFRoZSBVUkwgdG8gY29ubmVjdCB0byBNb25nb0RCIG9yIGZhbHNlIHRvIHN0YXJ0IHBheWxvYWQgYW5kIHByZXZlbnQgY29ubmVjdGluZyAqL1xuICB1cmw6IGZhbHNlIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE1vbmdvb3NlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXIgJlxuICBBcmdzICYge1xuICAgIGNvbGxlY3Rpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICAgIGNvbm5lY3Rpb246IENvbm5lY3Rpb25cbiAgICBnbG9iYWxzOiBHbG9iYWxNb2RlbFxuICAgIG1vbmdvTWVtb3J5U2VydmVyOiBhbnlcbiAgICBzZXNzaW9uczogUmVjb3JkPG51bWJlciB8IHN0cmluZywgQ2xpZW50U2Vzc2lvbj5cbiAgICB2ZXJzaW9uczoge1xuICAgICAgW3NsdWc6IHN0cmluZ106IENvbGxlY3Rpb25Nb2RlbFxuICAgIH1cbiAgfVxuXG50eXBlIE1vbmdvb3NlQWRhcHRlclJlc3VsdCA9IChhcmdzOiB7IHBheWxvYWQ6IFBheWxvYWQgfSkgPT4gTW9uZ29vc2VBZGFwdGVyXG5cbmRlY2xhcmUgbW9kdWxlICdwYXlsb2FkJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VBZGFwdGVyXG4gICAgZXh0ZW5kcyBPbWl0PEJhc2VEYXRhYmFzZUFkYXB0ZXIsICdzZXNzaW9ucyc+LFxuICAgICAgT21pdDxBcmdzLCAnbWlncmF0aW9uRGlyJz4ge1xuICAgIGNvbGxlY3Rpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICAgIGNvbm5lY3Rpb246IENvbm5lY3Rpb25cbiAgICBnbG9iYWxzOiBHbG9iYWxNb2RlbFxuICAgIG1vbmdvTWVtb3J5U2VydmVyOiBhbnlcbiAgICBzZXNzaW9uczogUmVjb3JkPG51bWJlciB8IHN0cmluZywgQ2xpZW50U2Vzc2lvbj5cbiAgICB0cmFuc2FjdGlvbk9wdGlvbnM6IFRyYW5zYWN0aW9uT3B0aW9uc1xuICAgIHZlcnNpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb25nb29zZUFkYXB0ZXIoe1xuICBhdXRvUGx1cmFsaXphdGlvbiA9IHRydWUsXG4gIGNvbm5lY3RPcHRpb25zLFxuICBkaXNhYmxlSW5kZXhIaW50cyA9IGZhbHNlLFxuICBtaWdyYXRpb25EaXI6IG1pZ3JhdGlvbkRpckFyZyxcbiAgdHJhbnNhY3Rpb25PcHRpb25zLFxuICB1cmwsXG59OiBBcmdzKTogTW9uZ29vc2VBZGFwdGVyUmVzdWx0IHtcbiAgZnVuY3Rpb24gYWRhcHRlcih7IHBheWxvYWQgfTogeyBwYXlsb2FkOiBQYXlsb2FkIH0pIHtcbiAgICBjb25zdCBtaWdyYXRpb25EaXIgPSBmaW5kTWlncmF0aW9uRGlyKG1pZ3JhdGlvbkRpckFyZylcbiAgICBsZXQgYmVnaW5UcmFuc2FjdGlvbkZ1bmN0aW9uID0gYmVnaW5UcmFuc2FjdGlvblxuICAgIG1vbmdvb3NlLnNldCgnc3RyaWN0UXVlcnknLCBmYWxzZSlcblxuICAgIGV4dGVuZFdlYnBhY2tDb25maWcocGF5bG9hZC5jb25maWcpXG4gICAgZXh0ZW5kVml0ZUNvbmZpZyhwYXlsb2FkLmNvbmZpZylcblxuICAgIGlmICh0cmFuc2FjdGlvbk9wdGlvbnMgPT09IGZhbHNlKSB7XG4gICAgICBiZWdpblRyYW5zYWN0aW9uRnVuY3Rpb24gPSB1bmRlZmluZWRcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlRGF0YWJhc2VBZGFwdGVyPE1vbmdvb3NlQWRhcHRlcj4oe1xuICAgICAgbmFtZTogJ21vbmdvb3NlJyxcblxuICAgICAgLy8gTW9uZ29vc2Utc3BlY2lmaWNcbiAgICAgIGF1dG9QbHVyYWxpemF0aW9uLFxuICAgICAgY29sbGVjdGlvbnM6IHt9LFxuICAgICAgY29ubmVjdE9wdGlvbnM6IGNvbm5lY3RPcHRpb25zIHx8IHt9LFxuICAgICAgY29ubmVjdGlvbjogdW5kZWZpbmVkLFxuICAgICAgZGlzYWJsZUluZGV4SGludHMsXG4gICAgICBnbG9iYWxzOiB1bmRlZmluZWQsXG4gICAgICBtb25nb01lbW9yeVNlcnZlcjogdW5kZWZpbmVkLFxuICAgICAgc2Vzc2lvbnM6IHt9LFxuICAgICAgdHJhbnNhY3Rpb25PcHRpb25zOiB0cmFuc2FjdGlvbk9wdGlvbnMgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdHJhbnNhY3Rpb25PcHRpb25zLFxuICAgICAgdXJsLFxuICAgICAgdmVyc2lvbnM6IHt9LFxuXG4gICAgICAvLyBEYXRhYmFzZUFkYXB0ZXJcbiAgICAgIGJlZ2luVHJhbnNhY3Rpb246IGJlZ2luVHJhbnNhY3Rpb25GdW5jdGlvbixcbiAgICAgIGNvbW1pdFRyYW5zYWN0aW9uLFxuICAgICAgY29ubmVjdCxcbiAgICAgIGNyZWF0ZSxcbiAgICAgIGNyZWF0ZUdsb2JhbCxcbiAgICAgIGNyZWF0ZUdsb2JhbFZlcnNpb24sXG4gICAgICBjcmVhdGVNaWdyYXRpb24sXG4gICAgICBjcmVhdGVWZXJzaW9uLFxuICAgICAgZGVmYXVsdElEVHlwZTogJ3RleHQnLFxuICAgICAgZGVsZXRlTWFueSxcbiAgICAgIGRlbGV0ZU9uZSxcbiAgICAgIGRlbGV0ZVZlcnNpb25zLFxuICAgICAgZGVzdHJveSxcbiAgICAgIGZpbmQsXG4gICAgICBmaW5kR2xvYmFsLFxuICAgICAgZmluZEdsb2JhbFZlcnNpb25zLFxuICAgICAgZmluZE9uZSxcbiAgICAgIGZpbmRWZXJzaW9ucyxcbiAgICAgIGluaXQsXG4gICAgICBtaWdyYXRlRnJlc2gsXG4gICAgICBtaWdyYXRpb25EaXIsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcXVlcnlEcmFmdHMsXG4gICAgICByb2xsYmFja1RyYW5zYWN0aW9uLFxuICAgICAgdXBkYXRlR2xvYmFsLFxuICAgICAgdXBkYXRlR2xvYmFsVmVyc2lvbixcbiAgICAgIHVwZGF0ZU9uZSxcbiAgICAgIHVwZGF0ZVZlcnNpb24sXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBhZGFwdGVyXG59XG5cbi8qKlxuICogQXR0ZW1wdCB0byBmaW5kIG1pZ3JhdGlvbnMgZGlyZWN0b3J5LlxuICpcbiAqIENoZWNrcyBmb3IgdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllcyBpbiBvcmRlcjpcbiAqIC0gYG1pZ3JhdGlvbkRpcmAgYXJndW1lbnQgZnJvbSBQYXlsb2FkIGNvbmZpZ1xuICogLSBgc3JjL21pZ3JhdGlvbnNgXG4gKiAtIGBkaXN0L21pZ3JhdGlvbnNgXG4gKiAtIGBtaWdyYXRpb25zYFxuICpcbiAqIERlZmF1bHRzIHRvIGBzcmMvbWlncmF0aW9uc2BcbiAqXG4gKiBAcGFyYW0gbWlncmF0aW9uRGlyXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBmaW5kTWlncmF0aW9uRGlyKG1pZ3JhdGlvbkRpcj86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGN3ZCA9IHByb2Nlc3MuY3dkKClcbiAgY29uc3Qgc3JjRGlyID0gcGF0aC5yZXNvbHZlKGN3ZCwgJ3NyYy9taWdyYXRpb25zJylcbiAgY29uc3QgZGlzdERpciA9IHBhdGgucmVzb2x2ZShjd2QsICdkaXN0L21pZ3JhdGlvbnMnKVxuICBjb25zdCByZWxhdGl2ZU1pZ3JhdGlvbnMgPSBwYXRoLnJlc29sdmUoY3dkLCAnbWlncmF0aW9ucycpXG5cbiAgLy8gVXNlIGFyZyBpZiBwcm92aWRlZFxuICBpZiAobWlncmF0aW9uRGlyKSByZXR1cm4gbWlncmF0aW9uRGlyXG5cbiAgLy8gQ2hlY2sgb3RoZXIgY29tbW9uIGxvY2F0aW9uc1xuICBpZiAoZnMuZXhpc3RzU3luYyhzcmNEaXIpKSB7XG4gICAgcmV0dXJuIHNyY0RpclxuICB9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMoZGlzdERpcikpIHtcbiAgICByZXR1cm4gZGlzdERpclxuICB9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMocmVsYXRpdmVNaWdyYXRpb25zKSkge1xuICAgIHJldHVybiByZWxhdGl2ZU1pZ3JhdGlvbnNcbiAgfVxuXG4gIHJldHVybiBzcmNEaXJcbn1cbiJdLCJuYW1lcyI6WyJtb25nb29zZUFkYXB0ZXIiLCJhdXRvUGx1cmFsaXphdGlvbiIsImNvbm5lY3RPcHRpb25zIiwiZGlzYWJsZUluZGV4SGludHMiLCJtaWdyYXRpb25EaXIiLCJtaWdyYXRpb25EaXJBcmciLCJ0cmFuc2FjdGlvbk9wdGlvbnMiLCJ1cmwiLCJhZGFwdGVyIiwicGF5bG9hZCIsImZpbmRNaWdyYXRpb25EaXIiLCJiZWdpblRyYW5zYWN0aW9uRnVuY3Rpb24iLCJiZWdpblRyYW5zYWN0aW9uIiwibW9uZ29vc2UiLCJzZXQiLCJleHRlbmRXZWJwYWNrQ29uZmlnIiwiY29uZmlnIiwiZXh0ZW5kVml0ZUNvbmZpZyIsInVuZGVmaW5lZCIsImNyZWF0ZURhdGFiYXNlQWRhcHRlciIsIm5hbWUiLCJjb2xsZWN0aW9ucyIsImNvbm5lY3Rpb24iLCJnbG9iYWxzIiwibW9uZ29NZW1vcnlTZXJ2ZXIiLCJzZXNzaW9ucyIsInZlcnNpb25zIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJjb25uZWN0IiwiY3JlYXRlIiwiY3JlYXRlR2xvYmFsIiwiY3JlYXRlR2xvYmFsVmVyc2lvbiIsImNyZWF0ZU1pZ3JhdGlvbiIsImNyZWF0ZVZlcnNpb24iLCJkZWZhdWx0SURUeXBlIiwiZGVsZXRlTWFueSIsImRlbGV0ZU9uZSIsImRlbGV0ZVZlcnNpb25zIiwiZGVzdHJveSIsImZpbmQiLCJmaW5kR2xvYmFsIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZE9uZSIsImZpbmRWZXJzaW9ucyIsImluaXQiLCJtaWdyYXRlRnJlc2giLCJxdWVyeURyYWZ0cyIsInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGVHbG9iYWxWZXJzaW9uIiwidXBkYXRlT25lIiwidXBkYXRlVmVyc2lvbiIsImN3ZCIsInByb2Nlc3MiLCJzcmNEaXIiLCJwYXRoIiwicmVzb2x2ZSIsImRpc3REaXIiLCJyZWxhdGl2ZU1pZ3JhdGlvbnMiLCJmcyIsImV4aXN0c1N5bmMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNEZnQkE7OztlQUFBQTs7OzJEQXZGRDtpRUFDTTs2REFDSjswQkFDcUI7eUJBSWQ7d0JBQ0Q7OEJBQ007cUNBQ087aUNBQ0o7K0JBQ0Y7NEJBQ0g7MkJBQ0Q7Z0NBQ0s7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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJ21vbmdvZGInXG5pbXBvcnQgdHlwZSB7IENsaWVudFNlc3Npb24sIENvbm5lY3RPcHRpb25zLCBDb25uZWN0aW9uIH0gZnJvbSAnbW9uZ29vc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IG1vbmdvb3NlIGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IGNyZWF0ZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbk1vZGVsLCBHbG9iYWxNb2RlbCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBleHRlbmRWaXRlQ29uZmlnIH0gZnJvbSAnLi9leHRlbmRWaXRlQ29uZmlnJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vZXh0ZW5kV2VicGFja0NvbmZpZydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgeyBmaW5kR2xvYmFsIH0gZnJvbSAnLi9maW5kR2xvYmFsJ1xuaW1wb3J0IHsgZmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAnLi9maW5kR2xvYmFsVmVyc2lvbnMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIH0gZnJvbSAnLi9maW5kVmVyc2lvbnMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9pbml0J1xuaW1wb3J0IHsgbWlncmF0ZUZyZXNoIH0gZnJvbSAnLi9taWdyYXRlRnJlc2gnXG5pbXBvcnQgeyBxdWVyeURyYWZ0cyB9IGZyb20gJy4vcXVlcnlEcmFmdHMnXG5pbXBvcnQgeyBiZWdpblRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvYmVnaW5UcmFuc2FjdGlvbidcbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyByb2xsYmFja1RyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbnMvcm9sbGJhY2tUcmFuc2FjdGlvbidcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZU9uZSB9IGZyb20gJy4vdXBkYXRlT25lJ1xuaW1wb3J0IHsgdXBkYXRlVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlVmVyc2lvbidcblxuZXhwb3J0IHR5cGUgeyBNaWdyYXRlRG93bkFyZ3MsIE1pZ3JhdGVVcEFyZ3MgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZ3Mge1xuICAvKiogU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgYXV0by1wbHVyYWxpemF0aW9uIG9mIGNvbGxlY3Rpb24gbmFtZXMsIERlZmF1bHRzIHRvIHRydWUgKi9cbiAgYXV0b1BsdXJhbGl6YXRpb24/OiBib29sZWFuXG4gIC8qKiBFeHRyYSBjb25maWd1cmF0aW9uIG9wdGlvbnMgKi9cbiAgY29ubmVjdE9wdGlvbnM/OiBDb25uZWN0T3B0aW9ucyAmIHtcbiAgICAvKiogU2V0IGZhbHNlIHRvIGRpc2FibGUgJGZhY2V0IGFnZ3JlZ2F0aW9uIGluIG5vbi1zdXBwb3J0aW5nIGRhdGFiYXNlcywgRGVmYXVsdHMgdG8gdHJ1ZSAqL1xuICAgIHVzZUZhY2V0PzogYm9vbGVhblxuICB9XG4gIC8qKiBTZXQgdG8gdHJ1ZSB0byBkaXNhYmxlIGhpbnRpbmcgdG8gTW9uZ29EQiB0byB1c2UgJ2lkJyBhcyBpbmRleC4gVGhpcyBpcyBjdXJyZW50bHkgZG9uZSB3aGVuIGNvdW50aW5nIGRvY3VtZW50cyBmb3IgcGFnaW5hdGlvbi4gRGlzYWJsaW5nIHRoaXMgb3B0aW1pemF0aW9uIG1pZ2h0IGZpeCBzb21lIHByb2JsZW1zIHdpdGggQVdTIERvY3VtZW50REIuIERlZmF1bHRzIHRvIGZhbHNlICovXG4gIGRpc2FibGVJbmRleEhpbnRzPzogYm9vbGVhblxuICBtaWdyYXRpb25EaXI/OiBzdHJpbmdcbiAgdHJhbnNhY3Rpb25PcHRpb25zPzogVHJhbnNhY3Rpb25PcHRpb25zIHwgZmFsc2VcbiAgLyoqIFRoZSBVUkwgdG8gY29ubmVjdCB0byBNb25nb0RCIG9yIGZhbHNlIHRvIHN0YXJ0IHBheWxvYWQgYW5kIHByZXZlbnQgY29ubmVjdGluZyAqL1xuICB1cmw6IGZhbHNlIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE1vbmdvb3NlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXIgJlxuICBBcmdzICYge1xuICAgIGNvbGxlY3Rpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICAgIGNvbm5lY3Rpb246IENvbm5lY3Rpb25cbiAgICBnbG9iYWxzOiBHbG9iYWxNb2RlbFxuICAgIG1vbmdvTWVtb3J5U2VydmVyOiBhbnlcbiAgICBzZXNzaW9uczogUmVjb3JkPG51bWJlciB8IHN0cmluZywgQ2xpZW50U2Vzc2lvbj5cbiAgICB2ZXJzaW9uczoge1xuICAgICAgW3NsdWc6IHN0cmluZ106IENvbGxlY3Rpb25Nb2RlbFxuICAgIH1cbiAgfVxuXG50eXBlIE1vbmdvb3NlQWRhcHRlclJlc3VsdCA9IChhcmdzOiB7IHBheWxvYWQ6IFBheWxvYWQgfSkgPT4gTW9uZ29vc2VBZGFwdGVyXG5cbmRlY2xhcmUgbW9kdWxlICdwYXlsb2FkJyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VBZGFwdGVyXG4gICAgZXh0ZW5kcyBPbWl0PEJhc2VEYXRhYmFzZUFkYXB0ZXIsICdzZXNzaW9ucyc+LFxuICAgICAgT21pdDxBcmdzLCAnbWlncmF0aW9uRGlyJz4ge1xuICAgIGNvbGxlY3Rpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICAgIGNvbm5lY3Rpb246IENvbm5lY3Rpb25cbiAgICBnbG9iYWxzOiBHbG9iYWxNb2RlbFxuICAgIG1vbmdvTWVtb3J5U2VydmVyOiBhbnlcbiAgICBzZXNzaW9uczogUmVjb3JkPG51bWJlciB8IHN0cmluZywgQ2xpZW50U2Vzc2lvbj5cbiAgICB0cmFuc2FjdGlvbk9wdGlvbnM6IFRyYW5zYWN0aW9uT3B0aW9uc1xuICAgIHZlcnNpb25zOiB7XG4gICAgICBbc2x1Zzogc3RyaW5nXTogQ29sbGVjdGlvbk1vZGVsXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb25nb29zZUFkYXB0ZXIoe1xuICBhdXRvUGx1cmFsaXphdGlvbiA9IHRydWUsXG4gIGNvbm5lY3RPcHRpb25zLFxuICBkaXNhYmxlSW5kZXhIaW50cyA9IGZhbHNlLFxuICBtaWdyYXRpb25EaXI6IG1pZ3JhdGlvbkRpckFyZyxcbiAgdHJhbnNhY3Rpb25PcHRpb25zLFxuICB1cmwsXG59OiBBcmdzKTogTW9uZ29vc2VBZGFwdGVyUmVzdWx0IHtcbiAgZnVuY3Rpb24gYWRhcHRlcih7IHBheWxvYWQgfTogeyBwYXlsb2FkOiBQYXlsb2FkIH0pIHtcbiAgICBjb25zdCBtaWdyYXRpb25EaXIgPSBmaW5kTWlncmF0aW9uRGlyKG1pZ3JhdGlvbkRpckFyZylcbiAgICBsZXQgYmVnaW5UcmFuc2FjdGlvbkZ1bmN0aW9uID0gYmVnaW5UcmFuc2FjdGlvblxuICAgIG1vbmdvb3NlLnNldCgnc3RyaWN0UXVlcnknLCBmYWxzZSlcblxuICAgIGV4dGVuZFdlYnBhY2tDb25maWcocGF5bG9hZC5jb25maWcpXG4gICAgZXh0ZW5kVml0ZUNvbmZpZyhwYXlsb2FkLmNvbmZpZylcblxuICAgIGlmICh0cmFuc2FjdGlvbk9wdGlvbnMgPT09IGZhbHNlKSB7XG4gICAgICBiZWdpblRyYW5zYWN0aW9uRnVuY3Rpb24gPSAoKSA9PiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZURhdGFiYXNlQWRhcHRlcjxNb25nb29zZUFkYXB0ZXI+KHtcbiAgICAgIG5hbWU6ICdtb25nb29zZScsXG5cbiAgICAgIC8vIE1vbmdvb3NlLXNwZWNpZmljXG4gICAgICBhdXRvUGx1cmFsaXphdGlvbixcbiAgICAgIGNvbGxlY3Rpb25zOiB7fSxcbiAgICAgIGNvbm5lY3RPcHRpb25zOiBjb25uZWN0T3B0aW9ucyB8fCB7fSxcbiAgICAgIGNvbm5lY3Rpb246IHVuZGVmaW5lZCxcbiAgICAgIGRpc2FibGVJbmRleEhpbnRzLFxuICAgICAgZ2xvYmFsczogdW5kZWZpbmVkLFxuICAgICAgbW9uZ29NZW1vcnlTZXJ2ZXI6IHVuZGVmaW5lZCxcbiAgICAgIHNlc3Npb25zOiB7fSxcbiAgICAgIHRyYW5zYWN0aW9uT3B0aW9uczogdHJhbnNhY3Rpb25PcHRpb25zID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICAgIHZlcnNpb25zOiB7fSxcblxuICAgICAgLy8gRGF0YWJhc2VBZGFwdGVyXG4gICAgICBiZWdpblRyYW5zYWN0aW9uOiBiZWdpblRyYW5zYWN0aW9uRnVuY3Rpb24sXG4gICAgICBjb21taXRUcmFuc2FjdGlvbixcbiAgICAgIGNvbm5lY3QsXG4gICAgICBjcmVhdGUsXG4gICAgICBjcmVhdGVHbG9iYWwsXG4gICAgICBjcmVhdGVHbG9iYWxWZXJzaW9uLFxuICAgICAgY3JlYXRlTWlncmF0aW9uLFxuICAgICAgY3JlYXRlVmVyc2lvbixcbiAgICAgIGRlZmF1bHRJRFR5cGU6ICd0ZXh0JyxcbiAgICAgIGRlbGV0ZU1hbnksXG4gICAgICBkZWxldGVPbmUsXG4gICAgICBkZWxldGVWZXJzaW9ucyxcbiAgICAgIGRlc3Ryb3ksXG4gICAgICBmaW5kLFxuICAgICAgZmluZEdsb2JhbCxcbiAgICAgIGZpbmRHbG9iYWxWZXJzaW9ucyxcbiAgICAgIGZpbmRPbmUsXG4gICAgICBmaW5kVmVyc2lvbnMsXG4gICAgICBpbml0LFxuICAgICAgbWlncmF0ZUZyZXNoLFxuICAgICAgbWlncmF0aW9uRGlyLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHF1ZXJ5RHJhZnRzLFxuICAgICAgcm9sbGJhY2tUcmFuc2FjdGlvbixcbiAgICAgIHVwZGF0ZUdsb2JhbCxcbiAgICAgIHVwZGF0ZUdsb2JhbFZlcnNpb24sXG4gICAgICB1cGRhdGVPbmUsXG4gICAgICB1cGRhdGVWZXJzaW9uLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gYWRhcHRlclxufVxuXG4vKipcbiAqIEF0dGVtcHQgdG8gZmluZCBtaWdyYXRpb25zIGRpcmVjdG9yeS5cbiAqXG4gKiBDaGVja3MgZm9yIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgaW4gb3JkZXI6XG4gKiAtIGBtaWdyYXRpb25EaXJgIGFyZ3VtZW50IGZyb20gUGF5bG9hZCBjb25maWdcbiAqIC0gYHNyYy9taWdyYXRpb25zYFxuICogLSBgZGlzdC9taWdyYXRpb25zYFxuICogLSBgbWlncmF0aW9uc2BcbiAqXG4gKiBEZWZhdWx0cyB0byBgc3JjL21pZ3JhdGlvbnNgXG4gKlxuICogQHBhcmFtIG1pZ3JhdGlvbkRpclxuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gZmluZE1pZ3JhdGlvbkRpcihtaWdyYXRpb25EaXI/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpXG4gIGNvbnN0IHNyY0RpciA9IHBhdGgucmVzb2x2ZShjd2QsICdzcmMvbWlncmF0aW9ucycpXG4gIGNvbnN0IGRpc3REaXIgPSBwYXRoLnJlc29sdmUoY3dkLCAnZGlzdC9taWdyYXRpb25zJylcbiAgY29uc3QgcmVsYXRpdmVNaWdyYXRpb25zID0gcGF0aC5yZXNvbHZlKGN3ZCwgJ21pZ3JhdGlvbnMnKVxuXG4gIC8vIFVzZSBhcmcgaWYgcHJvdmlkZWRcbiAgaWYgKG1pZ3JhdGlvbkRpcikgcmV0dXJuIG1pZ3JhdGlvbkRpclxuXG4gIC8vIENoZWNrIG90aGVyIGNvbW1vbiBsb2NhdGlvbnNcbiAgaWYgKGZzLmV4aXN0c1N5bmMoc3JjRGlyKSkge1xuICAgIHJldHVybiBzcmNEaXJcbiAgfVxuXG4gIGlmIChmcy5leGlzdHNTeW5jKGRpc3REaXIpKSB7XG4gICAgcmV0dXJuIGRpc3REaXJcbiAgfVxuXG4gIGlmIChmcy5leGlzdHNTeW5jKHJlbGF0aXZlTWlncmF0aW9ucykpIHtcbiAgICByZXR1cm4gcmVsYXRpdmVNaWdyYXRpb25zXG4gIH1cblxuICByZXR1cm4gc3JjRGlyXG59XG4iXSwibmFtZXMiOlsibW9uZ29vc2VBZGFwdGVyIiwiYXV0b1BsdXJhbGl6YXRpb24iLCJjb25uZWN0T3B0aW9ucyIsImRpc2FibGVJbmRleEhpbnRzIiwibWlncmF0aW9uRGlyIiwibWlncmF0aW9uRGlyQXJnIiwidHJhbnNhY3Rpb25PcHRpb25zIiwidXJsIiwiYWRhcHRlciIsInBheWxvYWQiLCJmaW5kTWlncmF0aW9uRGlyIiwiYmVnaW5UcmFuc2FjdGlvbkZ1bmN0aW9uIiwiYmVnaW5UcmFuc2FjdGlvbiIsIm1vbmdvb3NlIiwic2V0IiwiZXh0ZW5kV2VicGFja0NvbmZpZyIsImNvbmZpZyIsImV4dGVuZFZpdGVDb25maWciLCJjcmVhdGVEYXRhYmFzZUFkYXB0ZXIiLCJuYW1lIiwiY29sbGVjdGlvbnMiLCJjb25uZWN0aW9uIiwidW5kZWZpbmVkIiwiZ2xvYmFscyIsIm1vbmdvTWVtb3J5U2VydmVyIiwic2Vzc2lvbnMiLCJ2ZXJzaW9ucyIsImNvbW1pdFRyYW5zYWN0aW9uIiwiY29ubmVjdCIsImNyZWF0ZSIsImNyZWF0ZUdsb2JhbCIsImNyZWF0ZUdsb2JhbFZlcnNpb24iLCJjcmVhdGVNaWdyYXRpb24iLCJjcmVhdGVWZXJzaW9uIiwiZGVmYXVsdElEVHlwZSIsImRlbGV0ZU1hbnkiLCJkZWxldGVPbmUiLCJkZWxldGVWZXJzaW9ucyIsImRlc3Ryb3kiLCJmaW5kIiwiZmluZEdsb2JhbCIsImZpbmRHbG9iYWxWZXJzaW9ucyIsImZpbmRPbmUiLCJmaW5kVmVyc2lvbnMiLCJpbml0IiwibWlncmF0ZUZyZXNoIiwicXVlcnlEcmFmdHMiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwidXBkYXRlR2xvYmFsIiwidXBkYXRlR2xvYmFsVmVyc2lvbiIsInVwZGF0ZU9uZSIsInVwZGF0ZVZlcnNpb24iLCJjd2QiLCJwcm9jZXNzIiwic3JjRGlyIiwicGF0aCIsInJlc29sdmUiLCJkaXN0RGlyIiwicmVsYXRpdmVNaWdyYXRpb25zIiwiZnMiLCJleGlzdHNTeW5jIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRGZ0JBOzs7ZUFBQUE7OzsyREF2RkQ7aUVBQ007NkRBQ0o7MEJBQ3FCO3lCQUlkO3dCQUNEOzhCQUNNO3FDQUNPO2lDQUNKOytCQUNGOzRCQUNIOzJCQUNEO2dDQUNL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
@@ -1 +1 @@
1
- {"version":3,"file":"migrateFresh.d.ts","sourceRoot":"","sources":["../src/migrateFresh.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAExC;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvE"}
1
+ {"version":3,"file":"migrateFresh.d.ts","sourceRoot":"","sources":["../src/migrateFresh.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,CAAA;AAExC;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvE"}
@@ -9,6 +9,9 @@ Object.defineProperty(exports, "migrateFresh", {
9
9
  }
10
10
  });
11
11
  const _database = require("payload/database");
12
+ const _commitTransaction = require("payload/dist/utilities/commitTransaction");
13
+ const _initTransaction = require("payload/dist/utilities/initTransaction");
14
+ const _killTransaction = require("payload/dist/utilities/killTransaction");
12
15
  const _prompts = /*#__PURE__*/ _interop_require_default(require("prompts"));
13
16
  function _interop_require_default(obj) {
14
17
  return obj && obj.__esModule ? obj : {
@@ -19,9 +22,9 @@ async function migrateFresh() {
19
22
  const { payload } = this;
20
23
  const { confirm: acceptWarning } = await (0, _prompts.default)({
21
24
  name: 'confirm',
25
+ type: 'confirm',
22
26
  initial: false,
23
- message: `WARNING: This will drop your database and run all migrations. Are you sure you want to proceed?`,
24
- type: 'confirm'
27
+ message: `WARNING: This will drop your database and run all migrations. Are you sure you want to proceed?`
25
28
  }, {
26
29
  onCancel: ()=>{
27
30
  process.exit(0);
@@ -40,7 +43,7 @@ async function migrateFresh() {
40
43
  payload.logger.debug({
41
44
  msg: `Found ${migrationFiles.length} migration files.`
42
45
  });
43
- let transactionID;
46
+ const req = {};
44
47
  // Run all migrate up
45
48
  for (const migration of migrationFiles){
46
49
  payload.logger.info({
@@ -48,9 +51,10 @@ async function migrateFresh() {
48
51
  });
49
52
  try {
50
53
  const start = Date.now();
51
- transactionID = await this.beginTransaction();
54
+ await (0, _initTransaction.initTransaction)(req);
52
55
  await migration.up({
53
- payload
56
+ payload,
57
+ req
54
58
  });
55
59
  await payload.create({
56
60
  collection: 'payload-migrations',
@@ -58,16 +62,14 @@ async function migrateFresh() {
58
62
  name: migration.name,
59
63
  batch: 1
60
64
  },
61
- req: {
62
- transactionID
63
- }
65
+ req
64
66
  });
65
- await this.commitTransaction(transactionID);
67
+ await (0, _commitTransaction.commitTransaction)(req);
66
68
  payload.logger.info({
67
69
  msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
68
70
  });
69
71
  } catch (err) {
70
- await this.rollbackTransaction(transactionID);
72
+ await (0, _killTransaction.killTransaction)(req);
71
73
  payload.logger.error({
72
74
  err,
73
75
  msg: `Error running migration ${migration.name}. Rolling back.`
@@ -77,4 +79,4 @@ async function migrateFresh() {
77
79
  }
78
80
  }
79
81
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgcHJvbXB0cyBmcm9tICdwcm9tcHRzJ1xuXG5pbXBvcnQgdHlwZSB7IE1vbmdvb3NlQWRhcHRlciB9IGZyb20gJy4nXG5cbi8qKlxuICogRHJvcCB0aGUgY3VycmVudCBkYXRhYmFzZSBhbmQgcnVuIGFsbCBtaWdyYXRlIHVwIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZUZyZXNoKHRoaXM6IE1vbmdvb3NlQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcblxuICBjb25zdCB7IGNvbmZpcm06IGFjY2VwdFdhcm5pbmcgfSA9IGF3YWl0IHByb21wdHMoXG4gICAge1xuICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgaW5pdGlhbDogZmFsc2UsXG4gICAgICBtZXNzYWdlOiBgV0FSTklORzogVGhpcyB3aWxsIGRyb3AgeW91ciBkYXRhYmFzZSBhbmQgcnVuIGFsbCBtaWdyYXRpb25zLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD9gLFxuICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgIH0sXG4gICAge1xuICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgICB9LFxuICAgIH0sXG4gIClcblxuICBpZiAoIWFjY2VwdFdhcm5pbmcpIHtcbiAgICBwcm9jZXNzLmV4aXQoMClcbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYERyb3BwaW5nIGRhdGFiYXNlLmAsXG4gIH0pXG5cbiAgYXdhaXQgdGhpcy5jb25uZWN0aW9uLmRyb3BEYXRhYmFzZSgpXG5cbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG4gIHBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgICBtc2c6IGBGb3VuZCAke21pZ3JhdGlvbkZpbGVzLmxlbmd0aH0gbWlncmF0aW9uIGZpbGVzLmAsXG4gIH0pXG5cbiAgbGV0IHRyYW5zYWN0aW9uSURcbiAgLy8gUnVuIGFsbCBtaWdyYXRlIHVwXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgdHJhbnNhY3Rpb25JRCA9IGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbigpXG4gICAgICBhd2FpdCBtaWdyYXRpb24udXAoeyBwYXlsb2FkIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgYmF0Y2g6IDEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcToge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0uIFJvbGxpbmcgYmFjay5gLFxuICAgICAgfSlcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVGcmVzaCIsInBheWxvYWQiLCJjb25maXJtIiwiYWNjZXB0V2FybmluZyIsInByb21wdHMiLCJuYW1lIiwiaW5pdGlhbCIsIm1lc3NhZ2UiLCJ0eXBlIiwib25DYW5jZWwiLCJwcm9jZXNzIiwiZXhpdCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJjb25uZWN0aW9uIiwiZHJvcERhdGFiYXNlIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJkZWJ1ZyIsImxlbmd0aCIsInRyYW5zYWN0aW9uSUQiLCJtaWdyYXRpb24iLCJzdGFydCIsIkRhdGUiLCJub3ciLCJiZWdpblRyYW5zYWN0aW9uIiwidXAiLCJjcmVhdGUiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImJhdGNoIiwicmVxIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnIiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBVXNCQTs7O2VBQUFBOzs7MEJBUmE7Z0VBQ2Y7Ozs7OztBQU9iLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUV4QixNQUFNLEVBQUVDLFNBQVNDLGFBQWEsRUFBRSxHQUFHLE1BQU1DLElBQUFBLGdCQUFPLEVBQzlDO1FBQ0VDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxTQUFTLENBQUMsK0ZBQStGLENBQUM7UUFDMUdDLE1BQU07SUFDUixHQUNBO1FBQ0VDLFVBQVU7WUFDUkMsUUFBUUMsSUFBSSxDQUFDO1FBQ2Y7SUFDRjtJQUdGLElBQUksQ0FBQ1IsZUFBZTtRQUNsQk8sUUFBUUMsSUFBSSxDQUFDO0lBQ2Y7SUFFQVYsUUFBUVcsTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFDbEJDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQjtJQUVBLE1BQU0sSUFBSSxDQUFDQyxVQUFVLENBQUNDLFlBQVk7SUFFbEMsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVqQjtJQUFRO0lBQzFEQSxRQUFRVyxNQUFNLENBQUNPLEtBQUssQ0FBQztRQUNuQkwsS0FBSyxDQUFDLE1BQU0sRUFBRUcsZUFBZUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ3hEO0lBRUEsSUFBSUM7SUFDSixxQkFBcUI7SUFDckIsS0FBSyxNQUFNQyxhQUFhTCxlQUFnQjtRQUN0Q2hCLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVRLFVBQVVqQixJQUFJLENBQUMsQ0FBQztRQUFDO1FBQzFELElBQUk7WUFDRixNQUFNa0IsUUFBUUMsS0FBS0MsR0FBRztZQUN0QkosZ0JBQWdCLE1BQU0sSUFBSSxDQUFDSyxnQkFBZ0I7WUFDM0MsTUFBTUosVUFBVUssRUFBRSxDQUFDO2dCQUFFMUI7WUFBUTtZQUM3QixNQUFNQSxRQUFRMkIsTUFBTSxDQUFDO2dCQUNuQkMsWUFBWTtnQkFDWkMsTUFBTTtvQkFDSnpCLE1BQU1pQixVQUFVakIsSUFBSTtvQkFDcEIwQixPQUFPO2dCQUNUO2dCQUNBQyxLQUFLO29CQUNIWDtnQkFDRjtZQUNGO1lBQ0EsTUFBTSxJQUFJLENBQUNZLGlCQUFpQixDQUFDWjtZQUU3QnBCLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFUSxVQUFVakIsSUFBSSxDQUFDLEVBQUUsRUFBRW1CLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFBQztRQUN0RixFQUFFLE9BQU9XLEtBQWM7WUFDckIsTUFBTSxJQUFJLENBQUNDLG1CQUFtQixDQUFDZDtZQUMvQnBCLFFBQVFXLE1BQU0sQ0FBQ3dCLEtBQUssQ0FBQztnQkFDbkJGO2dCQUNBcEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFUSxVQUFVakIsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNqRTtZQUNBLE1BQU02QjtRQUNSO0lBQ0Y7QUFDRiJ9
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICdwYXlsb2FkL2Rpc3QvdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJ3BheWxvYWQvZGlzdC91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHByb21wdHMgZnJvbSAncHJvbXB0cydcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG4vKipcbiAqIERyb3AgdGhlIGN1cnJlbnQgZGF0YWJhc2UgYW5kIHJ1biBhbGwgbWlncmF0ZSB1cCBmdW5jdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVGcmVzaCh0aGlzOiBNb25nb29zZUFkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG5cbiAgY29uc3QgeyBjb25maXJtOiBhY2NlcHRXYXJuaW5nIH0gPSBhd2FpdCBwcm9tcHRzKFxuICAgIHtcbiAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgIHR5cGU6ICdjb25maXJtJyxcbiAgICAgIGluaXRpYWw6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogYFdBUk5JTkc6IFRoaXMgd2lsbCBkcm9wIHlvdXIgZGF0YWJhc2UgYW5kIHJ1biBhbGwgbWlncmF0aW9ucy4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/YCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9uQ2FuY2VsOiAoKSA9PiB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgwKVxuICAgICAgfSxcbiAgICB9LFxuICApXG5cbiAgaWYgKCFhY2NlcHRXYXJuaW5nKSB7XG4gICAgcHJvY2Vzcy5leGl0KDApXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBEcm9wcGluZyBkYXRhYmFzZS5gLFxuICB9KVxuXG4gIGF3YWl0IHRoaXMuY29ubmVjdGlvbi5kcm9wRGF0YWJhc2UoKVxuXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuICBwYXlsb2FkLmxvZ2dlci5kZWJ1Zyh7XG4gICAgbXNnOiBgRm91bmQgJHttaWdyYXRpb25GaWxlcy5sZW5ndGh9IG1pZ3JhdGlvbiBmaWxlcy5gLFxuICB9KVxuXG4gIGNvbnN0IHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUnVuIGFsbCBtaWdyYXRlIHVwXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgIGJhdGNoOiAxLFxuICAgICAgICB9LFxuICAgICAgICByZXEsXG4gICAgICB9KVxuXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICBlcnIsXG4gICAgICAgIG1zZzogYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9LiBSb2xsaW5nIGJhY2suYCxcbiAgICAgIH0pXG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlRnJlc2giLCJwYXlsb2FkIiwiY29uZmlybSIsImFjY2VwdFdhcm5pbmciLCJwcm9tcHRzIiwibmFtZSIsInR5cGUiLCJpbml0aWFsIiwibWVzc2FnZSIsIm9uQ2FuY2VsIiwicHJvY2VzcyIsImV4aXQiLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwiY29ubmVjdGlvbiIsImRyb3BEYXRhYmFzZSIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZGVidWciLCJsZW5ndGgiLCJyZXEiLCJtaWdyYXRpb24iLCJzdGFydCIsIkRhdGUiLCJub3ciLCJpbml0VHJhbnNhY3Rpb24iLCJ1cCIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwiYmF0Y2giLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsImtpbGxUcmFuc2FjdGlvbiIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQWFzQkE7OztlQUFBQTs7OzBCQVhhO21DQUNEO2lDQUNGO2lDQUNBO2dFQUNaOzs7Ozs7QUFPYixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFFeEIsTUFBTSxFQUFFQyxTQUFTQyxhQUFhLEVBQUUsR0FBRyxNQUFNQyxJQUFBQSxnQkFBTyxFQUM5QztRQUNFQyxNQUFNO1FBQ05DLE1BQU07UUFDTkMsU0FBUztRQUNUQyxTQUFTLENBQUMsK0ZBQStGLENBQUM7SUFDNUcsR0FDQTtRQUNFQyxVQUFVO1lBQ1JDLFFBQVFDLElBQUksQ0FBQztRQUNmO0lBQ0Y7SUFHRixJQUFJLENBQUNSLGVBQWU7UUFDbEJPLFFBQVFDLElBQUksQ0FBQztJQUNmO0lBRUFWLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQ2xCQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFDM0I7SUFFQSxNQUFNLElBQUksQ0FBQ0MsVUFBVSxDQUFDQyxZQUFZO0lBRWxDLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSw0QkFBa0IsRUFBQztRQUFFakI7SUFBUTtJQUMxREEsUUFBUVcsTUFBTSxDQUFDTyxLQUFLLENBQUM7UUFDbkJMLEtBQUssQ0FBQyxNQUFNLEVBQUVHLGVBQWVHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RDtJQUVBLE1BQU1DLE1BQU0sQ0FBQztJQUViLHFCQUFxQjtJQUNyQixLQUFLLE1BQU1DLGFBQWFMLGVBQWdCO1FBQ3RDaEIsUUFBUVcsTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSyxDQUFDLFdBQVcsRUFBRVEsVUFBVWpCLElBQUksQ0FBQyxDQUFDO1FBQUM7UUFDMUQsSUFBSTtZQUNGLE1BQU1rQixRQUFRQyxLQUFLQyxHQUFHO1lBQ3RCLE1BQU1DLElBQUFBLGdDQUFlLEVBQUNMO1lBQ3RCLE1BQU1DLFVBQVVLLEVBQUUsQ0FBQztnQkFBRTFCO2dCQUFTb0I7WUFBSTtZQUNsQyxNQUFNcEIsUUFBUTJCLE1BQU0sQ0FBQztnQkFDbkJDLFlBQVk7Z0JBQ1pDLE1BQU07b0JBQ0p6QixNQUFNaUIsVUFBVWpCLElBQUk7b0JBQ3BCMEIsT0FBTztnQkFDVDtnQkFDQVY7WUFDRjtZQUVBLE1BQU1XLElBQUFBLG9DQUFpQixFQUFDWDtZQUV4QnBCLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFUSxVQUFVakIsSUFBSSxDQUFDLEVBQUUsRUFBRW1CLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFBQztRQUN0RixFQUFFLE9BQU9VLEtBQWM7WUFDckIsTUFBTUMsSUFBQUEsZ0NBQWUsRUFBQ2I7WUFDdEJwQixRQUFRVyxNQUFNLENBQUN1QixLQUFLLENBQUM7Z0JBQ25CRjtnQkFDQW5CLEtBQUssQ0FBQyx3QkFBd0IsRUFBRVEsVUFBVWpCLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDakU7WUFDQSxNQUFNNEI7UUFDUjtJQUNGO0FBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildSchema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,aAAa,EAAqB,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,gBAAgB,CAAA;AAClF,OAAO,KAAK,EASV,KAAK,EAcN,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAkDD,QAAA,MAAM,WAAW,WACP,eAAe,gBACT,KAAK,EAAE,uBACD,kBAAkB,KACrC,MA+BF,CAAA;AAscD,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildSchema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,aAAa,EAAqB,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,gBAAgB,CAAA;AAClF,OAAO,KAAK,EASV,KAAK,EAcN,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAkDD,QAAA,MAAM,WAAW,WACP,eAAe,gBACT,KAAK,EAAE,uBACD,kBAAkB,KACrC,MA+BF,CAAA;AAycD,eAAe,WAAW,CAAA"}
@@ -407,7 +407,9 @@ const fieldToSchemaMap = {
407
407
  text: (field, schema, config, buildSchemaOptions)=>{
408
408
  const baseSchema = {
409
409
  ...formatBaseSchema(field, buildSchemaOptions),
410
- type: String
410
+ type: field.hasMany ? [
411
+ String
412
+ ] : String
411
413
  };
412
414
  schema.add({
413
415
  [field.name]: localizeSchema(field, baseSchema, config.localization)
@@ -435,4 +437,4 @@ const fieldToSchemaMap = {
435
437
  };
436
438
  const _default = buildSchema;
437
439
 
438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvYnVpbGRTY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEluZGV4T3B0aW9ucywgU2NoZW1hT3B0aW9ucywgU2NoZW1hVHlwZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnLCBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2ssXG4gIEJsb2NrRmllbGQsXG4gIENoZWNrYm94RmllbGQsXG4gIENvZGVGaWVsZCxcbiAgQ29sbGFwc2libGVGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBFbWFpbEZpZWxkLFxuICBGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFmZmVjdGluZ0RhdGEsIE5vblByZXNlbnRhdGlvbmFsRmllbGQsIFRhYiwgVW5uYW1lZFRhYiB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHtcbiAgZmllbGRBZmZlY3RzRGF0YSxcbiAgZmllbGRJc0xvY2FsaXplZCxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbiAgdGFiSGFzTmFtZSxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuZXhwb3J0IHR5cGUgQnVpbGRTY2hlbWFPcHRpb25zID0ge1xuICBhbGxvd0lERmllbGQ/OiBib29sZWFuXG4gIGRpc2FibGVVbmlxdWU/OiBib29sZWFuXG4gIGRyYWZ0c0VuYWJsZWQ/OiBib29sZWFuXG4gIGluZGV4U29ydGFibGVGaWVsZHM/OiBib29sZWFuXG4gIG9wdGlvbnM/OiBTY2hlbWFPcHRpb25zXG59XG5cbnR5cGUgRmllbGRTY2hlbWFHZW5lcmF0b3IgPSAoXG4gIGZpZWxkOiBGaWVsZCxcbiAgc2NoZW1hOiBTY2hlbWEsXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbikgPT4gdm9pZFxuXG5jb25zdCBmb3JtYXRCYXNlU2NoZW1hID0gKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHsgZGlzYWJsZVVuaXF1ZSwgZHJhZnRzRW5hYmxlZCwgaW5kZXhTb3J0YWJsZUZpZWxkcyB9ID0gYnVpbGRTY2hlbWFPcHRpb25zXG4gIGNvbnN0IHNjaGVtYTogU2NoZW1hVHlwZU9wdGlvbnM8dW5rbm93bj4gPSB7XG4gICAgaW5kZXg6IGZpZWxkLmluZGV4IHx8ICghZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHx8IGluZGV4U29ydGFibGVGaWVsZHMgfHwgZmFsc2UsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIHVuaXF1ZTogKCFkaXNhYmxlVW5pcXVlICYmIGZpZWxkLnVuaXF1ZSkgfHwgZmFsc2UsXG4gIH1cblxuICBpZiAoc2NoZW1hLnVuaXF1ZSAmJiAoZmllbGQubG9jYWxpemVkIHx8IGRyYWZ0c0VuYWJsZWQpKSB7XG4gICAgc2NoZW1hLnNwYXJzZSA9IHRydWVcbiAgfVxuXG4gIGlmIChmaWVsZC5oaWRkZW4pIHtcbiAgICBzY2hlbWEuaGlkZGVuID0gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBsb2NhbGl6ZVNjaGVtYSA9IChcbiAgZW50aXR5OiBOb25QcmVzZW50YXRpb25hbEZpZWxkIHwgVGFiLFxuICBzY2hlbWEsXG4gIGxvY2FsaXphdGlvbjogU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2UsXG4pID0+IHtcbiAgaWYgKGZpZWxkSXNMb2NhbGl6ZWQoZW50aXR5KSAmJiBsb2NhbGl6YXRpb24gJiYgQXJyYXkuaXNBcnJheShsb2NhbGl6YXRpb24ubG9jYWxlcykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgdHlwZTogbG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLnJlZHVjZShcbiAgICAgICAgKGxvY2FsZVNjaGVtYSwgbG9jYWxlKSA9PiAoe1xuICAgICAgICAgIC4uLmxvY2FsZVNjaGVtYSxcbiAgICAgICAgICBbbG9jYWxlXTogc2NoZW1hLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH1cbiAgfVxuICByZXR1cm4gc2NoZW1hXG59XG5cbmNvbnN0IGJ1aWxkU2NoZW1hID0gKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgY29uZmlnRmllbGRzOiBGaWVsZFtdLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyA9IHt9LFxuKTogU2NoZW1hID0+IHtcbiAgY29uc3QgeyBhbGxvd0lERmllbGQsIG9wdGlvbnMgfSA9IGJ1aWxkU2NoZW1hT3B0aW9uc1xuICBsZXQgZmllbGRzID0ge31cblxuICBsZXQgc2NoZW1hRmllbGRzID0gY29uZmlnRmllbGRzXG5cbiAgaWYgKCFhbGxvd0lERmllbGQpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gc2NoZW1hRmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgIGlmIChpZEZpZWxkKSB7XG4gICAgICBmaWVsZHMgPSB7XG4gICAgICAgIF9pZDogaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/IE51bWJlciA6IFN0cmluZyxcbiAgICAgIH1cbiAgICAgIHNjaGVtYUZpZWxkcyA9IHNjaGVtYUZpZWxkcy5maWx0ZXIoXG4gICAgICAgIChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdCBzY2hlbWEgPSBuZXcgU2NoZW1hKGZpZWxkcywgb3B0aW9ucylcblxuICBzY2hlbWFGaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBpZiAoIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpKSB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShmaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBmaWVsZFRvU2NoZW1hTWFwOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZFNjaGVtYUdlbmVyYXRvcj4gPSB7XG4gIGFycmF5OiAoXG4gICAgZmllbGQ6IEFycmF5RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICkgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7XG4gICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICAgICAgdHlwZTogW1xuICAgICAgICBidWlsZFNjaGVtYShjb25maWcsIGZpZWxkLmZpZWxkcywge1xuICAgICAgICAgIGFsbG93SURGaWVsZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlOiBidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWluaW1pemU6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGJsb2NrczogKFxuICAgIGZpZWxkOiBCbG9ja0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHtcbiAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIHR5cGU6IFtuZXcgU2NoZW1hKHt9LCB7IF9pZDogZmFsc2UsIGRpc2NyaW1pbmF0b3JLZXk6ICdibG9ja1R5cGUnIH0pXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGZpZWxkU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuXG4gICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrSXRlbTogQmxvY2spID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrU2NoZW1hID0gbmV3IFNjaGVtYSh7fSwgeyBfaWQ6IGZhbHNlLCBpZDogZmFsc2UgfSlcblxuICAgICAgYmxvY2tJdGVtLmZpZWxkcy5mb3JFYWNoKChibG9ja0ZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZEZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYUdlbmVyYXRvciA9IGZpZWxkVG9TY2hlbWFNYXBbYmxvY2tGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgICBhZGRGaWVsZFNjaGVtYShibG9ja0ZpZWxkLCBibG9ja1NjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLmZvckVhY2goKGxvY2FsZUNvZGUpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSBQb3NzaWJsZSBpbmNvcnJlY3QgdHlwaW5nIGluIG1vbmdvb3NlIHR5cGVzLCB0aGlzIHdvcmtzXG4gICAgICAgICAgc2NoZW1hLnBhdGgoYCR7ZmllbGQubmFtZX0uJHtsb2NhbGVDb2RlfWApLmRpc2NyaW1pbmF0b3IoYmxvY2tJdGVtLnNsdWcsIGJsb2NrU2NoZW1hKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlIFBvc3NpYmxlIGluY29ycmVjdCB0eXBpbmcgaW4gbW9uZ29vc2UgdHlwZXMsIHRoaXMgd29ya3NcbiAgICAgICAgc2NoZW1hLnBhdGgoZmllbGQubmFtZSkuZGlzY3JpbWluYXRvcihibG9ja0l0ZW0uc2x1ZywgYmxvY2tTY2hlbWEpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgY2hlY2tib3g6IChcbiAgICBmaWVsZDogQ2hlY2tib3hGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogQm9vbGVhbiB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGNvZGU6IChcbiAgICBmaWVsZDogQ29kZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0geyAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLCB0eXBlOiBTdHJpbmcgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBjb2xsYXBzaWJsZTogKFxuICAgIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9KVxuICB9LFxuICBkYXRlOiAoXG4gICAgZmllbGQ6IERhdGVGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogRGF0ZSB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGVtYWlsOiAoXG4gICAgZmllbGQ6IEVtYWlsRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGdyb3VwOiAoXG4gICAgZmllbGQ6IEdyb3VwRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZvcm1hdHRlZEJhc2VTY2hlbWEgPSBmb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpXG5cbiAgICAvLyBjYXJyeSBpbmRleFNvcnRhYmxlRmllbGRzIHRocm91Z2ggdG8gdmVyc2lvbnMgaWYgZHJhZnRzIGVuYWJsZWRcbiAgICBjb25zdCBpbmRleFNvcnRhYmxlRmllbGRzID1cbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5pbmRleFNvcnRhYmxlRmllbGRzICYmXG4gICAgICBmaWVsZC5uYW1lID09PSAndmVyc2lvbicgJiZcbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5kcmFmdHNFbmFibGVkXG5cbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0dGVkQmFzZVNjaGVtYSxcbiAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgZmllbGQuZmllbGRzLCB7XG4gICAgICAgIGRpc2FibGVVbmlxdWU6IGJ1aWxkU2NoZW1hT3B0aW9ucy5kaXNhYmxlVW5pcXVlLFxuICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgaW5kZXhTb3J0YWJsZUZpZWxkcyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgIG1pbmltaXplOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAganNvbjogKFxuICAgIGZpZWxkOiBKU09ORmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIG51bWJlcjogKFxuICAgIGZpZWxkOiBOdW1iZXJGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHtcbiAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICB0eXBlOiBmaWVsZC5oYXNNYW55ID8gW051bWJlcl0gOiBOdW1iZXIsXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBwb2ludDogKFxuICAgIGZpZWxkOiBQb2ludEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hOiBTY2hlbWFUeXBlT3B0aW9uczx1bmtub3duPiA9IHtcbiAgICAgIGNvb3JkaW5hdGVzOiB7XG4gICAgICAgIGRlZmF1bHQ6IGZpZWxkLmRlZmF1bHRWYWx1ZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgdHlwZTogW051bWJlcl0sXG4gICAgICB9LFxuICAgICAgdHlwZToge1xuICAgICAgICBlbnVtOiBbJ1BvaW50J10sXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH0sXG4gICAgfVxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUgJiYgZmllbGQubG9jYWxpemVkKSB7XG4gICAgICBiYXNlU2NoZW1hLmNvb3JkaW5hdGVzLnNwYXJzZSA9IHRydWVcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG5cbiAgICBpZiAoZmllbGQuaW5kZXggPT09IHRydWUgfHwgZmllbGQuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgaW5kZXhPcHRpb25zOiBJbmRleE9wdGlvbnMgPSB7fVxuICAgICAgaWYgKCFidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgaW5kZXhPcHRpb25zLnNwYXJzZSA9IHRydWVcbiAgICAgICAgaW5kZXhPcHRpb25zLnVuaXF1ZSA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMuZm9yRWFjaCgobG9jYWxlKSA9PiB7XG4gICAgICAgICAgc2NoZW1hLmluZGV4KHsgW2Ake2ZpZWxkLm5hbWV9LiR7bG9jYWxlfWBdOiAnMmRzcGhlcmUnIH0sIGluZGV4T3B0aW9ucylcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVtYS5pbmRleCh7IFtmaWVsZC5uYW1lXTogJzJkc3BoZXJlJyB9LCBpbmRleE9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9LFxuICByYWRpbzogKFxuICAgIGZpZWxkOiBSYWRpb0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiAoXG4gICAgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApID0+IHtcbiAgICBjb25zdCBoYXNNYW55UmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKVxuICAgIGxldCBzY2hlbWFUb1JldHVybjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG5cbiAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMucmVkdWNlKChsb2NhbGVzLCBsb2NhbGUpID0+IHtcbiAgICAgICAgICBsZXQgbG9jYWxlU2NoZW1hOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge31cblxuICAgICAgICAgIGlmIChoYXNNYW55UmVsYXRpb25zKSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGF0aW9uVG86IHsgZW51bTogZmllbGQucmVsYXRpb25UbywgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgICAgICAgIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCxcbiAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICByZWZQYXRoOiBgJHtmaWVsZC5uYW1lfS4ke2xvY2FsZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIHJlZjogZmllbGQucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sb2NhbGVzLFxuICAgICAgICAgICAgW2xvY2FsZV06IGZpZWxkLmhhc01hbnkgPyB7IGRlZmF1bHQ6IHVuZGVmaW5lZCwgdHlwZTogW2xvY2FsZVNjaGVtYV0gfSA6IGxvY2FsZVNjaGVtYSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGhhc01hbnlSZWxhdGlvbnMpIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICByZWxhdGlvblRvOiB7IGVudW06IGZpZWxkLnJlbGF0aW9uVG8sIHR5cGU6IFN0cmluZyB9LFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgcmVmUGF0aDogYCR7ZmllbGQubmFtZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gICAgICAgICAgdHlwZTogW3NjaGVtYVRvUmV0dXJuXSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgICAgcmVmOiBmaWVsZC5yZWxhdGlvblRvLFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICB0eXBlOiBbc2NoZW1hVG9SZXR1cm5dLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IHNjaGVtYVRvUmV0dXJuLFxuICAgIH0pXG4gIH0sXG4gIHJpY2hUZXh0OiAoXG4gICAgZmllbGQ6IFJpY2hUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHJvdzogKFxuICAgIGZpZWxkOiBSb3dGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgZmllbGQuZmllbGRzLmZvckVhY2goKHN1YkZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgYWRkRmllbGRTY2hlbWEoc3ViRmllbGQsIHNjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgc2VsZWN0OiAoXG4gICAgZmllbGQ6IFNlbGVjdEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCB8fCAhZmllbGQucmVxdWlyZWQpIHtcbiAgICAgIGJhc2VTY2hlbWEuZW51bS5wdXNoKG51bGwpXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZmllbGQuaGFzTWFueSA/IFtiYXNlU2NoZW1hXSA6IGJhc2VTY2hlbWEsXG4gICAgICAgIGNvbmZpZy5sb2NhbGl6YXRpb24sXG4gICAgICApLFxuICAgIH0pXG4gIH0sXG4gIHRhYnM6IChcbiAgICBmaWVsZDogVGFic0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgdGFiLmZpZWxkcywge1xuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZTogYnVpbGRTY2hlbWFPcHRpb25zLmRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgX2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBtaW5pbWl6ZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgc2NoZW1hLmFkZCh7XG4gICAgICAgICAgW3RhYi5uYW1lXTogbG9jYWxpemVTY2hlbWEodGFiLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhYi5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICAgICAgaWYgKGFkZEZpZWxkU2NoZW1hKSB7XG4gICAgICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgdGV4dDogKFxuICAgIGZpZWxkOiBUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHRleHRhcmVhOiAoXG4gICAgZmllbGQ6IFRleHRhcmVhRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHVwbG9hZDogKFxuICAgIGZpZWxkOiBVcGxvYWRGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHtcbiAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICByZWY6IGZpZWxkLnJlbGF0aW9uVG8sXG4gICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZFNjaGVtYVxuIl0sIm5hbWVzIjpbImZvcm1hdEJhc2VTY2hlbWEiLCJmaWVsZCIsImJ1aWxkU2NoZW1hT3B0aW9ucyIsImRpc2FibGVVbmlxdWUiLCJkcmFmdHNFbmFibGVkIiwiaW5kZXhTb3J0YWJsZUZpZWxkcyIsInNjaGVtYSIsImluZGV4IiwidW5pcXVlIiwicmVxdWlyZWQiLCJsb2NhbGl6ZWQiLCJzcGFyc2UiLCJoaWRkZW4iLCJsb2NhbGl6ZVNjaGVtYSIsImVudGl0eSIsImxvY2FsaXphdGlvbiIsImZpZWxkSXNMb2NhbGl6ZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGVzIiwidHlwZSIsImxvY2FsZUNvZGVzIiwicmVkdWNlIiwibG9jYWxlU2NoZW1hIiwibG9jYWxlIiwiX2lkIiwiYnVpbGRTY2hlbWEiLCJjb25maWciLCJjb25maWdGaWVsZHMiLCJhbGxvd0lERmllbGQiLCJvcHRpb25zIiwiZmllbGRzIiwic2NoZW1hRmllbGRzIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsIk51bWJlciIsIlN0cmluZyIsImZpbHRlciIsIlNjaGVtYSIsImZvckVhY2giLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiYWRkRmllbGRTY2hlbWEiLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJiYXNlU2NoZW1hIiwiZGVmYXVsdCIsInVuZGVmaW5lZCIsImlkIiwibWluaW1pemUiLCJhZGQiLCJibG9ja3MiLCJmaWVsZFNjaGVtYSIsImRpc2NyaW1pbmF0b3JLZXkiLCJibG9ja0l0ZW0iLCJibG9ja1NjaGVtYSIsImJsb2NrRmllbGQiLCJsb2NhbGVDb2RlIiwicGF0aCIsImRpc2NyaW1pbmF0b3IiLCJzbHVnIiwiY2hlY2tib3giLCJCb29sZWFuIiwiY29kZSIsImNvbGxhcHNpYmxlIiwic3ViRmllbGQiLCJkYXRlIiwiRGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJmb3JtYXR0ZWRCYXNlU2NoZW1hIiwianNvbiIsIlR5cGVzIiwiTWl4ZWQiLCJudW1iZXIiLCJoYXNNYW55IiwicG9pbnQiLCJjb29yZGluYXRlcyIsImRlZmF1bHRWYWx1ZSIsImVudW0iLCJpbmRleE9wdGlvbnMiLCJyYWRpbyIsIm1hcCIsIm9wdGlvbiIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwiaGFzTWFueVJlbGF0aW9ucyIsInJlbGF0aW9uVG8iLCJzY2hlbWFUb1JldHVybiIsInJlZlBhdGgiLCJyZWYiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsInB1c2giLCJ0YWJzIiwidGFiIiwidGFiSGFzTmFtZSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9ELEdBQ3BELHlDQUF5QyxHQUN6QywwREFBMEQsR0FDMUQsdUNBQXVD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
440
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvYnVpbGRTY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEluZGV4T3B0aW9ucywgU2NoZW1hT3B0aW9ucywgU2NoZW1hVHlwZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnLCBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2ssXG4gIEJsb2NrRmllbGQsXG4gIENoZWNrYm94RmllbGQsXG4gIENvZGVGaWVsZCxcbiAgQ29sbGFwc2libGVGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBFbWFpbEZpZWxkLFxuICBGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFmZmVjdGluZ0RhdGEsIE5vblByZXNlbnRhdGlvbmFsRmllbGQsIFRhYiwgVW5uYW1lZFRhYiB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHtcbiAgZmllbGRBZmZlY3RzRGF0YSxcbiAgZmllbGRJc0xvY2FsaXplZCxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbiAgdGFiSGFzTmFtZSxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuZXhwb3J0IHR5cGUgQnVpbGRTY2hlbWFPcHRpb25zID0ge1xuICBhbGxvd0lERmllbGQ/OiBib29sZWFuXG4gIGRpc2FibGVVbmlxdWU/OiBib29sZWFuXG4gIGRyYWZ0c0VuYWJsZWQ/OiBib29sZWFuXG4gIGluZGV4U29ydGFibGVGaWVsZHM/OiBib29sZWFuXG4gIG9wdGlvbnM/OiBTY2hlbWFPcHRpb25zXG59XG5cbnR5cGUgRmllbGRTY2hlbWFHZW5lcmF0b3IgPSAoXG4gIGZpZWxkOiBGaWVsZCxcbiAgc2NoZW1hOiBTY2hlbWEsXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbikgPT4gdm9pZFxuXG5jb25zdCBmb3JtYXRCYXNlU2NoZW1hID0gKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHsgZGlzYWJsZVVuaXF1ZSwgZHJhZnRzRW5hYmxlZCwgaW5kZXhTb3J0YWJsZUZpZWxkcyB9ID0gYnVpbGRTY2hlbWFPcHRpb25zXG4gIGNvbnN0IHNjaGVtYTogU2NoZW1hVHlwZU9wdGlvbnM8dW5rbm93bj4gPSB7XG4gICAgaW5kZXg6IGZpZWxkLmluZGV4IHx8ICghZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHx8IGluZGV4U29ydGFibGVGaWVsZHMgfHwgZmFsc2UsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIHVuaXF1ZTogKCFkaXNhYmxlVW5pcXVlICYmIGZpZWxkLnVuaXF1ZSkgfHwgZmFsc2UsXG4gIH1cblxuICBpZiAoc2NoZW1hLnVuaXF1ZSAmJiAoZmllbGQubG9jYWxpemVkIHx8IGRyYWZ0c0VuYWJsZWQpKSB7XG4gICAgc2NoZW1hLnNwYXJzZSA9IHRydWVcbiAgfVxuXG4gIGlmIChmaWVsZC5oaWRkZW4pIHtcbiAgICBzY2hlbWEuaGlkZGVuID0gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBsb2NhbGl6ZVNjaGVtYSA9IChcbiAgZW50aXR5OiBOb25QcmVzZW50YXRpb25hbEZpZWxkIHwgVGFiLFxuICBzY2hlbWEsXG4gIGxvY2FsaXphdGlvbjogU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2UsXG4pID0+IHtcbiAgaWYgKGZpZWxkSXNMb2NhbGl6ZWQoZW50aXR5KSAmJiBsb2NhbGl6YXRpb24gJiYgQXJyYXkuaXNBcnJheShsb2NhbGl6YXRpb24ubG9jYWxlcykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgdHlwZTogbG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLnJlZHVjZShcbiAgICAgICAgKGxvY2FsZVNjaGVtYSwgbG9jYWxlKSA9PiAoe1xuICAgICAgICAgIC4uLmxvY2FsZVNjaGVtYSxcbiAgICAgICAgICBbbG9jYWxlXTogc2NoZW1hLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH1cbiAgfVxuICByZXR1cm4gc2NoZW1hXG59XG5cbmNvbnN0IGJ1aWxkU2NoZW1hID0gKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgY29uZmlnRmllbGRzOiBGaWVsZFtdLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyA9IHt9LFxuKTogU2NoZW1hID0+IHtcbiAgY29uc3QgeyBhbGxvd0lERmllbGQsIG9wdGlvbnMgfSA9IGJ1aWxkU2NoZW1hT3B0aW9uc1xuICBsZXQgZmllbGRzID0ge31cblxuICBsZXQgc2NoZW1hRmllbGRzID0gY29uZmlnRmllbGRzXG5cbiAgaWYgKCFhbGxvd0lERmllbGQpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gc2NoZW1hRmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgIGlmIChpZEZpZWxkKSB7XG4gICAgICBmaWVsZHMgPSB7XG4gICAgICAgIF9pZDogaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/IE51bWJlciA6IFN0cmluZyxcbiAgICAgIH1cbiAgICAgIHNjaGVtYUZpZWxkcyA9IHNjaGVtYUZpZWxkcy5maWx0ZXIoXG4gICAgICAgIChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdCBzY2hlbWEgPSBuZXcgU2NoZW1hKGZpZWxkcywgb3B0aW9ucylcblxuICBzY2hlbWFGaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBpZiAoIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpKSB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShmaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBmaWVsZFRvU2NoZW1hTWFwOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZFNjaGVtYUdlbmVyYXRvcj4gPSB7XG4gIGFycmF5OiAoXG4gICAgZmllbGQ6IEFycmF5RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICkgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7XG4gICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICAgICAgdHlwZTogW1xuICAgICAgICBidWlsZFNjaGVtYShjb25maWcsIGZpZWxkLmZpZWxkcywge1xuICAgICAgICAgIGFsbG93SURGaWVsZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlOiBidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWluaW1pemU6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGJsb2NrczogKFxuICAgIGZpZWxkOiBCbG9ja0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHtcbiAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIHR5cGU6IFtuZXcgU2NoZW1hKHt9LCB7IF9pZDogZmFsc2UsIGRpc2NyaW1pbmF0b3JLZXk6ICdibG9ja1R5cGUnIH0pXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGZpZWxkU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuXG4gICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrSXRlbTogQmxvY2spID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrU2NoZW1hID0gbmV3IFNjaGVtYSh7fSwgeyBfaWQ6IGZhbHNlLCBpZDogZmFsc2UgfSlcblxuICAgICAgYmxvY2tJdGVtLmZpZWxkcy5mb3JFYWNoKChibG9ja0ZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZEZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYUdlbmVyYXRvciA9IGZpZWxkVG9TY2hlbWFNYXBbYmxvY2tGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgICBhZGRGaWVsZFNjaGVtYShibG9ja0ZpZWxkLCBibG9ja1NjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLmZvckVhY2goKGxvY2FsZUNvZGUpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSBQb3NzaWJsZSBpbmNvcnJlY3QgdHlwaW5nIGluIG1vbmdvb3NlIHR5cGVzLCB0aGlzIHdvcmtzXG4gICAgICAgICAgc2NoZW1hLnBhdGgoYCR7ZmllbGQubmFtZX0uJHtsb2NhbGVDb2RlfWApLmRpc2NyaW1pbmF0b3IoYmxvY2tJdGVtLnNsdWcsIGJsb2NrU2NoZW1hKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlIFBvc3NpYmxlIGluY29ycmVjdCB0eXBpbmcgaW4gbW9uZ29vc2UgdHlwZXMsIHRoaXMgd29ya3NcbiAgICAgICAgc2NoZW1hLnBhdGgoZmllbGQubmFtZSkuZGlzY3JpbWluYXRvcihibG9ja0l0ZW0uc2x1ZywgYmxvY2tTY2hlbWEpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgY2hlY2tib3g6IChcbiAgICBmaWVsZDogQ2hlY2tib3hGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogQm9vbGVhbiB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGNvZGU6IChcbiAgICBmaWVsZDogQ29kZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0geyAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLCB0eXBlOiBTdHJpbmcgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBjb2xsYXBzaWJsZTogKFxuICAgIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9KVxuICB9LFxuICBkYXRlOiAoXG4gICAgZmllbGQ6IERhdGVGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogRGF0ZSB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGVtYWlsOiAoXG4gICAgZmllbGQ6IEVtYWlsRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGdyb3VwOiAoXG4gICAgZmllbGQ6IEdyb3VwRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZvcm1hdHRlZEJhc2VTY2hlbWEgPSBmb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpXG5cbiAgICAvLyBjYXJyeSBpbmRleFNvcnRhYmxlRmllbGRzIHRocm91Z2ggdG8gdmVyc2lvbnMgaWYgZHJhZnRzIGVuYWJsZWRcbiAgICBjb25zdCBpbmRleFNvcnRhYmxlRmllbGRzID1cbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5pbmRleFNvcnRhYmxlRmllbGRzICYmXG4gICAgICBmaWVsZC5uYW1lID09PSAndmVyc2lvbicgJiZcbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5kcmFmdHNFbmFibGVkXG5cbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0dGVkQmFzZVNjaGVtYSxcbiAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgZmllbGQuZmllbGRzLCB7XG4gICAgICAgIGRpc2FibGVVbmlxdWU6IGJ1aWxkU2NoZW1hT3B0aW9ucy5kaXNhYmxlVW5pcXVlLFxuICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgaW5kZXhTb3J0YWJsZUZpZWxkcyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgIG1pbmltaXplOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAganNvbjogKFxuICAgIGZpZWxkOiBKU09ORmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIG51bWJlcjogKFxuICAgIGZpZWxkOiBOdW1iZXJGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHtcbiAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICB0eXBlOiBmaWVsZC5oYXNNYW55ID8gW051bWJlcl0gOiBOdW1iZXIsXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBwb2ludDogKFxuICAgIGZpZWxkOiBQb2ludEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hOiBTY2hlbWFUeXBlT3B0aW9uczx1bmtub3duPiA9IHtcbiAgICAgIGNvb3JkaW5hdGVzOiB7XG4gICAgICAgIGRlZmF1bHQ6IGZpZWxkLmRlZmF1bHRWYWx1ZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgdHlwZTogW051bWJlcl0sXG4gICAgICB9LFxuICAgICAgdHlwZToge1xuICAgICAgICBlbnVtOiBbJ1BvaW50J10sXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH0sXG4gICAgfVxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUgJiYgZmllbGQubG9jYWxpemVkKSB7XG4gICAgICBiYXNlU2NoZW1hLmNvb3JkaW5hdGVzLnNwYXJzZSA9IHRydWVcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG5cbiAgICBpZiAoZmllbGQuaW5kZXggPT09IHRydWUgfHwgZmllbGQuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgaW5kZXhPcHRpb25zOiBJbmRleE9wdGlvbnMgPSB7fVxuICAgICAgaWYgKCFidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgaW5kZXhPcHRpb25zLnNwYXJzZSA9IHRydWVcbiAgICAgICAgaW5kZXhPcHRpb25zLnVuaXF1ZSA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMuZm9yRWFjaCgobG9jYWxlKSA9PiB7XG4gICAgICAgICAgc2NoZW1hLmluZGV4KHsgW2Ake2ZpZWxkLm5hbWV9LiR7bG9jYWxlfWBdOiAnMmRzcGhlcmUnIH0sIGluZGV4T3B0aW9ucylcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVtYS5pbmRleCh7IFtmaWVsZC5uYW1lXTogJzJkc3BoZXJlJyB9LCBpbmRleE9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9LFxuICByYWRpbzogKFxuICAgIGZpZWxkOiBSYWRpb0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiAoXG4gICAgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApID0+IHtcbiAgICBjb25zdCBoYXNNYW55UmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKVxuICAgIGxldCBzY2hlbWFUb1JldHVybjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG5cbiAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMucmVkdWNlKChsb2NhbGVzLCBsb2NhbGUpID0+IHtcbiAgICAgICAgICBsZXQgbG9jYWxlU2NoZW1hOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge31cblxuICAgICAgICAgIGlmIChoYXNNYW55UmVsYXRpb25zKSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGF0aW9uVG86IHsgZW51bTogZmllbGQucmVsYXRpb25UbywgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgICAgICAgIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCxcbiAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICByZWZQYXRoOiBgJHtmaWVsZC5uYW1lfS4ke2xvY2FsZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIHJlZjogZmllbGQucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sb2NhbGVzLFxuICAgICAgICAgICAgW2xvY2FsZV06IGZpZWxkLmhhc01hbnkgPyB7IGRlZmF1bHQ6IHVuZGVmaW5lZCwgdHlwZTogW2xvY2FsZVNjaGVtYV0gfSA6IGxvY2FsZVNjaGVtYSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGhhc01hbnlSZWxhdGlvbnMpIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICByZWxhdGlvblRvOiB7IGVudW06IGZpZWxkLnJlbGF0aW9uVG8sIHR5cGU6IFN0cmluZyB9LFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgcmVmUGF0aDogYCR7ZmllbGQubmFtZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gICAgICAgICAgdHlwZTogW3NjaGVtYVRvUmV0dXJuXSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgICAgcmVmOiBmaWVsZC5yZWxhdGlvblRvLFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICB0eXBlOiBbc2NoZW1hVG9SZXR1cm5dLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IHNjaGVtYVRvUmV0dXJuLFxuICAgIH0pXG4gIH0sXG4gIHJpY2hUZXh0OiAoXG4gICAgZmllbGQ6IFJpY2hUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHJvdzogKFxuICAgIGZpZWxkOiBSb3dGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgZmllbGQuZmllbGRzLmZvckVhY2goKHN1YkZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgYWRkRmllbGRTY2hlbWEoc3ViRmllbGQsIHNjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgc2VsZWN0OiAoXG4gICAgZmllbGQ6IFNlbGVjdEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCB8fCAhZmllbGQucmVxdWlyZWQpIHtcbiAgICAgIGJhc2VTY2hlbWEuZW51bS5wdXNoKG51bGwpXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZmllbGQuaGFzTWFueSA/IFtiYXNlU2NoZW1hXSA6IGJhc2VTY2hlbWEsXG4gICAgICAgIGNvbmZpZy5sb2NhbGl6YXRpb24sXG4gICAgICApLFxuICAgIH0pXG4gIH0sXG4gIHRhYnM6IChcbiAgICBmaWVsZDogVGFic0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgdGFiLmZpZWxkcywge1xuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZTogYnVpbGRTY2hlbWFPcHRpb25zLmRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgX2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBtaW5pbWl6ZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgc2NoZW1hLmFkZCh7XG4gICAgICAgICAgW3RhYi5uYW1lXTogbG9jYWxpemVTY2hlbWEodGFiLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhYi5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICAgICAgaWYgKGFkZEZpZWxkU2NoZW1hKSB7XG4gICAgICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgdGV4dDogKFxuICAgIGZpZWxkOiBUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7XG4gICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgdHlwZTogZmllbGQuaGFzTWFueSA/IFtTdHJpbmddIDogU3RyaW5nLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAgdGV4dGFyZWE6IChcbiAgICBmaWVsZDogVGV4dGFyZWFGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogU3RyaW5nIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAgdXBsb2FkOiAoXG4gICAgZmllbGQ6IFVwbG9hZEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIHJlZjogZmllbGQucmVsYXRpb25UbyxcbiAgICAgIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkU2NoZW1hXG4iXSwibmFtZXMiOlsiZm9ybWF0QmFzZVNjaGVtYSIsImZpZWxkIiwiYnVpbGRTY2hlbWFPcHRpb25zIiwiZGlzYWJsZVVuaXF1ZSIsImRyYWZ0c0VuYWJsZWQiLCJpbmRleFNvcnRhYmxlRmllbGRzIiwic2NoZW1hIiwiaW5kZXgiLCJ1bmlxdWUiLCJyZXF1aXJlZCIsImxvY2FsaXplZCIsInNwYXJzZSIsImhpZGRlbiIsImxvY2FsaXplU2NoZW1hIiwiZW50aXR5IiwibG9jYWxpemF0aW9uIiwiZmllbGRJc0xvY2FsaXplZCIsIkFycmF5IiwiaXNBcnJheSIsImxvY2FsZXMiLCJ0eXBlIiwibG9jYWxlQ29kZXMiLCJyZWR1Y2UiLCJsb2NhbGVTY2hlbWEiLCJsb2NhbGUiLCJfaWQiLCJidWlsZFNjaGVtYSIsImNvbmZpZyIsImNvbmZpZ0ZpZWxkcyIsImFsbG93SURGaWVsZCIsIm9wdGlvbnMiLCJmaWVsZHMiLCJzY2hlbWFGaWVsZHMiLCJpZEZpZWxkIiwiZmluZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiTnVtYmVyIiwiU3RyaW5nIiwiZmlsdGVyIiwiU2NoZW1hIiwiZm9yRWFjaCIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJhZGRGaWVsZFNjaGVtYSIsImZpZWxkVG9TY2hlbWFNYXAiLCJhcnJheSIsImJhc2VTY2hlbWEiLCJkZWZhdWx0IiwidW5kZWZpbmVkIiwiaWQiLCJtaW5pbWl6ZSIsImFkZCIsImJsb2NrcyIsImZpZWxkU2NoZW1hIiwiZGlzY3JpbWluYXRvcktleSIsImJsb2NrSXRlbSIsImJsb2NrU2NoZW1hIiwiYmxvY2tGaWVsZCIsImxvY2FsZUNvZGUiLCJwYXRoIiwiZGlzY3JpbWluYXRvciIsInNsdWciLCJjaGVja2JveCIsIkJvb2xlYW4iLCJjb2RlIiwiY29sbGFwc2libGUiLCJzdWJGaWVsZCIsImRhdGUiLCJEYXRlIiwiZW1haWwiLCJncm91cCIsImZvcm1hdHRlZEJhc2VTY2hlbWEiLCJqc29uIiwiVHlwZXMiLCJNaXhlZCIsIm51bWJlciIsImhhc01hbnkiLCJwb2ludCIsImNvb3JkaW5hdGVzIiwiZGVmYXVsdFZhbHVlIiwiZW51bSIsImluZGV4T3B0aW9ucyIsInJhZGlvIiwibWFwIiwib3B0aW9uIiwidmFsdWUiLCJyZWxhdGlvbnNoaXAiLCJoYXNNYW55UmVsYXRpb25zIiwicmVsYXRpb25UbyIsInNjaGVtYVRvUmV0dXJuIiwicmVmUGF0aCIsInJlZiIsInJpY2hUZXh0Iiwicm93Iiwic2VsZWN0IiwicHVzaCIsInRhYnMiLCJ0YWIiLCJ0YWJIYXNOYW1lIiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiQUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"queryDrafts.d.ts","sourceRoot":"","sources":["../src/queryDrafts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAWnD,eAAO,MAAM,WAAW,EAAE,WAmFzB,CAAA"}
1
+ {"version":3,"file":"queryDrafts.d.ts","sourceRoot":"","sources":["../src/queryDrafts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAWnD,eAAO,MAAM,WAAW,EAAE,WA0FzB,CAAA"}
@@ -58,8 +58,11 @@ const queryDrafts = async function queryDrafts({ collection, limit, locale, page
58
58
  sort,
59
59
  useEstimatedCount
60
60
  };
61
- if (!useEstimatedCount && this.disableIndexHints !== true) {
62
- // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding a hint.
61
+ if (!useEstimatedCount && Object.keys(versionQuery).length === 0 && this.disableIndexHints !== true) {
62
+ // Improve the performance of the countDocuments query which is used if useEstimatedCount is set to false by adding
63
+ // a hint. By default, if no hint is provided, MongoDB does not use an indexed field to count the returned documents,
64
+ // which makes queries very slow. This only happens when no query (filter) is provided. If one is provided, it uses
65
+ // the correct indexed field
63
66
  paginationOptions.useCustomCountFn = ()=>{
64
67
  return Promise.resolve(VersionModel.countDocuments(versionQuery, {
65
68
  hint: {
@@ -91,4 +94,4 @@ const queryDrafts = async function queryDrafts({ collection, limit, locale, page
91
94
  };
92
95
  };
93
96
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeURyYWZ0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhZ2luYXRlT3B0aW9ucyB9IGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHR5cGUgeyBRdWVyeURyYWZ0cyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMsIGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG5pbXBvcnQgeyBidWlsZFNvcnRQYXJhbSB9IGZyb20gJy4vcXVlcmllcy9idWlsZFNvcnRQYXJhbSdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyB3aXRoU2Vzc2lvbiB9IGZyb20gJy4vd2l0aFNlc3Npb24nXG5cbmV4cG9ydCBjb25zdCBxdWVyeURyYWZ0czogUXVlcnlEcmFmdHMgPSBhc3luYyBmdW5jdGlvbiBxdWVyeURyYWZ0cyhcbiAgdGhpczogTW9uZ29vc2VBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIGxpbWl0LCBsb2NhbGUsIHBhZ2UsIHBhZ2luYXRpb24sIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCBzb3J0OiBzb3J0QXJnLCB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IFZlcnNpb25Nb2RlbCA9IHRoaXMudmVyc2lvbnNbY29sbGVjdGlvbl1cbiAgY29uc3QgY29sbGVjdGlvbkNvbmZpZyA9IHRoaXMucGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXS5jb25maWdcbiAgY29uc3Qgb3B0aW9ucyA9IHdpdGhTZXNzaW9uKHRoaXMsIHJlcS50cmFuc2FjdGlvbklEKVxuXG4gIGxldCBoYXNOZWFyQ29uc3RyYWludFxuICBsZXQgc29ydFxuXG4gIGlmICh3aGVyZSkge1xuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMod2hlcmUpXG4gICAgaGFzTmVhckNvbnN0cmFpbnQgPSBjb25zdHJhaW50cy5zb21lKChwcm9wKSA9PiBPYmplY3Qua2V5cyhwcm9wKS5zb21lKChrZXkpID0+IGtleSA9PT0gJ25lYXInKSlcbiAgfVxuXG4gIGlmICghaGFzTmVhckNvbnN0cmFpbnQpIHtcbiAgICBzb3J0ID0gYnVpbGRTb3J0UGFyYW0oe1xuICAgICAgY29uZmlnOiB0aGlzLnBheWxvYWQuY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uQ29uZmlnLmZpZWxkcyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIHNvcnQ6IHNvcnRBcmcgfHwgY29sbGVjdGlvbkNvbmZpZy5kZWZhdWx0U29ydCxcbiAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGNvbWJpbmVkV2hlcmUgPSBjb21iaW5lUXVlcmllcyh7IGxhdGVzdDogeyBlcXVhbHM6IHRydWUgfSB9LCB3aGVyZSlcblxuICBjb25zdCB2ZXJzaW9uUXVlcnkgPSBhd2FpdCBWZXJzaW9uTW9kZWwuYnVpbGRRdWVyeSh7XG4gICAgbG9jYWxlLFxuICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICB3aGVyZTogY29tYmluZWRXaGVyZSxcbiAgfSlcblxuICAvLyB1c2VFc3RpbWF0ZWRDb3VudCBpcyBmYXN0ZXIsIGJ1dCBub3QgYWNjdXJhdGUsIGFzIGl0IGlnbm9yZXMgYW55IGZpbHRlcnMuIEl0IGlzIHRodXMgc2V0IHRvIHRydWUgaWYgdGhlcmUgYXJlIG5vIGZpbHRlcnMuXG4gIGNvbnN0IHVzZUVzdGltYXRlZENvdW50ID1cbiAgICBoYXNOZWFyQ29uc3RyYWludCB8fCAhdmVyc2lvblF1ZXJ5IHx8IE9iamVjdC5rZXlzKHZlcnNpb25RdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb3B0aW9ucyxcbiAgICBwYWdlLFxuICAgIHBhZ2luYXRpb24sXG4gICAgc29ydCxcbiAgICB1c2VFc3RpbWF0ZWRDb3VudCxcbiAgfVxuXG4gIGlmICghdXNlRXN0aW1hdGVkQ291bnQgJiYgdGhpcy5kaXNhYmxlSW5kZXhIaW50cyAhPT0gdHJ1ZSkge1xuICAgIC8vIEltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBjb3VudERvY3VtZW50cyBxdWVyeSB3aGljaCBpcyB1c2VkIGlmIHVzZUVzdGltYXRlZENvdW50IGlzIHNldCB0byBmYWxzZSBieSBhZGRpbmcgYSBoaW50LlxuICAgIHBhZ2luYXRpb25PcHRpb25zLnVzZUN1c3RvbUNvdW50Rm4gPSAoKSA9PiB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICBWZXJzaW9uTW9kZWwuY291bnREb2N1bWVudHModmVyc2lvblF1ZXJ5LCB7XG4gICAgICAgICAgaGludDogeyBfaWQ6IDEgfSxcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgaWYgKGxpbWl0ID4gMCkge1xuICAgIHBhZ2luYXRpb25PcHRpb25zLmxpbWl0ID0gbGltaXRcbiAgICAvLyBsaW1pdCBtdXN0IGFsc28gYmUgc2V0IGhlcmUsIGl0J3MgaWdub3JlZCB3aGVuIHBhZ2luYXRpb24gaXMgZmFsc2VcbiAgICBwYWdpbmF0aW9uT3B0aW9ucy5vcHRpb25zLmxpbWl0ID0gbGltaXRcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFZlcnNpb25Nb2RlbC5wYWdpbmF0ZSh2ZXJzaW9uUXVlcnksIHBhZ2luYXRpb25PcHRpb25zKVxuICBjb25zdCBkb2NzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXN1bHQuZG9jcykpXG5cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgZG9jczogZG9jcy5tYXAoKGRvYykgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBkb2MgPSB7XG4gICAgICAgIF9pZDogZG9jLnBhcmVudCxcbiAgICAgICAgaWQ6IGRvYy5wYXJlbnQsXG4gICAgICAgIC4uLmRvYy52ZXJzaW9uLFxuICAgICAgICBjcmVhdGVkQXQ6IGRvYy5jcmVhdGVkQXQsXG4gICAgICAgIHVwZGF0ZWRBdDogZG9jLnVwZGF0ZWRBdCxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNhbml0aXplSW50ZXJuYWxGaWVsZHMoZG9jKVxuICAgIH0pLFxuICB9XG59XG4iXSwibmFtZXMiOlsicXVlcnlEcmFmdHMiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJsb2NhbGUiLCJwYWdlIiwicGFnaW5hdGlvbiIsInJlcSIsInNvcnQiLCJzb3J0QXJnIiwid2hlcmUiLCJWZXJzaW9uTW9kZWwiLCJ2ZXJzaW9ucyIsImNvbGxlY3Rpb25Db25maWciLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJvcHRpb25zIiwid2l0aFNlc3Npb24iLCJ0cmFuc2FjdGlvbklEIiwiaGFzTmVhckNvbnN0cmFpbnQiLCJjb25zdHJhaW50cyIsImZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIiwic29tZSIsInByb3AiLCJPYmplY3QiLCJrZXlzIiwia2V5IiwiYnVpbGRTb3J0UGFyYW0iLCJmaWVsZHMiLCJkZWZhdWx0U29ydCIsInRpbWVzdGFtcHMiLCJjb21iaW5lZFdoZXJlIiwiY29tYmluZVF1ZXJpZXMiLCJsYXRlc3QiLCJlcXVhbHMiLCJ2ZXJzaW9uUXVlcnkiLCJidWlsZFF1ZXJ5IiwidXNlRXN0aW1hdGVkQ291bnQiLCJsZW5ndGgiLCJwYWdpbmF0aW9uT3B0aW9ucyIsImZvcmNlQ291bnRGbiIsImxlYW4iLCJsZWFuV2l0aElkIiwiZGlzYWJsZUluZGV4SGludHMiLCJ1c2VDdXN0b21Db3VudEZuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjb3VudERvY3VtZW50cyIsImhpbnQiLCJfaWQiLCJyZXN1bHQiLCJwYWdpbmF0ZSIsImRvY3MiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJtYXAiLCJkb2MiLCJwYXJlbnQiLCJpZCIsInZlcnNpb24iLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7MEJBUjJDO2dDQUl6QjsrRUFDSTs2QkFDUDs7Ozs7O0FBRXJCLE1BQU1BLGNBQTJCLGVBQWVBLFlBRXJELEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxNQUFNLENBQUMsQ0FBbUIsRUFBRUMsTUFBTUMsT0FBTyxFQUFFQyxLQUFLLEVBQUU7SUFFakcsTUFBTUMsZUFBZSxJQUFJLENBQUNDLFFBQVEsQ0FBQ1YsV0FBVztJQUM5QyxNQUFNVyxtQkFBbUIsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ2IsV0FBVyxDQUFDYyxNQUFNO0lBQ3BFLE1BQU1DLFVBQVVDLElBQUFBLHdCQUFXLEVBQUMsSUFBSSxFQUFFWCxJQUFJWSxhQUFhO0lBRW5ELElBQUlDO0lBQ0osSUFBSVo7SUFFSixJQUFJRSxPQUFPO1FBQ1QsTUFBTVcsY0FBY0MsSUFBQUEsaUNBQXVCLEVBQUNaO1FBQzVDVSxvQkFBb0JDLFlBQVlFLElBQUksQ0FBQyxDQUFDQyxPQUFTQyxPQUFPQyxJQUFJLENBQUNGLE1BQU1ELElBQUksQ0FBQyxDQUFDSSxNQUFRQSxRQUFRO0lBQ3pGO0lBRUEsSUFBSSxDQUFDUCxtQkFBbUI7UUFDdEJaLE9BQU9vQixJQUFBQSw4QkFBYyxFQUFDO1lBQ3BCWixRQUFRLElBQUksQ0FBQ0YsT0FBTyxDQUFDRSxNQUFNO1lBQzNCYSxRQUFRaEIsaUJBQWlCZ0IsTUFBTTtZQUMvQnpCO1lBQ0FJLE1BQU1DLFdBQVdJLGlCQUFpQmlCLFdBQVc7WUFDN0NDLFlBQVk7UUFDZDtJQUNGO0lBRUEsTUFBTUMsZ0JBQWdCQyxJQUFBQSx3QkFBYyxFQUFDO1FBQUVDLFFBQVE7WUFBRUMsUUFBUTtRQUFLO0lBQUUsR0FBR3pCO0lBRW5FLE1BQU0wQixlQUFlLE1BQU16QixhQUFhMEIsVUFBVSxDQUFDO1FBQ2pEakM7UUFDQVUsU0FBUyxJQUFJLENBQUNBLE9BQU87UUFDckJKLE9BQU9zQjtJQUNUO0lBRUEsNEhBQTRIO0lBQzVILE1BQU1NLG9CQUNKbEIscUJBQXFCLENBQUNnQixnQkFBZ0JYLE9BQU9DLElBQUksQ0FBQ1UsY0FBY0csTUFBTSxLQUFLO0lBQzdFLE1BQU1DLG9CQUFxQztRQUN6Q0MsY0FBY3JCO1FBQ2RzQixNQUFNO1FBQ05DLFlBQVk7UUFDWjFCO1FBQ0FaO1FBQ0FDO1FBQ0FFO1FBQ0E4QjtJQUNGO0lBRUEsSUFBSSxDQUFDQSxxQkFBcUIsSUFBSSxDQUFDTSxpQkFBaUIsS0FBSyxNQUFNO1FBQ3pELDJIQUEySDtRQUMzSEosa0JBQWtCSyxnQkFBZ0IsR0FBRztZQUNuQyxPQUFPQyxRQUFRQyxPQUFPLENBQ3BCcEMsYUFBYXFDLGNBQWMsQ0FBQ1osY0FBYztnQkFDeENhLE1BQU07b0JBQUVDLEtBQUs7Z0JBQUU7WUFDakI7UUFFSjtJQUNGO0lBRUEsSUFBSS9DLFFBQVEsR0FBRztRQUNicUMsa0JBQWtCckMsS0FBSyxHQUFHQTtRQUMxQixxRUFBcUU7UUFDckVxQyxrQkFBa0J2QixPQUFPLENBQUNkLEtBQUssR0FBR0E7SUFDcEM7SUFFQSxNQUFNZ0QsU0FBUyxNQUFNeEMsYUFBYXlDLFFBQVEsQ0FBQ2hCLGNBQWNJO0lBQ3pELE1BQU1hLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsU0FBUyxDQUFDTCxPQUFPRSxJQUFJO0lBRWxELE9BQU87UUFDTCxHQUFHRixNQUFNO1FBQ1RFLE1BQU1BLEtBQUtJLEdBQUcsQ0FBQyxDQUFDQztZQUNkLDZDQUE2QztZQUM3Q0EsTUFBTTtnQkFDSlIsS0FBS1EsSUFBSUMsTUFBTTtnQkFDZkMsSUFBSUYsSUFBSUMsTUFBTTtnQkFDZCxHQUFHRCxJQUFJRyxPQUFPO2dCQUNkQyxXQUFXSixJQUFJSSxTQUFTO2dCQUN4QkMsV0FBV0wsSUFBSUssU0FBUztZQUMxQjtZQUVBLE9BQU9DLElBQUFBLCtCQUFzQixFQUFDTjtRQUNoQztJQUNGO0FBQ0YifQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyeURyYWZ0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhZ2luYXRlT3B0aW9ucyB9IGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHR5cGUgeyBRdWVyeURyYWZ0cyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgY29tYmluZVF1ZXJpZXMsIGZsYXR0ZW5XaGVyZVRvT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBNb25nb29zZUFkYXB0ZXIgfSBmcm9tICcuJ1xuXG5pbXBvcnQgeyBidWlsZFNvcnRQYXJhbSB9IGZyb20gJy4vcXVlcmllcy9idWlsZFNvcnRQYXJhbSdcbmltcG9ydCBzYW5pdGl6ZUludGVybmFsRmllbGRzIGZyb20gJy4vdXRpbGl0aWVzL3Nhbml0aXplSW50ZXJuYWxGaWVsZHMnXG5pbXBvcnQgeyB3aXRoU2Vzc2lvbiB9IGZyb20gJy4vd2l0aFNlc3Npb24nXG5cbmV4cG9ydCBjb25zdCBxdWVyeURyYWZ0czogUXVlcnlEcmFmdHMgPSBhc3luYyBmdW5jdGlvbiBxdWVyeURyYWZ0cyhcbiAgdGhpczogTW9uZ29vc2VBZGFwdGVyLFxuICB7IGNvbGxlY3Rpb24sIGxpbWl0LCBsb2NhbGUsIHBhZ2UsIHBhZ2luYXRpb24sIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LCBzb3J0OiBzb3J0QXJnLCB3aGVyZSB9LFxuKSB7XG4gIGNvbnN0IFZlcnNpb25Nb2RlbCA9IHRoaXMudmVyc2lvbnNbY29sbGVjdGlvbl1cbiAgY29uc3QgY29sbGVjdGlvbkNvbmZpZyA9IHRoaXMucGF5bG9hZC5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uXS5jb25maWdcbiAgY29uc3Qgb3B0aW9ucyA9IHdpdGhTZXNzaW9uKHRoaXMsIHJlcS50cmFuc2FjdGlvbklEKVxuXG4gIGxldCBoYXNOZWFyQ29uc3RyYWludFxuICBsZXQgc29ydFxuXG4gIGlmICh3aGVyZSkge1xuICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMod2hlcmUpXG4gICAgaGFzTmVhckNvbnN0cmFpbnQgPSBjb25zdHJhaW50cy5zb21lKChwcm9wKSA9PiBPYmplY3Qua2V5cyhwcm9wKS5zb21lKChrZXkpID0+IGtleSA9PT0gJ25lYXInKSlcbiAgfVxuXG4gIGlmICghaGFzTmVhckNvbnN0cmFpbnQpIHtcbiAgICBzb3J0ID0gYnVpbGRTb3J0UGFyYW0oe1xuICAgICAgY29uZmlnOiB0aGlzLnBheWxvYWQuY29uZmlnLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uQ29uZmlnLmZpZWxkcyxcbiAgICAgIGxvY2FsZSxcbiAgICAgIHNvcnQ6IHNvcnRBcmcgfHwgY29sbGVjdGlvbkNvbmZpZy5kZWZhdWx0U29ydCxcbiAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGNvbWJpbmVkV2hlcmUgPSBjb21iaW5lUXVlcmllcyh7IGxhdGVzdDogeyBlcXVhbHM6IHRydWUgfSB9LCB3aGVyZSlcblxuICBjb25zdCB2ZXJzaW9uUXVlcnkgPSBhd2FpdCBWZXJzaW9uTW9kZWwuYnVpbGRRdWVyeSh7XG4gICAgbG9jYWxlLFxuICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICB3aGVyZTogY29tYmluZWRXaGVyZSxcbiAgfSlcblxuICAvLyB1c2VFc3RpbWF0ZWRDb3VudCBpcyBmYXN0ZXIsIGJ1dCBub3QgYWNjdXJhdGUsIGFzIGl0IGlnbm9yZXMgYW55IGZpbHRlcnMuIEl0IGlzIHRodXMgc2V0IHRvIHRydWUgaWYgdGhlcmUgYXJlIG5vIGZpbHRlcnMuXG4gIGNvbnN0IHVzZUVzdGltYXRlZENvdW50ID1cbiAgICBoYXNOZWFyQ29uc3RyYWludCB8fCAhdmVyc2lvblF1ZXJ5IHx8IE9iamVjdC5rZXlzKHZlcnNpb25RdWVyeSkubGVuZ3RoID09PSAwXG4gIGNvbnN0IHBhZ2luYXRpb25PcHRpb25zOiBQYWdpbmF0ZU9wdGlvbnMgPSB7XG4gICAgZm9yY2VDb3VudEZuOiBoYXNOZWFyQ29uc3RyYWludCxcbiAgICBsZWFuOiB0cnVlLFxuICAgIGxlYW5XaXRoSWQ6IHRydWUsXG4gICAgb3B0aW9ucyxcbiAgICBwYWdlLFxuICAgIHBhZ2luYXRpb24sXG4gICAgc29ydCxcbiAgICB1c2VFc3RpbWF0ZWRDb3VudCxcbiAgfVxuXG4gIGlmIChcbiAgICAhdXNlRXN0aW1hdGVkQ291bnQgJiZcbiAgICBPYmplY3Qua2V5cyh2ZXJzaW9uUXVlcnkpLmxlbmd0aCA9PT0gMCAmJlxuICAgIHRoaXMuZGlzYWJsZUluZGV4SGludHMgIT09IHRydWVcbiAgKSB7XG4gICAgLy8gSW1wcm92ZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGNvdW50RG9jdW1lbnRzIHF1ZXJ5IHdoaWNoIGlzIHVzZWQgaWYgdXNlRXN0aW1hdGVkQ291bnQgaXMgc2V0IHRvIGZhbHNlIGJ5IGFkZGluZ1xuICAgIC8vIGEgaGludC4gQnkgZGVmYXVsdCwgaWYgbm8gaGludCBpcyBwcm92aWRlZCwgTW9uZ29EQiBkb2VzIG5vdCB1c2UgYW4gaW5kZXhlZCBmaWVsZCB0byBjb3VudCB0aGUgcmV0dXJuZWQgZG9jdW1lbnRzLFxuICAgIC8vIHdoaWNoIG1ha2VzIHF1ZXJpZXMgdmVyeSBzbG93LiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIG5vIHF1ZXJ5IChmaWx0ZXIpIGlzIHByb3ZpZGVkLiBJZiBvbmUgaXMgcHJvdmlkZWQsIGl0IHVzZXNcbiAgICAvLyB0aGUgY29ycmVjdCBpbmRleGVkIGZpZWxkXG4gICAgcGFnaW5hdGlvbk9wdGlvbnMudXNlQ3VzdG9tQ291bnRGbiA9ICgpID0+IHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoXG4gICAgICAgIFZlcnNpb25Nb2RlbC5jb3VudERvY3VtZW50cyh2ZXJzaW9uUXVlcnksIHtcbiAgICAgICAgICBoaW50OiB7IF9pZDogMSB9LFxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBpZiAobGltaXQgPiAwKSB7XG4gICAgcGFnaW5hdGlvbk9wdGlvbnMubGltaXQgPSBsaW1pdFxuICAgIC8vIGxpbWl0IG11c3QgYWxzbyBiZSBzZXQgaGVyZSwgaXQncyBpZ25vcmVkIHdoZW4gcGFnaW5hdGlvbiBpcyBmYWxzZVxuICAgIHBhZ2luYXRpb25PcHRpb25zLm9wdGlvbnMubGltaXQgPSBsaW1pdFxuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgVmVyc2lvbk1vZGVsLnBhZ2luYXRlKHZlcnNpb25RdWVyeSwgcGFnaW5hdGlvbk9wdGlvbnMpXG4gIGNvbnN0IGRvY3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdC5kb2NzKSlcblxuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBkb2NzOiBkb2NzLm1hcCgoZG9jKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIGRvYyA9IHtcbiAgICAgICAgX2lkOiBkb2MucGFyZW50LFxuICAgICAgICBpZDogZG9jLnBhcmVudCxcbiAgICAgICAgLi4uZG9jLnZlcnNpb24sXG4gICAgICAgIGNyZWF0ZWRBdDogZG9jLmNyZWF0ZWRBdCxcbiAgICAgICAgdXBkYXRlZEF0OiBkb2MudXBkYXRlZEF0LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG4gICAgfSksXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJxdWVyeURyYWZ0cyIsImNvbGxlY3Rpb24iLCJsaW1pdCIsImxvY2FsZSIsInBhZ2UiLCJwYWdpbmF0aW9uIiwicmVxIiwic29ydCIsInNvcnRBcmciLCJ3aGVyZSIsIlZlcnNpb25Nb2RlbCIsInZlcnNpb25zIiwiY29sbGVjdGlvbkNvbmZpZyIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsIm9wdGlvbnMiLCJ3aXRoU2Vzc2lvbiIsInRyYW5zYWN0aW9uSUQiLCJoYXNOZWFyQ29uc3RyYWludCIsImNvbnN0cmFpbnRzIiwiZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMiLCJzb21lIiwicHJvcCIsIk9iamVjdCIsImtleXMiLCJrZXkiLCJidWlsZFNvcnRQYXJhbSIsImZpZWxkcyIsImRlZmF1bHRTb3J0IiwidGltZXN0YW1wcyIsImNvbWJpbmVkV2hlcmUiLCJjb21iaW5lUXVlcmllcyIsImxhdGVzdCIsImVxdWFscyIsInZlcnNpb25RdWVyeSIsImJ1aWxkUXVlcnkiLCJ1c2VFc3RpbWF0ZWRDb3VudCIsImxlbmd0aCIsInBhZ2luYXRpb25PcHRpb25zIiwiZm9yY2VDb3VudEZuIiwibGVhbiIsImxlYW5XaXRoSWQiLCJkaXNhYmxlSW5kZXhIaW50cyIsInVzZUN1c3RvbUNvdW50Rm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImNvdW50RG9jdW1lbnRzIiwiaGludCIsIl9pZCIsInJlc3VsdCIsInBhZ2luYXRlIiwiZG9jcyIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIm1hcCIsImRvYyIsInBhcmVudCIsImlkIiwidmVyc2lvbiIsImNyZWF0ZWRBdCIsInVwZGF0ZWRBdCIsInNhbml0aXplSW50ZXJuYWxGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBWWFBOzs7ZUFBQUE7OzswQkFSMkM7Z0NBSXpCOytFQUNJOzZCQUNQOzs7Ozs7QUFFckIsTUFBTUEsY0FBMkIsZUFBZUEsWUFFckQsRUFBRUMsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sQ0FBQyxDQUFtQixFQUFFQyxNQUFNQyxPQUFPLEVBQUVDLEtBQUssRUFBRTtJQUVqRyxNQUFNQyxlQUFlLElBQUksQ0FBQ0MsUUFBUSxDQUFDVixXQUFXO0lBQzlDLE1BQU1XLG1CQUFtQixJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDYixXQUFXLENBQUNjLE1BQU07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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-mongodb",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "The officially supported MongoDB database adapter for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -26,9 +26,9 @@
26
26
  "devDependencies": {
27
27
  "@types/mongoose-aggregate-paginate-v2": "1.0.9",
28
28
  "mongodb": "4.17.1",
29
- "mongodb-memory-server": "8.13.0",
30
- "payload": "2.6.0",
31
- "@payloadcms/eslint-config": "1.0.0"
29
+ "mongodb-memory-server": "^9",
30
+ "payload": "2.7.0",
31
+ "@payloadcms/eslint-config": "1.1.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "payload": "^2.0.0"