@uql/core 0.4.82 → 0.4.85

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.
@@ -9,11 +9,9 @@ describe('transactional', () => {
9
9
  beforeEach(() => {
10
10
  const defaultQuerierSingleton = buildQuerierMock();
11
11
  const anotherQuerierSingleton = buildQuerierMock();
12
- (0, options_1.setOptions)({
13
- querierPool: {
14
- getQuerier: async () => defaultQuerierSingleton,
15
- end: async () => undefined,
16
- },
12
+ (0, options_1.setDefaultQuerierPool)({
13
+ getQuerier: async () => defaultQuerierSingleton,
14
+ end: async () => undefined,
17
15
  });
18
16
  anotherQuerierPool = {
19
17
  getQuerier: async () => anotherQuerierSingleton,
@@ -238,4 +236,4 @@ function buildQuerierMock() {
238
236
  };
239
237
  return querier;
240
238
  }
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJpZXIvZGVjb3JhdG9yL3RyYW5zYWN0aW9uYWwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBMkQ7QUFFM0QsbURBQWdEO0FBQ2hELG1EQUFnRDtBQUVoRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixJQUFJLGtCQUErQixDQUFDO0lBRXBDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkQsTUFBTSx1QkFBdUIsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRW5ELElBQUEsb0JBQVUsRUFBQztZQUNULFdBQVcsRUFBRTtnQkFDWCxVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyx1QkFBdUI7Z0JBQy9DLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFNBQVM7YUFDM0I7U0FDRixDQUFDLENBQUM7UUFFSCxrQkFBa0IsR0FBRztZQUNuQixVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyx1QkFBdUI7WUFDL0MsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsU0FBUztTQUMzQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzdCLE1BQU0sUUFBUTtZQUVaLEtBQUssQ0FBQyxJQUFJLENBQWtCLE9BQWlCLElBQUcsQ0FBQztTQUNsRDtRQURDO1lBREMsSUFBQSw2QkFBYSxHQUFFO1lBQ0osbUJBQUEsSUFBQSw2QkFBYSxHQUFFLENBQUE7Ozs7NENBQXNCO1FBR25ELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdEIsTUFBTSxjQUFjLEdBQUcs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LElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbkMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNwQyxDQUFDLENBQUM7UUFDRixpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBQ0YsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN0QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztRQUNGLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBQ1EsQ0FBQztJQUMzQyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0UXVlcmllciwgc2V0T3B0aW9ucyB9IGZyb20gJ0B1cWwvY29yZS9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIsIFF1ZXJpZXJQb29sLCBXcml0YWJsZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEluamVjdFF1ZXJpZXIgfSBmcm9tICcuL2luamVjdFF1ZXJpZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25hbCB9IGZyb20gJy4vdHJhbnNhY3Rpb25hbCc7XG5cbmRlc2NyaWJlKCd0cmFuc2FjdGlvbmFsJywgKCkgPT4ge1xuICBsZXQgYW5vdGhlclF1ZXJpZXJQb29sOiBRdWVyaWVyUG9vbDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0UXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcbiAgICBjb25zdCBhbm90aGVyUXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcblxuICAgIHNldE9wdGlvbnMoe1xuICAgICAgcXVlcmllclBvb2w6IHtcbiAgICAgICAgZ2V0UXVlcmllcjogYXN5bmMgKCkgPT4gZGVmYXVsdFF1ZXJpZXJTaW5nbGV0b24sXG4gICAgICAgIGVuZDogYXN5bmMgKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGFub3RoZXJRdWVyaWVyUG9vbCA9IHtcbiAgICAgIGdldFF1ZXJpZXI6IGFzeW5jICgpID0+IGFub3RoZXJRdWVyaWVyU2luZ2xldG9uLFxuICAgICAgZW5kOiBhc3luYyAoKSA9PiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdFF1ZXJpZXInLCBhc3luYyAoKSA9PiB7XG4gICAgY2xhc3MgU2VydmljZUEge1xuICAgICAgQFRyYW5zYWN0aW9uYWwoKVxuICAgICAgYXN5bmMgc2F2ZShASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG4gICAgYXdhaXQgc2VydmljZUEuc2F2ZSgpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllciAtIHF1ZXJpZXIgYW5kIHJlcG9zaXRvcmllcycsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCgpXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcbiAgICBhd2FpdCBzZXJ2aWNlQS5zYXZlKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCdpbmplY3RRdWVyaWVyIHByb3BhZ2F0aW9uOiBzdXBwb3J0ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY2xhc3MgU2VydmljZUEge1xuICAgICAgQFRyYW5zYWN0aW9uYWwoeyBwcm9wYWdhdGlvbjogJ3N1cHBvcnRlZCcgfSlcbiAgICAgIGFzeW5jIGZpbmQoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge31cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuICAgIGF3YWl0IHNlcnZpY2VBLmZpbmQoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBhbm90aGVyUXVlcmllciA9IGF3YWl0IGFub3RoZXJRdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdFF1ZXJpZXIgYW5vdGhlciBxdWVyaWVyUG9vbCcsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHF1ZXJpZXJQb29sOiBhbm90aGVyUXVlcmllclBvb2wgfSlcbiAgICAgIGFzeW5jIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge31cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuICAgIGF3YWl0IHNlcnZpY2VBLnNhdmUoKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdFF1ZXJpZXIgYW5kIGNhbGwgc3VwZXInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGVsZXRlU3R1YiA9IGplc3QuZm4oKGlkOiBzdHJpbmcsIHF1ZXJpZXI6IFF1ZXJpZXIpID0+IHt9KTtcblxuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nLCBASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7XG4gICAgICAgIGRlbGV0ZVN0dWIoaWQsIHF1ZXJpZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNsYXNzIFNlcnZpY2VCIGV4dGVuZHMgU2VydmljZUEge1xuICAgICAgQFRyYW5zYWN0aW9uYWwoeyBxdWVyaWVyUG9vbDogYW5vdGhlclF1ZXJpZXJQb29sIH0pXG4gICAgICBvdmVycmlkZSBhc3luYyBkZWxldGUoaWQ6IHN0cmluZywgQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge1xuICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKGlkLCBxdWVyaWVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQiA9IG5ldyBTZXJ2aWNlQigpO1xuICAgIGF3YWl0IHNlcnZpY2VCLmRlbGV0ZSgnMTIzJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWxldGVTdHViKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBhbm90aGVyUXVlcmllciA9IGF3YWl0IGFub3RoZXJRdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVsZXRlU3R1YikudG9IYXZlQmVlbkNhbGxlZFdpdGgoJzEyMycsIGFub3RoZXJRdWVyaWVyKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCd0aHJvdycsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHByb3BhZ2F0aW9uOiAnc3VwcG9ydGVkJyB9KVxuICAgICAgYXN5bmMgc2F2ZShASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU29tZSBFcnJvcicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG5cbiAgICBhd2FpdCBleHBlY3Qoc2VydmljZUEuc2F2ZSgpKS5yZWplY3RzLnRvVGhyb3coJ1NvbWUgRXJyb3InKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBhbm90aGVyUXVlcmllciA9IGF3YWl0IGFub3RoZXJRdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ3Rocm93IGluc2lkZSB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCgpXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIEVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcblxuICAgIGF3YWl0IGV4cGVjdChzZXJ2aWNlQS5zYXZlKCkpLnJlamVjdHMudG9UaHJvdygnU29tZSBFcnJvcicpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDEpO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnbWlzc2luZyBpbmplY3RRdWVyaWVyJywgKCkgPT4ge1xuICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgICAgYXN5bmMgZmluZCgpIHt9XG4gICAgICB9XG4gICAgfSkudG9UaHJvdyhcIm1pc3NpbmcgZGVjb3JhdG9yIEBJbmplY3RRdWVyaWVyKCkgaW4gJ1NlcnZpY2VBLmZpbmQnXCIpO1xuICB9KTtcbn0pO1xuXG5mdW5jdGlvbiBidWlsZFF1ZXJpZXJNb2NrKCk6IFF1ZXJpZXIge1xuICBjb25zdCBxdWVyaWVyID0ge1xuICAgIGJlZ2luVHJhbnNhY3Rpb246IGplc3QuZm4oYXN5bmMgKCkgPT4ge1xuICAgICAgcXVlcmllci5oYXNPcGVuVHJhbnNhY3Rpb24gPSB0cnVlO1xuICAgIH0pLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uOiBqZXN0LmZuKGFzeW5jICgpID0+IHtcbiAgICAgIHF1ZXJpZXIuaGFzT3BlblRyYW5zYWN0aW9uID0gdW5kZWZpbmVkO1xuICAgIH0pLFxuICAgIHJvbGxiYWNrVHJhbnNhY3Rpb246IGplc3QuZm4oYXN5bmMgKCkgPT4ge1xuICAgICAgcXVlcmllci5oYXNPcGVuVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgcmVsZWFzZTogamVzdC5mbihhc3luYyAoKSA9PiB7fSksXG4gIH0gYXMgUGFydGlhbDxRdWVyaWVyPiBhcyBXcml0YWJsZTxRdWVyaWVyPjtcbiAgcmV0dXJuIHF1ZXJpZXI7XG59XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25hbC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJpZXIvZGVjb3JhdG9yL3RyYW5zYWN0aW9uYWwuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBc0U7QUFFdEUsbURBQWdEO0FBQ2hELG1EQUFnRDtBQUVoRCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtJQUM3QixJQUFJLGtCQUErQixDQUFDO0lBRXBDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkQsTUFBTSx1QkFBdUIsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRW5ELElBQUEsK0JBQXFCLEVBQUM7WUFDcEIsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsdUJBQXVCO1lBQy9DLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFNBQVM7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsa0JBQWtCLEdBQUc7WUFDbkIsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsdUJBQXVCO1lBQy9DLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFNBQVM7U0FDM0IsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QixNQUFNLFFBQVE7WUFFWixLQUFLLENBQUMsSUFBSSxDQUFrQixPQUFpQixJQUFHLENBQUM7U0FDbEQ7UUFEQztZQURDLElBQUEsNkJBQWEsR0FBRTtZQUNKLG1CQUFBLElBQUEsNkJBQWEsR0FBRSxDQUFBOzs7OzRDQUFzQjtRQUduRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRCLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBVSxHQUFF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LEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBQ0YsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNwQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztRQUNGLG1CQUFtQixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdEMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztRQUN6QyxDQUFDLENBQUM7UUFDRixPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxHQUFFLENBQUMsQ0FBQztLQUNRLENBQUM7SUFDM0MsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFF1ZXJpZXIsIHNldERlZmF1bHRRdWVyaWVyUG9vbCB9IGZyb20gJ0B1cWwvY29yZS9vcHRpb25zJztcbmltcG9ydCB7IFF1ZXJpZXIsIFF1ZXJpZXJQb29sLCBXcml0YWJsZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEluamVjdFF1ZXJpZXIgfSBmcm9tICcuL2luamVjdFF1ZXJpZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25hbCB9IGZyb20gJy4vdHJhbnNhY3Rpb25hbCc7XG5cbmRlc2NyaWJlKCd0cmFuc2FjdGlvbmFsJywgKCkgPT4ge1xuICBsZXQgYW5vdGhlclF1ZXJpZXJQb29sOiBRdWVyaWVyUG9vbDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0UXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcbiAgICBjb25zdCBhbm90aGVyUXVlcmllclNpbmdsZXRvbiA9IGJ1aWxkUXVlcmllck1vY2soKTtcblxuICAgIHNldERlZmF1bHRRdWVyaWVyUG9vbCh7XG4gICAgICBnZXRRdWVyaWVyOiBhc3luYyAoKSA9PiBkZWZhdWx0UXVlcmllclNpbmdsZXRvbixcbiAgICAgIGVuZDogYXN5bmMgKCkgPT4gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgYW5vdGhlclF1ZXJpZXJQb29sID0ge1xuICAgICAgZ2V0UXVlcmllcjogYXN5bmMgKCkgPT4gYW5vdGhlclF1ZXJpZXJTaW5nbGV0b24sXG4gICAgICBlbmQ6IGFzeW5jICgpID0+IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllcicsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCgpXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHt9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcbiAgICBhd2FpdCBzZXJ2aWNlQS5zYXZlKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCdpbmplY3RRdWVyaWVyIC0gcXVlcmllciBhbmQgcmVwb3NpdG9yaWVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgIGFzeW5jIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge31cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuICAgIGF3YWl0IHNlcnZpY2VBLnNhdmUoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBhbm90aGVyUXVlcmllciA9IGF3YWl0IGFub3RoZXJRdWVyaWVyUG9vbC5nZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ2luamVjdFF1ZXJpZXIgcHJvcGFnYXRpb246IHN1cHBvcnRlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjbGFzcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHByb3BhZ2F0aW9uOiAnc3VwcG9ydGVkJyB9KVxuICAgICAgYXN5bmMgZmluZChASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG4gICAgYXdhaXQgc2VydmljZUEuZmluZCgpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllciBhbm90aGVyIHF1ZXJpZXJQb29sJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKHsgcXVlcmllclBvb2w6IGFub3RoZXJRdWVyaWVyUG9vbCB9KVxuICAgICAgYXN5bmMgc2F2ZShASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7fVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VBID0gbmV3IFNlcnZpY2VBKCk7XG4gICAgYXdhaXQgc2VydmljZUEuc2F2ZSgpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgnaW5qZWN0UXVlcmllciBhbmQgY2FsbCBzdXBlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZWxldGVTdHViID0gamVzdC5mbigoaWQ6IHN0cmluZywgcXVlcmllcjogUXVlcmllcikgPT4ge30pO1xuXG4gICAgY2xhc3MgU2VydmljZUEge1xuICAgICAgQFRyYW5zYWN0aW9uYWwoKVxuICAgICAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcsIEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHtcbiAgICAgICAgZGVsZXRlU3R1YihpZCwgcXVlcmllcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2xhc3MgU2VydmljZUIgZXh0ZW5kcyBTZXJ2aWNlQSB7XG4gICAgICBAVHJhbnNhY3Rpb25hbCh7IHF1ZXJpZXJQb29sOiBhbm90aGVyUXVlcmllclBvb2wgfSlcbiAgICAgIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nLCBASW5qZWN0UXVlcmllcigpIHF1ZXJpZXI/OiBRdWVyaWVyKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5kZWxldGUoaWQsIHF1ZXJpZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VCID0gbmV3IFNlcnZpY2VCKCk7XG4gICAgYXdhaXQgc2VydmljZUIuZGVsZXRlKCcxMjMnKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyaWVyID0gYXdhaXQgZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGRlbGV0ZVN0dWIpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWxldGVTdHViKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnMTIzJywgYW5vdGhlclF1ZXJpZXIpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMSk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgfSk7XG5cbiAgaXQoJ3Rocm93JywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKHsgcHJvcGFnYXRpb246ICdzdXBwb3J0ZWQnIH0pXG4gICAgICBhc3luYyBzYXZlKEBJbmplY3RRdWVyaWVyKCkgcXVlcmllcj86IFF1ZXJpZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTb21lIEVycm9yJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc2VydmljZUEgPSBuZXcgU2VydmljZUEoKTtcblxuICAgIGF3YWl0IGV4cGVjdChzZXJ2aWNlQS5zYXZlKCkpLnJlamVjdHMudG9UaHJvdygnU29tZSBFcnJvcicpO1xuXG4gICAgY29uc3QgZGVmYXVsdFF1ZXJpZXIgPSBhd2FpdCBnZXRRdWVyaWVyKCk7XG5cbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIuYmVnaW5UcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5jb21taXRUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5yb2xsYmFja1RyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJlbGVhc2UpLnRvQmVDYWxsZWRUaW1lcygxKTtcblxuICAgIGNvbnN0IGFub3RoZXJRdWVyaWVyID0gYXdhaXQgYW5vdGhlclF1ZXJpZXJQb29sLmdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDApO1xuICB9KTtcblxuICBpdCgndGhyb3cgaW5zaWRlIHRyYW5zYWN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgIEBUcmFuc2FjdGlvbmFsKClcbiAgICAgIGFzeW5jIHNhdmUoQEluamVjdFF1ZXJpZXIoKSBxdWVyaWVyPzogUXVlcmllcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvbWUgRXJyb3InKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2aWNlQSA9IG5ldyBTZXJ2aWNlQSgpO1xuXG4gICAgYXdhaXQgZXhwZWN0KHNlcnZpY2VBLnNhdmUoKSkucmVqZWN0cy50b1Rocm93KCdTb21lIEVycm9yJyk7XG5cbiAgICBjb25zdCBkZWZhdWx0UXVlcmllciA9IGF3YWl0IGdldFF1ZXJpZXIoKTtcblxuICAgIGV4cGVjdChkZWZhdWx0UXVlcmllci5iZWdpblRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLmNvbW1pdFRyYW5zYWN0aW9uKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gICAgZXhwZWN0KGRlZmF1bHRRdWVyaWVyLnJvbGxiYWNrVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QoZGVmYXVsdFF1ZXJpZXIucmVsZWFzZSkudG9CZUNhbGxlZFRpbWVzKDEpO1xuXG4gICAgY29uc3QgYW5vdGhlclF1ZXJpZXIgPSBhd2FpdCBhbm90aGVyUXVlcmllclBvb2wuZ2V0UXVlcmllcigpO1xuXG4gICAgZXhwZWN0KGFub3RoZXJRdWVyaWVyLmJlZ2luVHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIuY29tbWl0VHJhbnNhY3Rpb24pLnRvQmVDYWxsZWRUaW1lcygwKTtcbiAgICBleHBlY3QoYW5vdGhlclF1ZXJpZXIucm9sbGJhY2tUcmFuc2FjdGlvbikudG9CZUNhbGxlZFRpbWVzKDApO1xuICAgIGV4cGVjdChhbm90aGVyUXVlcmllci5yZWxlYXNlKS50b0JlQ2FsbGVkVGltZXMoMCk7XG4gIH0pO1xuXG4gIGl0KCdtaXNzaW5nIGluamVjdFF1ZXJpZXInLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIGNsYXNzIFNlcnZpY2VBIHtcbiAgICAgICAgQFRyYW5zYWN0aW9uYWwoKVxuICAgICAgICBhc3luYyBmaW5kKCkge31cbiAgICAgIH1cbiAgICB9KS50b1Rocm93KFwibWlzc2luZyBkZWNvcmF0b3IgQEluamVjdFF1ZXJpZXIoKSBpbiAnU2VydmljZUEuZmluZCdcIik7XG4gIH0pO1xufSk7XG5cbmZ1bmN0aW9uIGJ1aWxkUXVlcmllck1vY2soKTogUXVlcmllciB7XG4gIGNvbnN0IHF1ZXJpZXIgPSB7XG4gICAgYmVnaW5UcmFuc2FjdGlvbjogamVzdC5mbihhc3luYyAoKSA9PiB7XG4gICAgICBxdWVyaWVyLmhhc09wZW5UcmFuc2FjdGlvbiA9IHRydWU7XG4gICAgfSksXG4gICAgY29tbWl0VHJhbnNhY3Rpb246IGplc3QuZm4oYXN5bmMgKCkgPT4ge1xuICAgICAgcXVlcmllci5oYXNPcGVuVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgcm9sbGJhY2tUcmFuc2FjdGlvbjogamVzdC5mbihhc3luYyAoKSA9PiB7XG4gICAgICBxdWVyaWVyLmhhc09wZW5UcmFuc2FjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgICByZWxlYXNlOiBqZXN0LmZuKGFzeW5jICgpID0+IHt9KSxcbiAgfSBhcyBQYXJ0aWFsPFF1ZXJpZXI+IGFzIFdyaXRhYmxlPFF1ZXJpZXI+O1xuICByZXR1cm4gcXVlcmllcjtcbn1cbiJdfQ==
@@ -205,7 +205,7 @@ tslib_1.__decorate([
205
205
  tslib_1.__metadata("design:type", String)
206
206
  ], MeasureUnitCategory.prototype, "name", void 0);
207
207
  tslib_1.__decorate([
208
- (0, entity_1.OneToMany)({ entity: () => MeasureUnit, mappedBy: (measureUnit) => measureUnit.category }),
208
+ (0, entity_1.OneToMany)({ entity: () => MeasureUnit, mappedBy: (measureUnit) => measureUnit.categoryId }),
209
209
  tslib_1.__metadata("design:type", Array)
210
210
  ], MeasureUnitCategory.prototype, "measureUnits", void 0);
211
211
  tslib_1.__decorate([
@@ -287,7 +287,7 @@ tslib_1.__decorate([
287
287
  tslib_1.__metadata("design:type", LedgerAccount)
288
288
  ], Item.prototype, "saleLedgerAccount", void 0);
289
289
  tslib_1.__decorate([
290
- (0, entity_1.Field)({ reference: { entity: () => Tax } }),
290
+ (0, entity_1.Field)({ reference: () => Tax }),
291
291
  tslib_1.__metadata("design:type", Number)
292
292
  ], Item.prototype, "taxId", void 0);
293
293
  tslib_1.__decorate([
@@ -448,4 +448,4 @@ ItemAdjustment = tslib_1.__decorate([
448
448
  (0, entity_1.Entity)()
449
449
  ], ItemAdjustment);
450
450
  exports.ItemAdjustment = ItemAdjustment;
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5TW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2VudGl0eU1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsNkNBQWlHO0FBQ2pHLHlDQUFxQztBQUNyQyx5Q0FBdUM7QUEyQnZDOzs7R0FHRztBQUNILE1BQXNCLFVBQVU7Q0EwQi9CO0FBeEJDO0lBREMsSUFBQSxXQUFFLEdBQUU7O3NDQUNPO0FBS1o7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7NkNBQ2pCO0FBRW5CO0lBREMsSUFBQSxrQkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDOzsyQ0FDbEI7QUFFbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7NkNBQ2Q7QUFFbkI7SUFEQyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7OzJDQUNsQjtBQU1oQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDOzs2Q0FDbkI7QUFNbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQzs7NkNBQ25CO0FBekJyQixnQ0EwQkM7QUFFRDs7R0FFRztBQUVILElBQWEsT0FBTyxHQUFwQixNQUFhLE9BQVEsU0FBUSxVQUFVO0NBS3RDLENBQUE7QUFIQztJQURDLElBQUEsY0FBSyxHQUFFOztxQ0FDTTtBQUVkO0lBREMsSUFBQSxjQUFLLEdBQUU7OzRDQUNhO0FBSlYsT0FBTztJ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Q1QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWM7UUFDNUIsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1FBQzFDLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQzs7NERBQ2lDO0FBRW5DO0lBREMsSUFBQSxjQUFLLEdBQUU7c0NBQ0QsSUFBSTtpREFBQztBQUVaO0lBREMsSUFBQSxjQUFLLEdBQUU7O3dEQUNhO0FBVlYsbUJBQW1CO0lBRC9CLElBQUEsZUFBTSxHQUFFO0dBQ0ksbUJBQW1CLENBVy9CO0FBWFksa0RBQW1CO0FBY2hDLElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWUsU0FBUSxVQUFVO0NBaUI3QyxDQUFBO0FBZkM7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7OENBQ2pCO0FBRWhCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNMLElBQUk7NENBQUM7QUFFWjtJQURDLElBQUEsY0FBSyxHQUFFOzs4Q0FDUTtBQUVoQjtJQURDLElBQUEsY0FBSyxHQUFFOztnREFDVTtBQUVsQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDOztvREFDakI7QUFFdEI7SUFEQyxJQUFBLGtCQUFTLEdBQUU7c0NBQ0MsVUFBVTtrREFBQztBQUV4QjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUM7OzZEQUNqQjtBQUUvQjtJQURDLElBQUEsa0JBQVMsR0FBRTtzQ0FDVSxtQkFBbUI7MkRBQUM7QUFoQi9CLGNBQWM7SUFEMUIsSUFBQSxlQUFNLEdBQUU7R0FDSSxjQUFjLENBaUIxQjtBQWpCWSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRmllbGQsIE1hbnlUb09uZSwgSWQsIE9uZVRvTWFueSwgRW50aXR5LCBPbmVUb09uZSwgTWFueVRvTWFueSB9IGZyb20gJ0B1cWwvY29yZS9lbnRpdHknO1xuaW1wb3J0IHsgcmF3IH0gZnJvbSAnQHVxbC9jb3JlL3V0aWwnO1xuaW1wb3J0IHsgaWRLZXkgfSBmcm9tICdAdXFsL2NvcmUvdHlwZSc7XG5cbi8qKlxuICogaW50ZXJmYWNlcyBjYW4gKG9wdGlvbmFsbHkpIGJlIHVzZWQgdG8gYXZvaWQgY2lyY3VsYXItcmVmZXJlbmNlIGlzc3VlIGJldHdlZW4gZW50aXRpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVudGl0eSB7XG4gIGlkPzogbnVtYmVyO1xuICBjb21wYW55SWQ/OiBudW1iZXI7XG4gIGNvbXBhbnk/OiBJQ29tcGFueTtcbiAgY3JlYXRvcklkPzogbnVtYmVyO1xuICBjcmVhdG9yPzogSVVzZXI7XG4gIGNyZWF0ZWRBdD86IG51bWJlcjtcbiAgdXBkYXRlZEF0PzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSUNvbXBhbnkgZXh0ZW5kcyBJRW50aXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJVXNlciBleHRlbmRzIElFbnRpdHkge1xuICBuYW1lPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHByb2ZpbGU/OiBQcm9maWxlO1xufVxuXG4vKipcbiAqIGFuIGFic3RyYWN0IGNsYXNzIGNhbiAob3B0aW9uYWxseSkgYmUgdXNlZCBhcyBhIFwidGVtcGxhdGVcIiBmb3IgdGhlIGVudGl0aWVzXG4gKiAoc28gdGhlIGNvbW1vbiBhdHRyaWJ1dGVzJyBkZWNsYXJhdGlvbiBpcyByZXVzZWQpLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUVudGl0eSBpbXBsZW1lbnRzIElFbnRpdHkge1xuICBASWQoKVxuICBpZD86IG51bWJlcjtcbiAgLyoqXG4gICAqIGZvcmVpZ24ta2V5cyBhcmUgcmVhbGx5IHNpbXBsZSB0byBzcGVjaWZ5XG4gICAqL1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IENvbXBhbnkgfSlcbiAgY29tcGFueUlkPzogbnVtYmVyO1xuICBATWFueVRvT25lKHsgZW50aXR5OiAoKSA9PiBDb21wYW55IH0pXG4gIGNvbXBhbnk/OiBJQ29tcGFueTtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBVc2VyIH0pXG4gIGNyZWF0b3JJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSh7IGVudGl0eTogKCkgPT4gVXNlciB9KVxuICBjcmVhdG9yPzogSVVzZXI7XG4gIC8qKlxuICAgKiAnb25JbnNlcnQnIGNhbGxiYWNrIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbWVjaGFuaXNtIGZvclxuICAgKiBvYnRhaW5pbmcgdGhlIHZhbHVlIG9mIGEgZmllbGQgd2hlbiBpbnNlcnRpbmc6XG4gICAqL1xuICBARmllbGQoeyBvbkluc2VydDogKCkgPT4gRGF0ZS5ub3coKSB9KVxuICBjcmVhdGVkQXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiAnb25VcGRhdGUnIGNhbGxiYWNrIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbWVjaGFuaXNtIGZvclxuICAgKiBvYnRhaW5pbmcgdGhlIHZhbHVlIG9mIGEgZmllbGQgd2hlbiB1cGRhdGluZzpcbiAgICovXG4gIEBGaWVsZCh7IG9uVXBkYXRlOiAoKSA9PiBEYXRlLm5vdygpIH0pXG4gIHVwZGF0ZWRBdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBgQ29tcGFueWAgd2lsbCBpbmhlcml0IGFsbCB0aGUgZmllbGRzIChpbmNsdWRpbmcgdGhlIGBJZGApIGRlY2xhcmVkIGluIGBCYXNlRW50aXR5YC5cbiAqL1xuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgQ29tcGFueSBleHRlbmRzIEJhc2VFbnRpdHkgaW1wbGVtZW50cyBJQ29tcGFueSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIGFuZCBlbnRpdHkgY2FuIHNwZWNpZnkgdGhlIHRhYmxlIG5hbWVcbiAqL1xuQEVudGl0eSh7IG5hbWU6ICd1c2VyX3Byb2ZpbGUnIH0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZSBleHRlbmRzIEJhc2VFbnRpdHkge1xuICAvKipcbiAgICogYW4gZW50aXR5IGNhbiBzcGVjaWZ5IGl0cyBvd24gSUQgRmllbGQgYW5kIHN0aWxsIGluaGVyaXQgdGhlIG90aGVyc1xuICAgKiBjb2x1bW5zL3JlbGF0aW9ucyBmcm9tIGl0cyBwYXJlbnQgZW50aXR5LlxuICAgKiAnb25JbnNlcnQnIGNhbGxiYWNrIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBjdXN0b20gbWVjaGFuaXNtIGZvclxuICAgKiBhdXRvLWdlbmVyYXRpbmcgdGhlIHByaW1hcnkta2V5J3MgdmFsdWUgd2hlbiBpbnNlcnRpbmcuXG4gICAqL1xuICBASWQoeyBuYW1lOiAncGsnIH0pXG4gIG92ZXJyaWRlIGlkPzogbnVtYmVyO1xuICBARmllbGQoeyBuYW1lOiAnaW1hZ2UnIH0pXG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIEBPbmVUb09uZSh7IGVudGl0eTogKCkgPT4gVXNlciB9KVxuICBvdmVycmlkZSBjcmVhdG9yPzogSVVzZXI7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlRW50aXR5IGltcGxlbWVudHMgSVVzZXIge1xuICBARmllbGQoKVxuICBuYW1lPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBlbWFpbD86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBgbWFwcGVkQnlgIGNhbiBiZSBhIGNhbGxiYWNrIG9yIGEgc3RyaW5nIChjYWxsYmFjayBpcyB1c2VmdWwgZm9yIGF1dG8tcmVmYWN0b3JpbmcpLlxuICAgKi9cbiAgQE9uZVRvT25lKHsgZW50aXR5OiAoKSA9PiBQcm9maWxlLCBtYXBwZWRCeTogKHByb2ZpbGUpID0+IHByb2ZpbGUuY3JlYXRvciwgY2FzY2FkZTogdHJ1ZSB9KVxuICBwcm9maWxlPzogUHJvZmlsZTtcbiAgQE9uZVRvTWFueSh7IGVudGl0eTogKCkgPT4gVXNlciwgbWFwcGVkQnk6ICdjcmVhdG9yJyB9KVxuICB1c2Vycz86IFVzZXJbXTtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgTGVkZ2VyQWNjb3VudCBleHRlbmRzIEJhc2VFbnRpdHkge1xuICBARmllbGQoKVxuICBuYW1lPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBMZWRnZXJBY2NvdW50IH0pXG4gIHBhcmVudExlZGdlcklkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgcGFyZW50TGVkZ2VyPzogTGVkZ2VyQWNjb3VudDtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgVGF4Q2F0ZWdvcnkgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgLyoqXG4gICAqIGBpZEtleWAgc3ltYm9sIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhlIGlkZW50aWZpZXIgcHJvcGVydHksXG4gICAqIHNvIHRoZSB0eXBlIG9mIHRoZSBpZGVudGlmaWVyIGNhbiBhbHdheXMgYmUgdHlwZS1zYWZlXG4gICAqICh0aGUgaWRlbnRpZmllcnMgbmFtZWQgYXMgYGlkYCBvciBgX2lkYCBhcmUgYXV0by1pbmZlcnJlZCkuXG4gICAqL1xuICBbaWRLZXldPzogJ3BrJztcbiAgLyoqXG4gICAqIGFuIGVudGl0eSBjYW4gc3BlY2lmeSBpdHMgb3duIElEIEZpZWxkIGFuZCBzdGlsbCBpbmhlcml0IHRoZSBvdGhlcnNcbiAgICogY29sdW1ucy9yZWxhdGlvbnMgZnJvbSBpdHMgcGFyZW50IGVudGl0eS5cbiAgICogJ29uSW5zZXJ0JyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogYXV0by1nZW5lcmF0aW5nIHRoZSBwcmltYXJ5LWtleSdzIHZhbHVlIHdoZW4gaW5zZXJ0aW5nLlxuICAgKi9cbiAgQElkKHsgb25JbnNlcnQ6IHV1aWR2NCB9KVxuICBwaz86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUZXN0IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBUYXhDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogc3RyaW5nO1xuICBATWFueVRvT25lKClcbiAgY2F0ZWdvcnk/OiBUYXhDYXRlZ29yeTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIFRheCBleHRlbmRzIEJhc2VFbnRpdHkge1xuICBARmllbGQoKVxuICBuYW1lPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBwZXJjZW50YWdlPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRheENhdGVnb3J5IH0pXG4gIGNhdGVnb3J5SWQ/OiBzdHJpbmc7XG4gIEBNYW55VG9PbmUoKVxuICBjYXRlZ29yeT86IFRheENhdGVnb3J5O1xuICBARmllbGQoKVxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBgc29mdERlbGV0ZWAgd2lsbCBtYWtlIHRoZSBlbnRpdHkgXCJzb2Z0IGRlbGV0YWJsZVwiLlxuICovXG5ARW50aXR5KHsgc29mdERlbGV0ZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE1lYXN1cmVVbml0Q2F0ZWdvcnkgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQE9uZVRvTWFueSh7IGVudGl0eTogKCkgPT4gTWVhc3VyZVVuaXQsIG1hcHBlZEJ5OiAobWVhc3VyZVVuaXQpID0+IG1lYXN1cmVVbml0LmNhdGVnb3J5IH0pXG4gIG1lYXN1cmVVbml0cz86IE1lYXN1cmVVbml0W107XG4gIC8qKlxuICAgKiBgb25EZWxldGVgIGNhbGxiYWNrIGFsbG93cyB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkIHdpbGwgYmUgdXNlZCB3aGVuIGRlbGV0aW5nL3F1ZXJ5aW5nIHRoaXMgZW50aXR5LlxuICAgKi9cbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KHsgc29mdERlbGV0ZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE1lYXN1cmVVbml0IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTWVhc3VyZVVuaXRDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogbnVtYmVyO1xuICBATWFueVRvT25lKHsgY2FzY2FkZTogJ3BlcnNpc3QnIH0pXG4gIGNhdGVnb3J5PzogTWVhc3VyZVVuaXRDYXRlZ29yeTtcbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBTdG9yZWhvdXNlIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBJdGVtIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBjb2RlPzogc3RyaW5nO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IExlZGdlckFjY291bnQgfSlcbiAgYnV5TGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgYnV5TGVkZ2VyQWNjb3VudD86IExlZGdlckFjY291bnQ7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTGVkZ2VyQWNjb3VudCB9KVxuICBzYWxlTGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgc2FsZUxlZGdlckFjY291bnQ/OiBMZWRnZXJBY2NvdW50O1xuICBARmllbGQoeyByZWZlcmVuY2U6IHsgZW50aXR5OiAoKSA9PiBUYXggfSB9KVxuICB0YXhJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHRheD86IFRheDtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBNZWFzdXJlVW5pdCB9KVxuICBtZWFzdXJlVW5pdElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgbWVhc3VyZVVuaXQ/OiBNZWFzdXJlVW5pdDtcbiAgQEZpZWxkKClcbiAgc2FsZVByaWNlPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBpbnZlbnRvcnlhYmxlPzogYm9vbGVhbjtcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IFRhZywgdGhyb3VnaDogKCkgPT4gSXRlbVRhZywgY2FzY2FkZTogdHJ1ZSB9KVxuICB0YWdzPzogVGFnW107XG4gIEBGaWVsZCh7XG4gICAgLyoqXG4gICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICogc3VjaCB2YWx1ZSBtaWdodCBiZSBhIHNjYWxhciBvciBhIChgcmF3YCkgZnVuY3Rpb24uIFZpcnR1YWwtZmllbGRzIGNhbiBiZVxuICAgICAqIHVzZWQgaW4gYCRwcm9qZWN0YCwgYCRmaWx0ZXJgIGFuZCBgJGhhdmluZ2AgYXMgYSBjb21tb24gZmllbGQgd2hvc2UgdmFsdWVcbiAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAqL1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gZGlhbGVjdC5jb3VudChcbiAgICAgICAgSXRlbVRhZyxcbiAgICAgICAge1xuICAgICAgICAgICRmaWx0ZXI6IHtcbiAgICAgICAgICAgIGl0ZW1JZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgdGFnc0NvdW50PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBUYWcgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IEl0ZW0sIG1hcHBlZEJ5OiAoaXRlbSkgPT4gaXRlbS50YWdzIH0pXG4gIGl0ZW1zPzogSXRlbVtdO1xuICBARmllbGQoe1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIC8qKlxuICAgICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICAgKiBzdWNoIHZhbHVlIG1pZ2h0IGJlIGEgc2NhbGFyIG9yIGEgKGByYXdgKSBmdW5jdGlvbi4gVmlydHVhbC1maWVsZHMgY2FuIGJlXG4gICAgICAgKiB1c2VkIGluIGAkcHJvamVjdGAsIGAkZmlsdGVyYCBhbmQgYCRoYXZpbmdgIGFzIGEgY29tbW9uIGZpZWxkIHdob3NlIHZhbHVlXG4gICAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAgICovXG4gICAgICBjb25zdCBxdWVyeSA9IGRpYWxlY3QuY291bnQoXG4gICAgICAgIEl0ZW1UYWcsXG4gICAgICAgIHtcbiAgICAgICAgICAkZmlsdGVyOiB7XG4gICAgICAgICAgICB0YWdJZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgaXRlbXNDb3VudD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSXRlbVRhZyB7XG4gIEBJZCgpXG4gIGlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEl0ZW0gfSlcbiAgaXRlbUlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRhZyB9KVxuICB0YWdJZD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5QWRqdXN0bWVudCBleHRlbmRzIEJhc2VFbnRpdHkge1xuICBAT25lVG9NYW55KHtcbiAgICBlbnRpdHk6ICgpID0+IEl0ZW1BZGp1c3RtZW50LFxuICAgIG1hcHBlZEJ5OiAocmVsKSA9PiByZWwuaW52ZW50b3J5QWRqdXN0bWVudCxcbiAgICBjYXNjYWRlOiB0cnVlLFxuICB9KVxuICBpdGVtQWRqdXN0bWVudHM/OiBJdGVtQWRqdXN0bWVudFtdO1xuICBARmllbGQoKVxuICBkYXRlPzogRGF0ZTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIEl0ZW1BZGp1c3RtZW50IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gSXRlbSB9KVxuICBpdGVtSWQ/OiBudW1iZXI7XG4gIEBNYW55VG9PbmUoKVxuICBpdGVtPzogSXRlbTtcbiAgQEZpZWxkKClcbiAgbnVtYmVyPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBidXlQcmljZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBTdG9yZWhvdXNlIH0pXG4gIHN0b3JlaG91c2VJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHN0b3JlaG91c2U/OiBTdG9yZWhvdXNlO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEludmVudG9yeUFkanVzdG1lbnQgfSlcbiAgaW52ZW50b3J5QWRqdXN0bWVudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgaW52ZW50b3J5QWRqdXN0bWVudD86IEludmVudG9yeUFkanVzdG1lbnQ7XG59XG4iXX0=
451
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5TW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2VudGl0eU1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBb0M7QUFDcEMsNkNBQWlHO0FBQ2pHLHlDQUFxQztBQUNyQyx5Q0FBdUM7QUEyQnZDOzs7R0FHRztBQUNILE1BQXNCLFVBQVU7Q0EwQi9CO0FBeEJDO0lBREMsSUFBQSxXQUFFLEdBQUU7O3NDQUNPO0FBS1o7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs7NkNBQ2pCO0FBRW5CO0lBREMsSUFBQSxrQkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDOzsyQ0FDbEI7QUFFbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7NkNBQ2Q7QUFFbkI7SUFEQyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7OzJDQUNsQjtBQU1oQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDOzs2Q0FDbkI7QUFNbkI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQzs7NkNBQ25CO0FBekJyQixnQ0EwQkM7QUFFRDs7R0FFRztBQUVILElBQWEsT0FBTyxHQUFwQixNQUFhLE9BQVEsU0FBUSxVQUFVO0NBS3RDLENBQUE7QUFIQztJQURDLElBQUEsY0FBSyxHQUFFOztxQ0FDTTtBQUVkO0lBREMsSUFBQSxjQUFLLEdBQUU7OzRDQUNhO0FBSlYsT0FBTztJQURuQixJQUFBLGVBQU0sR0FBRTtHQUNJLE9BQU8sQ0FLbkI7QUFMWSwwQkFBTztBQU9wQjs7R0FFRztBQUVILElBQWEsT0FBTyxHQUFwQixNQUFhLE9BQVEsU0FBUSxVQUFVO0NBYXRDLENBQUE7QUFMQztJQURDLElBQUEsV0FBRSxFQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDOzttQ0FDRTtBQUVyQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt3Q0FDUjtBQUVqQjtJQURDLElBQUEsaUJBQVEsRUFBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7d0NBQ1I7QUFaZCxPQUFPO0lBRG5CLElBQUEsZUFBTSxFQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDO0dBQ3BCLE9BQU8sQ0FhbkI7QUFiWSwwQkFBTztBQWdCcEIsSUFBYSxJQUFJLFlBQWpCLE1BQWEsSUFBSyxTQUFRLFVBQVU7Q0FjbkMsQ0FBQTtBQVpDO0lBREMsSUFBQSxjQUFLLEdBQUU7O2tDQUNNO0FBRWQ7SUFEQyxJQUFBLGNBQUssR0FBRTs7bUNBQ087QUFFZjtJQURDLElBQUEsY0FBSyxHQUFFOztzQ0FDVTtBQUtsQjtJQURDLElBQUEsaUJBQVEsRUFBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztzQ0FDakYsT0FBTztxQ0FBQztBQUVsQjtJQURDLElBQUEsa0JBQVMsRUFBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDOzttQ0FDeEM7QUFiSixJQUFJO0lBRGhCLElBQUEsZUFBTSxHQUFFO0dBQ0ksSUFBSSxDQWNoQjtBQWRZLG9CQUFJO0FBaUJqQixJQUFhLGFBQWEscUJBQTFCLE1BQWEsYUFBYyxTQUFRLFVBQVU7Q0FTNUMsQ0FBQTtBQVBDO0lBREMsSUFBQSxjQUFLLEdBQUU7OzJDQUNNO0FBRWQ7SUFEQyxJQUFBLGNBQUssR0FBRTs7a0RBQ2E7QUFFckI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFhLEVBQUUsQ0FBQzs7cURBQ2xCO0FBRXhCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNHLGFBQWE7bURBQUM7QUFSbEIsYUFBYTtJQUR6QixJQUFBLGVBQU0sR0FBRTtHQUNJLGFBQWEsQ0FTekI7QUFUWSxzQ0FBYTtBQVkxQixJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFZLFNBQVEsVUFBVTtDQW1CMUMsQ0FBQTtBQUxDO0lBREMsSUFBQSxXQUFFLEVBQUMsRUFBRSxRQUFRLEVBQUUsU0FBTSxFQUFFLENBQUM7O3VDQUNiO0FBRVo7SUFEQyxJQUFBLGNBQUssR0FBRTs7eUNBQ007QUFFZDtJQURDLElBQUEsY0FBSyxHQUFFOztnREFDYTtBQWxCVixXQUFXO0lBRHZCLElBQUEsZUFBTSxHQUFFO0dBQ0ksV0FBVyxDQW1CdkI7QUFuQlksa0NBQVc7QUFxQnhCLE1BQWEsSUFBSTtDQVdoQjtBQVRDO0lBREMsSUFBQSxjQUFLLEdBQUU7O2tDQUNNO0FBRWQ7SUFEQyxJQUFBLGNBQUssR0FBRTs7d0NBQ1k7QUFFcEI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7d0NBQ3BCO0FBRXBCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNELFdBQVc7c0NBQUM7QUFFdkI7SUFEQyxJQUFBLGNBQUssR0FBRTs7eUNBQ2E7QUFWdkIsb0JBV0M7QUFHRCxJQUFhLEdBQUcsR0FBaEIsTUFBYSxHQUFJLFNBQVEsVUFBVTtDQVdsQyxDQUFBO0FBVEM7SUFEQyxJQUFBLGNBQUssR0FBRTs7aUNBQ007QUFFZDtJQURDLElBQUEsY0FBSyxHQUFFOzt1Q0FDWTtBQUVwQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDOzt1Q0FDcEI7QUFFcEI7SUFEQyxJQUFBLGtCQUFTLEdBQUU7c0NBQ0QsV0FBVztxQ0FBQztBQUV2QjtJQURDLElBQUEsY0FBSyxHQUFFOzt3Q0FDYTtBQVZWLEdBQUc7SUFEZixJQUFBLGVBQU0sR0FBRTtHQUNJLEdBQUcsQ0FXZjtBQVhZLGtCQUFHO0FBYWhCOztHQUVHO0FBRUgsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBb0IsU0FBUSxVQUFVO0NBVWxELENBQUE7QUFSQztJQURDLElBQUEsY0FBSyxHQUFFOztpREFDTTtBQUVkO0lBREMsSUFBQSxrQkFBUyxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7eURBQy9EO0FBSzdCO0lBREMsSUFBQSxjQUFLLEVBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7O3NEQUNuQjtBQVRSLG1CQUFtQjtJQUQvQixJQUFBLGVBQU0sRUFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztHQUNoQixtQkFBbUIsQ0FVL0I7QUFWWSxrREFBbUI7QUFhaEMsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBWSxTQUFRLFVBQVU7Q0FTMUMsQ0FBQTtBQVBDO0lBREMsSUFBQSxjQUFLLEdBQUU7O3lDQUNNO0FBRWQ7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzsrQ0FDNUI7QUFFcEI7SUFEQyxJQUFBLGtCQUFTLEVBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7c0NBQ3ZCLG1CQUFtQjs2Q0FBQztBQUUvQjtJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDOzs4Q0FDbkI7QUFSUixXQUFXO0lBRHZCLElBQUEsZUFBTSxFQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0dBQ2hCLFdBQVcsQ0FTdkI7QUFUWSxrQ0FBVztBQVl4QixJQUFhLFVBQVUsR0FBdkIsTUFBYSxVQUFXLFNBQVEsVUFBVTtDQU96QyxDQUFBO0FBTEM7SUFEQyxJQUFBLGNBQUssR0FBRTs7d0NBQ007QUFFZDtJQURDLElBQUEsY0FBSyxHQUFFOzsyQ0FDUztBQUVqQjtJQURDLElBQUEsY0FBSyxHQUFFOzsrQ0FDYTtBQU5WLFVBQVU7SUFEdEIsSUFBQSxlQUFNLEdBQUU7R0FDSSxVQUFVLENBT3RCO0FBUFksZ0NBQVU7QUFVdkIsSUFBYSxJQUFJLEdBQWpCLE1BQWEsSUFBSyxTQUFRLFVBQVU7Q0FrRG5DLENBQUE7QUFoREM7SUFEQyxJQUFBLGNBQUssR0FBRTs7a0NBQ007QUFFZDtJQURDLElBQUEsY0FBSyxHQUFFOzt5Q0FDYTtBQUVyQjtJQURDLElBQUEsY0FBSyxHQUFFOztrQ0FDTTtBQUVkO0lBREMsSUFBQSxjQUFLLEVBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7O2dEQUNkO0FBRTVCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNPLGFBQWE7OENBQUM7QUFFakM7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs7aURBQ2I7QUFFN0I7SUFEQyxJQUFBLGtCQUFTLEdBQUU7c0NBQ1EsYUFBYTsrQ0FBQztBQUVsQztJQURDLElBQUEsY0FBSyxFQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDOzttQ0FDakI7QUFFZjtJQURDLElBQUEsa0JBQVMsR0FBRTtzQ0FDTixHQUFHO2lDQUFDO0FBRVY7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7MkNBQ2pCO0FBRXZCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNFLFdBQVc7eUNBQUM7QUFFMUI7SUFEQyxJQUFBLGNBQUssR0FBRTs7dUNBQ1c7QUFFbkI7SUFEQyxJQUFBLGNBQUssR0FBRTs7MkNBQ2dCO0FBRXhCO0lBREMsSUFBQSxtQkFBVSxFQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzs7a0NBQzVEO0FBcUJiO0lBcEJDLElBQUEsY0FBSyxFQUFDO1FBQ0w7Ozs7O1dBS0c7UUFDSCxPQUFPLEVBQUUsSUFBQSxVQUFHLEVBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQ3pCLE9BQU8sRUFDUDtnQkFDRSxPQUFPLEVBQUU7b0JBQ1AsTUFBTSxFQUFFLElBQUEsVUFBRyxFQUFDLEdBQUcsYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDekQ7YUFDRixFQUNELEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUNyQixDQUFDO1lBQ0YsT0FBTyxJQUFJLEtBQUssR0FBRyxDQUFDO1FBQ3RCLENBQUMsQ0FBQztLQUNILENBQUM7O3VDQUNpQjtBQWpEUixJQUFJO0lBRGhCLElBQUEsZUFBTSxHQUFFO0dBQ0ksSUFBSSxDQWtEaEI7QUFsRFksb0JBQUk7QUFxRGpCLElBQWEsR0FBRyxHQUFoQixNQUFhLEdBQUksU0FBUSxVQUFVO0NBMEJsQyxDQUFBO0FBeEJDO0lBREMsSUFBQSxjQUFLLEdBQUU7O2lDQUNNO0FBRWQ7SUFEQyxJQUFBLG1CQUFVLEVBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDOztrQ0FDbkQ7QUFxQmY7SUFwQkMsSUFBQSxjQUFLLEVBQUM7UUFDTCxPQUFPLEVBQUUsSUFBQSxVQUFHLEVBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQzFDOzs7OztlQUtHO1lBQ0gsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FDekIsT0FBTyxFQUNQO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxLQUFLLEVBQUUsSUFBQSxVQUFHLEVBQUMsR0FBRyxhQUFhLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2lCQUN4RDthQUNGLEVBQ0QsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQ3JCLENBQUM7WUFDRixPQUFPLElBQUksS0FBSyxHQUFHLENBQUM7UUFDdEIsQ0FBQyxDQUFDO0tBQ0gsQ0FBQzs7dUNBQ2tCO0FBekJULEdBQUc7SUFEZixJQUFBLGVBQU0sR0FBRTtHQUNJLEdBQUcsQ0EwQmY7QUExQlksa0JBQUc7QUE2QmhCLElBQWEsT0FBTyxHQUFwQixNQUFhLE9BQU87Q0FPbkIsQ0FBQTtBQUxDO0lBREMsSUFBQSxXQUFFLEdBQUU7O21DQUNPO0FBRVo7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7dUNBQ2pCO0FBRWhCO0lBREMsSUFBQSxjQUFLLEVBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7O3NDQUNqQjtBQU5KLE9BQU87SUFEbkIsSUFBQSxlQUFNLEdBQUU7R0FDSSxPQUFPLENBT25CO0FBUFksMEJBQU87QUFVcEIsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBb0IsU0FBUSxVQUFVO0NBV2xELENBQUE7QUFMQztJQUxDLElBQUEsa0JBQVMsRUFBQztRQUNULE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjO1FBQzVCLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtRQUMxQyxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7OzREQUNpQztBQUVuQztJQURDLElBQUEsY0FBSyxHQUFFO3NDQUNELElBQUk7aURBQUM7QUFFWjtJQURDLElBQUEsY0FBSyxHQUFFOzt3REFDYTtBQVZWLG1CQUFtQjtJQUQvQixJQUFBLGVBQU0sR0FBRTtHQUNJLG1CQUFtQixDQVcvQjtBQVhZLGtEQUFtQjtBQWNoQyxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFlLFNBQVEsVUFBVTtDQWlCN0MsQ0FBQTtBQWZDO0lBREMsSUFBQSxjQUFLLEVBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7OzhDQUNqQjtBQUVoQjtJQURDLElBQUEsa0JBQVMsR0FBRTtzQ0FDTCxJQUFJOzRDQUFDO0FBRVo7SUFEQyxJQUFBLGNBQUssR0FBRTs7OENBQ1E7QUFFaEI7SUFEQyxJQUFBLGNBQUssR0FBRTs7Z0RBQ1U7QUFFbEI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7b0RBQ2pCO0FBRXRCO0lBREMsSUFBQSxrQkFBUyxHQUFFO3NDQUNDLFVBQVU7a0RBQUM7QUFFeEI7SUFEQyxJQUFBLGNBQUssRUFBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzs2REFDakI7QUFFL0I7SUFEQyxJQUFBLGtCQUFTLEdBQUU7c0NBQ1UsbUJBQW1COzJEQUFDO0FBaEIvQixjQUFjO0lBRDFCLElBQUEsZUFBTSxHQUFFO0dBQ0ksY0FBYyxDQWlCMUI7QUFqQlksd0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEZpZWxkLCBNYW55VG9PbmUsIElkLCBPbmVUb01hbnksIEVudGl0eSwgT25lVG9PbmUsIE1hbnlUb01hbnkgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5JztcbmltcG9ydCB7IHJhdyB9IGZyb20gJ0B1cWwvY29yZS91dGlsJztcbmltcG9ydCB7IGlkS2V5IH0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuXG4vKipcbiAqIGludGVyZmFjZXMgY2FuIChvcHRpb25hbGx5KSBiZSB1c2VkIHRvIGF2b2lkIGNpcmN1bGFyLXJlZmVyZW5jZSBpc3N1ZSBiZXR3ZWVuIGVudGl0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFbnRpdHkge1xuICBpZD86IG51bWJlcjtcbiAgY29tcGFueUlkPzogbnVtYmVyO1xuICBjb21wYW55PzogSUNvbXBhbnk7XG4gIGNyZWF0b3JJZD86IG51bWJlcjtcbiAgY3JlYXRvcj86IElVc2VyO1xuICBjcmVhdGVkQXQ/OiBudW1iZXI7XG4gIHVwZGF0ZWRBdD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElDb21wYW55IGV4dGVuZHMgSUVudGl0eSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSVVzZXIgZXh0ZW5kcyBJRW50aXR5IHtcbiAgbmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBwcm9maWxlPzogUHJvZmlsZTtcbn1cblxuLyoqXG4gKiBhbiBhYnN0cmFjdCBjbGFzcyBjYW4gKG9wdGlvbmFsbHkpIGJlIHVzZWQgYXMgYSBcInRlbXBsYXRlXCIgZm9yIHRoZSBlbnRpdGllc1xuICogKHNvIHRoZSBjb21tb24gYXR0cmlidXRlcycgZGVjbGFyYXRpb24gaXMgcmV1c2VkKS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VFbnRpdHkgaW1wbGVtZW50cyBJRW50aXR5IHtcbiAgQElkKClcbiAgaWQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBmb3JlaWduLWtleXMgYXJlIHJlYWxseSBzaW1wbGUgdG8gc3BlY2lmeVxuICAgKi9cbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBDb21wYW55IH0pXG4gIGNvbXBhbnlJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSh7IGVudGl0eTogKCkgPT4gQ29tcGFueSB9KVxuICBjb21wYW55PzogSUNvbXBhbnk7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gVXNlciB9KVxuICBjcmVhdG9ySWQ/OiBudW1iZXI7XG4gIEBNYW55VG9PbmUoeyBlbnRpdHk6ICgpID0+IFVzZXIgfSlcbiAgY3JlYXRvcj86IElVc2VyO1xuICAvKipcbiAgICogJ29uSW5zZXJ0JyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogb2J0YWluaW5nIHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHdoZW4gaW5zZXJ0aW5nOlxuICAgKi9cbiAgQEZpZWxkKHsgb25JbnNlcnQ6ICgpID0+IERhdGUubm93KCkgfSlcbiAgY3JlYXRlZEF0PzogbnVtYmVyO1xuICAvKipcbiAgICogJ29uVXBkYXRlJyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogb2J0YWluaW5nIHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHdoZW4gdXBkYXRpbmc6XG4gICAqL1xuICBARmllbGQoeyBvblVwZGF0ZTogKCkgPT4gRGF0ZS5ub3coKSB9KVxuICB1cGRhdGVkQXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogYENvbXBhbnlgIHdpbGwgaW5oZXJpdCBhbGwgdGhlIGZpZWxkcyAoaW5jbHVkaW5nIHRoZSBgSWRgKSBkZWNsYXJlZCBpbiBgQmFzZUVudGl0eWAuXG4gKi9cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIENvbXBhbnkgZXh0ZW5kcyBCYXNlRW50aXR5IGltcGxlbWVudHMgSUNvbXBhbnkge1xuICBARmllbGQoKVxuICBuYW1lPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBhbmQgZW50aXR5IGNhbiBzcGVjaWZ5IHRoZSB0YWJsZSBuYW1lXG4gKi9cbkBFbnRpdHkoeyBuYW1lOiAndXNlcl9wcm9maWxlJyB9KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGUgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgLyoqXG4gICAqIGFuIGVudGl0eSBjYW4gc3BlY2lmeSBpdHMgb3duIElEIEZpZWxkIGFuZCBzdGlsbCBpbmhlcml0IHRoZSBvdGhlcnNcbiAgICogY29sdW1ucy9yZWxhdGlvbnMgZnJvbSBpdHMgcGFyZW50IGVudGl0eS5cbiAgICogJ29uSW5zZXJ0JyBjYWxsYmFjayBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgY3VzdG9tIG1lY2hhbmlzbSBmb3JcbiAgICogYXV0by1nZW5lcmF0aW5nIHRoZSBwcmltYXJ5LWtleSdzIHZhbHVlIHdoZW4gaW5zZXJ0aW5nLlxuICAgKi9cbiAgQElkKHsgbmFtZTogJ3BrJyB9KVxuICBvdmVycmlkZSBpZD86IG51bWJlcjtcbiAgQEZpZWxkKHsgbmFtZTogJ2ltYWdlJyB9KVxuICBwaWN0dXJlPzogc3RyaW5nO1xuICBAT25lVG9PbmUoeyBlbnRpdHk6ICgpID0+IFVzZXIgfSlcbiAgb3ZlcnJpZGUgY3JlYXRvcj86IElVc2VyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgQmFzZUVudGl0eSBpbXBsZW1lbnRzIElVc2VyIHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgZW1haWw/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogYG1hcHBlZEJ5YCBjYW4gYmUgYSBjYWxsYmFjayBvciBhIHN0cmluZyAoY2FsbGJhY2sgaXMgdXNlZnVsIGZvciBhdXRvLXJlZmFjdG9yaW5nKS5cbiAgICovXG4gIEBPbmVUb09uZSh7IGVudGl0eTogKCkgPT4gUHJvZmlsZSwgbWFwcGVkQnk6IChwcm9maWxlKSA9PiBwcm9maWxlLmNyZWF0b3IsIGNhc2NhZGU6IHRydWUgfSlcbiAgcHJvZmlsZT86IFByb2ZpbGU7XG4gIEBPbmVUb01hbnkoeyBlbnRpdHk6ICgpID0+IFVzZXIsIG1hcHBlZEJ5OiAnY3JlYXRvcicgfSlcbiAgdXNlcnM/OiBVc2VyW107XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIExlZGdlckFjY291bnQgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTGVkZ2VyQWNjb3VudCB9KVxuICBwYXJlbnRMZWRnZXJJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHBhcmVudExlZGdlcj86IExlZGdlckFjY291bnQ7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIFRheENhdGVnb3J5IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIC8qKlxuICAgKiBgaWRLZXlgIHN5bWJvbCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIHRoZSBpZGVudGlmaWVyIHByb3BlcnR5LFxuICAgKiBzbyB0aGUgdHlwZSBvZiB0aGUgaWRlbnRpZmllciBjYW4gYWx3YXlzIGJlIHR5cGUtc2FmZVxuICAgKiAodGhlIGlkZW50aWZpZXJzIG5hbWVkIGFzIGBpZGAgb3IgYF9pZGAgYXJlIGF1dG8taW5mZXJyZWQpLlxuICAgKi9cbiAgW2lkS2V5XT86ICdwayc7XG4gIC8qKlxuICAgKiBhbiBlbnRpdHkgY2FuIHNwZWNpZnkgaXRzIG93biBJRCBGaWVsZCBhbmQgc3RpbGwgaW5oZXJpdCB0aGUgb3RoZXJzXG4gICAqIGNvbHVtbnMvcmVsYXRpb25zIGZyb20gaXRzIHBhcmVudCBlbnRpdHkuXG4gICAqICdvbkluc2VydCcgY2FsbGJhY2sgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGN1c3RvbSBtZWNoYW5pc20gZm9yXG4gICAqIGF1dG8tZ2VuZXJhdGluZyB0aGUgcHJpbWFyeS1rZXkncyB2YWx1ZSB3aGVuIGluc2VydGluZy5cbiAgICovXG4gIEBJZCh7IG9uSW5zZXJ0OiB1dWlkdjQgfSlcbiAgcGs/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVGVzdCB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIHBlcmNlbnRhZ2U/OiBudW1iZXI7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gVGF4Q2F0ZWdvcnkgfSlcbiAgY2F0ZWdvcnlJZD86IHN0cmluZztcbiAgQE1hbnlUb09uZSgpXG4gIGNhdGVnb3J5PzogVGF4Q2F0ZWdvcnk7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBUYXggZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQEZpZWxkKClcbiAgcGVyY2VudGFnZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBUYXhDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogc3RyaW5nO1xuICBATWFueVRvT25lKClcbiAgY2F0ZWdvcnk/OiBUYXhDYXRlZ29yeTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogYHNvZnREZWxldGVgIHdpbGwgbWFrZSB0aGUgZW50aXR5IFwic29mdCBkZWxldGFibGVcIi5cbiAqL1xuQEVudGl0eSh7IHNvZnREZWxldGU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBNZWFzdXJlVW5pdENhdGVnb3J5IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBPbmVUb01hbnkoeyBlbnRpdHk6ICgpID0+IE1lYXN1cmVVbml0LCBtYXBwZWRCeTogKG1lYXN1cmVVbml0KSA9PiBtZWFzdXJlVW5pdC5jYXRlZ29yeUlkIH0pXG4gIG1lYXN1cmVVbml0cz86IE1lYXN1cmVVbml0W107XG4gIC8qKlxuICAgKiBgb25EZWxldGVgIGNhbGxiYWNrIGFsbG93cyB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkIHdpbGwgYmUgdXNlZCB3aGVuIGRlbGV0aW5nL3F1ZXJ5aW5nIHRoaXMgZW50aXR5LlxuICAgKi9cbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KHsgc29mdERlbGV0ZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE1lYXN1cmVVbml0IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTWVhc3VyZVVuaXRDYXRlZ29yeSB9KVxuICBjYXRlZ29yeUlkPzogbnVtYmVyO1xuICBATWFueVRvT25lKHsgY2FzY2FkZTogJ3BlcnNpc3QnIH0pXG4gIGNhdGVnb3J5PzogTWVhc3VyZVVuaXRDYXRlZ29yeTtcbiAgQEZpZWxkKHsgb25EZWxldGU6ICgpID0+IERhdGUubm93KCkgfSlcbiAgZGVsZXRlZEF0PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBTdG9yZWhvdXNlIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBJdGVtIGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCgpXG4gIG5hbWU/OiBzdHJpbmc7XG4gIEBGaWVsZCgpXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBARmllbGQoKVxuICBjb2RlPzogc3RyaW5nO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IExlZGdlckFjY291bnQgfSlcbiAgYnV5TGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgYnV5TGVkZ2VyQWNjb3VudD86IExlZGdlckFjY291bnQ7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gTGVkZ2VyQWNjb3VudCB9KVxuICBzYWxlTGVkZ2VyQWNjb3VudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgc2FsZUxlZGdlckFjY291bnQ/OiBMZWRnZXJBY2NvdW50O1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRheCB9KVxuICB0YXhJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHRheD86IFRheDtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBNZWFzdXJlVW5pdCB9KVxuICBtZWFzdXJlVW5pdElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgbWVhc3VyZVVuaXQ/OiBNZWFzdXJlVW5pdDtcbiAgQEZpZWxkKClcbiAgc2FsZVByaWNlPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBpbnZlbnRvcnlhYmxlPzogYm9vbGVhbjtcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IFRhZywgdGhyb3VnaDogKCkgPT4gSXRlbVRhZywgY2FzY2FkZTogdHJ1ZSB9KVxuICB0YWdzPzogVGFnW107XG4gIEBGaWVsZCh7XG4gICAgLyoqXG4gICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICogc3VjaCB2YWx1ZSBtaWdodCBiZSBhIHNjYWxhciBvciBhIChgcmF3YCkgZnVuY3Rpb24uIFZpcnR1YWwtZmllbGRzIGNhbiBiZVxuICAgICAqIHVzZWQgaW4gYCRwcm9qZWN0YCwgYCRmaWx0ZXJgIGFuZCBgJGhhdmluZ2AgYXMgYSBjb21tb24gZmllbGQgd2hvc2UgdmFsdWVcbiAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAqL1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gZGlhbGVjdC5jb3VudChcbiAgICAgICAgSXRlbVRhZyxcbiAgICAgICAge1xuICAgICAgICAgICRmaWx0ZXI6IHtcbiAgICAgICAgICAgIGl0ZW1JZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgdGFnc0NvdW50PzogbnVtYmVyO1xufVxuXG5ARW50aXR5KClcbmV4cG9ydCBjbGFzcyBUYWcgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgQEZpZWxkKClcbiAgbmFtZT86IHN0cmluZztcbiAgQE1hbnlUb01hbnkoeyBlbnRpdHk6ICgpID0+IEl0ZW0sIG1hcHBlZEJ5OiAoaXRlbSkgPT4gaXRlbS50YWdzIH0pXG4gIGl0ZW1zPzogSXRlbVtdO1xuICBARmllbGQoe1xuICAgIHZpcnR1YWw6IHJhdygoeyBlc2NhcGVkUHJlZml4LCBkaWFsZWN0IH0pID0+IHtcbiAgICAgIC8qKlxuICAgICAgICogYHZpcnR1YWxgIHByb3BlcnR5IGFsbG93cyBkZWZpbmluZyB0aGUgdmFsdWUgZm9yIGEgbm9uLXBlcnNpc3RlbnQgZmllbGQsXG4gICAgICAgKiBzdWNoIHZhbHVlIG1pZ2h0IGJlIGEgc2NhbGFyIG9yIGEgKGByYXdgKSBmdW5jdGlvbi4gVmlydHVhbC1maWVsZHMgY2FuIGJlXG4gICAgICAgKiB1c2VkIGluIGAkcHJvamVjdGAsIGAkZmlsdGVyYCBhbmQgYCRoYXZpbmdgIGFzIGEgY29tbW9uIGZpZWxkIHdob3NlIHZhbHVlXG4gICAgICAgKiBpcyByZXBsYWNlZCBhdCBydW50aW1lLlxuICAgICAgICovXG4gICAgICBjb25zdCBxdWVyeSA9IGRpYWxlY3QuY291bnQoXG4gICAgICAgIEl0ZW1UYWcsXG4gICAgICAgIHtcbiAgICAgICAgICAkZmlsdGVyOiB7XG4gICAgICAgICAgICB0YWdJZDogcmF3KGAke2VzY2FwZWRQcmVmaXh9JHtkaWFsZWN0LmVzY2FwZUlkKCdpZCcpfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgYXV0b1ByZWZpeDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIGAoJHtxdWVyeX0pYDtcbiAgICB9KSxcbiAgfSlcbiAgaXRlbXNDb3VudD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSXRlbVRhZyB7XG4gIEBJZCgpXG4gIGlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEl0ZW0gfSlcbiAgaXRlbUlkPzogbnVtYmVyO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IFRhZyB9KVxuICB0YWdJZD86IG51bWJlcjtcbn1cblxuQEVudGl0eSgpXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5QWRqdXN0bWVudCBleHRlbmRzIEJhc2VFbnRpdHkge1xuICBAT25lVG9NYW55KHtcbiAgICBlbnRpdHk6ICgpID0+IEl0ZW1BZGp1c3RtZW50LFxuICAgIG1hcHBlZEJ5OiAocmVsKSA9PiByZWwuaW52ZW50b3J5QWRqdXN0bWVudCxcbiAgICBjYXNjYWRlOiB0cnVlLFxuICB9KVxuICBpdGVtQWRqdXN0bWVudHM/OiBJdGVtQWRqdXN0bWVudFtdO1xuICBARmllbGQoKVxuICBkYXRlPzogRGF0ZTtcbiAgQEZpZWxkKClcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbkBFbnRpdHkoKVxuZXhwb3J0IGNsYXNzIEl0ZW1BZGp1c3RtZW50IGV4dGVuZHMgQmFzZUVudGl0eSB7XG4gIEBGaWVsZCh7IHJlZmVyZW5jZTogKCkgPT4gSXRlbSB9KVxuICBpdGVtSWQ/OiBudW1iZXI7XG4gIEBNYW55VG9PbmUoKVxuICBpdGVtPzogSXRlbTtcbiAgQEZpZWxkKClcbiAgbnVtYmVyPzogbnVtYmVyO1xuICBARmllbGQoKVxuICBidXlQcmljZT86IG51bWJlcjtcbiAgQEZpZWxkKHsgcmVmZXJlbmNlOiAoKSA9PiBTdG9yZWhvdXNlIH0pXG4gIHN0b3JlaG91c2VJZD86IG51bWJlcjtcbiAgQE1hbnlUb09uZSgpXG4gIHN0b3JlaG91c2U/OiBTdG9yZWhvdXNlO1xuICBARmllbGQoeyByZWZlcmVuY2U6ICgpID0+IEludmVudG9yeUFkanVzdG1lbnQgfSlcbiAgaW52ZW50b3J5QWRqdXN0bWVudElkPzogbnVtYmVyO1xuICBATWFueVRvT25lKClcbiAgaW52ZW50b3J5QWRqdXN0bWVudD86IEludmVudG9yeUFkanVzdG1lbnQ7XG59XG4iXX0=
package/type/entity.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { QueryRaw } from './query';
2
2
  import { Scalar, Type } from './utility';
3
3
  export declare const idKey: unique symbol;
4
- export declare type Key<E> = {
5
- readonly [K in keyof E]?: K & string;
6
- }[keyof E & string];
4
+ export declare type Key<E> = keyof E & string;
7
5
  export declare type FieldKey<E> = {
8
- readonly [K in Key<E>]?: E[K] extends Scalar ? K : never;
6
+ readonly [K in keyof E]: E[K] extends Scalar ? K : never;
7
+ }[Key<E>];
8
+ export declare type RelationKey<E> = {
9
+ readonly [K in keyof E]: E[K] extends Scalar ? never : K;
9
10
  }[Key<E>];
10
11
  export declare type FieldValue<E> = E[FieldKey<E>];
11
12
  export declare type IdKey<E> = E extends {
@@ -16,9 +17,6 @@ export declare type IdKey<E> = E extends {
16
17
  id?: unknown;
17
18
  } ? 'id' & FieldKey<E> : FieldKey<E>;
18
19
  export declare type IdValue<E> = E[IdKey<E>];
19
- export declare type RelationKey<E> = {
20
- readonly [K in Key<E>]?: E[K] extends Scalar ? never : K;
21
- }[Key<E>];
22
20
  export declare type RelationValue<E> = E[RelationKey<E>];
23
21
  export declare type EntityOptions = {
24
22
  readonly name?: string;
@@ -28,7 +26,7 @@ export declare type FieldOptions = {
28
26
  readonly name?: string;
29
27
  readonly isId?: true;
30
28
  readonly type?: any;
31
- readonly reference?: EntityGetter | ReferenceOptions;
29
+ readonly reference?: EntityGetter;
32
30
  readonly virtual?: QueryRaw;
33
31
  readonly onInsert?: OnFieldCallback;
34
32
  readonly onUpdate?: OnFieldCallback;
@@ -36,33 +34,30 @@ export declare type FieldOptions = {
36
34
  };
37
35
  export declare type OnFieldCallback = Scalar | QueryRaw | (() => Scalar | QueryRaw);
38
36
  export declare type EntityGetter<E = any> = () => Type<E>;
39
- export declare type ReferenceOptions<E = any> = {
40
- entity: EntityGetter<E>;
41
- };
42
37
  export declare type CascadeType = 'persist' | 'delete';
43
38
  export declare type RelationOptions<E = any> = {
44
39
  entity?: EntityGetter<E>;
45
- readonly cardinality?: RelationCardinality;
40
+ cardinality: RelationCardinality;
46
41
  readonly cascade?: boolean | CascadeType;
47
42
  mappedBy?: RelationMappedBy<E>;
48
43
  through?: EntityGetter<RelationValue<E>>;
49
44
  references?: RelationReferences;
50
45
  };
51
46
  declare type RelationOptionsOwner<E> = Pick<RelationOptions<E>, 'entity' | 'references' | 'cascade'>;
52
- declare type RelationOptionsInverseSide<E> = Pick<RelationOptions<E>, 'entity' | 'mappedBy' | 'cascade'>;
53
- declare type RelationOptionsThroughOwner<E> = Pick<RelationOptions<E>, 'entity' | 'through' | 'references' | 'cascade'>;
47
+ declare type RelationOptionsInverseSide<E> = Required<Pick<RelationOptions<E>, 'entity' | 'mappedBy'>> & Pick<RelationOptions<E>, 'cascade'>;
48
+ declare type RelationOptionsThroughOwner<E> = Required<Pick<RelationOptions<E>, 'entity'>> & Pick<RelationOptions<E>, 'through' | 'references' | 'cascade'>;
54
49
  export declare type RelationKeyMap<E> = {
55
- readonly [K in RelationKey<E>]: K;
50
+ readonly [K in keyof E]: K;
56
51
  };
57
- export declare type RelationKeyMapper<E> = (keyMap: RelationKeyMap<E>) => RelationKey<E>;
52
+ export declare type RelationKeyMapper<E> = (keyMap: RelationKeyMap<E>) => Key<E>;
58
53
  export declare type RelationReferences = {
59
- local: string;
60
- foreign: string;
54
+ readonly local: string;
55
+ readonly foreign: string;
61
56
  }[];
62
- export declare type RelationMappedBy<E> = RelationKey<E> | RelationKeyMapper<E>;
57
+ export declare type RelationMappedBy<E> = Key<E> | RelationKeyMapper<E>;
63
58
  export declare type RelationCardinality = '11' | 'm1' | '1m' | 'mm';
64
59
  export declare type RelationOneToOneOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E>;
65
- export declare type RelationOneToManyOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E> | RelationOptionsThroughOwner<E>;
60
+ export declare type RelationOneToManyOptions<E> = RelationOptionsInverseSide<E> | RelationOptionsThroughOwner<E>;
66
61
  export declare type RelationManyToOneOptions<E> = RelationOptionsOwner<E> | RelationOptionsInverseSide<E>;
67
62
  export declare type RelationManyToManyOptions<E> = RelationOptionsThroughOwner<E> | RelationOptionsInverseSide<E>;
68
63
  export declare type EntityMeta<E> = {
package/type/entity.js CHANGED
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.idKey = void 0;
4
4
  exports.idKey = Symbol('idKey');
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UmF3IH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBTY2FsYXIsIFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuXG5leHBvcnQgY29uc3QgaWRLZXkgPSBTeW1ib2woJ2lkS2V5Jyk7XG5cbmV4cG9ydCB0eXBlIEtleTxFPiA9IHtcbiAgcmVhZG9ubHkgW0sgaW4ga2V5b2YgRV0/OiBLICYgc3RyaW5nO1xufVtrZXlvZiBFICYgc3RyaW5nXTtcblxuZXhwb3J0IHR5cGUgRmllbGRLZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIEtleTxFPl0/OiBFW0tdIGV4dGVuZHMgU2NhbGFyID8gSyA6IG5ldmVyO1xufVtLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBGaWVsZFZhbHVlPEU+ID0gRVtGaWVsZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIElkS2V5PEU+ID0gRSBleHRlbmRzIHsgW2lkS2V5XT86IGluZmVyIEsgfVxuICA/IEsgJiBGaWVsZEtleTxFPlxuICA6IEUgZXh0ZW5kcyB7IF9pZD86IHVua25vd24gfVxuICA/ICdfaWQnICYgRmllbGRLZXk8RT5cbiAgOiBFIGV4dGVuZHMgeyBpZD86IHVua25vd24gfVxuICA/ICdpZCcgJiBGaWVsZEtleTxFPlxuICA6IEZpZWxkS2V5PEU+O1xuXG5leHBvcnQgdHlwZSBJZFZhbHVlPEU+ID0gRVtJZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5PEU+ID0ge1xuICByZWFkb25seSBbSyBpbiBLZXk8RT5dPzogRVtLXSBleHRlbmRzIFNjYWxhciA/IG5ldmVyIDogSztcbn1bS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25WYWx1ZTxFPiA9IEVbUmVsYXRpb25LZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBFbnRpdHlPcHRpb25zID0ge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBzb2Z0RGVsZXRlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpZWxkT3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgaXNJZD86IHRydWU7XG4gIHJlYWRvbmx5IHR5cGU/OiBhbnk7XG4gIHJlYWRvbmx5IHJlZmVyZW5jZT86IEVudGl0eUdldHRlciB8IFJlZmVyZW5jZU9wdGlvbnM7XG4gIHJlYWRvbmx5IHZpcnR1YWw/OiBRdWVyeVJhdztcbiAgcmVhZG9ubHkgb25JbnNlcnQ/OiBPbkZpZWxkQ2FsbGJhY2s7XG4gIHJlYWRvbmx5IG9uVXBkYXRlPzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvbkRlbGV0ZT86IE9uRmllbGRDYWxsYmFjaztcbn07XG5cbmV4cG9ydCB0eXBlIE9uRmllbGRDYWxsYmFjayA9IFNjYWxhciB8IFF1ZXJ5UmF3IHwgKCgpID0+IFNjYWxhciB8IFF1ZXJ5UmF3KTtcblxuZXhwb3J0IHR5cGUgRW50aXR5R2V0dGVyPEUgPSBhbnk+ID0gKCkgPT4gVHlwZTxFPjtcblxuZXhwb3J0IHR5cGUgUmVmZXJlbmNlT3B0aW9uczxFID0gYW55PiA9IHsgZW50aXR5OiBFbnRpdHlHZXR0ZXI8RT4gfTtcblxuZXhwb3J0IHR5cGUgQ2FzY2FkZVR5cGUgPSAncGVyc2lzdCcgfCAnZGVsZXRlJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PcHRpb25zPEUgPSBhbnk+ID0ge1xuICBlbnRpdHk/OiBFbnRpdHlHZXR0ZXI8RT47XG4gIHJlYWRvbmx5IGNhcmRpbmFsaXR5PzogUmVsYXRpb25DYXJkaW5hbGl0eTtcbiAgcmVhZG9ubHkgY2FzY2FkZT86IGJvb2xlYW4gfCBDYXNjYWRlVHlwZTtcbiAgbWFwcGVkQnk/OiBSZWxhdGlvbk1hcHBlZEJ5PEU+O1xuICB0aHJvdWdoPzogRW50aXR5R2V0dGVyPFJlbGF0aW9uVmFsdWU8RT4+O1xuICByZWZlcmVuY2VzPzogUmVsYXRpb25SZWZlcmVuY2VzO1xufTtcblxudHlwZSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiA9IFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5JyB8ICdyZWZlcmVuY2VzJyB8ICdjYXNjYWRlJz47XG50eXBlIFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+ID0gUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ21hcHBlZEJ5JyB8ICdjYXNjYWRlJz47XG50eXBlIFJlbGF0aW9uT3B0aW9uc1Rocm91Z2hPd25lcjxFPiA9IFBpY2s8UmVsYXRpb25PcHRpb25zPEU+LCAnZW50aXR5JyB8ICd0aHJvdWdoJyB8ICdyZWZlcmVuY2VzJyB8ICdjYXNjYWRlJz47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwPEU+ID0geyByZWFkb25seSBbSyBpbiBSZWxhdGlvbktleTxFPl06IEsgfTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXlNYXBwZXI8RT4gPSAoa2V5TWFwOiBSZWxhdGlvbktleU1hcDxFPikgPT4gUmVsYXRpb25LZXk8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uUmVmZXJlbmNlcyA9IHsgbG9jYWw6IHN0cmluZzsgZm9yZWlnbjogc3RyaW5nIH1bXTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25NYXBwZWRCeTxFPiA9IFJlbGF0aW9uS2V5PEU+IHwgUmVsYXRpb25LZXlNYXBwZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ2FyZGluYWxpdHkgPSAnMTEnIHwgJ20xJyB8ICcxbScgfCAnbW0nO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT25lVG9NYW55T3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT4gfCBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFueVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uTWFueVRvTWFueU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNUaHJvdWdoT3duZXI8RT4gfCBSZWxhdGlvbk9wdGlvbnNJbnZlcnNlU2lkZTxFPjtcblxuZXhwb3J0IHR5cGUgRW50aXR5TWV0YTxFPiA9IHtcbiAgcmVhZG9ubHkgZW50aXR5OiBUeXBlPEU+O1xuICBuYW1lPzogc3RyaW5nO1xuICBpZD86IElkS2V5PEU+O1xuICBzb2Z0RGVsZXRlPzogRmllbGRLZXk8RT47XG4gIGZpZWxkczoge1xuICAgIFtLIGluIEZpZWxkS2V5PEU+XT86IEZpZWxkT3B0aW9ucztcbiAgfTtcbiAgcmVsYXRpb25zOiB7XG4gICAgW0sgaW4gUmVsYXRpb25LZXk8RT5dPzogUmVsYXRpb25PcHRpb25zO1xuICB9O1xuICBwcm9jZXNzZWQ/OiBib29sZWFuO1xufTtcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGUvZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UmF3IH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBTY2FsYXIsIFR5cGUgfSBmcm9tICcuL3V0aWxpdHknO1xuXG5leHBvcnQgY29uc3QgaWRLZXkgPSBTeW1ib2woJ2lkS2V5Jyk7XG5cbmV4cG9ydCB0eXBlIEtleTxFPiA9IGtleW9mIEUgJiBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkS2V5PEU+ID0ge1xuICByZWFkb25seSBbSyBpbiBrZXlvZiBFXTogRVtLXSBleHRlbmRzIFNjYWxhciA/IEsgOiBuZXZlcjtcbn1bS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXk8RT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBFW0tdIGV4dGVuZHMgU2NhbGFyID8gbmV2ZXIgOiBLO1xufVtLZXk8RT5dO1xuXG5leHBvcnQgdHlwZSBGaWVsZFZhbHVlPEU+ID0gRVtGaWVsZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIElkS2V5PEU+ID0gRSBleHRlbmRzIHsgW2lkS2V5XT86IGluZmVyIEsgfVxuICA/IEsgJiBGaWVsZEtleTxFPlxuICA6IEUgZXh0ZW5kcyB7IF9pZD86IHVua25vd24gfVxuICA/ICdfaWQnICYgRmllbGRLZXk8RT5cbiAgOiBFIGV4dGVuZHMgeyBpZD86IHVua25vd24gfVxuICA/ICdpZCcgJiBGaWVsZEtleTxFPlxuICA6IEZpZWxkS2V5PEU+O1xuXG5leHBvcnQgdHlwZSBJZFZhbHVlPEU+ID0gRVtJZEtleTxFPl07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uVmFsdWU8RT4gPSBFW1JlbGF0aW9uS2V5PEU+XTtcblxuZXhwb3J0IHR5cGUgRW50aXR5T3B0aW9ucyA9IHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc29mdERlbGV0ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWVsZE9wdGlvbnMgPSB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzSWQ/OiB0cnVlO1xuICByZWFkb25seSB0eXBlPzogYW55O1xuICByZWFkb25seSByZWZlcmVuY2U/OiBFbnRpdHlHZXR0ZXI7XG4gIHJlYWRvbmx5IHZpcnR1YWw/OiBRdWVyeVJhdztcbiAgcmVhZG9ubHkgb25JbnNlcnQ/OiBPbkZpZWxkQ2FsbGJhY2s7XG4gIHJlYWRvbmx5IG9uVXBkYXRlPzogT25GaWVsZENhbGxiYWNrO1xuICByZWFkb25seSBvbkRlbGV0ZT86IE9uRmllbGRDYWxsYmFjaztcbn07XG5cbmV4cG9ydCB0eXBlIE9uRmllbGRDYWxsYmFjayA9IFNjYWxhciB8IFF1ZXJ5UmF3IHwgKCgpID0+IFNjYWxhciB8IFF1ZXJ5UmF3KTtcblxuZXhwb3J0IHR5cGUgRW50aXR5R2V0dGVyPEUgPSBhbnk+ID0gKCkgPT4gVHlwZTxFPjtcblxuZXhwb3J0IHR5cGUgQ2FzY2FkZVR5cGUgPSAncGVyc2lzdCcgfCAnZGVsZXRlJztcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25PcHRpb25zPEUgPSBhbnk+ID0ge1xuICBlbnRpdHk/OiBFbnRpdHlHZXR0ZXI8RT47XG4gIGNhcmRpbmFsaXR5OiBSZWxhdGlvbkNhcmRpbmFsaXR5O1xuICByZWFkb25seSBjYXNjYWRlPzogYm9vbGVhbiB8IENhc2NhZGVUeXBlO1xuICBtYXBwZWRCeT86IFJlbGF0aW9uTWFwcGVkQnk8RT47XG4gIHRocm91Z2g/OiBFbnRpdHlHZXR0ZXI8UmVsYXRpb25WYWx1ZTxFPj47XG4gIHJlZmVyZW5jZXM/OiBSZWxhdGlvblJlZmVyZW5jZXM7XG59O1xuXG50eXBlIFJlbGF0aW9uT3B0aW9uc093bmVyPEU+ID0gUGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT4gPSBSZXF1aXJlZDxQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2VudGl0eScgfCAnbWFwcGVkQnknPj4gJiBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ2Nhc2NhZGUnPjtcbnR5cGUgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+ID0gUmVxdWlyZWQ8UGljazxSZWxhdGlvbk9wdGlvbnM8RT4sICdlbnRpdHknPj4gJiBQaWNrPFJlbGF0aW9uT3B0aW9uczxFPiwgJ3Rocm91Z2gnIHwgJ3JlZmVyZW5jZXMnIHwgJ2Nhc2NhZGUnPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25LZXlNYXA8RT4gPSB7IHJlYWRvbmx5IFtLIGluIGtleW9mIEVdOiBLIH07XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uS2V5TWFwcGVyPEU+ID0gKGtleU1hcDogUmVsYXRpb25LZXlNYXA8RT4pID0+IEtleTxFPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpb25SZWZlcmVuY2VzID0geyByZWFkb25seSBsb2NhbDogc3RyaW5nOyByZWFkb25seSBmb3JlaWduOiBzdHJpbmcgfVtdO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hcHBlZEJ5PEU+ID0gS2V5PEU+IHwgUmVsYXRpb25LZXlNYXBwZXI8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ2FyZGluYWxpdHkgPSAnMTEnIHwgJ20xJyB8ICcxbScgfCAnbW0nO1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk9uZVRvT25lT3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc093bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uT25lVG9NYW55T3B0aW9uczxFPiA9IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+IHwgUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb09uZU9wdGlvbnM8RT4gPSBSZWxhdGlvbk9wdGlvbnNPd25lcjxFPiB8IFJlbGF0aW9uT3B0aW9uc0ludmVyc2VTaWRlPEU+O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbk1hbnlUb01hbnlPcHRpb25zPEU+ID0gUmVsYXRpb25PcHRpb25zVGhyb3VnaE93bmVyPEU+IHwgUmVsYXRpb25PcHRpb25zSW52ZXJzZVNpZGU8RT47XG5cbmV4cG9ydCB0eXBlIEVudGl0eU1ldGE8RT4gPSB7XG4gIHJlYWRvbmx5IGVudGl0eTogVHlwZTxFPjtcbiAgbmFtZT86IHN0cmluZztcbiAgaWQ/OiBJZEtleTxFPjtcbiAgc29mdERlbGV0ZT86IEZpZWxkS2V5PEU+O1xuICBmaWVsZHM6IHtcbiAgICBbSyBpbiBGaWVsZEtleTxFPl0/OiBGaWVsZE9wdGlvbnM7XG4gIH07XG4gIHJlbGF0aW9uczoge1xuICAgIFtLIGluIFJlbGF0aW9uS2V5PEU+XT86IFJlbGF0aW9uT3B0aW9ucztcbiAgfTtcbiAgcHJvY2Vzc2VkPzogYm9vbGVhbjtcbn07XG4iXX0=
package/type/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './utility';
2
- export * from './options';
3
2
  export * from './entity';
4
3
  export * from './query';
5
4
  export * from './universalQuerier';
package/type/index.js CHANGED
@@ -2,11 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./utility"), exports);
5
- tslib_1.__exportStar(require("./options"), exports);
6
5
  tslib_1.__exportStar(require("./entity"), exports);
7
6
  tslib_1.__exportStar(require("./query"), exports);
8
7
  tslib_1.__exportStar(require("./universalQuerier"), exports);
9
8
  tslib_1.__exportStar(require("./querier"), exports);
10
9
  tslib_1.__exportStar(require("./querierPool"), exports);
11
10
  tslib_1.__exportStar(require("./repository"), exports);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBMEI7QUFDMUIsb0RBQTBCO0FBQzFCLG1EQUF5QjtBQUN6QixrREFBd0I7QUFDeEIsNkRBQW1DO0FBQ25DLG9EQUEwQjtBQUMxQix3REFBOEI7QUFDOUIsdURBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdmVyc2FsUXVlcmllcic7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyUG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnknO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBMEI7QUFDMUIsbURBQXlCO0FBQ3pCLGtEQUF3QjtBQUN4Qiw2REFBbUM7QUFDbkMsb0RBQTBCO0FBQzFCLHdEQUE4QjtBQUM5Qix1REFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3V0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3VuaXZlcnNhbFF1ZXJpZXInO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyaWVyJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcmllclBvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5JztcbiJdfQ==
package/type/utility.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare type BooleanLike = boolean | 0 | 1;
4
4
  export declare type MongoId = {
5
5
  toHexString: () => string;
6
6
  };
7
- export declare type Scalar = boolean | string | number | bigint | Symbol | Date | RegExp | Buffer | MongoId;
7
+ export declare type Scalar = string | number | boolean | bigint | Symbol | Date | RegExp | Buffer | MongoId;
8
8
  export declare type ExpandScalar<T> = null | (T extends Date ? Date | string : T);
9
9
  export declare type Writable<T> = {
10
10
  -readonly [K in keyof T]: T[K];
package/type/utility.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFR5cGU8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuTGlrZSA9IGJvb2xlYW4gfCAwIHwgMTtcblxuZXhwb3J0IHR5cGUgTW9uZ29JZCA9IHtcbiAgdG9IZXhTdHJpbmc6ICgpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNjYWxhciA9IGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQgfCBTeW1ib2wgfCBEYXRlIHwgUmVnRXhwIHwgQnVmZmVyIHwgTW9uZ29JZDtcblxuZXhwb3J0IHR5cGUgRXhwYW5kU2NhbGFyPFQ+ID0gbnVsbCB8IChUIGV4dGVuZHMgRGF0ZSA/IERhdGUgfCBzdHJpbmcgOiBUKTtcblxuZXhwb3J0IHR5cGUgV3JpdGFibGU8VD4gPSB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuXG5leHBvcnQgdHlwZSBVbnBhY2tlZDxUPiA9IFQgZXh0ZW5kcyAoaW5mZXIgVSlbXSA/IFUgOiBUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBVID8gVSA6IFQgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFU+ID8gVSA6IFQ7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL3V0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFR5cGU8VD4gPSBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuTGlrZSA9IGJvb2xlYW4gfCAwIHwgMTtcblxuZXhwb3J0IHR5cGUgTW9uZ29JZCA9IHtcbiAgdG9IZXhTdHJpbmc6ICgpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNjYWxhciA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBiaWdpbnQgfCBTeW1ib2wgfCBEYXRlIHwgUmVnRXhwIHwgQnVmZmVyIHwgTW9uZ29JZDtcblxuZXhwb3J0IHR5cGUgRXhwYW5kU2NhbGFyPFQ+ID0gbnVsbCB8IChUIGV4dGVuZHMgRGF0ZSA/IERhdGUgfCBzdHJpbmcgOiBUKTtcblxuZXhwb3J0IHR5cGUgV3JpdGFibGU8VD4gPSB7IC1yZWFkb25seSBbSyBpbiBrZXlvZiBUXTogVFtLXSB9O1xuXG5leHBvcnQgdHlwZSBVbnBhY2tlZDxUPiA9IFQgZXh0ZW5kcyAoaW5mZXIgVSlbXSA/IFUgOiBUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBpbmZlciBVID8gVSA6IFQgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFU+ID8gVSA6IFQ7XG4iXX0=
package/type/options.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import { QuerierPool } from './querierPool';
2
- export declare type UqlOptions<T extends QuerierPool = QuerierPool> = {
3
- /**
4
- * the default querier-pool instance.
5
- */
6
- querierPool: T;
7
- };
package/type/options.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJpZXJQb29sIH0gZnJvbSAnLi9xdWVyaWVyUG9vbCc7XG5cbmV4cG9ydCB0eXBlIFVxbE9wdGlvbnM8VCBleHRlbmRzIFF1ZXJpZXJQb29sID0gUXVlcmllclBvb2w+ID0ge1xuICAvKipcbiAgICogdGhlIGRlZmF1bHQgcXVlcmllci1wb29sIGluc3RhbmNlLlxuICAgKi9cbiAgcXVlcmllclBvb2w6IFQ7XG59O1xuIl19