@infrab4a/connect 3.15.0-beta.1 → 3.16.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/infrab4a-connect.umd.js +706 -148
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/category-base.d.ts +30 -0
  4. package/domain/catalog/models/category-filter.d.ts +2 -0
  5. package/domain/catalog/models/category-for-product.d.ts +5 -0
  6. package/domain/catalog/models/category.d.ts +5 -27
  7. package/domain/catalog/models/index.d.ts +1 -0
  8. package/domain/catalog/models/kit-product.d.ts +3 -3
  9. package/domain/catalog/models/product-base.d.ts +40 -0
  10. package/domain/catalog/models/product-for-category.d.ts +7 -0
  11. package/domain/catalog/models/product-for-kit.d.ts +7 -0
  12. package/domain/catalog/models/product.d.ts +5 -40
  13. package/domain/catalog/models/wishlist.d.ts +6 -0
  14. package/domain/catalog/repositories/category-filter.repository.d.ts +1 -0
  15. package/domain/catalog/repositories/index.d.ts +1 -0
  16. package/domain/catalog/repositories/product.repository.d.ts +1 -1
  17. package/domain/catalog/repositories/wishlist.repository.d.ts +6 -0
  18. package/domain/generic/repository/find.repository.d.ts +1 -0
  19. package/domain/generic/repository/types/repository-find-result.type.d.ts +3 -0
  20. package/esm2015/domain/catalog/models/category-base.js +18 -0
  21. package/esm2015/domain/catalog/models/category-filter.js +6 -1
  22. package/esm2015/domain/catalog/models/category-for-product.js +7 -0
  23. package/esm2015/domain/catalog/models/category.js +6 -10
  24. package/esm2015/domain/catalog/models/index.js +2 -1
  25. package/esm2015/domain/catalog/models/kit-product.js +6 -6
  26. package/esm2015/domain/catalog/models/product-base.js +25 -0
  27. package/esm2015/domain/catalog/models/product-for-category.js +14 -0
  28. package/esm2015/domain/catalog/models/product-for-kit.js +14 -0
  29. package/esm2015/domain/catalog/models/product.js +6 -24
  30. package/esm2015/domain/catalog/models/wishlist.js +7 -0
  31. package/esm2015/domain/catalog/repositories/category-filter.repository.js +1 -1
  32. package/esm2015/domain/catalog/repositories/index.js +2 -1
  33. package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
  34. package/esm2015/domain/catalog/repositories/wishlist.repository.js +2 -0
  35. package/esm2015/domain/generic/repository/find.repository.js +1 -1
  36. package/esm2015/domain/generic/repository/types/repository-find-result.type.js +1 -1
  37. package/esm2015/infra/elasticsearch/indexes/products-index.js +2 -2
  38. package/esm2015/infra/hasura-graphql/mixins/helpers/bind-filter-query.helper.js +2 -2
  39. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +44 -14
  40. package/esm2015/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.js +52 -1
  41. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +36 -50
  42. package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +2 -1
  43. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +2 -2
  44. package/esm2015/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.js +252 -0
  45. package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +1 -1
  46. package/fesm2015/infrab4a-connect.js +469 -104
  47. package/fesm2015/infrab4a-connect.js.map +1 -1
  48. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +3 -2
  49. package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +2 -2
  50. package/infra/hasura-graphql/repositories/catalog/category-filter-hasura-graphql.repository.d.ts +1 -0
  51. package/infra/hasura-graphql/repositories/catalog/index.d.ts +1 -0
  52. package/infra/hasura-graphql/repositories/catalog/wishlist-hasura-graphql.repository.d.ts +27 -0
  53. package/infra/hasura-graphql/types/graphql.repository.type.d.ts +4 -3
  54. package/package.json +1 -1
@@ -13,7 +13,7 @@ export class ProductsIndex {
13
13
  }
14
14
  search(searchTerm, total, shop) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
- const size = total >= 10 ? 500 : 9;
16
+ const size = total || 9;
17
17
  const fields = [
18
18
  'EAN',
19
19
  'brand',
@@ -112,4 +112,4 @@ export class ProductsIndex {
112
112
  });
113
113
  }
114
114
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJMUUsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNkIsT0FBc0M7UUFBdEMsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFEM0QsVUFBSyxHQUFHLFVBQVUsQ0FBQTtJQUM0QyxDQUFDO0lBRWpFLE9BQU8sQ0FBQyxFQUFVOztZQUN0QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxJQUFZOztZQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUUxQyxNQUFNLE1BQU0sR0FBRztnQkFDYixLQUFLO2dCQUNMLE9BQU87Z0JBQ1AsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFlBQVk7Z0JBQ1osTUFBTTtnQkFDTixPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxNQUFNO2dCQUNOLFNBQVM7Z0JBQ1QsYUFBYTtnQkFDYixNQUFNO2FBQ1AsQ0FBQTtZQUVELE1BQU0sTUFBTSxHQUFrRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtZ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QTthQUNyQjtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdCwgUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vaGFzdXJhLWdyYXBocWwnXG5pbXBvcnQgeyBFbGFzdGljU2VhcmNoQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNJbmRleCB7XG4gIHByaXZhdGUgaW5kZXggPSBgcHJvZHVjdHNgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRhcHRlcjogRWxhc3RpY1NlYXJjaEFkYXB0ZXI8UHJvZHVjdD4pIHt9XG5cbiAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxQcm9kdWN0PiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5nZXQodGhpcy5pbmRleCwgaWQpXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhKVxuICB9XG5cbiAgYXN5bmMgc2VhcmNoKHNlYXJjaFRlcm06IHN0cmluZywgdG90YWw6IG51bWJlciwgc2hvcDogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdG90YWwgPj0gMTAgPyA1MDAgOiA5XG5cbiAgICBjb25zdCBmaWVsZHMgPSBbXG4gICAgICAnRUFOJyxcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICdyYXRlJyxcbiAgICBdXG5cbiAgICBjb25zdCBmaWx0ZXI6IEFycmF5PHsgdGVybTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIH0gfT4gPSBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dXG5cbiAgICBpZiAoc2l6ZSA+IDkpIHtcbiAgICAgIGZpZWxkcy5wdXNoKC4uLlsncHJpY2VQYWlkJywgJ2lzR2lmdCcsICdzdG9jaycsICd3ZWlnaHQnLCAndGFncyddKVxuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXIucHVzaCh7IHRlcm06IHsgdGFnczogc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1pbmlubycgOiAnbWFzY3VsaW5vJyB9IH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcbiAgICAgIHNpemUsXG4gICAgICBfc291cmNlOiBmaWVsZHMsXG4gICAgICBxdWVyeToge1xuICAgICAgICBib29sOiB7XG4gICAgICAgICAgbXVzdDoge1xuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcbiAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcbiAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xfcHJlZml4JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICduYW1lLmZvbGRlZCcsXG4gICAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJyxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5zZWFyY2gnLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5mb2xkZWQnLFxuICAgICAgICAgICAgICAgICdicmFuZCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLnNlYXJjaCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLmZvbGRlZCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGZ1enppbmVzczogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzaG91bGQ6IHtcbiAgICAgICAgICAgIG1hdGNoX3BocmFzZV9wcmVmaXg6IHtcbiAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJzoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXG4gICAgICAgICAgICAgICAgc2xvcDogMTAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0c1xuICAgICAgLmZpbHRlcigoZTogYW55KSA9PiBlLl9zb3VyY2UubmFtZSAhPT0gJycpXG4gICAgICAubWFwKChoaXQpID0+IHtcbiAgICAgICAgUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLnJvdW5kUHJvZHVjdFByaWNlcyhoaXQuX3NvdXJjZSlcbiAgICAgICAgcmV0dXJuIGhpdFxuICAgICAgfSlcblxuICAgIHJldHVybiBzZWFyY2hcbiAgfVxuXG4gIGFzeW5jIHNhdmUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBjcmVhdGVkQXQsIHVwZGF0ZWRBdCwga2l0UHJvZHVjdHMsIC4uLmRhdGEgfSA9IHByb2R1Y3RcblxuICAgICAgdGhpcy5hZGFwdGVyLnNhdmUodGhpcy5pbmRleCwgZGF0YSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnVwZGF0ZSh0aGlzLmluZGV4LCBwcm9kdWN0LmlkLCBwcm9kdWN0KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUodGhpcy5pbmRleCwgaWQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgfVxuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJMUUsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNkIsT0FBc0M7UUFBdEMsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFEM0QsVUFBSyxHQUFHLFVBQVUsQ0FBQTtJQUM0QyxDQUFDO0lBRWpFLE9BQU8sQ0FBQyxFQUFVOztZQUN0QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxJQUFZOztZQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUksQ0FBQyxDQUFBO1lBRS9CLE1BQU0sTUFBTSxHQUFHO2dCQUNiLEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsWUFBWTtnQkFDWixNQUFNO2dCQUNOLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxPQUFPO2dCQUNQLE1BQU07Z0JBQ04sU0FBUztnQkFDVCxhQUFhO2dCQUNiLE1BQU07YUFDUCxDQUFBO1lBRUQsTUFBTSxNQUFNLEdBQWtFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBRTdHLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDWixNQUFN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dGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0LCBSb3VuZFByb2R1Y3RQcmljZXNIZWxwZXIsIFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgUHJvZHVjdEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9oYXN1cmEtZ3JhcGhxbCdcbmltcG9ydCB7IEVsYXN0aWNTZWFyY2hBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0luZGV4IHtcbiAgcHJpdmF0ZSBpbmRleCA9IGBwcm9kdWN0c2BcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBFbGFzdGljU2VhcmNoQWRhcHRlcjxQcm9kdWN0Pikge31cblxuICBhc3luYyBnZXRCeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPFByb2R1Y3Q+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5hZGFwdGVyLmdldCh0aGlzLmluZGV4LCBpZClcbiAgICByZXR1cm4gUHJvZHVjdC50b0luc3RhbmNlKGRhdGEpXG4gIH1cblxuICBhc3luYyBzZWFyY2goc2VhcmNoVGVybTogc3RyaW5nLCB0b3RhbDogbnVtYmVyLCBzaG9wOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzaXplOiBudW1iZXIgPSB0b3RhbCB8fCA5XG5cbiAgICBjb25zdCBmaWVsZHMgPSBbXG4gICAgICAnRUFOJyxcbiAgICAgICdicmFuZCcsXG4gICAgICAnaWQnLFxuICAgICAgJ2ltYWdlcycsXG4gICAgICAnbWluaWF0dXJlcycsXG4gICAgICAnbmFtZScsXG4gICAgICAncHJpY2UnLFxuICAgICAgJ3NrdScsXG4gICAgICAnc3RvY2snLFxuICAgICAgJ3NsdWcnLFxuICAgICAgJ3Jldmlld3MnLFxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcbiAgICAgICdyYXRlJyxcbiAgICBdXG5cbiAgICBjb25zdCBmaWx0ZXI6IEFycmF5PHsgdGVybTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIH0gfT4gPSBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dXG5cbiAgICBpZiAoc2l6ZSA+IDkpIHtcbiAgICAgIGZpZWxkcy5wdXNoKC4uLlsncHJpY2VQYWlkJywgJ2lzR2lmdCcsICdzdG9jaycsICd3ZWlnaHQnLCAndGFncyddKVxuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXIucHVzaCh7IHRlcm06IHsgdGFnczogc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1pbmlubycgOiAnbWFzY3VsaW5vJyB9IH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcbiAgICAgIHNpemUsXG4gICAgICBfc291cmNlOiBmaWVsZHMsXG4gICAgICBxdWVyeToge1xuICAgICAgICBib29sOiB7XG4gICAgICAgICAgbXVzdDoge1xuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcbiAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcbiAgICAgICAgICAgICAgdHlwZTogJ2Jvb2xfcHJlZml4JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICduYW1lLmZvbGRlZCcsXG4gICAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJyxcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5zZWFyY2gnLFxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5mb2xkZWQnLFxuICAgICAgICAgICAgICAgICdicmFuZCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLnNlYXJjaCcsXG4gICAgICAgICAgICAgICAgJ2JyYW5kLmZvbGRlZCcsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGZ1enppbmVzczogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzaG91bGQ6IHtcbiAgICAgICAgICAgIG1hdGNoX3BocmFzZV9wcmVmaXg6IHtcbiAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJzoge1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXG4gICAgICAgICAgICAgICAgc2xvcDogMTAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0c1xuICAgICAgLmZpbHRlcigoZTogYW55KSA9PiBlLl9zb3VyY2UubmFtZSAhPT0gJycpXG4gICAgICAubWFwKChoaXQpID0+IHtcbiAgICAgICAgUm91bmRQcm9kdWN0UHJpY2VzSGVscGVyLnJvdW5kUHJvZHVjdFByaWNlcyhoaXQuX3NvdXJjZSlcbiAgICAgICAgcmV0dXJuIGhpdFxuICAgICAgfSlcblxuICAgIHJldHVybiBzZWFyY2hcbiAgfVxuXG4gIGFzeW5jIHNhdmUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBjcmVhdGVkQXQsIHVwZGF0ZWRBdCwga2l0UHJvZHVjdHMsIC4uLmRhdGEgfSA9IHByb2R1Y3RcblxuICAgICAgdGhpcy5hZGFwdGVyLnNhdmUodGhpcy5pbmRleCwgZGF0YSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnVwZGF0ZSh0aGlzLmluZGV4LCBwcm9kdWN0LmlkLCBwcm9kdWN0KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUodGhpcy5pbmRleCwgaWQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -26,7 +26,7 @@ BindFilterQueryHelper.BuildWhereSentence = (field, options, fields) => {
26
26
  const fieldOptions = AttributeOptionHelper.FindByAttribute(key, (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || fields);
27
27
  const columnName = fieldOptions.columnName;
28
28
  const columnFields = fieldOptions.fields;
29
- return Object.assign(Object.assign({}, variables), { [columnName]: BindFilterQueryHelper.BuildWhereSentence(key, options[key], columnFields || []) });
29
+ return Object.assign(Object.assign({}, variables), { [columnName]: BindFilterQueryHelper.BuildWhereSentence(key, options[key], (fieldSentenceOptions === null || fieldSentenceOptions === void 0 ? void 0 : fieldSentenceOptions.fields) || columnFields || fields) });
30
30
  }, {});
31
31
  if (!Array.isArray(options) && !isNil(fieldSentenceOptions.fields))
32
32
  return {
@@ -55,4 +55,4 @@ BindFilterQueryHelper.GetHasuraJsonbOperator = (options) => {
55
55
  return '_has_keys_any';
56
56
  return HasuraGraphQLWhere[Object.keys(HasuraGraphQLWhere).find((graphQLOperator) => graphQLOperator === Object.keys(Where).find((operator) => Where[operator] === (options === null || options === void 0 ? void 0 : options.operator)))];
57
57
  };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUd6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixzQ0FBZ0IsR0FBRyxDQUN4QixNQUFxQyxFQUNyQyxNQUFrQyxFQUNqQixFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxTQUF5RCxFQUN6RCxNQUFNLENBQ1AsQ0FBQTtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYztRQUM5Qix1Q0FDSyxTQUFTLEdBQ1Q7WUFDRCxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FDakUsU0FBeUQsRUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixNQUFNLENBQ1A7U0FDRixFQUNGO0lBRUgsTUFBTSxXQUFXLEdBR2IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMs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QUE7SUFFakYsT0FBTyxrQkFBa0IsQ0FDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUNsQixlQUFlLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBSyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSxDQUFBLENBQUMsQ0FDbkcsQ0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zLFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZSwgSGFzdXJhR3JhcGhRTFdoZXJlIH0gZnJvbSAnLi4vLi4vZW51bXMnXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEZpbHRlck9wdGlvbkhlbHBlciB9IGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXG5cbmV4cG9ydCBjbGFzcyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIge1xuICBzdGF0aWMgTWFrZUdyYXBoUUxXaGVyZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+XG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICBmaWVsZHMsXG4gICAgICApXG5cbiAgICAgIGlmICghY29sdW1uT3B0aW9uLmJpbmRGaW5kRmlsdGVyKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlKFxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgIGZpbHRlcltmaWVsZE5hbWVdLFxuICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgY29uc3QgYnVpbHRGaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxuICAgICAgICBNQmFzZSxcbiAgICAgICAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPlxuICAgICAgPiA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAuLi5PYmplY3Qua2V5cyhidWlsdEZpbHRlcikucmVkdWNlKFxuICAgICAgICAgICh2YXJpYWJsZXNMaXN0OiBWYXJpYWJsZU9wdGlvbnMsIGNvbHVtbk5hbWU6IHN0cmluZykgPT4gKHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlc0xpc3QsXG4gICAgICAgICAgICBbY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2UoXG4gICAgICAgICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgICAgYnVpbHRGaWx0ZXJbY29sdW1uTmFtZV0sXG4gICAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAge30sXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSwge30pXG5cbiAgc3RhdGljIEJ1aWxkV2hlcmVTZW50ZW5jZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIGZpZWxkOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+IHtcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXG4gICAgY29uc3QgaXNOZXN0ZWRGaWVsZCA9XG4gICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxuICAgICAgaXNPYmplY3Qob3B0aW9ucykgJiZcbiAgICAgIGlzTmlsKG9wdGlvbnM/Lm9wZXJhdG9yKSAmJlxuICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICBpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucz8udG8pXG5cbiAgICBpZiAoaXNOZXN0ZWRGaWVsZClcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvcHRpb25zKS5yZWR1Y2UoKHZhcmlhYmxlcywga2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KFxuICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucz8uZmllbGRzIHx8IChmaWVsZHMgYXMgYW55KSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcbiAgICAgICAgY29uc3QgY29sdW1uRmllbGRzID0gZmllbGRPcHRpb25zLmZpZWxkc1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgIFtjb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZTxNQmFzZT4oXG4gICAgICAgICAgICBrZXkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICBvcHRpb25zW2tleV0sXG4gICAgICAgICAgICBjb2x1bW5GaWVsZHMgfHwgKFtdIGFzIGFueSksXG4gICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgIWlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zLmZpZWxkcykpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcbiAgICAgICAgICBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgICAgKSxcbiAgICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiBpc09iamVjdChvcHRpb25zKSAmJiAhRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgPyBvcHRpb25zLnJlZHVjZShcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgLi4ud2hlcmVTZW50ZW5jZSxcbiAgICAgICAgICAgIC4uLkJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXG4gICAgICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgQ29sdW1uT3B0aW9uczxNQmFzZVtOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sIE1CYXNlPixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAge30sXG4gICAgICAgIClcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgIClcbiAgfVxuXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiAoe1xuICAgIFtCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhT3BlcmF0b3Iob3B0aW9ucywgZmllbGRPcHRpb24pXTogRmlsdGVyT3B0aW9uSGVscGVyLkdldFZhbHVlRnJvbUZpbHRlcihcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE9wdGlvbixcbiAgICApLFxuICB9KVxuXG4gIHN0YXRpYyBHZXRIYXN1cmFPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PiB7XG4gICAgaWYgKCFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKSByZXR1cm4gSGFzdXJhR3JhcGhRTFdoZXJlLkVRVUFMU1xuICAgIGlmIChmaWVsZE9wdGlvbi50eXBlID09PSBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYikgcmV0dXJuIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5HZXRIYXN1cmFKc29uYk9wZXJhdG9yKG9wdGlvbnMpXG5cbiAgICByZXR1cm4gSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgT2JqZWN0LmtleXMoSGFzdXJhR3JhcGhRTFdoZXJlKS5maW5kKFxuICAgICAgICAoZ3JhcGhRTE9wZXJhdG9yKSA9PlxuICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcbiAgICAgIClcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgR2V0SGFzdXJhSnNvbmJPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+IHtcbiAgICBpZiAob3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU4pIHJldHVybiAnX2NvbnRhaW5zJyBhcyBIYXN1cmFHcmFwaFFMV2hlcmVcbiAgICBpZiAob3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSkgcmV0dXJuICdfaGFzX2tleXNfYW55JyBhcyBIYXN1cmFHcmFwaFFMV2hlcmVcblxuICAgIHJldHVybiBIYXN1cmFHcmFwaFFMV2hlcmVbXG4gICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXG4gICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XG4gICAgICAgICAgZ3JhcGhRTE9wZXJhdG9yID09PSBPYmplY3Qua2V5cyhXaGVyZSkuZmluZCgob3BlcmF0b3IpID0+IFdoZXJlW29wZXJhdG9yXSA9PT0gb3B0aW9ucz8ub3BlcmF0b3IpLFxuICAgICAgKVxuICAgIF1cbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL2hlbHBlcnMvYmluZC1maWx0ZXItcXVlcnkuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxLQUFLLEdBQ04sTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUd6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUzRCxNQUFNLE9BQU8scUJBQXFCOztBQUN6QixzQ0FBZ0IsR0FBRyxDQUN4QixNQUFxQyxFQUNyQyxNQUFrQyxFQUNqQixFQUFFLENBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMEIsRUFBRSxTQUFpQixFQUFFLEVBQUU7SUFDM0UsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsZUFBZSxDQUN4RCxTQUF5RCxFQUN6RCxNQUFNLENBQ1AsQ0FBQTtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYztRQUM5Qix1Q0FDSyxTQUFTLEdBQ1Q7WUFDRCxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FDakUsU0FBeUQsRUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUNqQixNQUFNLENBQ1A7U0FDRixFQUNGO0lBRUgsTUFBTSxXQUFXLEdBR2IsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMs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LE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUk7UUFBRSxPQUFPLGVBQXFDLENBQUE7SUFFakYsT0FBTyxrQkFBa0IsQ0FDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDbEMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUNsQixlQUFlLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBSyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsUUFBUSxDQUFBLENBQUMsQ0FDbkcsQ0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zLFxuICBXaGVyZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIGlzT2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZSwgSGFzdXJhR3JhcGhRTFdoZXJlIH0gZnJvbSAnLi4vLi4vZW51bXMnXG5pbXBvcnQgeyBDb2x1bW5PcHRpb25zLCBIYXN1cmFHcmFwaFFMRmllbGRzLCBWYXJpYWJsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9hdHRyaWJ1dGUtb3B0aW9uLmhlbHBlcidcbmltcG9ydCB7IEZpbHRlck9wdGlvbkhlbHBlciB9IGZyb20gJy4vZmlsdGVyLW9wdGlvbi5oZWxwZXInXG5cbmV4cG9ydCBjbGFzcyBCaW5kRmlsdGVyUXVlcnlIZWxwZXIge1xuICBzdGF0aWMgTWFrZUdyYXBoUUxXaGVyZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNQmFzZT4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+XG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoKHZhcmlhYmxlczogVmFyaWFibGVPcHRpb25zLCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgY29sdW1uT3B0aW9uID0gQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgZmllbGROYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICBmaWVsZHMsXG4gICAgICApXG5cbiAgICAgIGlmICghY29sdW1uT3B0aW9uLmJpbmRGaW5kRmlsdGVyKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnZhcmlhYmxlcyxcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBbY29sdW1uT3B0aW9uLmNvbHVtbk5hbWVdOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRXaGVyZVNlbnRlbmNlKFxuICAgICAgICAgICAgICBmaWVsZE5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgIGZpbHRlcltmaWVsZE5hbWVdLFxuICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cblxuICAgICAgY29uc3QgYnVpbHRGaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFxuICAgICAgICBNQmFzZSxcbiAgICAgICAgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPlxuICAgICAgPiA9IGNvbHVtbk9wdGlvbi5iaW5kRmluZEZpbHRlcihmaWx0ZXJbZmllbGROYW1lXSlcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAuLi5PYmplY3Qua2V5cyhidWlsdEZpbHRlcikucmVkdWNlKFxuICAgICAgICAgICh2YXJpYWJsZXNMaXN0OiBWYXJpYWJsZU9wdGlvbnMsIGNvbHVtbk5hbWU6IHN0cmluZykgPT4gKHtcbiAgICAgICAgICAgIC4uLnZhcmlhYmxlc0xpc3QsXG4gICAgICAgICAgICBbY29sdW1uTmFtZV06IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZFdoZXJlU2VudGVuY2UoXG4gICAgICAgICAgICAgIGZpZWxkTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgICAgYnVpbHRGaWx0ZXJbY29sdW1uTmFtZV0sXG4gICAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAge30sXG4gICAgICAgICksXG4gICAgICB9XG4gICAgfSwge30pXG5cbiAgc3RhdGljIEJ1aWxkV2hlcmVTZW50ZW5jZSA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIGZpZWxkOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1CYXNlPj4sXG4gICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgKTogVmFyaWFibGVPcHRpb25zID0+IHtcbiAgICBjb25zdCBmaWVsZFNlbnRlbmNlT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KGZpZWxkLCBmaWVsZHMpXG4gICAgY29uc3QgaXNOZXN0ZWRGaWVsZCA9XG4gICAgICAhQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJlxuICAgICAgaXNPYmplY3Qob3B0aW9ucykgJiZcbiAgICAgIGlzTmlsKG9wdGlvbnM/Lm9wZXJhdG9yKSAmJlxuICAgICAgaXNOaWwob3B0aW9ucz8udmFsdWUpICYmXG4gICAgICBpc05pbChmaWVsZFNlbnRlbmNlT3B0aW9ucz8udG8pXG5cbiAgICBpZiAoaXNOZXN0ZWRGaWVsZClcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvcHRpb25zKS5yZWR1Y2UoKHZhcmlhYmxlcywga2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkT3B0aW9ucyA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGU8TUJhc2U+KFxuICAgICAgICAgIGtleSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucz8uZmllbGRzIHx8IChmaWVsZHMgYXMgYW55KSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGRPcHRpb25zLmNvbHVtbk5hbWVcbiAgICAgICAgY29uc3QgY29sdW1uRmllbGRzID0gZmllbGRPcHRpb25zLmZpZWxkc1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udmFyaWFibGVzLFxuICAgICAgICAgIFtjb2x1bW5OYW1lXTogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkV2hlcmVTZW50ZW5jZTxNQmFzZT4oXG4gICAgICAgICAgICBrZXkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICBvcHRpb25zW2tleV0sXG4gICAgICAgICAgICBmaWVsZFNlbnRlbmNlT3B0aW9ucz8uZmllbGRzIHx8IGNvbHVtbkZpZWxkcyB8fCAoZmllbGRzIGFzIGFueSksXG4gICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgICAgfSwge30pXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkob3B0aW9ucykgJiYgIWlzTmlsKGZpZWxkU2VudGVuY2VPcHRpb25zLmZpZWxkcykpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbZmllbGRTZW50ZW5jZU9wdGlvbnMuZmllbGRzWzBdIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+XTpcbiAgICAgICAgICBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuQnVpbGRPcGVyYXRvclNlbnRlbmNlKFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgICAgKSxcbiAgICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShvcHRpb25zKSAmJiBpc09iamVjdChvcHRpb25zKSAmJiAhRmlsdGVyT3B0aW9uSGVscGVyLkNoZWNrSWZJc0ZpbHRlck9wdGlvbihvcHRpb25zKSlcbiAgICAgIG9wdGlvbnMgPSBPYmplY3QudmFsdWVzKG9wdGlvbnMpWzBdIGFzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBhbnk+XG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgPyBvcHRpb25zLnJlZHVjZShcbiAgICAgICAgICAod2hlcmVTZW50ZW5jZSwgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgLi4ud2hlcmVTZW50ZW5jZSxcbiAgICAgICAgICAgIC4uLkJpbmRGaWx0ZXJRdWVyeUhlbHBlci5CdWlsZE9wZXJhdG9yU2VudGVuY2UoXG4gICAgICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICAgICAgZmllbGRTZW50ZW5jZU9wdGlvbnMgYXMgQ29sdW1uT3B0aW9uczxNQmFzZVtOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sIE1CYXNlPixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSksXG4gICAgICAgICAge30sXG4gICAgICAgIClcbiAgICAgIDogQmluZEZpbHRlclF1ZXJ5SGVscGVyLkJ1aWxkT3BlcmF0b3JTZW50ZW5jZShcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGZpZWxkU2VudGVuY2VPcHRpb25zIGFzIENvbHVtbk9wdGlvbnM8TUJhc2VbTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLCBNQmFzZT4sXG4gICAgICAgIClcbiAgfVxuXG4gIHN0YXRpYyBCdWlsZE9wZXJhdG9yU2VudGVuY2UgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU8TUJhc2U+PihcbiAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNQmFzZSwgYW55PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IFZhcmlhYmxlT3B0aW9ucyA9PiAoe1xuICAgIFtCaW5kRmlsdGVyUXVlcnlIZWxwZXIuR2V0SGFzdXJhT3BlcmF0b3Iob3B0aW9ucywgZmllbGRPcHRpb24pXTogRmlsdGVyT3B0aW9uSGVscGVyLkdldFZhbHVlRnJvbUZpbHRlcihcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE9wdGlvbixcbiAgICApLFxuICB9KVxuXG4gIHN0YXRpYyBHZXRIYXN1cmFPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgICBmaWVsZE9wdGlvbjogQ29sdW1uT3B0aW9uczxhbnksIGFueT4sXG4gICk6IEhhc3VyYUdyYXBoUUxXaGVyZSA9PiB7XG4gICAgaWYgKCFGaWx0ZXJPcHRpb25IZWxwZXIuQ2hlY2tJZklzRmlsdGVyT3B0aW9uKG9wdGlvbnMpKSByZXR1cm4gSGFzdXJhR3JhcGhRTFdoZXJlLkVRVUFMU1xuICAgIGlmIChmaWVsZE9wdGlvbi50eXBlID09PSBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYikgcmV0dXJuIEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5HZXRIYXN1cmFKc29uYk9wZXJhdG9yKG9wdGlvbnMpXG5cbiAgICByZXR1cm4gSGFzdXJhR3JhcGhRTFdoZXJlW1xuICAgICAgT2JqZWN0LmtleXMoSGFzdXJhR3JhcGhRTFdoZXJlKS5maW5kKFxuICAgICAgICAoZ3JhcGhRTE9wZXJhdG9yKSA9PlxuICAgICAgICAgIGdyYXBoUUxPcGVyYXRvciA9PT0gT2JqZWN0LmtleXMoV2hlcmUpLmZpbmQoKG9wZXJhdG9yKSA9PiBXaGVyZVtvcGVyYXRvcl0gPT09IG9wdGlvbnM/Lm9wZXJhdG9yKSxcbiAgICAgIClcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgR2V0SGFzdXJhSnNvbmJPcGVyYXRvciA9IDxNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZT4+KFxuICAgIG9wdGlvbnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1CYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TUJhc2U+PixcbiAgKTogSGFzdXJhR3JhcGhRTFdoZXJlID0+IHtcbiAgICBpZiAob3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuSU4pIHJldHVybiAnX2NvbnRhaW5zJyBhcyBIYXN1cmFHcmFwaFFMV2hlcmVcbiAgICBpZiAob3B0aW9ucy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSkgcmV0dXJuICdfaGFzX2tleXNfYW55JyBhcyBIYXN1cmFHcmFwaFFMV2hlcmVcblxuICAgIHJldHVybiBIYXN1cmFHcmFwaFFMV2hlcmVbXG4gICAgICBPYmplY3Qua2V5cyhIYXN1cmFHcmFwaFFMV2hlcmUpLmZpbmQoXG4gICAgICAgIChncmFwaFFMT3BlcmF0b3IpID0+XG4gICAgICAgICAgZ3JhcGhRTE9wZXJhdG9yID09PSBPYmplY3Qua2V5cyhXaGVyZSkuZmluZCgob3BlcmF0b3IpID0+IFdoZXJlW29wZXJhdG9yXSA9PT0gb3B0aW9ucz8ub3BlcmF0b3IpLFxuICAgICAgKVxuICAgIF1cbiAgfVxufVxuIl19
@@ -26,17 +26,27 @@ export const withFindHasuraGraphQL = (MixinBase) => {
26
26
  : []),
27
27
  ];
28
28
  };
29
+ this.bindDistinctAttributes = (distinct, fields) => this.bindAttributesToColumns(distinct, fields);
29
30
  this.bindAttributesToColumns = (attributes, fields) => attributes.map((attr) => {
30
31
  var _a;
31
32
  return ((_a = AttributeOptionHelper.FindByAttribute(attr.toString().split('.').pop(), fields)) === null || _a === void 0 ? void 0 : _a.columnName) || attr;
32
33
  });
33
34
  }
34
35
  find(params) {
35
- var _a, _b, _c;
36
+ var _a, _b, _c, _d, _e, _f, _g, _h;
36
37
  return __awaiter(this, void 0, void 0, function* () {
37
38
  this.logger = DebugHelper.from(this, 'find');
38
39
  const { filters, limits, orderBy, options } = params || {};
39
40
  const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
41
+ const variablesFilters = isNil(filters)
42
+ ? {}
43
+ : {
44
+ where: {
45
+ value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
46
+ type: `${this.tableName}_bool_exp`,
47
+ required: true,
48
+ },
49
+ };
40
50
  const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy)
41
51
  ? {}
42
52
  : {
@@ -45,15 +55,7 @@ export const withFindHasuraGraphQL = (MixinBase) => {
45
55
  list: true,
46
56
  value: this.bindOrderByAttributes(orderBy, this.fields),
47
57
  },
48
- })), (isNil(filters)
49
- ? {}
50
- : {
51
- where: {
52
- value: BindFilterQueryHelper.MakeGraphQLWhere(filters, this.fields),
53
- type: `${this.tableName}_bool_exp`,
54
- required: true,
55
- },
56
- }));
58
+ })), variablesFilters);
57
59
  const variables = Object.assign(Object.assign({}, (isNil(limits) ? {} : limits)), variablesCount);
58
60
  const aggregateFields = [
59
61
  ...(enableCount ? ['count'] : []),
@@ -85,25 +87,53 @@ export const withFindHasuraGraphQL = (MixinBase) => {
85
87
  },
86
88
  ]
87
89
  : []),
90
+ ...((!((_b = params.limits) === null || _b === void 0 ? void 0 : _b.offset) &&
91
+ ((_d = (_c = params.options) === null || _c === void 0 ? void 0 : _c.distinct) === null || _d === void 0 ? void 0 : _d.map((distinct) => {
92
+ var _a, _b;
93
+ const distinctOption = (_a = this.fields.find((fieldOption) => fieldOption === distinct)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === distinct);
94
+ const fieldName = ((_b = Object.values(distinctOption).shift()) === null || _b === void 0 ? void 0 : _b.columnName) || distinct;
95
+ return {
96
+ operation: {
97
+ name: `${this.tableName}`,
98
+ alias: `${this.tableName}_${distinct}_distinct`,
99
+ },
100
+ fields: [distinctOption],
101
+ variables: Object.assign(Object.assign({}, variablesFilters), { [`${this.tableName}_${fieldName}_distinct`]: {
102
+ type: `${this.tableName}_select_column!`,
103
+ list: true,
104
+ value: fieldName,
105
+ name: 'distinct_on',
106
+ } }),
107
+ };
108
+ }))) ||
109
+ []),
88
110
  ]);
89
111
  const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
90
- return Object.assign(Object.assign({ data, count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity }, (((_b = options === null || options === void 0 ? void 0 : options.minimal) === null || _b === void 0 ? void 0 : _b.length)
112
+ return Object.assign(Object.assign(Object.assign({ data, count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity }, (((_e = options === null || options === void 0 ? void 0 : options.minimal) === null || _e === void 0 ? void 0 : _e.length)
91
113
  ? {
92
114
  minimal: options.minimal.reduce((minimals, current) => {
93
115
  var _a;
94
116
  return (Object.assign(Object.assign({}, minimals), set(minimals, current, result[`${this.tableName}_aggregate`].aggregate.min[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
95
117
  }, {}),
96
118
  }
97
- : {})), (((_c = options === null || options === void 0 ? void 0 : options.maximum) === null || _c === void 0 ? void 0 : _c.length)
119
+ : {})), (((_f = options === null || options === void 0 ? void 0 : options.maximum) === null || _f === void 0 ? void 0 : _f.length)
98
120
  ? {
99
121
  maximum: options.maximum.reduce((maximums, current) => {
100
122
  var _a;
101
123
  return (Object.assign(Object.assign({}, maximums), set(maximums, current, result[`${this.tableName}_aggregate`].aggregate.max[((_a = AttributeOptionHelper.FindByAttribute(current.toString().split('.').pop(), this.fields)) === null || _a === void 0 ? void 0 : _a.columnName) || current])));
102
124
  }, {}),
103
125
  }
104
- : {}));
126
+ : {})), (!((_g = params.limits) === null || _g === void 0 ? void 0 : _g.offset) &&
127
+ ((_h = options === null || options === void 0 ? void 0 : options.distinct) === null || _h === void 0 ? void 0 : _h.length) && {
128
+ distinct: options === null || options === void 0 ? void 0 : options.distinct.reduce((distinct, current) => {
129
+ var _a, _b;
130
+ const distinctOption = (_a = this.fields.find((fieldOption) => fieldOption === current)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === current);
131
+ const fieldName = ((_b = Object.values(distinctOption).shift()) === null || _b === void 0 ? void 0 : _b.columnName) || current;
132
+ return Object.assign(Object.assign({}, distinct), { [current.toString()]: result[`${this.tableName}_${current.toString()}_distinct`].map((obj) => obj[fieldName]) });
133
+ }, {}),
134
+ }));
105
135
  });
106
136
  }
107
137
  };
108
138
  };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBUUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBSW5DLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0sc0JBQXVCLFNBQVEsU0FBUztRQUE5Qzs7WUE4R0wsMEJBQXFCLEdBQUcsQ0FBQyxPQUFpQyxFQUFFLE1BQWtDLEVBQUUsRUFBRSxDQUNoRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxpQ0FDYixHQUFHLEtBQ04sQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7cUJBQ3BHLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLElBQ2hGLEVBQ0YsRUFBRSxDQUNILENBQUE7WUFFSCw0QkFBdUIsR0FBRyxDQUN4QixVQUdDLEVBQ0QsTUFBa0MsRUFDbEMsRUFBRTs7Z0JBQUMsT0FBQTtvQkFDSCxHQUFHLENBQUMsQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxPQUFPLDBDQUFFLE1BQU07d0JBQzdCLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxPQUFPLEVBQUUsTUFBTSxDQUFDOzZCQUMvRDt5QkFDRjt3QkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLEdBQUcsQ0FBQyxDQUFBLE1BQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE9BQU8sMENBQUUsTUFBTTt3QkFDN0IsQ0FBQyxDQUFDOzRCQUNFO2dDQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7NkJBQy9EO3lCQUNGO3dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ1IsQ0FBQTthQUFBLENBQUE7WUFFRCw0QkFBdUIsR0FBRyxDQUN4QixVQUFvRSxFQUNwRSxNQUFrQyxFQUNsQyxFQUFFLENBQ0YsVUFBVSxDQUFDLEdBQUcsQ0FDWixDQUFDLElBQUksRUFBRSxFQUFFOztnQkFDUCxPQUFBLENBQUEsTUFBQSxxQkFBcUIsQ0FBQyxlQUFlLENBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFrRCxFQUNoRixNQUFNLENBQ1AsMENBQUUsVUFBVSxLQUFJLElBQUksQ0FBQTthQUFBLENBQ3hCLENBQUE7UUFDTCxDQUFDO1FBekpPLElBQUksQ0FBQyxNQUFvQzs7O2dCQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUU1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtnQkFDMUQsTUFBTSxXQUFXLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsV0FBVyxtQ0FBSSxJQUFJLENBQUE7Z0JBQ2hELE1BQU0sY0FBYyxtQ0FDZixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7b0JBQ2hCLENBQUMsQ0FBQyxFQUFFO29CQUNKLENBQUMsQ0FBQzt3QkFDRSxRQUFRLEVBQUU7NEJBQ1IsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWTs0QkFDbkMsSUFBSSxFQUFFLElBQUk7NEJBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzt5QkFDeEQ7cUJBQ0YsQ0FBQyxHQUNILENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLEVBQUU7b0JBQ0osQ0FBQyxDQUFDO3dCQUNFLEtBQUssRUFBRTs0QkFDTCxLQUFLLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7NEJBQ25FLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVc7NEJBQ2xDLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGLENBQUMsQ0FDUCxDQUFBO2dCQUNELE1BQU0sU0FBUyxtQ0FDVixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FDN0IsY0FBYyxDQUNsQixDQUFBO2dCQUNELE1BQU0sZUFBZSxHQUFHO29CQUN0QixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2pDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztpQkFDN0QsQ0FBQTtnQkFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQzlCO3dCQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNOzRCQUNuQixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07aUNBQ1YsR0FBRyxDQUNGLENBQUMsU0FBUyxFQUFFLEVBQUU7O2dDQUNaLE9BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxtQ0FDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUE7NkJBQUEsQ0FDcEY7aUNBQ0EsTUFBTSxDQUFDLE9BQU8sQ0FBQzs0QkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNO3dCQUNmLFNBQVM7cUJBQ1Y7b0JBQ0QsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDNUIsQ0FBQyxDQUFDOzRCQUNFO2dDQUNFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVk7Z0NBQ3hDLE1BQU0sRUFBRTtvQ0FDTjt3Q0FDRSxTQUFTLEVBQUUsZUFBZTtxQ0FDM0I7aUNBQ0Y7Z0NBQ0QsU0FBUyxFQUFFLGNBQWM7NkJBQ0Y7eUJBQzFCO3dCQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ1IsQ0FBQyxDQUFBO2dCQUNGLE1BQU0sSUFBSSxHQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFFMUYscUNBQ0UsSUFBSSxFQUNKLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFDbEYsQ0FBQyxDQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sMENBQUUsTUFBTTtvQkFDMUIsQ0FBQyxDQUFDO3dCQUNFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7OzRCQUFDLE9BQUEsaUNBQ2pCLFFBQWdCLEdBQ2pCLEdBQUcsQ0FDSixRQUFRLEVBQ1IsT0FBTyxFQUNQLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ2pELENBQUEsTUFBQSxxQkFBcUIsQ0FBQyxlQUFlLENBQ25DLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFrRCxFQUNuRixJQUFJLENBQUMsTUFBTSxDQUNaLDBDQUFFLFVBQVUsS0FBSyxPQUFlLENBQ2xDLENBQ0YsRUFDRCxDQUFBO3lCQUFBLEVBQ0YsRUFBRSxDQUNIO3FCQUNGO29CQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsR0FDSixDQUFDLENBQUEsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxNQUFNO29CQUMxQixDQUFDLENBQUM7d0JBQ0UsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUM3QixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTs7NEJBQUMsT0FBQSxpQ0FDakIsUUFBZ0IsR0FDakIsR0FBRyxDQUNKLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDakQsQ0FBQSxNQUFBLHFCQUFxQixDQUFDLGVBQWUsQ0FDbkMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQWtELEVBQ25GLElBQUksQ0FBQyxNQUFNLENBQ1osMENBQUUsVUFBVSxLQUFLLE9BQWUsQ0FDbEMsQ0FDRixFQUNELENBQUE7eUJBQUEsRUFDRixFQUFFLENBQ0g7cUJBQ0Y7b0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNSOztTQUNGO0tBOENGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGaW5kUmVwb3NpdG9yeSxcbiAgRmluZFJlcG9zaXRvcnlQYXJhbXMsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lcyxcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBEZWJ1Z0hlbHBlciwgaXNOaWwsIE1peGluQ3Rvciwgc2V0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSwgSGFzdXJhR3JhcGhRTEZpZWxkcyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyLCBCaW5kRmlsdGVyUXVlcnlIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmluZEhhc3VyYUdyYXBoUUwgPSA8XG4gIE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPE1CYXNlLCBNQmFzZVsnaWRlbnRpZmllcnNGaWVsZHMnXVtudW1iZXJdPixcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pID0+IHtcbiAgcmV0dXJuIGNsYXNzIEZpbmRIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIGFzeW5jIGZpbmQocGFyYW1zPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcbiAgICAgIHRoaXMubG9nZ2VyID0gRGVidWdIZWxwZXIuZnJvbSh0aGlzLCAnZmluZCcpXG5cbiAgICAgIGNvbnN0IHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5LCBvcHRpb25zIH0gPSBwYXJhbXMgfHwge31cbiAgICAgIGNvbnN0IGVuYWJsZUNvdW50ID0gb3B0aW9ucz8uZW5hYmxlQ291bnQgPz8gdHJ1ZVxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XG4gICAgICAgIC4uLihpc05pbChvcmRlckJ5KVxuICAgICAgICAgID8ge31cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgb3JkZXJfYnk6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fb3JkZXJfYnkhYCxcbiAgICAgICAgICAgICAgICBsaXN0OiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmJpbmRPcmRlckJ5QXR0cmlidXRlcyhvcmRlckJ5LCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgLi4uKGlzTmlsKGZpbHRlcnMpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfVxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgICAuLi4oaXNOaWwobGltaXRzKSA/IHt9IDogbGltaXRzKSxcbiAgICAgICAgLi4udmFyaWFibGVzQ291bnQsXG4gICAgICB9XG4gICAgICBjb25zdCBhZ2dyZWdhdGVGaWVsZHMgPSBbXG4gICAgICAgIC4uLihlbmFibGVDb3VudCA/IFsnY291bnQnXSA6IFtdKSxcbiAgICAgICAgLi4udGhpcy5iaW5kQWdncmV0YWdlQXR0cmlidXRlcyhwYXJhbXMub3B0aW9ucywgdGhpcy5maWVsZHMpLFxuICAgICAgXVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5xdWVyeShbXG4gICAgICAgIHtcbiAgICAgICAgICBvcGVyYXRpb246IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgIGZpZWxkczogcGFyYW1zLmZpZWxkc1xuICAgICAgICAgICAgPyBwYXJhbXMuZmllbGRzXG4gICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgIChmaWVsZE5hbWUpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gZmllbGROYW1lKSA/P1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGZpZWxkTmFtZSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgIDogdGhpcy5maWVsZHMsXG4gICAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICB9LFxuICAgICAgICAuLi4oYWdncmVnYXRlRmllbGRzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbjogYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWAsXG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0ZTogYWdncmVnYXRlRmllbGRzLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogdmFyaWFibGVzQ291bnQsXG4gICAgICAgICAgICAgIH0gYXMgR3JhcGhRTFBhcmFtczxNQmFzZT4sXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdKVxuICAgICAgY29uc3QgZGF0YTogTUJhc2VbXSA9IHJlc3VsdFt0aGlzLnRhYmxlTmFtZV0ubWFwKChyb3cpID0+IHRoaXMuY29udmVydERhdGFGcm9tSGFzdXJhKHJvdykpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvdW50OiBlbmFibGVDb3VudCA/IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50IDogSW5maW5pdHksXG4gICAgICAgIC4uLihvcHRpb25zPy5taW5pbWFsPy5sZW5ndGhcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbWluaW1hbDogb3B0aW9ucy5taW5pbWFsLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobWluaW1hbHMsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi4obWluaW1hbHMgYXMgYW55KSxcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcbiAgICAgICAgICAgICAgICAgICAgbWluaW1hbHMsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1pbltcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIC4uLihvcHRpb25zPy5tYXhpbXVtPy5sZW5ndGhcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbWF4aW11bTogb3B0aW9ucy5tYXhpbXVtLnJlZHVjZShcbiAgICAgICAgICAgICAgICAobWF4aW11bXMsIGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAgICAgICAuLi4obWF4aW11bXMgYXMgYW55KSxcbiAgICAgICAgICAgICAgICAgIC4uLnNldChcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bXMsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLm1heFtcbiAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC50b1N0cmluZygpLnNwbGl0KCcuJykucG9wKCkgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IChjdXJyZW50IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgYmluZE9yZGVyQnlBdHRyaWJ1dGVzID0gKG9yZGVyQnk6IFJlcG9zaXRvcnlPcmRlckJ5PE1CYXNlPiwgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPikgPT5cbiAgICAgIE9iamVjdC5rZXlzKG9yZGVyQnkpLnJlZHVjZShcbiAgICAgICAgKGFjYywgY3VycmVudCkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW0F0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiwgZmllbGRzKVxuICAgICAgICAgICAgLmNvbHVtbk5hbWVdOiBvcmRlckJ5W2N1cnJlbnQgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5dLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApXG5cbiAgICBiaW5kQWdncmV0YWdlQXR0cmlidXRlcyA9IChcbiAgICAgIGFnZ3JlZ2F0ZXM6IHtcbiAgICAgICAgbWluaW1hbD86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtaW5pbWFsJ11cbiAgICAgICAgbWF4aW11bT86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPlsnb3B0aW9ucyddWydtYXhpbXVtJ11cbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICkgPT4gW1xuICAgICAgLi4uKGFnZ3JlZ2F0ZXM/Lm1pbmltYWw/Lmxlbmd0aFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWluOiB0aGlzLmJpbmRBdHRyaWJ1dGVzVG9Db2x1bW5zKGFnZ3JlZ2F0ZXM/Lm1pbmltYWwsIGZpZWxkcyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWF4aW11bT8ubGVuZ3RoXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtYXg6IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWF4aW11bSwgZmllbGRzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICBdXG5cbiAgICBiaW5kQXR0cmlidXRlc1RvQ29sdW1ucyA9IChcbiAgICAgIGF0dHJpYnV0ZXM6IEFycmF5PE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+IHwge30+LFxuICAgICAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICApID0+XG4gICAgICBhdHRyaWJ1dGVzLm1hcChcbiAgICAgICAgKGF0dHIpID0+XG4gICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgIGF0dHIudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICk/LmNvbHVtbk5hbWUgfHwgYXR0cixcbiAgICAgIClcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBUUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBSW5DLFNBQTJELEVBQzNELEVBQUU7SUFDRixPQUFPLE1BQU0sc0JBQXVCLFNBQVEsU0FBUztRQUE5Qzs7WUF3SkwsMEJBQXFCLEdBQUcsQ0FBQyxPQUFpQyxFQUFFLE1BQWtDLEVBQUUsRUFBRSxDQUNoRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxpQ0FDYixHQUFHLEtBQ04sQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsT0FBdUQsRUFBRSxNQUFNLENBQUM7cUJBQ3BHLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUF1RCxDQUFDLElBQ2hGLEVBQ0YsRUFBRSxDQUNILENBQUE7WUFFSCw0QkFBdUIsR0FBRyxDQUN4QixVQUdDLEVBQ0QsTUFBa0MsRUFDbEMsRUFBRTs7Z0JBQUMsT0FBQTtvQkFDSCxHQUFHLENBQUMsQ0FBQSxNQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxPQUFPLDBDQUFFLE1BQU07d0JBQzdCLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsYUFBVixV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Q0FBQyxTQUFTLENBQUMsQ0FDeEIsSUFDRjtvQkFDSCxDQUFDLEVBQUUsRUFBUyxDQUFDO2lCQUNkLENBQUMsRUFDTDs7U0FDRjtLQW1ERixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmluZFJlcG9zaXRvcnksXG4gIEZpbmRSZXBvc2l0b3J5UGFyYW1zLFxuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxuICBSZXBvc2l0b3J5T3JkZXJCeSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRGVidWdIZWxwZXIsIGlzTmlsLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFBhcmFtcywgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciwgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aEZpbmRIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZTxNQmFzZSwgTUJhc2VbJ2lkZW50aWZpZXJzRmllbGRzJ11bbnVtYmVyXT4sXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBGaW5kSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICBhc3luYyBmaW5kKHBhcmFtcz86IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1CYXNlPik6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TUJhc2U+PiB7XG4gICAgICB0aGlzLmxvZ2dlciA9IERlYnVnSGVscGVyLmZyb20odGhpcywgJ2ZpbmQnKVxuXG4gICAgICBjb25zdCB7IGZpbHRlcnMsIGxpbWl0cywgb3JkZXJCeSwgb3B0aW9ucyB9ID0gcGFyYW1zIHx8IHt9XG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcbiAgICAgIGNvbnN0IHZhcmlhYmxlc0ZpbHRlcnMgPSBpc05pbChmaWx0ZXJzKVxuICAgICAgICA/IHt9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgdmFsdWU6IEJpbmRGaWx0ZXJRdWVyeUhlbHBlci5NYWtlR3JhcGhRTFdoZXJlKGZpbHRlcnMsIHRoaXMuZmllbGRzKSxcbiAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X2Jvb2xfZXhwYCxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgIGNvbnN0IHZhcmlhYmxlc0NvdW50ID0ge1xuICAgICAgICAuLi4oaXNOaWwob3JkZXJCeSlcbiAgICAgICAgICA/IHt9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIG9yZGVyX2J5OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogYCR7dGhpcy50YWJsZU5hbWV9X29yZGVyX2J5IWAsXG4gICAgICAgICAgICAgICAgbGlzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5iaW5kT3JkZXJCeUF0dHJpYnV0ZXMob3JkZXJCeSwgdGhpcy5maWVsZHMpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgIC4uLnZhcmlhYmxlc0ZpbHRlcnMsXG4gICAgICB9XG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSB7XG4gICAgICAgIC4uLihpc05pbChsaW1pdHMpID8ge30gOiBsaW1pdHMpLFxuICAgICAgICAuLi52YXJpYWJsZXNDb3VudCxcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFnZ3JlZ2F0ZUZpZWxkcyA9IFtcbiAgICAgICAgLi4uKGVuYWJsZUNvdW50ID8gWydjb3VudCddIDogW10pLFxuICAgICAgICAuLi50aGlzLmJpbmRBZ2dyZXRhZ2VBdHRyaWJ1dGVzKHBhcmFtcy5vcHRpb25zLCB0aGlzLmZpZWxkcyksXG4gICAgICBdXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5KFtcbiAgICAgICAge1xuICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy50YWJsZU5hbWUsXG4gICAgICAgICAgZmllbGRzOiBwYXJhbXMuZmllbGRzXG4gICAgICAgICAgICA/IHBhcmFtcy5maWVsZHNcbiAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgKGZpZWxkTmFtZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBmaWVsZE5hbWUpID8/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gZmllbGROYW1lKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgOiB0aGlzLmZpZWxkcyxcbiAgICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLihhZ2dyZWdhdGVGaWVsZHMubGVuZ3RoID4gMFxuICAgICAgICAgID8gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiBgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYCxcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWdncmVnYXRlOiBhZ2dyZWdhdGVGaWVsZHMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZXNDb3VudCxcbiAgICAgICAgICAgICAgfSBhcyBHcmFwaFFMUGFyYW1zPE1CYXNlPixcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uKCghcGFyYW1zLmxpbWl0cz8ub2Zmc2V0ICYmXG4gICAgICAgICAgcGFyYW1zLm9wdGlvbnM/LmRpc3RpbmN0Py5tYXAoKGRpc3RpbmN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkaXN0aW5jdE9wdGlvbiA9XG4gICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gZGlzdGluY3QpID8/XG4gICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gZGlzdGluY3QpXG4gICAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBPYmplY3QudmFsdWVzKGRpc3RpbmN0T3B0aW9uKS5zaGlmdCgpPy5jb2x1bW5OYW1lIHx8IGRpc3RpbmN0XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIG5hbWU6IGAke3RoaXMudGFibGVOYW1lfWAsXG4gICAgICAgICAgICAgICAgYWxpYXM6IGAke3RoaXMudGFibGVOYW1lfV8ke2Rpc3RpbmN0fV9kaXN0aW5jdGAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGZpZWxkczogW2Rpc3RpbmN0T3B0aW9uXSxcbiAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgLi4udmFyaWFibGVzRmlsdGVycyxcbiAgICAgICAgICAgICAgICBbYCR7dGhpcy50YWJsZU5hbWV9XyR7ZmllbGROYW1lfV9kaXN0aW5jdGBdOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fc2VsZWN0X2NvbHVtbiFgLFxuICAgICAgICAgICAgICAgICAgbGlzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZE5hbWUsXG4gICAgICAgICAgICAgICAgICBuYW1lOiAnZGlzdGluY3Rfb24nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9IGFzIEdyYXBoUUxQYXJhbXM8TUJhc2U+XG4gICAgICAgICAgfSkpIHx8XG4gICAgICAgICAgW10pLFxuICAgICAgXSlcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93KSA9PiB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhLFxuICAgICAgICBjb3VudDogZW5hYmxlQ291bnQgPyByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5jb3VudCA6IEluZmluaXR5LFxuICAgICAgICAuLi4ob3B0aW9ucz8ubWluaW1hbD8ubGVuZ3RoXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG1pbmltYWw6IG9wdGlvbnMubWluaW1hbC5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKG1pbmltYWxzLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uKG1pbmltYWxzIGFzIGFueSksXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXG4gICAgICAgICAgICAgICAgICAgIG1pbmltYWxzLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5taW5bXG4gICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgKT8uY29sdW1uTmFtZSB8fCAoY3VycmVudCBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICAuLi4ob3B0aW9ucz8ubWF4aW11bT8ubGVuZ3RoXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG1heGltdW06IG9wdGlvbnMubWF4aW11bS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKG1heGltdW1zLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgLi4uKG1heGltdW1zIGFzIGFueSksXG4gICAgICAgICAgICAgICAgICAuLi5zZXQoXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW1zLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbYCR7dGhpcy50YWJsZU5hbWV9X2FnZ3JlZ2F0ZWBdLmFnZ3JlZ2F0ZS5tYXhbXG4gICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQudG9TdHJpbmcoKS5zcGxpdCgnLicpLnBvcCgpIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMsXG4gICAgICAgICAgICAgICAgICAgICAgKT8uY29sdW1uTmFtZSB8fCAoY3VycmVudCBhcyBhbnkpXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICAuLi4oIXBhcmFtcy5saW1pdHM/Lm9mZnNldCAmJlxuICAgICAgICAgIG9wdGlvbnM/LmRpc3RpbmN0Py5sZW5ndGggJiYge1xuICAgICAgICAgICAgZGlzdGluY3Q6IG9wdGlvbnM/LmRpc3RpbmN0LnJlZHVjZSgoZGlzdGluY3QsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZGlzdGluY3RPcHRpb24gPVxuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gY3VycmVudCkgPz9cbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkcy5maW5kKChmaWVsZE9wdGlvbikgPT4gT2JqZWN0LmtleXMoZmllbGRPcHRpb24pLnNoaWZ0KCkgPT09IGN1cnJlbnQpXG4gICAgICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IE9iamVjdC52YWx1ZXMoZGlzdGluY3RPcHRpb24pLnNoaWZ0KCk/LmNvbHVtbk5hbWUgfHwgY3VycmVudFxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZGlzdGluY3QsXG4gICAgICAgICAgICAgICAgW2N1cnJlbnQudG9TdHJpbmcoKV06IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fJHtjdXJyZW50LnRvU3RyaW5nKCl9X2Rpc3RpbmN0YF0ubWFwKFxuICAgICAgICAgICAgICAgICAgKG9iaikgPT4gb2JqW2ZpZWxkTmFtZV0sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge30gYXMgYW55KSxcbiAgICAgICAgICB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiaW5kT3JkZXJCeUF0dHJpYnV0ZXMgPSAob3JkZXJCeTogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+LCBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+KSA9PlxuICAgICAgT2JqZWN0LmtleXMob3JkZXJCeSkucmVkdWNlKFxuICAgICAgICAoYWNjLCBjdXJyZW50KSA9PiAoe1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbQXR0cmlidXRlT3B0aW9uSGVscGVyLkZpbmRCeUF0dHJpYnV0ZShjdXJyZW50IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LCBmaWVsZHMpXG4gICAgICAgICAgICAuY29sdW1uTmFtZV06IG9yZGVyQnlbY3VycmVudCBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPl0sXG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcblxuICAgIGJpbmRBZ2dyZXRhZ2VBdHRyaWJ1dGVzID0gKFxuICAgICAgYWdncmVnYXRlczoge1xuICAgICAgICBtaW5pbWFsPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ21pbmltYWwnXVxuICAgICAgICBtYXhpbXVtPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ21heGltdW0nXVxuICAgICAgfSxcbiAgICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgKSA9PiBbXG4gICAgICAuLi4oYWdncmVnYXRlcz8ubWluaW1hbD8ubGVuZ3RoXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtaW46IHRoaXMuYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMoYWdncmVnYXRlcz8ubWluaW1hbCwgZmllbGRzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLihhZ2dyZWdhdGVzPy5tYXhpbXVtPy5sZW5ndGhcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1heDogdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhhZ2dyZWdhdGVzPy5tYXhpbXVtLCBmaWVsZHMpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogW10pLFxuICAgIF1cblxuICAgIGJpbmREaXN0aW5jdEF0dHJpYnV0ZXMgPSAoXG4gICAgICBkaXN0aW5jdDogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+WydvcHRpb25zJ11bJ2Rpc3RpbmN0J10sXG4gICAgICBmaWVsZHM6IEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICkgPT4gdGhpcy5iaW5kQXR0cmlidXRlc1RvQ29sdW1ucyhkaXN0aW5jdCwgZmllbGRzKVxuXG4gICAgYmluZEF0dHJpYnV0ZXNUb0NvbHVtbnMgPSAoXG4gICAgICBhdHRyaWJ1dGVzOiBBcnJheTxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiB8IHt9PixcbiAgICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgKSA9PlxuICAgICAgYXR0cmlidXRlcy5tYXAoXG4gICAgICAgIChhdHRyKSA9PlxuICAgICAgICAgIEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoXG4gICAgICAgICAgICBhdHRyLnRvU3RyaW5nKCkuc3BsaXQoJy4nKS5wb3AoKSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICApPy5jb2x1bW5OYW1lIHx8IGF0dHIsXG4gICAgICApXG4gIH1cbn1cbiJdfQ==
@@ -39,9 +39,60 @@ export class CategoryFilterHasuraGraphQLRepository extends withCrudHasuraGraphQL
39
39
  ],
40
40
  },
41
41
  },
42
+ {
43
+ category: {
44
+ columnName: 'category',
45
+ foreignKeyColumn: { id: 'categoryId' },
46
+ fields: [
47
+ 'id',
48
+ 'description',
49
+ {
50
+ products: {
51
+ columnName: 'products',
52
+ fields: ['product_id'],
53
+ from: (value) => value.map((product) => product.product_id.toString()),
54
+ to: (productIds) => productIds.map((productId) => ({
55
+ product_id: +productId,
56
+ })),
57
+ },
58
+ },
59
+ {
60
+ childrenProducts: {
61
+ columnName: 'children_products',
62
+ foreignKeyColumn: { category_id: 'id' },
63
+ fields: [
64
+ 'id',
65
+ 'name',
66
+ 'slug',
67
+ {
68
+ categories: {
69
+ columnName: 'categories',
70
+ fields: ['category_id'],
71
+ bindPersistData: (value) => ({
72
+ categories: { data: value.map((category) => ({ category_id: +category })) },
73
+ }),
74
+ to: (categories) => categories.map((categoryId) => +categoryId),
75
+ from: (categories) => (categories === null || categories === void 0 ? void 0 : categories.map((category) => { var _a; return (_a = category === null || category === void 0 ? void 0 : category.category_id) === null || _a === void 0 ? void 0 : _a.toString(); })) || [],
76
+ },
77
+ },
78
+ ],
79
+ },
80
+ },
81
+ ],
82
+ },
83
+ },
42
84
  ],
43
85
  });
44
86
  }
87
+ deleteByCategory(categoryId) {
88
+ return this.mutation('delete_category_filter', ['affected_rows'], {
89
+ where: {
90
+ type: 'category_filter_bool_exp',
91
+ required: true,
92
+ value: { category_id: { _eq: categoryId } },
93
+ },
94
+ });
95
+ }
45
96
  deleteByCategoryAndFilter(categoryId, filterId) {
46
97
  return this.mutation('delete_category_filter', ['affected_rows'], {
47
98
  where: {
@@ -52,4 +103,4 @@ export class CategoryFilterHasuraGraphQLRepository extends withCrudHasuraGraphQL
52
103
  });
53
104
  }
54
105
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9yZXBvc2l0b3JpZXMvY2F0YWxvZy9jYXRlZ29yeS1maWx0ZXItaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUd2RSxNQUFNLE9BQU8scUNBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBaUIsSUFBSSxDQUFDLENBQUM7SUFHdEUsWUFBWSxRQUFnQixFQUFFLFdBQXFDO1FBQ2pFLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsS0FBSyxFQUFFLGNBQWM7WUFDckIsUUFBUTtZQUNSLFdBQVc7WUFDWCxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDekMsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEVBQUU7Z0JBQzdDO29CQUNFLE1BQU0sRUFBRTt3QkFDTixVQUFVLEVBQUUsUUFBUTt3QkFDcEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO3dCQUNwQyxNQUFNLEVBQUU7NEJBQ04sSUFBSTs0QkFDSixhQUFhOzRCQUNiLE1BQU07NEJBQ04sU0FBUzs0QkFDVCxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTs0QkFDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7NEJBQzNDO2dDQUNFLE9BQU8sRUFBRTtvQ0FDUCxVQUFVLEVBQUUsU0FBUztvQ0FDckIsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO29DQUNwQyxNQUFNLEVBQUU7d0NBQ04sSUFBSTt3Q0FDSixFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRTt3Q0FDekMsYUFBYTt3Q0FDYixFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTt3Q0FDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7cUNBQzVDO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQseUJBQXlCLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNoRSxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTthQUMxRTtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2NhdGFsb2cvcmVwb3NpdG9yaWVzJ1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgd2l0aENydWRIYXN1cmFHcmFwaFFMLCB3aXRoSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21peGlucydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxDYXRlZ29yeUZpbHRlcj4oQmFzZSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKGVuZHBvaW50OiBzdHJpbmcsIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICB0YWJsZU5hbWU6ICdjYXRlZ29yeV9maWx0ZXInLFxuICAgICAgbW9kZWw6IENhdGVnb3J5RmlsdGVyLFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICAnaWQnLFxuICAgICAgICB7IGZpbHRlcklkOiB7IGNvbHVtbk5hbWU6ICdmaWx0ZXJfaWQnIH0gfSxcbiAgICAgICAgeyBjYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdjYXRlZ29yeV9pZCcgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW46IHsgaWQ6ICdmaWx0ZXJJZCcgfSxcbiAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAnc2x1ZycsXG4gICAgICAgICAgICAgICdlbmFibGVkJyxcbiAgICAgICAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdvcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW46IHsgZmlsdGVySWQ6ICdpZCcgfSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICAgICB7IGZpbHRlcklkOiB7IGNvbHVtbk5hbWU6ICdmaWx0ZXJfaWQnIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfVxuXG4gIGRlbGV0ZUJ5Q2F0ZWdvcnlBbmRGaWx0ZXIoY2F0ZWdvcnlJZDogbnVtYmVyLCBmaWx0ZXJJZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGlvbignZGVsZXRlX2NhdGVnb3J5X2ZpbHRlcicsIFsnYWZmZWN0ZWRfcm93cyddLCB7XG4gICAgICB3aGVyZToge1xuICAgICAgICB0eXBlOiAnY2F0ZWdvcnlfZmlsdGVyX2Jvb2xfZXhwJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHZhbHVlOiB7IGNhdGVnb3J5X2lkOiB7IF9lcTogY2F0ZWdvcnlJZCB9LCBmaWx0ZXJfaWQ6IHsgX2VxOiBmaWx0ZXJJZCB9IH0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9yZXBvc2l0b3JpZXMvY2F0YWxvZy9jYXRlZ29yeS1maWx0ZXItaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUd2RSxNQUFNLE9BQU8scUNBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBaUIsSUFBSSxDQUFDLENBQUM7SUFHdEUsWUFBWSxRQUFnQixFQUFFLFdBQXFDO1FBQ2pFLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxpQkFBaUI7WUFDNUIsS0FBSyxFQUFFLGNBQWM7WUFDckIsUUFBUTtZQUNSLFdBQVc7WUFDWCxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDekMsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEVBQUU7Z0JBQzdDO29CQUNFLE1BQU0sRUFBRTt3QkFDTixVQUFVLEVBQUUsUUFBUTt3QkFDcEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFO3dCQUNwQyxNQUFNLEVBQUU7NEJBQ04sSUFBSTs0QkFDSixhQUFhOzRCQUNiLE1BQU07NEJBQ04sU0FBUzs0QkFDVCxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTs0QkFDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7NEJBQzNDO2dDQUNFLE9BQU8sRUFBRTtvQ0FDUCxVQUFVLEVBQUUsU0FBUztvQ0FDckIsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO29DQUNwQyxNQUFNLEVBQUU7d0NBQ04sSUFBSTt3Q0FDSixFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRTt3Q0FDekMsYUFBYTt3Q0FDYixFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTt3Q0FDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7cUNBQzVDO2lDQUNGOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2dCQUNEO29CQUNFLFFBQVEsRUFBRTt3QkFDUixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFO3dCQUN0QyxNQUFNLEVBQUU7NEJBQ04sSUFBSTs0QkFDSixhQUFhOzRCQUNiO2dDQUNFLFFBQVEsRUFBRTtvQ0FDUixVQUFVLEVBQUUsVUFBVTtvQ0FDdEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO29DQUN0QixJQUFJLEVBQUUsQ0FBQyxLQUErQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO29DQUNoRyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNqQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dDQUM3QixVQUFVLEVBQUUsQ0FBQyxTQUFTO3FDQUN2QixDQUFDLENBQUM7aUNBQ047NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsZ0JBQWdCLEVBQUU7b0NBQ2hCLFVBQVUsRUFBRSxtQkFBbUI7b0NBQy9CLGdCQUFnQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtvQ0FDdkMsTUFBTSxFQUFFO3dDQUNOLElBQUk7d0NBQ0osTUFBTTt3Q0FDTixNQUFNO3dDQUNOOzRDQUNFLFVBQVUsRUFBRTtnREFDVixVQUFVLEVBQUUsWUFBWTtnREFDeEIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2dEQUN2QixlQUFlLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0RBQzNCLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFO2lEQUM1RSxDQUFDO2dEQUNGLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0RBQy9ELElBQUksRUFBRSxDQUFDLFVBQXFDLEVBQUUsRUFBRSxDQUM5QyxDQUFBLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxXQUFDLE9BQUEsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsV0FBVywwQ0FBRSxRQUFRLEVBQUUsQ0FBQSxFQUFBLENBQUMsS0FBSSxFQUFFOzZDQUN6RTt5Q0FDRjtxQ0FDRjtpQ0FDRjs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2hFLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUU7YUFDNUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQseUJBQXlCLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNoRSxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTthQUMxRTtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2NhdGFsb2cvcmVwb3NpdG9yaWVzJ1xuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgd2l0aENydWRIYXN1cmFHcmFwaFFMLCB3aXRoSGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21peGlucydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlGaWx0ZXJIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxDYXRlZ29yeUZpbHRlcj4oQmFzZSkpXG4gIGltcGxlbWVudHMgQ2F0ZWdvcnlGaWx0ZXJSZXBvc2l0b3J5XG57XG4gIGNvbnN0cnVjdG9yKGVuZHBvaW50OiBzdHJpbmcsIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICB0YWJsZU5hbWU6ICdjYXRlZ29yeV9maWx0ZXInLFxuICAgICAgbW9kZWw6IENhdGVnb3J5RmlsdGVyLFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICAnaWQnLFxuICAgICAgICB7IGZpbHRlcklkOiB7IGNvbHVtbk5hbWU6ICdmaWx0ZXJfaWQnIH0gfSxcbiAgICAgICAgeyBjYXRlZ29yeUlkOiB7IGNvbHVtbk5hbWU6ICdjYXRlZ29yeV9pZCcgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW46IHsgaWQ6ICdmaWx0ZXJJZCcgfSxcbiAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAnc2x1ZycsXG4gICAgICAgICAgICAgICdlbmFibGVkJyxcbiAgICAgICAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdvcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW46IHsgZmlsdGVySWQ6ICdpZCcgfSxcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgICAnaWQnLFxuICAgICAgICAgICAgICAgICAgICB7IGZpbHRlcklkOiB7IGNvbHVtbk5hbWU6ICdmaWx0ZXJfaWQnIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5OiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgICAgICAgZm9yZWlnbktleUNvbHVtbjogeyBpZDogJ2NhdGVnb3J5SWQnIH0sXG4gICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb2R1Y3RzOiB7XG4gICAgICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAncHJvZHVjdHMnLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiBbJ3Byb2R1Y3RfaWQnXSxcbiAgICAgICAgICAgICAgICAgIGZyb206ICh2YWx1ZTogeyBwcm9kdWN0X2lkOiBudW1iZXIgfVtdKSA9PiB2YWx1ZS5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QucHJvZHVjdF9pZC50b1N0cmluZygpKSxcbiAgICAgICAgICAgICAgICAgIHRvOiAocHJvZHVjdElkcykgPT5cbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdElkcy5tYXAoKHByb2R1Y3RJZCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0X2lkOiArcHJvZHVjdElkLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuUHJvZHVjdHM6IHtcbiAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdjaGlsZHJlbl9wcm9kdWN0cycsXG4gICAgICAgICAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uOiB7IGNhdGVnb3J5X2lkOiAnaWQnIH0sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICAgICAgICAgICAnc2x1ZycsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnY2F0ZWdvcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IFsnY2F0ZWdvcnlfaWQnXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRQZXJzaXN0RGF0YTogKHZhbHVlKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB7IGRhdGE6IHZhbHVlLm1hcCgoY2F0ZWdvcnkpID0+ICh7IGNhdGVnb3J5X2lkOiArY2F0ZWdvcnkgfSkpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvOiAoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5SWQpID0+ICtjYXRlZ29yeUlkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IChjYXRlZ29yaWVzOiB7IGNhdGVnb3J5X2lkOiBudW1iZXIgfVtdKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzPy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeT8uY2F0ZWdvcnlfaWQ/LnRvU3RyaW5nKCkpIHx8IFtdLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG4gIH1cblxuICBkZWxldGVCeUNhdGVnb3J5KGNhdGVnb3J5SWQ6IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRpb24oJ2RlbGV0ZV9jYXRlZ29yeV9maWx0ZXInLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgdHlwZTogJ2NhdGVnb3J5X2ZpbHRlcl9ib29sX2V4cCcsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB2YWx1ZTogeyBjYXRlZ29yeV9pZDogeyBfZXE6IGNhdGVnb3J5SWQgfSB9LFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlQnlDYXRlZ29yeUFuZEZpbHRlcihjYXRlZ29yeUlkOiBudW1iZXIsIGZpbHRlcklkOiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLm11dGF0aW9uKCdkZWxldGVfY2F0ZWdvcnlfZmlsdGVyJywgWydhZmZlY3RlZF9yb3dzJ10sIHtcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIHR5cGU6ICdjYXRlZ29yeV9maWx0ZXJfYm9vbF9leHAnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHsgY2F0ZWdvcnlfaWQ6IHsgX2VxOiBjYXRlZ29yeUlkIH0sIGZpbHRlcl9pZDogeyBfZXE6IGZpbHRlcklkIH0gfSxcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxufVxuIl19