payload 3.0.0-alpha.13 → 3.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import type { Translations } from '@payloadcms/translations';
1
2
  import type { DocumentPermissions, Permissions, User } from '../../auth';
2
3
  import type { SanitizedCollectionConfig } from '../../collections/config/types';
3
4
  import type { SanitizedGlobalConfig } from '../../globals/config/types';
@@ -24,10 +25,12 @@ export type EditViewProps = {
24
25
  };
25
26
  export type InitPageResult = {
26
27
  collectionConfig?: SanitizedCollectionConfig;
28
+ cookies: Map<string, string>;
27
29
  globalConfig?: SanitizedGlobalConfig;
28
30
  locale: Locale;
29
31
  permissions: Permissions;
30
32
  req: PayloadRequest;
33
+ translations: Translations;
31
34
  };
32
35
  export type ServerSideEditViewProps = EditViewProps & {
33
36
  action?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,EAAE,mBAAmB,CAAA;IACnC,cAAc,EAAE,mBAAmB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC7C,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAE9D,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,EAAE,mBAAmB,CAAA;IACnC,cAAc,EAAE,mBAAmB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,cAAc,CAAA;IAC9B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC7C,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAE9D,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAOrB,eAAO,MAAM,eAAe,6BAa3B,CAAA;;AAED,wBAmKE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAOrB,eAAO,MAAM,eAAe,6BAa3B,CAAA;;AAED,wBAoKE"}
@@ -160,6 +160,7 @@ const _default = _joi.default.object({
160
160
  }
161
161
  return value;
162
162
  }),
163
+ sharp: _joi.default.any(),
163
164
  telemetry: _joi.default.boolean(),
164
165
  typescript: _joi.default.object({
165
166
  declare: _joi.default.boolean(),
@@ -168,4 +169,4 @@ const _default = _joi.default.object({
168
169
  upload: _joi.default.object()
169
170
  });
170
171
 
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJ1xuXG5pbXBvcnQgeyBhZG1pblZpZXdTY2hlbWEgfSBmcm9tICcuL3NoYXJlZC9hZG1pblZpZXdTY2hlbWEnXG5pbXBvcnQgeyBjb21wb25lbnRTY2hlbWEsIGxpdmVQcmV2aWV3U2NoZW1hIH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50U2NoZW1hJ1xuXG5jb25zdCBjb21wb25lbnQgPSBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKS51bmtub3duKCksIGpvaS5mdW5jKCkpXG5cbmV4cG9ydCBjb25zdCBlbmRwb2ludHNTY2hlbWEgPSBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICAgICAgaGFuZGxlcjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSwgam9pLmZ1bmMoKSksXG4gICAgICBtZXRob2Q6IGpvaVxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLnZhbGlkKCdnZXQnLCAnaGVhZCcsICdwb3N0JywgJ3B1dCcsICdwYXRjaCcsICdkZWxldGUnLCAnY29ubmVjdCcsICdvcHRpb25zJyksXG4gICAgICBwYXRoOiBqb2kuc3RyaW5nKCksXG4gICAgICByb290OiBqb2kuYm9vbCgpLFxuICAgIH0pLFxuICApLFxuICBqb2kuYm9vbGVhbigpLFxuKVxuXG5leHBvcnQgZGVmYXVsdCBqb2kub2JqZWN0KHtcbiAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgIGF1dG9Mb2dpbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgIGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZW1haWw6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgcGFzc3dvcmQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgcHJlZmlsbE9ubHk6IGpvaS5ib29sZWFuKCksXG4gICAgICB9KSxcbiAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgKSxcbiAgICBhdmF0YXI6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBjb21wb25lbnQpLFxuICAgIGJ1aWxkUGF0aDogam9pLnN0cmluZygpLFxuICAgIGNvbXBvbmVudHM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIE5hdjogY29tcG9uZW50LFxuICAgICAgYWN0aW9uczogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGFmdGVyRGFzaGJvYXJkOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnQpLFxuICAgICAgYWZ0ZXJMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGFmdGVyTmF2TGlua3M6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudCksXG4gICAgICBiZWZvcmVEYXNoYm9hcmQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudCksXG4gICAgICBiZWZvcmVMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGJlZm9yZU5hdkxpbmtzOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnQpLFxuICAgICAgZ3JhcGhpY3M6IGpvaS5vYmplY3Qoe1xuICAgICAgICBJY29uOiBjb21wb25lbnQsXG4gICAgICAgIExvZ286IGNvbXBvbmVudCxcbiAgICAgIH0pLFxuICAgICAgbG9nb3V0OiBqb2kub2JqZWN0KHtcbiAgICAgICAgQnV0dG9uOiBjb21wb25lbnQsXG4gICAgICB9KSxcbiAgICAgIHByb3ZpZGVyczogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIHZpZXdzOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBBY2NvdW50OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudCwgYWRtaW5WaWV3U2NoZW1hKSxcbiAgICAgICAgICBEYXNoYm9hcmQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50LCBhZG1pblZpZXdTY2hlbWEpLFxuICAgICAgICB9KSxcbiAgICAgICAgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBjb21wb25lbnQpLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICBkYXRlRm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgZGlzYWJsZTogam9pLmJvb2woKSxcbiAgICBpbmFjdGl2aXR5Um91dGU6IGpvaS5zdHJpbmcoKSxcbiAgICBsaXZlUHJldmlldzogam9pLm9iamVjdCh7XG4gICAgICAuLi5saXZlUHJldmlld1NjaGVtYSxcbiAgICAgIGNvbGxlY3Rpb25zOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgZ2xvYmFsczogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICB9KSxcbiAgICBsb2dvdXRSb3V0ZTogam9pLnN0cmluZygpLFxuICAgIG1ldGE6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIGZhdmljb246IGpvaS5zdHJpbmcoKSxcbiAgICAgIG9nSW1hZ2U6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRpdGxlU3VmZml4OiBqb2kuc3RyaW5nKCksXG4gICAgfSksXG4gICAgdXNlcjogam9pLnN0cmluZygpLFxuICB9KSxcbiAgYmluOiBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBrZXk6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHNjcmlwdFBhdGg6IGpvaS5zdHJpbmcoKSxcbiAgICB9KSxcbiAgKSxcbiAgY29sbGVjdGlvbnM6IGpvaS5hcnJheSgpLFxuICBjb29raWVQcmVmaXg6IGpvaS5zdHJpbmcoKSxcbiAgY29yczogW2pvaS5zdHJpbmcoKS52YWxpZCgnKicpLCBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpXSxcbiAgY3NyZjogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpLmFsbG93KCcnKSkuc3BhcnNlKCksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBkYjogam9pLmFueSgpLFxuICBkZWJ1Zzogam9pLmJvb2xlYW4oKSxcbiAgZGVmYXVsdERlcHRoOiBqb2kubnVtYmVyKCkubWluKDApLm1heCgzMCksXG4gIGRlZmF1bHRNYXhUZXh0TGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIGVkaXRvcjogam9pXG4gICAgLm9iamVjdCgpXG4gICAgLnJlcXVpcmVkKClcbiAgICAua2V5cyh7XG4gICAgICBDZWxsQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIEZpZWxkQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIExhenlDZWxsQ29tcG9uZW50OiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBMYXp5RmllbGRDb21wb25lbnQ6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIGFmdGVyUmVhZFByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIG91dHB1dFNjaGVtYTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgcG9wdWxhdGlvblByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIHZhbGlkYXRlOiBqb2kuZnVuYygpLnJlcXVpcmVkKCksXG4gICAgfSlcbiAgICAudW5rbm93bigpLFxuICBlbWFpbDogam9pLm9iamVjdCgpLFxuICBlbmRwb2ludHM6IGVuZHBvaW50c1NjaGVtYSxcbiAgZ2xvYmFsczogam9pLmFycmF5KCksXG4gIGdyYXBoUUw6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICBkaXNhYmxlOiBqb2kuYm9vbGVhbigpLFxuICAgIGRpc2FibGVQbGF5Z3JvdW5kSW5Qcm9kdWN0aW9uOiBqb2kuYm9vbGVhbigpLFxuICAgIG1heENvbXBsZXhpdHk6IGpvaS5udW1iZXIoKSxcbiAgICBtdXRhdGlvbnM6IGpvaS5mdW5jdGlvbigpLFxuICAgIHF1ZXJpZXM6IGpvaS5mdW5jdGlvbigpLFxuICAgIHNjaGVtYU91dHB1dEZpbGU6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGhvb2tzOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgYWZ0ZXJFcnJvcjogam9pLmZ1bmMoKSxcbiAgfSksXG4gIGkxOG46IGpvaS5vYmplY3QoKSxcbiAgaW5kZXhTb3J0YWJsZUZpZWxkczogam9pLmJvb2xlYW4oKSxcbiAgbG9jYWw6IGpvaS5ib29sZWFuKCksXG4gIGxvY2FsaXphdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBkZWZhdWx0TG9jYWxlOiBqb2kuc3RyaW5nKCksXG4gICAgICBmYWxsYmFjazogam9pLmJvb2xlYW4oKSxcbiAgICAgIGxvY2FsZUNvZGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgbG9jYWxlczogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLmFycmF5KCkuaXRlbXMoXG4gICAgICAgICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgICAgICAgY29kZTogam9pLnN0cmluZygpLFxuICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGxhYmVsOiBqb2lcbiAgICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAgIC50cnkoXG4gICAgICAgICAgICAgICAgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSksXG4gICAgICAgICAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICAgICAgICAgIGpvaS52YWxpZChmYWxzZSksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBydGw6IGpvaS5ib29sZWFuKCksXG4gICAgICAgICAgICB0b1N0cmluZzogam9pLmZ1bmMoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICAgICksXG4gICAgfSksXG4gICAgam9pLmJvb2xlYW4oKSxcbiAgKSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKS5taW4oMCkubWF4KDEwMCksXG4gIG9uSW5pdDogam9pLmZ1bmMoKSxcbiAgcGx1Z2luczogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gIHJvdXRlczogam9pLm9iamVjdCh7XG4gICAgYWRtaW46IGpvaS5zdHJpbmcoKSxcbiAgICBhcGk6IGpvaS5zdHJpbmcoKSxcbiAgICBncmFwaFFMOiBqb2kuc3RyaW5nKCksXG4gICAgZ3JhcGhRTFBsYXlncm91bmQ6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIHNlY3JldDogam9pLnN0cmluZygpLFxuICBzZXJ2ZXJVUkw6IGpvaVxuICAgIC5zdHJpbmcoKVxuICAgIC51cmkoKVxuICAgIC5hbGxvdygnJylcbiAgICAuY3VzdG9tKCh2YWx1ZSwgaGVscGVyKSA9PiB7XG4gICAgICBjb25zdCB1cmxXaXRob3V0UHJvdG9jb2wgPSB2YWx1ZS5zcGxpdCgnLy8nKVsxXVxuXG4gICAgICBpZiAoIXVybFdpdGhvdXRQcm90b2NvbCkge1xuICAgICAgICByZXR1cm4gaGVscGVyLm1lc3NhZ2Uoe1xuICAgICAgICAgIGN1c3RvbTogJ1lvdSBuZWVkIHRvIGluY2x1ZGUgZWl0aGVyIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIiBpbiB5b3VyIHNlcnZlclVSTC4nLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodXJsV2l0aG91dFByb3RvY29sLmluZGV4T2YoJy8nKSA+IC0xKSB7XG4gICAgICAgIHJldHVybiBoZWxwZXIubWVzc2FnZSh7XG4gICAgICAgICAgY3VzdG9tOlxuICAgICAgICAgICAgJ1lvdXIgc2VydmVyVVJMIGNhbm5vdCBoYXZlIGEgcGF0aC4gSXQgY2FuIG9ubHkgY29udGFpbiBhIHByb3RvY29sLCBhIGRvbWFpbiwgYW5kIGFuIG9wdGlvbmFsIHBvcnQuJyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSksXG4gIHRlbGVtZXRyeTogam9pLmJvb2xlYW4oKSxcbiAgdHlwZXNjcmlwdDogam9pLm9iamVjdCh7XG4gICAgZGVjbGFyZTogam9pLmJvb2xlYW4oKSxcbiAgICBvdXRwdXRGaWxlOiBqb2kuc3RyaW5nKCksXG4gIH0pLFxuICB1cGxvYWQ6IGpvaS5vYmplY3QoKSxcbn0pXG4iXSwibmFtZXMiOlsiZW5kcG9pbnRzU2NoZW1hIiwiY29tcG9uZW50Iiwiam9pIiwiYWx0ZXJuYXRpdmVzIiwidHJ5Iiwib2JqZWN0IiwidW5rbm93biIsImZ1bmMiLCJhcnJheSIsIml0ZW1zIiwiY3VzdG9tIiwicGF0dGVybiIsInN0cmluZyIsImFueSIsImhhbmRsZXIiLCJtZXRob2QiLCJ2YWxpZCIsInBhdGgiLCJyb290IiwiYm9vbCIsImJvb2xlYW4iLCJhZG1pbiIsImF1dG9Mb2dpbiIsImtleXMiLCJlbWFpbCIsInBhc3N3b3JkIiwicHJlZmlsbE9ubHkiLCJhdmF0YXIiLCJidWlsZFBhdGgiLCJjb21wb25lbnRzIiwiTmF2IiwiYWN0aW9ucyIsImFmdGVyRGFzaGJvYXJkIiwiYWZ0ZXJMb2dpbiIsImFmdGVyTmF2TGlua3MiLCJiZWZvcmVEYXNoYm9hcmQiLCJiZWZvcmVMb2dpbiIsImJlZm9yZU5hdkxpbmtzIiwiZ3JhcGhpY3MiLCJJY29uIiwiTG9nbyIsImxvZ291dCIsIkJ1dHRvbiIsInByb3ZpZGVycyIsInZpZXdzIiwiQWNjb3VudCIsImFkbWluVmlld1NjaGVtYSIsIkRhc2hib2FyZCIsImRhdGVGb3JtYXQiLCJkaXNhYmxlIiwiaW5hY3Rpdml0eVJvdXRlIiwibGl2ZVByZXZpZXciLCJsaXZlUHJldmlld1NjaGVtYSIsImNvbGxlY3Rpb25zIiwiZ2xvYmFscyIsImxvZ291dFJvdXRlIiwibWV0YSIsImZhdmljb24iLCJvZ0ltYWdlIiwidGl0bGVTdWZmaXgiLCJ1c2VyIiwiYmluIiwia2V5Iiwic2NyaXB0UGF0aCIsImNvb2tpZVByZWZpeCIsImNvcnMiLCJjc3JmIiwiYWxsb3ciLCJzcGFyc2UiLCJkYiIsImRlYnVnIiwiZGVmYXVsdERlcHRoIiwibnVtYmVyIiwibWluIiwibWF4IiwiZGVmYXVsdE1heFRleHRMZW5ndGgiLCJlZGl0b3IiLCJyZXF1aXJlZCIsIkNlbGxDb21wb25lbnQiLCJjb21wb25lbnRTY2hlbWEiLCJvcHRpb25hbCIsIkZpZWxkQ29tcG9uZW50IiwiTGF6eUNlbGxDb21wb25lbnQiLCJMYXp5RmllbGRDb21wb25lbnQiLCJhZnRlclJlYWRQcm9taXNlIiwib3V0cHV0U2NoZW1hIiwicG9wdWxhdGlvblByb21pc2UiLCJ2YWxpZGF0ZSIsImVuZHBvaW50cyIsImdyYXBoUUwiLCJkaXNhYmxlUGxheWdyb3VuZEluUHJvZHVjdGlvbiIsIm1heENvbXBsZXhpdHkiLCJtdXRhdGlvbnMiLCJmdW5jdGlvbiIsInF1ZXJpZXMiLCJzY2hlbWFPdXRwdXRGaWxlIiwiaG9va3MiLCJhZnRlckVycm9yIiwiaTE4biIsImluZGV4U29ydGFibGVGaWVsZHMiLCJsb2NhbCIsImxvY2FsaXphdGlvbiIsImRlZmF1bHRMb2NhbGUiLCJmYWxsYmFjayIsImxvY2FsZUNvZGVzIiwibG9jYWxlcyIsImNvZGUiLCJmYWxsYmFja0xvY2FsZSIsImxhYmVsIiwicnRsIiwidG9TdHJpbmciLCJtYXhEZXB0aCIsIm9uSW5pdCIsInBsdWdpbnMiLCJyb3V0ZXMiLCJhcGkiLCJncmFwaFFMUGxheWdyb3VuZCIsInNlY3JldCIsInNlcnZlclVSTCIsInVyaSIsInZhbHVlIiwiaGVscGVyIiwidXJsV2l0aG91dFByb3RvY29sIiwic3BsaXQiLCJtZXNzYWdlIiwiaW5kZXhPZiIsInRlbGVtZXRyeSIsInR5cGVzY3JpcHQiLCJkZWNsYXJlIiwib3V0cHV0RmlsZSIsInVwbG9hZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFzQkEsT0FtS0U7ZUFuS0Y7O0lBZmFBLGVBQWU7ZUFBZkE7Ozs0REFQRztpQ0FFZ0I7aUNBQ21COzs7Ozs7QUFFbkQsTUFBTUMsWUFBWUMsWUFBRyxDQUFDQyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0YsWUFBRyxDQUFDRyxNQUFNLEdBQUdDLE9BQU8sSUFBSUosWUFBRyxDQUFDSyxJQUFJO0FBRWxFLE1BQU1QLGtCQUFrQkUsWUFBRyxDQUFDQyxZQUFZLEdBQUdDLEdBQUcsQ0FDbkRGLFlBQUcsQ0FBQ00sS0FBSyxHQUFHQyxLQUFLLENBQ2ZQLFlBQUcsQ0FBQ0csTUFBTSxDQUFDO0lBQ1RLLFFBQVFSLFlBQUcsQ0FBQ0csTUFBTSxHQUFHTSxPQUFPLENBQUNULFlBQUcsQ0FBQ1UsTUFBTSxJQUFJVixZQUFHLENBQUNXLEdBQUc7SUFDbERDLFNBQVNaLFlBQUcsQ0FBQ0MsWUFBWSxHQUFHQyxHQUFHLENBQUNGLFlBQUcsQ0FBQ00sS0FBSyxHQUFHQyxLQUFLLENBQUNQLFlBQUcsQ0FBQ0ssSUFBSSxLQUFLTCxZQUFHLENBQUNLLElBQUk7SUFDdkVRLFFBQVFiLFlBQUcsQ0FDUlUsTUFBTSxHQUNOSSxLQUFLLENBQUMsT0FBTyxRQUFRLFFBQVEsT0FBTyxTQUFTLFVBQVUsV0FBVztJQUNyRUMsTUFBTWYsWUFBRyxDQUFDVSxNQUFNO0lBQ2hCTSxNQUFNaEIsWUFBRyxDQUFDaUIsSUFBSTtBQUNoQixLQUVGakIsWUFBRyxDQUFDa0IsT0FBTztNQUdiLFdBQWVsQixZQUFHLENBQUNHLE1BQU0sQ0FBQztJQUN4QmdCLE9BQU9uQixZQUFHLENBQUNHLE1BQU0sQ0FBQztRQUNoQmlCLFdBQVdwQixZQUFHLENBQUNDLFlBQVksR0FBR0MsR0FBRyxDQUMvQkYsWUFBRyxDQUFDRyxNQUFNLEdBQUdrQixJQUFJ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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJ1xuXG5pbXBvcnQgeyBhZG1pblZpZXdTY2hlbWEgfSBmcm9tICcuL3NoYXJlZC9hZG1pblZpZXdTY2hlbWEnXG5pbXBvcnQgeyBjb21wb25lbnRTY2hlbWEsIGxpdmVQcmV2aWV3U2NoZW1hIH0gZnJvbSAnLi9zaGFyZWQvY29tcG9uZW50U2NoZW1hJ1xuXG5jb25zdCBjb21wb25lbnQgPSBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGpvaS5vYmplY3QoKS51bmtub3duKCksIGpvaS5mdW5jKCkpXG5cbmV4cG9ydCBjb25zdCBlbmRwb2ludHNTY2hlbWEgPSBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICAgICAgaGFuZGxlcjogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuYXJyYXkoKS5pdGVtcyhqb2kuZnVuYygpKSwgam9pLmZ1bmMoKSksXG4gICAgICBtZXRob2Q6IGpvaVxuICAgICAgICAuc3RyaW5nKClcbiAgICAgICAgLnZhbGlkKCdnZXQnLCAnaGVhZCcsICdwb3N0JywgJ3B1dCcsICdwYXRjaCcsICdkZWxldGUnLCAnY29ubmVjdCcsICdvcHRpb25zJyksXG4gICAgICBwYXRoOiBqb2kuc3RyaW5nKCksXG4gICAgICByb290OiBqb2kuYm9vbCgpLFxuICAgIH0pLFxuICApLFxuICBqb2kuYm9vbGVhbigpLFxuKVxuXG5leHBvcnQgZGVmYXVsdCBqb2kub2JqZWN0KHtcbiAgYWRtaW46IGpvaS5vYmplY3Qoe1xuICAgIGF1dG9Mb2dpbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgIGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgICAgZW1haWw6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgcGFzc3dvcmQ6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgcHJlZmlsbE9ubHk6IGpvaS5ib29sZWFuKCksXG4gICAgICB9KSxcbiAgICAgIGpvaS5ib29sZWFuKCksXG4gICAgKSxcbiAgICBhdmF0YXI6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBjb21wb25lbnQpLFxuICAgIGJ1aWxkUGF0aDogam9pLnN0cmluZygpLFxuICAgIGNvbXBvbmVudHM6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIE5hdjogY29tcG9uZW50LFxuICAgICAgYWN0aW9uczogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGFmdGVyRGFzaGJvYXJkOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnQpLFxuICAgICAgYWZ0ZXJMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGFmdGVyTmF2TGlua3M6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudCksXG4gICAgICBiZWZvcmVEYXNoYm9hcmQ6IGpvaS5hcnJheSgpLml0ZW1zKGNvbXBvbmVudCksXG4gICAgICBiZWZvcmVMb2dpbjogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIGJlZm9yZU5hdkxpbmtzOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnQpLFxuICAgICAgZ3JhcGhpY3M6IGpvaS5vYmplY3Qoe1xuICAgICAgICBJY29uOiBjb21wb25lbnQsXG4gICAgICAgIExvZ286IGNvbXBvbmVudCxcbiAgICAgIH0pLFxuICAgICAgbG9nb3V0OiBqb2kub2JqZWN0KHtcbiAgICAgICAgQnV0dG9uOiBjb21wb25lbnQsXG4gICAgICB9KSxcbiAgICAgIHByb3ZpZGVyczogam9pLmFycmF5KCkuaXRlbXMoY29tcG9uZW50KSxcbiAgICAgIHZpZXdzOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KFxuICAgICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgICBBY2NvdW50OiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGNvbXBvbmVudCwgYWRtaW5WaWV3U2NoZW1hKSxcbiAgICAgICAgICBEYXNoYm9hcmQ6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoY29tcG9uZW50LCBhZG1pblZpZXdTY2hlbWEpLFxuICAgICAgICB9KSxcbiAgICAgICAgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBjb21wb25lbnQpLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICBkYXRlRm9ybWF0OiBqb2kuc3RyaW5nKCksXG4gICAgZGlzYWJsZTogam9pLmJvb2woKSxcbiAgICBpbmFjdGl2aXR5Um91dGU6IGpvaS5zdHJpbmcoKSxcbiAgICBsaXZlUHJldmlldzogam9pLm9iamVjdCh7XG4gICAgICAuLi5saXZlUHJldmlld1NjaGVtYSxcbiAgICAgIGNvbGxlY3Rpb25zOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgZ2xvYmFsczogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICB9KSxcbiAgICBsb2dvdXRSb3V0ZTogam9pLnN0cmluZygpLFxuICAgIG1ldGE6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICAgIGZhdmljb246IGpvaS5zdHJpbmcoKSxcbiAgICAgIG9nSW1hZ2U6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHRpdGxlU3VmZml4OiBqb2kuc3RyaW5nKCksXG4gICAgfSksXG4gICAgdXNlcjogam9pLnN0cmluZygpLFxuICB9KSxcbiAgYmluOiBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBrZXk6IGpvaS5zdHJpbmcoKSxcbiAgICAgIHNjcmlwdFBhdGg6IGpvaS5zdHJpbmcoKSxcbiAgICB9KSxcbiAgKSxcbiAgY29sbGVjdGlvbnM6IGpvaS5hcnJheSgpLFxuICBjb29raWVQcmVmaXg6IGpvaS5zdHJpbmcoKSxcbiAgY29yczogW2pvaS5zdHJpbmcoKS52YWxpZCgnKicpLCBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpXSxcbiAgY3NyZjogam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpLmFsbG93KCcnKSkuc3BhcnNlKCksXG4gIGN1c3RvbTogam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBqb2kuYW55KCkpLFxuICBkYjogam9pLmFueSgpLFxuICBkZWJ1Zzogam9pLmJvb2xlYW4oKSxcbiAgZGVmYXVsdERlcHRoOiBqb2kubnVtYmVyKCkubWluKDApLm1heCgzMCksXG4gIGRlZmF1bHRNYXhUZXh0TGVuZ3RoOiBqb2kubnVtYmVyKCksXG4gIGVkaXRvcjogam9pXG4gICAgLm9iamVjdCgpXG4gICAgLnJlcXVpcmVkKClcbiAgICAua2V5cyh7XG4gICAgICBDZWxsQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIEZpZWxkQ29tcG9uZW50OiBjb21wb25lbnRTY2hlbWEub3B0aW9uYWwoKSxcbiAgICAgIExhenlDZWxsQ29tcG9uZW50OiBqb2kuZnVuYygpLm9wdGlvbmFsKCksXG4gICAgICBMYXp5RmllbGRDb21wb25lbnQ6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIGFmdGVyUmVhZFByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIG91dHB1dFNjaGVtYTogam9pLmZ1bmMoKS5vcHRpb25hbCgpLFxuICAgICAgcG9wdWxhdGlvblByb21pc2U6IGpvaS5mdW5jKCkub3B0aW9uYWwoKSxcbiAgICAgIHZhbGlkYXRlOiBqb2kuZnVuYygpLnJlcXVpcmVkKCksXG4gICAgfSlcbiAgICAudW5rbm93bigpLFxuICBlbWFpbDogam9pLm9iamVjdCgpLFxuICBlbmRwb2ludHM6IGVuZHBvaW50c1NjaGVtYSxcbiAgZ2xvYmFsczogam9pLmFycmF5KCksXG4gIGdyYXBoUUw6IGpvaS5vYmplY3QoKS5rZXlzKHtcbiAgICBkaXNhYmxlOiBqb2kuYm9vbGVhbigpLFxuICAgIGRpc2FibGVQbGF5Z3JvdW5kSW5Qcm9kdWN0aW9uOiBqb2kuYm9vbGVhbigpLFxuICAgIG1heENvbXBsZXhpdHk6IGpvaS5udW1iZXIoKSxcbiAgICBtdXRhdGlvbnM6IGpvaS5mdW5jdGlvbigpLFxuICAgIHF1ZXJpZXM6IGpvaS5mdW5jdGlvbigpLFxuICAgIHNjaGVtYU91dHB1dEZpbGU6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIGhvb2tzOiBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgYWZ0ZXJFcnJvcjogam9pLmZ1bmMoKSxcbiAgfSksXG4gIGkxOG46IGpvaS5vYmplY3QoKSxcbiAgaW5kZXhTb3J0YWJsZUZpZWxkczogam9pLmJvb2xlYW4oKSxcbiAgbG9jYWw6IGpvaS5ib29sZWFuKCksXG4gIGxvY2FsaXphdGlvbjogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICBqb2kub2JqZWN0KCkua2V5cyh7XG4gICAgICBkZWZhdWx0TG9jYWxlOiBqb2kuc3RyaW5nKCksXG4gICAgICBmYWxsYmFjazogam9pLmJvb2xlYW4oKSxcbiAgICAgIGxvY2FsZUNvZGVzOiBqb2kuYXJyYXkoKS5pdGVtcyhqb2kuc3RyaW5nKCkpLFxuICAgICAgbG9jYWxlczogam9pLmFsdGVybmF0aXZlcygpLnRyeShcbiAgICAgICAgam9pLmFycmF5KCkuaXRlbXMoXG4gICAgICAgICAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgICAgICAgICAgY29kZTogam9pLnN0cmluZygpLFxuICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGxhYmVsOiBqb2lcbiAgICAgICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgICAgIC50cnkoXG4gICAgICAgICAgICAgICAgam9pLm9iamVjdCgpLnBhdHRlcm4oam9pLnN0cmluZygpLCBbam9pLnN0cmluZygpXSksXG4gICAgICAgICAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICAgICAgICAgIGpvaS52YWxpZChmYWxzZSksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBydGw6IGpvaS5ib29sZWFuKCksXG4gICAgICAgICAgICB0b1N0cmluZzogam9pLmZ1bmMoKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICAgICAgam9pLmFycmF5KCkuaXRlbXMoam9pLnN0cmluZygpKSxcbiAgICAgICksXG4gICAgfSksXG4gICAgam9pLmJvb2xlYW4oKSxcbiAgKSxcbiAgbWF4RGVwdGg6IGpvaS5udW1iZXIoKS5taW4oMCkubWF4KDEwMCksXG4gIG9uSW5pdDogam9pLmZ1bmMoKSxcbiAgcGx1Z2luczogam9pLmFycmF5KCkuaXRlbXMoam9pLmZ1bmMoKSksXG4gIHJvdXRlczogam9pLm9iamVjdCh7XG4gICAgYWRtaW46IGpvaS5zdHJpbmcoKSxcbiAgICBhcGk6IGpvaS5zdHJpbmcoKSxcbiAgICBncmFwaFFMOiBqb2kuc3RyaW5nKCksXG4gICAgZ3JhcGhRTFBsYXlncm91bmQ6IGpvaS5zdHJpbmcoKSxcbiAgfSksXG4gIHNlY3JldDogam9pLnN0cmluZygpLFxuICBzZXJ2ZXJVUkw6IGpvaVxuICAgIC5zdHJpbmcoKVxuICAgIC51cmkoKVxuICAgIC5hbGxvdygnJylcbiAgICAuY3VzdG9tKCh2YWx1ZSwgaGVscGVyKSA9PiB7XG4gICAgICBjb25zdCB1cmxXaXRob3V0UHJvdG9jb2wgPSB2YWx1ZS5zcGxpdCgnLy8nKVsxXVxuXG4gICAgICBpZiAoIXVybFdpdGhvdXRQcm90b2NvbCkge1xuICAgICAgICByZXR1cm4gaGVscGVyLm1lc3NhZ2Uoe1xuICAgICAgICAgIGN1c3RvbTogJ1lvdSBuZWVkIHRvIGluY2x1ZGUgZWl0aGVyIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIiBpbiB5b3VyIHNlcnZlclVSTC4nLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAodXJsV2l0aG91dFByb3RvY29sLmluZGV4T2YoJy8nKSA+IC0xKSB7XG4gICAgICAgIHJldHVybiBoZWxwZXIubWVzc2FnZSh7XG4gICAgICAgICAgY3VzdG9tOlxuICAgICAgICAgICAgJ1lvdXIgc2VydmVyVVJMIGNhbm5vdCBoYXZlIGEgcGF0aC4gSXQgY2FuIG9ubHkgY29udGFpbiBhIHByb3RvY29sLCBhIGRvbWFpbiwgYW5kIGFuIG9wdGlvbmFsIHBvcnQuJyxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSksXG4gIHNoYXJwOiBqb2kuYW55KCksXG4gIHRlbGVtZXRyeTogam9pLmJvb2xlYW4oKSxcbiAgdHlwZXNjcmlwdDogam9pLm9iamVjdCh7XG4gICAgZGVjbGFyZTogam9pLmJvb2xlYW4oKSxcbiAgICBvdXRwdXRGaWxlOiBqb2kuc3RyaW5nKCksXG4gIH0pLFxuICB1cGxvYWQ6IGpvaS5vYmplY3QoKSxcbn0pXG4iXSwibmFtZXMiOlsiZW5kcG9pbnRzU2NoZW1hIiwiY29tcG9uZW50Iiwiam9pIiwiYWx0ZXJuYXRpdmVzIiwidHJ5Iiwib2JqZWN0IiwidW5rbm93biIsImZ1bmMiLCJhcnJheSIsIml0ZW1zIiwiY3VzdG9tIiwicGF0dGVybiIsInN0cmluZyIsImFueSIsImhhbmRsZXIiLCJtZXRob2QiLCJ2YWxpZCIsInBhdGgiLCJyb290IiwiYm9vbCIsImJvb2xlYW4iLCJhZG1pbiIsImF1dG9Mb2dpbiIsImtleXMiLCJlbWFpbCIsInBhc3N3b3JkIiwicHJlZmlsbE9ubHkiLCJhdmF0YXIiLCJidWlsZFBhdGgiLCJjb21wb25lbnRzIiwiTmF2IiwiYWN0aW9ucyIsImFmdGVyRGFzaGJvYXJkIiwiYWZ0ZXJMb2dpbiIsImFmdGVyTmF2TGlua3MiLCJiZWZvcmVEYXNoYm9hcmQiLCJiZWZvcmVMb2dpbiIsImJlZm9yZU5hdkxpbmtzIiwiZ3JhcGhpY3MiLCJJY29uIiwiTG9nbyIsImxvZ291dCIsIkJ1dHRvbiIsInByb3ZpZGVycyIsInZpZXdzIiwiQWNjb3VudCIsImFkbWluVmlld1NjaGVtYSIsIkRhc2hib2FyZCIsImRhdGVGb3JtYXQiLCJkaXNhYmxlIiwiaW5hY3Rpdml0eVJvdXRlIiwibGl2ZVByZXZpZXciLCJsaXZlUHJldmlld1NjaGVtYSIsImNvbGxlY3Rpb25zIiwiZ2xvYmFscyIsImxvZ291dFJvdXRlIiwibWV0YSIsImZhdmljb24iLCJvZ0ltYWdlIiwidGl0bGVTdWZmaXgiLCJ1c2VyIiwiYmluIiwia2V5Iiwic2NyaXB0UGF0aCIsImNvb2tpZVByZWZpeCIsImNvcnMiLCJjc3JmIiwiYWxsb3ciLCJzcGFyc2UiLCJkYiIsImRlYnVnIiwiZGVmYXVsdERlcHRoIiwibnVtYmVyIiwibWluIiwibWF4IiwiZGVmYXVsdE1heFRleHRMZW5ndGgiLCJlZGl0b3IiLCJyZXF1aXJlZCIsIkNlbGxDb21wb25lbnQiLCJjb21wb25lbnRTY2hlbWEiLCJvcHRpb25hbCIsIkZpZWxkQ29tcG9uZW50IiwiTGF6eUNlbGxDb21wb25lbnQiLCJMYXp5RmllbGRDb21wb25lbnQiLCJhZnRlclJlYWRQcm9taXNlIiwib3V0cHV0U2NoZW1hIiwicG9wdWxhdGlvblByb21pc2UiLCJ2YWxpZGF0ZSIsImVuZHBvaW50cyIsImdyYXBoUUwiLCJkaXNhYmxlUGxheWdyb3VuZEluUHJvZHVjdGlvbiIsIm1heENvbXBsZXhpdHkiLCJtdXRhdGlvbnMiLCJmdW5jdGlvbiIsInF1ZXJpZXMiLCJzY2hlbWFPdXRwdXRGaWxlIiwiaG9va3MiLCJhZnRlckVycm9yIiwiaTE4biIsImluZGV4U29ydGFibGVGaWVsZHMiLCJsb2NhbCIsImxvY2FsaXphdGlvbiIsImRlZmF1bHRMb2NhbGUiLCJmYWxsYmFjayIsImxvY2FsZUNvZGVzIiwibG9jYWxlcyIsImNvZGUiLCJmYWxsYmFja0xvY2FsZSIsImxhYmVsIiwicnRsIiwidG9TdHJpbmciLCJtYXhEZXB0aCIsIm9uSW5pdCIsInBsdWdpbnMiLCJyb3V0ZXMiLCJhcGkiLCJncmFwaFFMUGxheWdyb3VuZCIsInNlY3JldCIsInNlcnZlclVSTCIsInVyaSIsInZhbHVlIiwiaGVscGVyIiwidXJsV2l0aG91dFByb3RvY29sIiwic3BsaXQiLCJtZXNzYWdlIiwiaW5kZXhPZiIsInNoYXJwIiwidGVsZW1ldHJ5IiwidHlwZXNjcmlwdCIsImRlY2xhcmUiLCJvdXRwdXRGaWxlIiwidXBsb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNCQSxPQW9LRTtlQXBLRjs7SUFmYUEsZUFBZTtlQUFmQTs7OzREQVBHO2lDQUVnQjtpQ0FDbUI7Ozs7OztBQUVuRCxNQUFNQyxZQUFZQyxZQUFHLENBQUNDLFlBQVksR0FBR0MsR0FBRyxDQUFDRixZQUFHLENBQUNHLE1BQU0sR0FBR0MsT0FBTyxJQUFJSixZQUFHLENBQUNLLElBQUk7QUFFbEUsTUFBTVAsa0JBQWtCRSxZQUFHLENBQUNDLFlBQVksR0FBR0MsR0FBRyxDQUNuREYsWUFBRyxDQUFDTSxLQUFLLEdBQUdDLEtBQUssQ0FDZlAsWUFBRyxDQUFDRyxNQUFNLENBQUM7SUFDVEssUUFBUVIsWUFBRyxDQUFDRyxNQUFNLEdBQUdNLE9BQU8sQ0FBQ1QsWUFBRyxDQUFDVSxNQUFNLElBQUlWLFlBQUcsQ0FBQ1csR0FBRztJQUNsREMsU0FBU1osWUFBRyxDQUFDQyxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0YsWUFBRyxDQUFDTSxLQUFLLEdBQUdDLEtBQUssQ0FBQ1AsWUFBRyxDQUFDSyxJQUFJLEtBQUtMLFlBQUcsQ0FBQ0ssSUFBSTtJQUN2RVEsUUFBUWIsWUFBRyxDQUNSVSxNQUFNLEdBQ05JLEtBQUssQ0FBQyxPQUFPLFFBQVEsUUFBUSxPQUFPLFNBQVMsVUFBVSxXQUFXO0lBQ3JFQyxNQUFNZixZQUFHLENBQUNVLE1BQU07SUFDaEJNLE1BQU1oQixZQUFHLENBQUNpQixJQUFJO0FBQ2hCLEtBRUZqQixZQUFHLENBQUNrQixPQUFPO01BR2IsV0FBZWxCLFlBQUcsQ0FBQ0csTUFBTSxDQUFDO0lBQ3hCZ0IsT0FBT25CLFlBQUcsQ0FBQ0csTUFBTSxDQUFDO1FBQ2hCaUIsV0FBV3BCLFlBQUcsQ0FBQ0MsWUFBWSxHQUFHQyxHQUFHLENBQy9C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
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { I18nOptions } from '@payloadcms/translations';
2
3
  import type { Options as ExpressFileUploadOptions } from 'express-fileupload';
3
4
  import type GraphQL from 'graphql';
@@ -5,6 +6,7 @@ import type { Transporter } from 'nodemailer';
5
6
  import type SMTPConnection from 'nodemailer/lib/smtp-connection';
6
7
  import type { DestinationStream, LoggerOptions } from 'pino';
7
8
  import type React from 'react';
9
+ import type { default as sharp } from 'sharp';
8
10
  import type { DeepRequired } from 'ts-essentials';
9
11
  import type { Payload } from '..';
10
12
  import type { DocumentTab, RichTextAdapter } from '../admin/types';
@@ -289,6 +291,7 @@ export type SanitizedLocalizationConfig = Prettify<LocalizationConfigWithLabels
289
291
  * @see https://payloadcms.com/docs/configuration/localization#localization
290
292
  */
291
293
  export type LocalizationConfig = Prettify<LocalizationConfigWithLabels | LocalizationConfigWithNoLabels>;
294
+ export type SharpDependency = (input?: ArrayBuffer | Buffer | Float32Array | Float64Array | Int8Array | Int16Array | Int32Array | Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | string, options?: sharp.SharpOptions) => sharp.Sharp;
292
295
  /**
293
296
  * This is the central configuration
294
297
  *
@@ -564,6 +567,11 @@ export type Config = {
564
567
  * @see https://payloadcms.com/docs/configuration/overview#options
565
568
  */
566
569
  serverURL?: string;
570
+ /**
571
+ * Pass in a local copy of Sharp if you'd like to use it.
572
+ *
573
+ */
574
+ sharp?: SharpDependency;
567
575
  /** Send anonymous telemetry data about general usage. */
568
576
  telemetry?: boolean;
569
577
  /** Control how typescript interfaces are generated from your collections. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,4 @@ function hasTransportOptions(emailConfig) {
23
23
  return emailConfig.transportOptions !== undefined;
24
24
  }
25
25
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJMThuT3B0aW9ucyB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBFeHByZXNzRmlsZVVwbG9hZE9wdGlvbnMgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSBHcmFwaFFMIGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgdHlwZSB7IFRyYW5zcG9ydGVyIH0gZnJvbSAnbm9kZW1haWxlcidcbmltcG9ydCB0eXBlIFNNVFBDb25uZWN0aW9uIGZyb20gJ25vZGVtYWlsZXIvbGliL3NtdHAtY29ubmVjdGlvbidcbmltcG9ydCB0eXBlIHsgRGVzdGluYXRpb25TdHJlYW0sIExvZ2dlck9wdGlvbnMgfSBmcm9tICdwaW5vJ1xuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IERlZXBSZXF1aXJlZCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudFRhYiwgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vYWRtaW4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEFkbWluVmlldywgU2VydmVyU2lkZUVkaXRWaWV3UHJvcHMgfSBmcm9tICcuLi9hZG1pbi92aWV3cy90eXBlcydcbmltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgvdHlwZXMnXG5pbXBvcnQgdHlwZSB7XG4gIEFmdGVyRXJyb3JIb29rLFxuICBDb2xsZWN0aW9uLFxuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxufSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQWRhcHRlclJlc3VsdCB9IGZyb20gJy4uL2RhdGFiYXNlL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWdGaWVsZCB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEdsb2JhbENvbmZpZywgR2xvYmFscywgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBXaGVyZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkTG9nZ2VyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2xvZ2dlcidcblxuZXhwb3J0IHR5cGUgQmluU2NyaXB0Q29uZmlnID0ge1xuICBrZXk6IHN0cmluZ1xuICBzY3JpcHRQYXRoOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQmluU2NyaXB0ID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZFxuXG50eXBlIFByZXR0aWZ5PFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXVxufSAmIE5vbk51bGxhYmxlPHVua25vd24+XG5cbnR5cGUgRW1haWwgPSB7XG4gIGZyb21BZGRyZXNzOiBzdHJpbmdcbiAgZnJvbU5hbWU6IHN0cmluZ1xuICBsb2dNb2NrQ3JlZGVudGlhbHM/OiBib29sZWFuXG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuZXhwb3J0IHR5cGUgUGx1Z2luID0gKGNvbmZpZzogQ29uZmlnKSA9PiBDb25maWcgfCBQcm9taXNlPENvbmZpZz5cblxuZXhwb3J0IHR5cGUgTGl2ZVByZXZpZXdDb25maWcgPSB7XG4gIC8qKlxuICAgRGV2aWNlIGJyZWFrcG9pbnRzIHRvIHVzZSBmb3IgdGhlIGBpZnJhbWVgIG9mIHRoZSBMaXZlIFByZXZpZXcgd2luZG93LlxuICAgT3B0aW9ucyBhcmUgZGlzcGxheWVkIGluIHRoZSBMaXZlIFByZXZpZXcgdG9vbGJhci5cbiAgIFRoZSBgcmVzcG9uc2l2ZWAgYnJlYWtwb2ludCBpcyBpbmNsdWRlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgYnJlYWtwb2ludHM/OiB7XG4gICAgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmdcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gICAgd2lkdGg6IG51bWJlciB8IHN0cmluZ1xuICB9W11cbiAgLyoqXG4gICBUaGUgVVJMIG9mIHRoZSBmcm9udGVuZCBhcHBsaWNhdGlvbi4gVGhpcyB3aWxsIGJlIHJlbmRlcmVkIHdpdGhpbiBhbiBgaWZyYW1lYCBhcyBpdHMgYHNyY2AuXG4gICBQYXlsb2FkIHdpbGwgc2VuZCBhIGB3aW5kb3cucG9zdE1lc3NhZ2UoKWAgdG8gdGhpcyBVUkwgd2l0aCB0aGUgZG9jdW1lbnQgZGF0YSBpbiByZWFsLXRpbWUuXG4gICBUaGUgZnJvbnRlbmQgYXBwbGljYXRpb24gaXMgcmVzcG9uc2libGUgZm9yIHJlY2VpdmluZyB0aGUgbWVzc2FnZSBhbmQgdXBkYXRpbmcgdGhlIFVJIGFjY29yZGluZ2x5LlxuICAgVXNlIHRoZSBgdXNlTGl2ZVByZXZpZXdgIGhvb2sgdG8gZ2V0IHN0YXJ0ZWQgaW4gUmVhY3QgYXBwbGljYXRpb25zLlxuICAgKi9cbiAgdXJsPzpcbiAgICB8ICgoYXJnczoge1xuICAgICAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgICAgIGRvY3VtZW50SW5mbzogYW55IC8vIFRPRE86IHJlbW92ZSBvciBwb3B1bGF0ZSB0aGlzXG4gICAgICAgIGxvY2FsZTogTG9jYWxlXG4gICAgICB9KSA9PiBQcm9taXNlPHN0cmluZz4gfCBzdHJpbmcpXG4gICAgfCBzdHJpbmdcbn1cblxudHlwZSBHZW5lcmF0ZVByZXZpZXdVUkxPcHRpb25zID0ge1xuICBsb2NhbGU6IHN0cmluZ1xuICB0b2tlbjogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEdlbmVyYXRlUHJldmlld1VSTCA9IChcbiAgZG9jOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgb3B0aW9uczogR2VuZXJhdGVQcmV2aWV3VVJMT3B0aW9ucyxcbikgPT4gUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB8IG51bGwgfCBzdHJpbmdcblxuZXhwb3J0IHR5cGUgRW1haWxUcmFuc3BvcnQgPSBFbWFpbCAmIHtcbiAgdHJhbnNwb3J0OiBUcmFuc3BvcnRlclxuICB0cmFuc3BvcnRPcHRpb25zPzogU01UUENvbm5lY3Rpb24uT3B0aW9uc1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbFRyYW5zcG9ydE9wdGlvbnMgPSBFbWFpbCAmIHtcbiAgdHJhbnNwb3J0PzogVHJhbnNwb3J0ZXJcbiAgdHJhbnNwb3J0T3B0aW9uczogU01UUENvbm5lY3Rpb24uT3B0aW9uc1xufVxuXG5leHBvcnQgdHlwZSBFbWFpbE9wdGlvbnMgPSBFbWFpbCB8IEVtYWlsVHJhbnNwb3J0IHwgRW1haWxUcmFuc3BvcnRPcHRpb25zXG5cbi8qKlxuICogdHlwZSBndWFyZCBmb3IgRW1haWxPcHRpb25zXG4gKiBAcGFyYW0gZW1haWxDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1RyYW5zcG9ydChlbWFpbENvbmZpZzogRW1haWxPcHRpb25zKTogZW1haWxDb25maWcgaXMgRW1haWxUcmFuc3BvcnQge1xuICByZXR1cm4gKGVtYWlsQ29uZmlnIGFzIEVtYWlsVHJhbnNwb3J0KS50cmFuc3BvcnQgIT09IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIHR5cGUgZ3VhcmQgZm9yIEVtYWlsT3B0aW9uc1xuICogQHBhcmFtIGVtYWlsQ29uZmlnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNUcmFuc3BvcnRPcHRpb25zKFxuICBlbWFpbENvbmZpZzogRW1haWxPcHRpb25zLFxuKTogZW1haWxDb25maWcgaXMgRW1haWxUcmFuc3BvcnRPcHRpb25zIHtcbiAgcmV0dXJuIChlbWFpbENvbmZpZyBhcyBFbWFpbFRyYW5zcG9ydE9wdGlvbnMpLnRyYW5zcG9ydE9wdGlvbnMgIT09IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgdHlwZSBHcmFwaFFMSW5mbyA9IHtcbiAgTXV0YXRpb246IHtcbiAgICBmaWVsZHM6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBRdWVyeToge1xuICAgIGZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PlxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfVxuICBnbG9iYWxzOiBHbG9iYWxzXG4gIHR5cGVzOiB7XG4gICAgYXJyYXlUeXBlczogUmVjb3JkPHN0cmluZywgR3JhcGhRTC5HcmFwaFFMVHlwZT5cbiAgICBibG9ja0lucHV0VHlwZXM6IFJlY29yZDxzdHJpbmcsIEdyYXBoUUwuR3JhcGhRTElucHV0T2JqZWN0VHlwZT5cbiAgICBibG9ja1R5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxPYmplY3RUeXBlPlxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogR3JhcGhRTC5HcmFwaFFMRW51bVR5cGUgfCBHcmFwaFFMLkdyYXBoUUxTY2FsYXJUeXBlXG4gICAgZ3JvdXBUeXBlczogUmVjb3JkPHN0cmluZywgR3JhcGhRTC5HcmFwaFFMT2JqZWN0VHlwZT5cbiAgICBsb2NhbGVJbnB1dFR5cGU/OiBHcmFwaFFMLkdyYXBoUUxFbnVtVHlwZSB8IEdyYXBoUUwuR3JhcGhRTFNjYWxhclR5cGVcbiAgICB0YWJUeXBlczogUmVjb3JkPHN0cmluZywgR3JhcGhRTC5HcmFwaFFMT2JqZWN0VHlwZT5cbiAgfVxufVxuZXhwb3J0IHR5cGUgR3JhcGhRTEV4dGVuc2lvbiA9IChcbiAgZ3JhcGhRTDogdHlwZW9mIEdyYXBoUUwsXG4gIGNvbnRleHQ6IHtcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZ1xuICB9ICYgR3JhcGhRTEluZm8sXG4pID0+IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cbmV4cG9ydCB0eXBlIEluaXRPcHRpb25zID0ge1xuICAvKipcbiAgICogU29tZXRpbWVzLCB3aXRoIHRoZSBsb2NhbCBBUEksIHlvdSBtaWdodCBuZWVkIHRvIHBhc3MgYSBjb25maWcgZmlsZSBkaXJlY3RseSwgZm9yIGV4YW1wbGUsIHNlcnZlcmxlc3Mgb24gVmVyY2VsXG4gICAqIFRoZSBwYXNzZWQgY29uZmlnIHNob3VsZCBtYXRjaCB0aGUgY29uZmlnIGZpbGUsIGFuZCBpZiBpdCBkb2Vzbid0LCB0aGVyZSBjb3VsZCBiZSBtaXNtYXRjaGVzIGJldHdlZW4gdGhlIGFkbWluIFVJXG4gICAqIGFuZCB0aGUgYmFja2VuZCBmdW5jdGlvbmFsaXR5XG4gICAqL1xuICBjb25maWc6IFByb21pc2U8U2FuaXRpemVkQ29uZmlnPiB8IFNhbml0aXplZENvbmZpZ1xuICAvKipcbiAgICogRGlzYWJsZSBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZSBvbiBpbml0XG4gICAqL1xuICBkaXNhYmxlREJDb25uZWN0PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJ1bm5pbmcgb2YgdGhlIGBvbkluaXRgIGZ1bmN0aW9uXG4gICAqL1xuICBkaXNhYmxlT25Jbml0PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIGZvciBQYXlsb2FkJ3MgZW1haWwgZnVuY3Rpb25hbGl0eVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9lbWFpbC9vdmVydmlld1xuICAgKi9cbiAgZW1haWw/OiBFbWFpbE9wdGlvbnNcblxuICAvKipcbiAgICogQSBwcmV2aW91c2x5IGluc3RhbnRpYXRlZCBsb2dnZXIgaW5zdGFuY2UuIE11c3QgY29uZm9ybSB0byB0aGUgUGF5bG9hZExvZ2dlciBpbnRlcmZhY2Ugd2hpY2ggdXNlcyBQaW5vXG4gICAqIFRoaXMgYWxsb3dzIHlvdSB0byBicmluZyB5b3VyIG93biBsb2dnZXIgaW5zdGFuY2UgYW5kIGxldCBwYXlsb2FkIHVzZSBpdFxuICAgKi9cbiAgbG9nZ2VyPzogUGF5bG9hZExvZ2dlclxuXG4gIGxvZ2dlckRlc3RpbmF0aW9uPzogRGVzdGluYXRpb25TdHJlYW1cblxuICAvKipcbiAgICogU3BlY2lmeSBvcHRpb25zIGZvciB0aGUgYnVpbHQtaW4gUGlubyBsb2dnZXIgdGhhdCBQYXlsb2FkIHVzZXMgZm9yIGludGVybmFsIGxvZ2dpbmcuXG4gICAqXG4gICAqIFNlZSBQaW5vIERvY3MgZm9yIG9wdGlvbnM6IGh0dHBzOi8vZ2V0cGluby5pby8jL2RvY3MvYXBpP2lkPW9wdGlvbnNcbiAgICovXG4gIGxvZ2dlck9wdGlvbnM/OiBMb2dnZXJPcHRpb25zXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBzdGFydHVwIHRoYXQgcmVjZWl2ZXMgdGhlIFBheWxvYWQgaW5zdGFuY2UgYXMgaXQncyBvbmx5IGFyZ3VtZW50LlxuICAgKi9cbiAgb25Jbml0PzogKHBheWxvYWQ6IFBheWxvYWQpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG59XG5cbi8qKlxuICogVGhpcyByZXN1bHQgaXMgY2FsY3VsYXRlZCBvbiB0aGUgc2VydmVyXG4gKiBhbmQgdGhlbiBzZW50IHRvIHRoZSBjbGllbnQgYWxsb3dpbmcgdGhlIGRhc2hib2FyZCB0byBzaG93IGFjY2Vzc2libGUgZGF0YSBhbmQgYWN0aW9ucy5cbiAqXG4gKiBJZiB0aGUgcmVzdWx0IGlzIGB0cnVlYCwgdGhlIHVzZXIgaGFzIGFjY2Vzcy5cbiAqIElmIHRoZSByZXN1bHQgaXMgYW4gb2JqZWN0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIE1vbmdvREIgcXVlcnkuXG4gKlxuICogQGV4YW1wbGUgYHsgY3JlYXRlZEJ5OiB7IGVxdWFsczogaWQgfSB9YFxuICpcbiAqIEBleGFtcGxlIGB7IHRlbmFudDogeyBpbjogdGVuYW50SWRzIH0gfWBcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9hY2Nlc3MtY29udHJvbC9vdmVydmlld1xuICovXG5leHBvcnQgdHlwZSBBY2Nlc3NSZXN1bHQgPSBXaGVyZSB8IGJvb2xlYW5cblxuZXhwb3J0IHR5cGUgQWNjZXNzQXJnczxUID0gYW55LCBVID0gYW55PiA9IHtcbiAgLyoqXG4gICAqIFRoZSByZWxldmFudCByZXNvdXJjZSB0aGF0IGlzIGJlaW5nIGFjY2Vzc2VkLlxuICAgKlxuICAgKiBgZGF0YWAgaXMgbnVsbCB3aGVuIGEgbGlzdCBpcyByZXF1ZXN0ZWRcbiAgICovXG4gIGRhdGE/OiBUXG4gIC8qKiBJRCBvZiB0aGUgcmVzb3VyY2UgYmVpbmcgYWNjZXNzZWQgKi9cbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIElmIHRydWUsIHRoZSByZXF1ZXN0IGlzIGZvciBhIHN0YXRpYyBmaWxlICovXG4gIGlzUmVhZGluZ1N0YXRpY0ZpbGU/OiBib29sZWFuXG4gIC8qKiBUaGUgb3JpZ2luYWwgcmVxdWVzdCB0aGF0IHJlcXVpcmVzIGFuIGFjY2VzcyBjaGVjayAqL1xuICByZXE6IFBheWxvYWRSZXF1ZXN0PFU+XG59XG5cbi8qKlxuICogQWNjZXNzIGZ1bmN0aW9uIHJ1bnMgb24gdGhlIHNlcnZlclxuICogYW5kIGlzIHNlbnQgdG8gdGhlIGNsaWVudCBhbGxvd2luZyB0aGUgZGFzaGJvYXJkIHRvIHNob3cgYWNjZXNzaWJsZSBkYXRhIGFuZCBhY3Rpb25zLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FjY2Vzcy1jb250cm9sL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIEFjY2VzczxUID0gYW55LCBVID0gYW55PiA9IChcbiAgYXJnczogQWNjZXNzQXJnczxULCBVPixcbikgPT4gQWNjZXNzUmVzdWx0IHwgUHJvbWlzZTxBY2Nlc3NSZXN1bHQ+XG5cbi8qKiBXZWIgUmVxdWVzdC9SZXNwb25zZSBtb2RlbCwgYnV0IHRoZSB0aGUgcmVxIGhhcyBtb3JlIHBheWxvYWQgc3BlY2lmaWMgcHJvcGVydGllcyBhZGRlZCB0byBpdC4gKi9cbmV4cG9ydCB0eXBlIFBheWxvYWRIYW5kbGVyID0gKHJlcTogUGF5bG9hZFJlcXVlc3QpID0+IFByb21pc2U8UmVzcG9uc2U+IHwgUmVzcG9uc2VcblxuLyoqXG4gKiBEb2NzOiBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvcmVzdC1hcGkvb3ZlcnZpZXcjY3VzdG9tLWVuZHBvaW50c1xuICovXG5leHBvcnQgdHlwZSBFbmRwb2ludDxVID0gVXNlcj4gPSB7XG4gIC8qKiBFeHRlbnNpb24gcG9pbnQgdG8gYWRkIHlvdXIgY3VzdG9tIGRhdGEuICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIGFueT5cblxuICAvKipcbiAgICogTWlkZGxld2FyZSB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIHBhdGgvbWV0aG9kIG1hdGNoZXNcbiAgICpcbiAgICogQ29tcGF0aWJsZSB3aXRoIFdlYiBSZXF1ZXN0L1Jlc3BvbnNlIE1vZGVsXG4gICAqL1xuICBoYW5kbGVyOiBQYXlsb2FkSGFuZGxlclxuICAvKiogSFRUUCBtZXRob2QgKG9yIFwiYWxsXCIpICovXG4gIG1ldGhvZDogJ2Nvbm5lY3QnIHwgJ2RlbGV0ZScgfCAnZ2V0JyB8ICdoZWFkJyB8ICdvcHRpb25zJyB8ICdwYXRjaCcgfCAncG9zdCcgfCAncHV0J1xuICAvKipcbiAgICogUGF0dGVybiB0aGF0IHNob3VsZCBtYXRjaCB0aGUgcGF0aCBvZiB0aGUgaW5jb21pbmcgcmVxdWVzdFxuICAgKlxuICAgKiBDb21wYXRpYmxlIHdpdGggdGhlIEV4cHJlc3Mgcm91dGVyXG4gICAqL1xuICBwYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIGluIDMuMFxuICAgKlxuICAgKiBQbGVhc2UgYWRkIFwicm9vdFwiIHJvdXRlcyB1bmRlciB0aGUgL2FwaSBmb2xkZXIgaW4gdGhlIFBheWxvYWQgUHJvamVjdC5cbiAgICogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZmlsZS1jb252ZW50aW9ucy9yb3V0ZVxuICAgKi9cbiAgcm9vdD86IG5ldmVyXG59XG5cbmV4cG9ydCB0eXBlIEVkaXRWaWV3Q29tcG9uZW50ID0gUmVhY3QuQ29tcG9uZW50VHlwZTxTZXJ2ZXJTaWRlRWRpdFZpZXdQcm9wcz5cblxuZXhwb3J0IHR5cGUgRWRpdFZpZXdDb25maWcgPVxuICB8IHtcbiAgICAgIC8qKlxuICAgICAgICogQWRkIGEgbmV3IEVkaXQgdmlldyB0byB0aGUgYWRtaW4gcGFuZWxcbiAgICAgICAqIGkuZS4geW91IGNhbiByZW5kZXIgYSBjdXN0b20gdmlldyB0aGF0IGhhcyBubyB0YWIsIGlmIGRlc2lyZWRcbiAgICAgICAqIE9yIG92ZXJyaWRlIGEgc3BlY2lmaWMgcHJvcGVydGllcyBvZiBhbiBleGlzdGluZyBvbmVcbiAgICAgICAqIGkuZS4geW91IGNhbiBjdXN0b21pemUgdGhlIGBEZWZhdWx0YCB2aWV3IHRhYiBsYWJlbCwgaWYgZGVzaXJlZFxuICAgICAgICovXG4gICAgICBUYWI/OiBEb2N1bWVudFRhYlxuICAgICAgcGF0aD86IHN0cmluZ1xuICAgIH1cbiAgfCB7XG4gICAgICBDb21wb25lbnQ6IEVkaXRWaWV3Q29tcG9uZW50XG4gICAgICBwYXRoOiBzdHJpbmdcbiAgICB9XG4gIHwge1xuICAgICAgYWN0aW9ucz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgfVxuXG4vKipcbiAqIE92ZXJyaWRlIGV4aXN0aW5nIHZpZXdzXG4gKiBpLmUuIERhc2hib2FyZCwgQWNjb3VudCwgQVBJLCBMaXZlUHJldmlldywgZXRjLlxuICogUGF0aCBpcyBub3QgYXZhaWxhYmxlIGhlcmVcbiAqIEFsbCBUYWIgcHJvcGVydGllcyBiZWNvbWUgb3B0aW9uYWxcbiAqIGkuZS4geW91IGNhbiBjaGFuZ2UganVzdCB0aGUgbGFiZWwsIGlmIGRlc2lyZWRcbiAqL1xuZXhwb3J0IHR5cGUgRWRpdFZpZXcgPSBFZGl0Vmlld0NvbXBvbmVudCB8IEVkaXRWaWV3Q29uZmlnXG5cbmV4cG9ydCB0eXBlIExvY2FsZSA9IHtcbiAgLyoqXG4gICAqIHZhbHVlIG9mIHN1cHBvcnRlZCBsb2NhbGVcbiAgICogQGV4YW1wbGUgXCJlblwiXG4gICAqL1xuICBjb2RlOiBzdHJpbmdcbiAgLyoqXG4gICAqIENvZGUgb2YgYW5vdGhlciBsb2NhbGUgdG8gdXNlIHdoZW4gcmVhZGluZyBkb2N1bWVudHMgd2l0aCBmYWxsYmFjaywgaWYgbm90IHNwZWNpZmllZCBkZWZhdWx0TG9jYWxlIGlzIHVzZWRcbiAgICovXG4gIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gIC8qKlxuICAgKiBsYWJlbCBvZiBzdXBwb3J0ZWQgbG9jYWxlXG4gICAqIEBleGFtcGxlIFwiRW5nbGlzaFwiXG4gICAqL1xuICBsYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZ1xuICAvKipcbiAgICogaWYgdHJ1ZSwgZGVmYXVsdHMgdGV4dEFsaWdtbmVudCBvbiB0ZXh0IGZpZWxkcyB0byBSVExcbiAgICovXG4gIHJ0bD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQmFzZUxvY2FsaXphdGlvbkNvbmZpZyA9IHtcbiAgLyoqXG4gICAqIExvY2FsZSBmb3IgdXNlcnMgdGhhdCBoYXZlIG5vdCBleHByZXNzZWQgdGhlaXIgcHJlZmVyZW5jZSBmb3IgYSBzcGVjaWZpYyBsb2NhbGVcbiAgICogQGV4YW1wbGUgYFwiZW5cImBcbiAgICovXG4gIGRlZmF1bHRMb2NhbGU6IHN0cmluZ1xuICAvKiogU2V0IHRvIGB0cnVlYCB0byBsZXQgbWlzc2luZyB2YWx1ZXMgaW4gbG9jYWxpc2VkIGZpZWxkcyBmYWxsIGJhY2sgdG8gdGhlIHZhbHVlcyBpbiBgZGVmYXVsdExvY2FsZWAgKi9cbiAgZmFsbGJhY2s/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIExvY2FsaXphdGlvbkNvbmZpZ1dpdGhOb0xhYmVscyA9IFByZXR0aWZ5PFxuICBCYXNlTG9jYWxpemF0aW9uQ29uZmlnICYge1xuICAgIC8qKlxuICAgICAqIExpc3Qgb2Ygc3VwcG9ydGVkIGxvY2FsZXNcbiAgICAgKiBAZXhhbXBsZSBgW1wiZW5cIiwgXCJlc1wiLCBcImZyXCIsIFwibmxcIiwgXCJkZVwiLCBcImpwXCJdYFxuICAgICAqL1xuICAgIGxvY2FsZXM6IHN0cmluZ1tdXG4gIH1cbj5cblxuZXhwb3J0IHR5cGUgTG9jYWxpemF0aW9uQ29uZmlnV2l0aExhYmVscyA9IFByZXR0aWZ5PFxuICBCYXNlTG9jYWxpemF0aW9uQ29uZmlnICYge1xuICAgIC8qKlxuICAgICAqIExpc3Qgb2Ygc3VwcG9ydGVkIGxvY2FsZXMgd2l0aCBsYWJlbHNcbiAgICAgKiBAZXhhbXBsZSB7XG4gICAgICogIGxhYmVsOiAnRW5nbGlzaCcsXG4gICAgICogIHZhbHVlOiAnZW4nLFxuICAgICAqICBydGw6IGZhbHNlXG4gICAgICogfVxuICAgICAqL1xuICAgIGxvY2FsZXM6IExvY2FsZVtdXG4gIH1cbj5cblxuZXhwb3J0IHR5cGUgU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnID0gUHJldHRpZnk8XG4gIExvY2FsaXphdGlvbkNvbmZpZ1dpdGhMYWJlbHMgJiB7XG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBzdXBwb3J0ZWQgbG9jYWxlc1xuICAgICAqIEBleGFtcGxlIGBbXCJlblwiLCBcImVzXCIsIFwiZnJcIiwgXCJubFwiLCBcImRlXCIsIFwianBcIl1gXG4gICAgICovXG4gICAgbG9jYWxlQ29kZXM6IHN0cmluZ1tdXG4gIH1cbj5cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL2xvY2FsaXphdGlvbiNsb2NhbGl6YXRpb25cbiAqL1xuZXhwb3J0IHR5cGUgTG9jYWxpemF0aW9uQ29uZmlnID0gUHJldHRpZnk8XG4gIExvY2FsaXphdGlvbkNvbmZpZ1dpdGhMYWJlbHMgfCBMb2NhbGl6YXRpb25Db25maWdXaXRoTm9MYWJlbHNcbj5cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjZW50cmFsIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZyA9IHtcbiAgLyoqIENvbmZpZ3VyZSBhZG1pbiBkYXNoYm9hcmQgKi9cbiAgYWRtaW4/OiB7XG4gICAgLyoqIEF1dG9tYXRpY2FsbHkgbG9nIGluIGFzIGEgdXNlciB3aGVuIHZpc2l0aW5nIHRoZSBhZG1pbiBkYXNoYm9hcmQuICovXG4gICAgYXV0b0xvZ2luPzpcbiAgICAgIHwge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSB1c2VyIHRvIGxvZ2luIGFzXG4gICAgICAgICAgICpcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBlbWFpbDogc3RyaW5nXG4gICAgICAgICAgLyoqIFRoZSBwYXNzd29yZCBvZiB0aGUgdXNlciB0byBsb2dpbiBhcyAqL1xuICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGxvZ2luIGNyZWRlbnRpYWxzIHdpbGwgYmUgcHJlZmlsbGVkIGJ1dCB0aGUgdXNlciB3aWxsIHN0aWxsIG5lZWQgdG8gY2xpY2sgdGhlIGxvZ2luIGJ1dHRvbi5cbiAgICAgICAgICAgKlxuICAgICAgICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICAgICAgICovXG4gICAgICAgICAgcHJlZmlsbE9ubHk/OiBib29sZWFuXG4gICAgICAgIH1cbiAgICAgIHwgZmFsc2VcblxuICAgIC8qKiBTZXQgYWNjb3VudCBwcm9maWxlIHBpY3R1cmUuIE9wdGlvbnM6IGdyYXZhdGFyLCBkZWZhdWx0IG9yIGEgY3VzdG9tIFJlYWN0IGNvbXBvbmVudC4gKi9cbiAgICBhdmF0YXI/OiAnZGVmYXVsdCcgfCAnZ3JhdmF0YXInIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgLyoqXG4gICAgICogU3BlY2lmeSBhbiBhYnNvbHV0ZSBwYXRoIGZvciB3aGVyZSB0byBzdG9yZSB0aGUgYnVpbHQgQWRtaW4gcGFuZWwgYnVuZGxlIHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiL2J1aWxkXCJcbiAgICAgKiAqL1xuICAgIGJ1aWxkUGF0aD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEFkZCBleHRyYSBhbmQvb3IgcmVwbGFjZSBidWlsdC1pbiBjb21wb25lbnRzIHdpdGggY3VzdG9tIGNvbXBvbmVudHNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FkbWluL2NvbXBvbmVudHNcbiAgICAgKi9cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBSZXBsYWNlIHRoZSBuYXZpZ2F0aW9uIHdpdGggYSBjdXN0b20gY29tcG9uZW50XG4gICAgICAgKi9cbiAgICAgIE5hdj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgdG8gdGhlIHRvcCByaWdodCBvZiB0aGUgQWRtaW4gUGFuZWxcbiAgICAgICAqL1xuICAgICAgYWN0aW9ucz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBhZnRlckRhc2hib2FyZD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgZW1haWwvcGFzc3dvcmQgZmllbGRcbiAgICAgICAqL1xuICAgICAgYWZ0ZXJMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgbmF2aWdhdGlvbiBsaW5rc1xuICAgICAgICovXG4gICAgICBhZnRlck5hdkxpbmtzPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIC8qKlxuICAgICAgICogQWRkIGN1c3RvbSBjb21wb25lbnRzIGJlZm9yZSB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBiZWZvcmVEYXNoYm9hcmQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgYmVmb3JlIHRoZSBlbWFpbC9wYXNzd29yZCBmaWVsZFxuICAgICAgICovXG4gICAgICBiZWZvcmVMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBiZWZvcmUgdGhlIG5hdmlnYXRpb24gbGlua3NcbiAgICAgICAqL1xuICAgICAgYmVmb3JlTmF2TGlua3M/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqIFJlcGxhY2UgZ3JhcGhpY2FsIGNvbXBvbmVudHMgKi9cbiAgICAgIGdyYXBoaWNzPzoge1xuICAgICAgICAvKiogUmVwbGFjZSB0aGUgaWNvbiBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICAgICAgICBJY29uPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICAgIC8qKiBSZXBsYWNlIHRoZSBsb2dvIG9uIHRoZSBsb2dpbiBwYWdlICovXG4gICAgICAgIExvZ28/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIH1cbiAgICAgIC8qKiBSZXBsYWNlIGxvZ291dCByZWxhdGVkIGNvbXBvbmVudHMgKi9cbiAgICAgIGxvZ291dD86IHtcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGxvZ291dCBidXR0b24gICovXG4gICAgICAgIEJ1dHRvbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgfVxuICAgICAgLyoqXG4gICAgICAgKiBXcmFwIHRoZSBhZG1pbiBkYXNoYm9hcmQgaW4gY3VzdG9tIGNvbnRleHQgcHJvdmlkZXJzXG4gICAgICAgKi9cbiAgICAgIHByb3ZpZGVycz86IFJlYWN0LkNvbXBvbmVudFR5cGU8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+W11cbiAgICAgIC8qKlxuICAgICAgICogUmVwbGFjZSBvciBtb2RpZnkgdG9wLWxldmVsIGFkbWluIHJvdXRlcywgb3IgYWRkIG5ldyBvbmVzOlxuICAgICAgICogKyBgQWNjb3VudGAgLSBgL2FkbWluL2FjY291bnRgXG4gICAgICAgKiArIGBEYXNoYm9hcmRgIC0gYC9hZG1pbmBcbiAgICAgICAqICsgYDpwYXRoYCAtIGAvYWRtaW4vOnBhdGhgXG4gICAgICAgKi9cbiAgICAgIHZpZXdzPzoge1xuICAgICAgICAvKiogQWRkIGN1c3RvbSBhZG1pbiB2aWV3cyAqL1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBZG1pblZpZXdcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGFjY291bnQgc2NyZWVuICovXG4gICAgICAgIEFjY291bnQ/OiBBZG1pblZpZXdcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGFkbWluIGhvbWVwYWdlICovXG4gICAgICAgIERhc2hib2FyZD86IEFkbWluVmlld1xuICAgICAgfVxuICAgIH1cbiAgICAvKiogR2xvYmFsIGRhdGUgZm9ybWF0IHRoYXQgd2lsbCBiZSB1c2VkIGZvciBhbGwgZGF0ZXMgaW4gdGhlIEFkbWluIHBhbmVsLiBBbnkgdmFsaWQgZGF0ZS1mbnMgZm9ybWF0IHBhdHRlcm4gY2FuIGJlIHVzZWQuICovXG4gICAgZGF0ZUZvcm1hdD86IHN0cmluZ1xuICAgIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGVudGlyZSBBZG1pbiBwYW5lbCB3aWxsIGJlIGRpc2FibGVkLiAqL1xuICAgIGRpc2FibGU/OiBib29sZWFuXG4gICAgLyoqIFRoZSByb3V0ZSB0aGUgdXNlciB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gYWZ0ZXIgYmVpbmcgaW5hY3RpdmUgZm9yIHRvbyBsb25nLiAqL1xuICAgIGluYWN0aXZpdHlSb3V0ZT86IHN0cmluZ1xuICAgIGxpdmVQcmV2aWV3PzogTGl2ZVByZXZpZXdDb25maWcgJiB7XG4gICAgICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdXG4gICAgICBnbG9iYWxzPzogc3RyaW5nW11cbiAgICB9XG4gICAgLyoqIFRoZSByb3V0ZSBmb3IgdGhlIGxvZ291dCBwYWdlLiAqL1xuICAgIGxvZ291dFJvdXRlPzogc3RyaW5nXG4gICAgLyoqIEJhc2UgbWV0YSBkYXRhIHRvIHVzZSBmb3IgdGhlIEFkbWluIHBhbmVsLiBJbmNsdWRlZCBwcm9wZXJ0aWVzIGFyZSB0aXRsZVN1ZmZpeCwgb2dJbWFnZSwgYW5kIGZhdmljb24uICovXG4gICAgbWV0YT86IHtcbiAgICAgIC8qKlxuICAgICAgICogUHVibGljIHBhdGggdG8gYW4gaWNvblxuICAgICAgICpcbiAgICAgICAqIFRoaXMgaW1hZ2UgbWF5IGJlIGRpc3BsYXllZCBpbiB0aGUgYnJvd3NlciBuZXh0IHRvIHRoZSB0aXRsZSBvZiB0aGUgcGFnZVxuICAgICAgICovXG4gICAgICBmYXZpY29uPzogc3RyaW5nXG4gICAgICAvKipcbiAgICAgICAqIFB1YmxpYyBwYXRoIHRvIGFuIGltYWdlXG4gICAgICAgKlxuICAgICAgICogVGhpcyBpbWFnZSBtYXkgYmUgZGlzcGxheWVkIGFzIHByZXZpZXcgd2hlbiB0aGUgbGluayBpcyBzaGFyZWQgb24gc29jaWFsIG1lZGlhXG4gICAgICAgKi9cbiAgICAgIG9nSW1hZ2U/OiBzdHJpbmdcbiAgICAgIC8qKlxuICAgICAgICogU3RyaW5nIHRvIGFwcGVuZCB0byB0aGUgPHRpdGxlPiBvZiBhZG1pbiBwYWdlc1xuICAgICAgICogQGV4YW1wbGUgYFwiIC0gTXkgQnJhbmRcImBcbiAgICAgICAqL1xuICAgICAgdGl0bGVTdWZmaXg/OiBzdHJpbmdcbiAgICB9XG4gICAgLyoqIFRoZSBzbHVnIG9mIGEgQ29sbGVjdGlvbiB0aGF0IHlvdSB3YW50IGJlIHVzZWQgdG8gbG9nIGluIHRvIHRoZSBBZG1pbiBkYXNoYm9hcmQuICovXG4gICAgdXNlcj86IHN0cmluZ1xuICB9XG4gIC8qKiBDdXN0b20gUGF5bG9hZCBiaW4gc2NyaXB0cyBjYW4gYmUgaW5qZWN0ZWQgdmlhIHRoZSBjb25maWcuICovXG4gIGJpbj86IEJpblNjcmlwdENvbmZpZ1tdXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGhlIGRhdGFtb2RlbCBvZiB5b3VyIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vY29sbGVjdGlvbnMjY29sbGVjdGlvbi1jb25maWdzXG4gICAqL1xuICBjb2xsZWN0aW9ucz86IENvbGxlY3Rpb25Db25maWdbXVxuICAvKipcbiAgICogUmVwbGFjZSB0aGUgYnVpbHQtaW4gY29tcG9uZW50cyB3aXRoIGN1c3RvbSBvbmVzXG4gICAqL1xuICBjb21wb25lbnRzPzogeyBba2V5OiBzdHJpbmddOiAoKCkgPT4gSlNYLkVsZW1lbnQpIHwgSlNYLkVsZW1lbnQgfVxuICAvKipcbiAgICogUHJlZml4IGEgc3RyaW5nIHRvIGFsbCBjb29raWVzIHRoYXQgUGF5bG9hZCBzZXRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInBheWxvYWRcIlxuICAgKi9cbiAgY29va2llUHJlZml4Pzogc3RyaW5nXG4gIC8qKiBFaXRoZXIgYSB3aGl0ZWxpc3QgYXJyYXkgb2YgVVJMUyB0byBhbGxvdyBDT1JTIHJlcXVlc3RzIGZyb20sIG9yIGEgd2lsZGNhcmQgc3RyaW5nICgnKicpIHRvIGFjY2VwdCBpbmNvbWluZyByZXF1ZXN0cyBmcm9tIGFueSBkb21haW4uICovXG4gIGNvcnM/OiAnKicgfCBzdHJpbmdbXVxuICAvKiogQSB3aGl0ZWxpc3QgYXJyYXkgb2YgVVJMcyB0byBhbGxvdyBQYXlsb2FkIGNvb2tpZXMgdG8gYmUgYWNjZXB0ZWQgZnJvbSBhcyBhIGZvcm0gb2YgQ1NSRiBwcm90ZWN0aW9uLiAqL1xuICBjc3JmPzogc3RyaW5nW11cblxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG5cbiAgLyoqIFBhc3MgaW4gYSBkYXRhYmFzZSBhZGFwdGVyIGZvciB1c2Ugb24gdGhpcyBwcm9qZWN0LiAqL1xuICBkYjogRGF0YWJhc2VBZGFwdGVyUmVzdWx0XG4gIC8qKiBFbmFibGUgdG8gZXhwb3NlIG1vcmUgZGV0YWlsZWQgZXJyb3IgaW5mb3JtYXRpb24uICovXG4gIGRlYnVnPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgYSB1c2VyIGRvZXMgbm90IHNwZWNpZnkgYGRlcHRoYCB3aGlsZSByZXF1ZXN0aW5nIGEgcmVzb3VyY2UsIHRoaXMgZGVwdGggd2lsbCBiZSB1c2VkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQvY29uY2VwdHMjZGVwdGhcbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgZGVmYXVsdERlcHRoPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbGxvd2VkIGRlcHRoIHRvIGJlIHBlcm1pdHRlZCBhcHBsaWNhdGlvbi13aWRlLiBUaGlzIHNldHRpbmcgaGVscHMgcHJldmVudCBhZ2FpbnN0IG1hbGljaW91cyBxdWVyaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCA0MDAwMFxuICAgKi9cbiAgZGVmYXVsdE1heFRleHRMZW5ndGg/OiBudW1iZXJcbiAgLyoqIERlZmF1bHQgcmljaHRleHQgZWRpdG9yIHRvIHVzZSBmb3IgcmljaFRleHQgZmllbGRzICovXG4gIGVkaXRvcjogUmljaFRleHRBZGFwdGVyPGFueSwgYW55LCBhbnk+XG4gIC8qKlxuICAgKiBFbWFpbCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIFRoaXMgdmFsdWUgaXMgb3ZlcnJpZGRlbiBieSBgZW1haWxgIGluIFBheWxvYWQuaW5pdCBpZiBwYXNzZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2VtYWlsL292ZXJ2aWV3XG4gICAqL1xuICBlbWFpbD86IEVtYWlsT3B0aW9uc1xuICAvKiogQ3VzdG9tIFJFU1QgZW5kcG9pbnRzICovXG4gIGVuZHBvaW50cz86IEVuZHBvaW50W11cbiAgLyoqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vZ2xvYmFscyNnbG9iYWwtY29uZmlnc1xuICAgKi9cbiAgZ2xvYmFscz86IEdsb2JhbENvbmZpZ1tdXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGhlIEdyYXBoUUwgQVBJXG4gICAqXG4gICAqIFlvdSBjYW4gYWRkIHlvdXIgb3duIEdyYXBoUUwgcXVlcmllcyBhbmQgbXV0YXRpb25zIHRvIFBheWxvYWQsIG1ha2luZyB1c2Ugb2YgYWxsIHRoZSB0eXBlcyB0aGF0IFBheWxvYWQgaGFzIGRlZmluZWQgZm9yIHlvdS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvZ3JhcGhxbC9vdmVydmlld1xuICAgKi9cbiAgZ3JhcGhRTD86IHtcbiAgICBkaXNhYmxlPzogYm9vbGVhblxuICAgIGRpc2FibGVQbGF5Z3JvdW5kSW5Qcm9kdWN0aW9uPzogYm9vbGVhblxuICAgIG1heENvbXBsZXhpdHk/OiBudW1iZXJcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcga2V5cyB0byBjdXN0b20gR3JhcGhRTCBtdXRhdGlvbnNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dyYXBocWwvZXh0ZW5kaW5nXG4gICAgICovXG4gICAgbXV0YXRpb25zPzogR3JhcGhRTEV4dGVuc2lvblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyBrZXlzIHRvIGN1c3RvbSBHcmFwaFFMIHF1ZXJpZXNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dyYXBocWwvZXh0ZW5kaW5nXG4gICAgICovXG4gICAgcXVlcmllcz86IEdyYXBoUUxFeHRlbnNpb25cbiAgICBzY2hlbWFPdXRwdXRGaWxlPzogc3RyaW5nXG4gIH1cbiAgLyoqXG4gICAqIFRhcCBpbnRvIFBheWxvYWQtd2lkZSBob29rcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvaG9va3Mvb3ZlcnZpZXdcbiAgICovXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyRXJyb3I/OiBBZnRlckVycm9ySG9va1xuICB9XG4gIC8qKiBpMThuIGNvbmZpZyBzZXR0aW5ncyAqL1xuICBpMThuPzogSTE4bk9wdGlvbnNcbiAgLyoqIEF1dG9tYXRpY2FsbHkgaW5kZXggYWxsIHNvcnRhYmxlIHRvcC1sZXZlbCBmaWVsZHMgaW4gdGhlIGRhdGFiYXNlIHRvIGltcHJvdmUgc29ydCBwZXJmb3JtYW5jZSBhbmQgYWRkIGRhdGFiYXNlIGNvbXBhdGliaWxpdHkgZm9yIEF6dXJlIENvc21vcyBhbmQgc2ltaWxhci4gKi9cbiAgaW5kZXhTb3J0YWJsZUZpZWxkcz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSB5b3VyIGNvbnRlbnQgdG8gZGlmZmVyZW50IGxhbmd1YWdlcy9sb2NhbGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAvLyBkaXNhYmxlIGxvY2FsaXphdGlvblxuICAgKi9cbiAgbG9jYWxpemF0aW9uPzogTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2VcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFsbG93ZWQgZGVwdGggdG8gYmUgcGVybWl0dGVkIGFwcGxpY2F0aW9uLXdpZGUuIFRoaXMgc2V0dGluZyBoZWxwcyBwcmV2ZW50IGFnYWluc3QgbWFsaWNpb3VzIHF1ZXJpZXMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dldHRpbmctc3RhcnRlZC9jb25jZXB0cyNkZXB0aFxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHN0YXJ0dXAgdGhhdCByZWNlaXZlcyB0aGUgUGF5bG9hZCBpbnN0YW5jZSBhcyBpdHMgb25seSBhcmd1bWVudC4gKi9cbiAgb25Jbml0PzogKHBheWxvYWQ6IFBheWxvYWQpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBQYXlsb2FkIHBsdWdpbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL3BsdWdpbnMvb3ZlcnZpZXdcbiAgICovXG4gIHBsdWdpbnM/OiBQbHVnaW5bXVxuICAvKiogQ29udHJvbCB0aGUgcm91dGluZyBzdHJ1Y3R1cmUgdGhhdCBQYXlsb2FkIGJpbmRzIGl0c2VsZiB0by4gKi9cbiAgcm91dGVzPzoge1xuICAgIC8qKiBAZGVmYXVsdCBcIi9hZG1pblwiICovXG4gICAgYWRtaW4/OiBzdHJpbmdcbiAgICAvKiogQGRlZmF1bHQgXCIvYXBpXCIgICovXG4gICAgYXBpPzogc3RyaW5nXG4gICAgLyoqIEBkZWZhdWx0IFwiL2dyYXBocWxcIiAgKi9cbiAgICBncmFwaFFMPzogc3RyaW5nXG4gICAgLyoqIEBkZWZhdWx0IFwiL2dyYXBocWwtcGxheWdyb3VuZFwiICovXG4gICAgZ3JhcGhRTFBsYXlncm91bmQ/OiBzdHJpbmdcbiAgfVxuICAvKiogU2VjdXJlIHN0cmluZyB0aGF0IFBheWxvYWQgd2lsbCB1c2UgZm9yIGFueSBlbmNyeXB0aW9uIHdvcmtmbG93cyAqL1xuICBzZWNyZXQ6IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBhYnNvbHV0ZSBVUkwgb2YgeW91ciBhcHAgaW5jbHVkaW5nIHRoZSBwcm90b2NvbCwgZm9yIGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5vcmdgLlxuICAgKiBObyBwYXRocyBhbGxvd2VkLCBvbmx5IHByb3RvY29sLCBkb21haW4gYW5kIChvcHRpb25hbGx5KSBwb3J0LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL292ZXJ2aWV3I29wdGlvbnNcbiAgICovXG4gIHNlcnZlclVSTD86IHN0cmluZ1xuICAvKiogU2VuZCBhbm9ueW1vdXMgdGVsZW1ldHJ5IGRhdGEgYWJvdXQgZ2VuZXJhbCB1c2FnZS4gKi9cbiAgdGVsZW1ldHJ5PzogYm9vbGVhblxuICAvKiogQ29udHJvbCBob3cgdHlwZXNjcmlwdCBpbnRlcmZhY2VzIGFyZSBnZW5lcmF0ZWQgZnJvbSB5b3VyIGNvbGxlY3Rpb25zLiAqL1xuICB0eXBlc2NyaXB0Pzoge1xuICAgIC8qKiBEaXNhYmxlIGRlY2xhcmUgYmxvY2sgaW4gZ2VuZXJhdGVkIHR5cGVzIGZpbGUgKi9cbiAgICBkZWNsYXJlPzogZmFsc2VcbiAgICAvKiogRmlsZW5hbWUgdG8gd3JpdGUgdGhlIGdlbmVyYXRlZCB0eXBlcyB0byAqL1xuICAgIG91dHB1dEZpbGU/OiBzdHJpbmdcbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBoYW5kbGluZyBvZiBpbmNvbWluZyBmaWxlIHVwbG9hZHMgZm9yIGNvbGxlY3Rpb25zIHRoYXQgaGF2ZSB1cGxvYWRzIGVuYWJsZWQuXG4gICAqL1xuICB1cGxvYWQ/OiBFeHByZXNzRmlsZVVwbG9hZE9wdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2FuaXRpemVkQ29uZmlnID0gT21pdDxcbiAgRGVlcFJlcXVpcmVkPENvbmZpZz4sXG4gICdjb2xsZWN0aW9ucycgfCAnZW5kcG9pbnQnIHwgJ2dsb2JhbHMnIHwgJ2xvY2FsaXphdGlvbidcbj4gJiB7XG4gIGNvbGxlY3Rpb25zOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnW11cbiAgZW5kcG9pbnRzOiBFbmRwb2ludFtdXG4gIGdsb2JhbHM6IFNhbml0aXplZEdsb2JhbENvbmZpZ1tdXG4gIGxvY2FsaXphdGlvbjogU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2VcbiAgcGF0aHM6IHtcbiAgICBjb25maWc6IHN0cmluZ1xuICAgIGNvbmZpZ0Rpcjogc3RyaW5nXG4gICAgcmF3Q29uZmlnOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDbGllbnRDb25maWcgPSBPbWl0PFNhbml0aXplZENvbmZpZywgJ2RiJyB8ICdlbmRwb2ludHMnPiAmIHtcbiAgY29sbGVjdGlvbnM6IChPbWl0PFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsICdhY2Nlc3MnIHwgJ2VuZHBvaW50cycgfCAnZmllbGRzJyB8ICdob29rcyc+ICYge1xuICAgIGZpZWxkczogQ2xpZW50Q29uZmlnRmllbGRbXVxuICB9KVtdXG4gIGdsb2JhbHM6IChPbWl0PFNhbml0aXplZEdsb2JhbENvbmZpZywgJ2FjY2VzcycgfCAnZW5kcG9pbnRzJyB8ICdmaWVsZHMnIHwgJ2hvb2tzJz4gJiB7XG4gICAgZmllbGRzOiBDbGllbnRDb25maWdGaWVsZFtdXG4gIH0pW11cbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RGVzY3JpcHRpb24gPVxuICB8ICgoKSA9PiBzdHJpbmcpXG4gIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB8IHN0cmluZ1xuIl0sIm5hbWVzIjpbImhhc1RyYW5zcG9ydCIsImhhc1RyYW5zcG9ydE9wdGlvbnMiLCJlbWFpbENvbmZpZyIsInRyYW5zcG9ydCIsInVuZGVmaW5lZCIsInRyYW5zcG9ydE9wdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBa0dnQkEsWUFBWTtlQUFaQTs7SUFRQUMsbUJBQW1CO2VBQW5CQTs7O0FBUlQsU0FBU0QsYUFBYUUsV0FBeUI7SUFDcEQsT0FBTyxBQUFDQSxZQUErQkMsU0FBUyxLQUFLQztBQUN2RDtBQU1PLFNBQVNILG9CQUNkQyxXQUF5QjtJQUV6QixPQUFPLEFBQUNBLFlBQXNDRyxnQkFBZ0IsS0FBS0Q7QUFDckUifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJMThuT3B0aW9ucyB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBFeHByZXNzRmlsZVVwbG9hZE9wdGlvbnMgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSBHcmFwaFFMIGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgdHlwZSB7IFRyYW5zcG9ydGVyIH0gZnJvbSAnbm9kZW1haWxlcidcbmltcG9ydCB0eXBlIFNNVFBDb25uZWN0aW9uIGZyb20gJ25vZGVtYWlsZXIvbGliL3NtdHAtY29ubmVjdGlvbidcbmltcG9ydCB0eXBlIHsgRGVzdGluYXRpb25TdHJlYW0sIExvZ2dlck9wdGlvbnMgfSBmcm9tICdwaW5vJ1xuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgc2hhcnAgfSBmcm9tICdzaGFycCdcbmltcG9ydCB0eXBlIHsgRGVlcFJlcXVpcmVkIH0gZnJvbSAndHMtZXNzZW50aWFscydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4nXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50VGFiLCBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9hZG1pbi90eXBlcydcbmltcG9ydCB0eXBlIHsgQWRtaW5WaWV3LCBTZXJ2ZXJTaWRlRWRpdFZpZXdQcm9wcyB9IGZyb20gJy4uL2FkbWluL3ZpZXdzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vYXV0aC90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQWZ0ZXJFcnJvckhvb2ssXG4gIENvbGxlY3Rpb24sXG4gIENvbGxlY3Rpb25Db25maWcsXG4gIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG59IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgRGF0YWJhc2VBZGFwdGVyUmVzdWx0IH0gZnJvbSAnLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENsaWVudENvbmZpZ0ZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgR2xvYmFsQ29uZmlnLCBHbG9iYWxzLCBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFdoZXJlIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRMb2dnZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvbG9nZ2VyJ1xuXG5leHBvcnQgdHlwZSBCaW5TY3JpcHRDb25maWcgPSB7XG4gIGtleTogc3RyaW5nXG4gIHNjcmlwdFBhdGg6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBCaW5TY3JpcHQgPSAoY29uZmlnOiBTYW5pdGl6ZWRDb25maWcpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG5cbnR5cGUgUHJldHRpZnk8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdXG59ICYgTm9uTnVsbGFibGU8dW5rbm93bj5cblxudHlwZSBFbWFpbCA9IHtcbiAgZnJvbUFkZHJlc3M6IHN0cmluZ1xuICBmcm9tTmFtZTogc3RyaW5nXG4gIGxvZ01vY2tDcmVkZW50aWFscz86IGJvb2xlYW5cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5leHBvcnQgdHlwZSBQbHVnaW4gPSAoY29uZmlnOiBDb25maWcpID0+IENvbmZpZyB8IFByb21pc2U8Q29uZmlnPlxuXG5leHBvcnQgdHlwZSBMaXZlUHJldmlld0NvbmZpZyA9IHtcbiAgLyoqXG4gICBEZXZpY2UgYnJlYWtwb2ludHMgdG8gdXNlIGZvciB0aGUgYGlmcmFtZWAgb2YgdGhlIExpdmUgUHJldmlldyB3aW5kb3cuXG4gICBPcHRpb25zIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIExpdmUgUHJldmlldyB0b29sYmFyLlxuICAgVGhlIGByZXNwb25zaXZlYCBicmVha3BvaW50IGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBicmVha3BvaW50cz86IHtcbiAgICBoZWlnaHQ6IG51bWJlciB8IHN0cmluZ1xuICAgIGxhYmVsOiBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIH1bXVxuICAvKipcbiAgIFRoZSBVUkwgb2YgdGhlIGZyb250ZW5kIGFwcGxpY2F0aW9uLiBUaGlzIHdpbGwgYmUgcmVuZGVyZWQgd2l0aGluIGFuIGBpZnJhbWVgIGFzIGl0cyBgc3JjYC5cbiAgIFBheWxvYWQgd2lsbCBzZW5kIGEgYHdpbmRvdy5wb3N0TWVzc2FnZSgpYCB0byB0aGlzIFVSTCB3aXRoIHRoZSBkb2N1bWVudCBkYXRhIGluIHJlYWwtdGltZS5cbiAgIFRoZSBmcm9udGVuZCBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgcmVjZWl2aW5nIHRoZSBtZXNzYWdlIGFuZCB1cGRhdGluZyB0aGUgVUkgYWNjb3JkaW5nbHkuXG4gICBVc2UgdGhlIGB1c2VMaXZlUHJldmlld2AgaG9vayB0byBnZXQgc3RhcnRlZCBpbiBSZWFjdCBhcHBsaWNhdGlvbnMuXG4gICAqL1xuICB1cmw/OlxuICAgIHwgKChhcmdzOiB7XG4gICAgICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICAgICAgZG9jdW1lbnRJbmZvOiBhbnkgLy8gVE9ETzogcmVtb3ZlIG9yIHBvcHVsYXRlIHRoaXNcbiAgICAgICAgbG9jYWxlOiBMb2NhbGVcbiAgICAgIH0pID0+IFByb21pc2U8c3RyaW5nPiB8IHN0cmluZylcbiAgICB8IHN0cmluZ1xufVxuXG50eXBlIEdlbmVyYXRlUHJldmlld1VSTE9wdGlvbnMgPSB7XG4gIGxvY2FsZTogc3RyaW5nXG4gIHRva2VuOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVQcmV2aWV3VVJMID0gKFxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBvcHRpb25zOiBHZW5lcmF0ZVByZXZpZXdVUkxPcHRpb25zLFxuKSA9PiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHwgbnVsbCB8IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBFbWFpbFRyYW5zcG9ydCA9IEVtYWlsICYge1xuICB0cmFuc3BvcnQ6IFRyYW5zcG9ydGVyXG4gIHRyYW5zcG9ydE9wdGlvbnM/OiBTTVRQQ29ubmVjdGlvbi5PcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIEVtYWlsVHJhbnNwb3J0T3B0aW9ucyA9IEVtYWlsICYge1xuICB0cmFuc3BvcnQ/OiBUcmFuc3BvcnRlclxuICB0cmFuc3BvcnRPcHRpb25zOiBTTVRQQ29ubmVjdGlvbi5PcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIEVtYWlsT3B0aW9ucyA9IEVtYWlsIHwgRW1haWxUcmFuc3BvcnQgfCBFbWFpbFRyYW5zcG9ydE9wdGlvbnNcblxuLyoqXG4gKiB0eXBlIGd1YXJkIGZvciBFbWFpbE9wdGlvbnNcbiAqIEBwYXJhbSBlbWFpbENvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzVHJhbnNwb3J0KGVtYWlsQ29uZmlnOiBFbWFpbE9wdGlvbnMpOiBlbWFpbENvbmZpZyBpcyBFbWFpbFRyYW5zcG9ydCB7XG4gIHJldHVybiAoZW1haWxDb25maWcgYXMgRW1haWxUcmFuc3BvcnQpLnRyYW5zcG9ydCAhPT0gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogdHlwZSBndWFyZCBmb3IgRW1haWxPcHRpb25zXG4gKiBAcGFyYW0gZW1haWxDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1RyYW5zcG9ydE9wdGlvbnMoXG4gIGVtYWlsQ29uZmlnOiBFbWFpbE9wdGlvbnMsXG4pOiBlbWFpbENvbmZpZyBpcyBFbWFpbFRyYW5zcG9ydE9wdGlvbnMge1xuICByZXR1cm4gKGVtYWlsQ29uZmlnIGFzIEVtYWlsVHJhbnNwb3J0T3B0aW9ucykudHJhbnNwb3J0T3B0aW9ucyAhPT0gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCB0eXBlIEdyYXBoUUxJbmZvID0ge1xuICBNdXRhdGlvbjoge1xuICAgIGZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PlxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG4gIFF1ZXJ5OiB7XG4gICAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogQ29sbGVjdGlvblxuICB9XG4gIGdsb2JhbHM6IEdsb2JhbHNcbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxUeXBlPlxuICAgIGJsb2NrSW5wdXRUeXBlczogUmVjb3JkPHN0cmluZywgR3JhcGhRTC5HcmFwaFFMSW5wdXRPYmplY3RUeXBlPlxuICAgIGJsb2NrVHlwZXM6IFJlY29yZDxzdHJpbmcsIEdyYXBoUUwuR3JhcGhRTE9iamVjdFR5cGU+XG4gICAgZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGU/OiBHcmFwaFFMLkdyYXBoUUxFbnVtVHlwZSB8IEdyYXBoUUwuR3JhcGhRTFNjYWxhclR5cGVcbiAgICBncm91cFR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxPYmplY3RUeXBlPlxuICAgIGxvY2FsZUlucHV0VHlwZT86IEdyYXBoUUwuR3JhcGhRTEVudW1UeXBlIHwgR3JhcGhRTC5HcmFwaFFMU2NhbGFyVHlwZVxuICAgIHRhYlR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxPYmplY3RUeXBlPlxuICB9XG59XG5leHBvcnQgdHlwZSBHcmFwaFFMRXh0ZW5zaW9uID0gKFxuICBncmFwaFFMOiB0eXBlb2YgR3JhcGhRTCxcbiAgY29udGV4dDoge1xuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIH0gJiBHcmFwaFFMSW5mbyxcbikgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuZXhwb3J0IHR5cGUgSW5pdE9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBTb21ldGltZXMsIHdpdGggdGhlIGxvY2FsIEFQSSwgeW91IG1pZ2h0IG5lZWQgdG8gcGFzcyBhIGNvbmZpZyBmaWxlIGRpcmVjdGx5LCBmb3IgZXhhbXBsZSwgc2VydmVybGVzcyBvbiBWZXJjZWxcbiAgICogVGhlIHBhc3NlZCBjb25maWcgc2hvdWxkIG1hdGNoIHRoZSBjb25maWcgZmlsZSwgYW5kIGlmIGl0IGRvZXNuJ3QsIHRoZXJlIGNvdWxkIGJlIG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgYWRtaW4gVUlcbiAgICogYW5kIHRoZSBiYWNrZW5kIGZ1bmN0aW9uYWxpdHlcbiAgICovXG4gIGNvbmZpZzogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHwgU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBEaXNhYmxlIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlIG9uIGluaXRcbiAgICovXG4gIGRpc2FibGVEQkNvbm5lY3Q/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIERpc2FibGUgcnVubmluZyBvZiB0aGUgYG9uSW5pdGAgZnVuY3Rpb25cbiAgICovXG4gIGRpc2FibGVPbkluaXQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQncyBlbWFpbCBmdW5jdGlvbmFsaXR5XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2VtYWlsL292ZXJ2aWV3XG4gICAqL1xuICBlbWFpbD86IEVtYWlsT3B0aW9uc1xuXG4gIC8qKlxuICAgKiBBIHByZXZpb3VzbHkgaW5zdGFudGlhdGVkIGxvZ2dlciBpbnN0YW5jZS4gTXVzdCBjb25mb3JtIHRvIHRoZSBQYXlsb2FkTG9nZ2VyIGludGVyZmFjZSB3aGljaCB1c2VzIFBpbm9cbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIGJyaW5nIHlvdXIgb3duIGxvZ2dlciBpbnN0YW5jZSBhbmQgbGV0IHBheWxvYWQgdXNlIGl0XG4gICAqL1xuICBsb2dnZXI/OiBQYXlsb2FkTG9nZ2VyXG5cbiAgbG9nZ2VyRGVzdGluYXRpb24/OiBEZXN0aW5hdGlvblN0cmVhbVxuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9wdGlvbnMgZm9yIHRoZSBidWlsdC1pbiBQaW5vIGxvZ2dlciB0aGF0IFBheWxvYWQgdXNlcyBmb3IgaW50ZXJuYWwgbG9nZ2luZy5cbiAgICpcbiAgICogU2VlIFBpbm8gRG9jcyBmb3Igb3B0aW9uczogaHR0cHM6Ly9nZXRwaW5vLmlvLyMvZG9jcy9hcGk/aWQ9b3B0aW9uc1xuICAgKi9cbiAgbG9nZ2VyT3B0aW9ucz86IExvZ2dlck9wdGlvbnNcbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHN0YXJ0dXAgdGhhdCByZWNlaXZlcyB0aGUgUGF5bG9hZCBpbnN0YW5jZSBhcyBpdCdzIG9ubHkgYXJndW1lbnQuXG4gICAqL1xuICBvbkluaXQ/OiAocGF5bG9hZDogUGF5bG9hZCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWRcbn1cblxuLyoqXG4gKiBUaGlzIHJlc3VsdCBpcyBjYWxjdWxhdGVkIG9uIHRoZSBzZXJ2ZXJcbiAqIGFuZCB0aGVuIHNlbnQgdG8gdGhlIGNsaWVudCBhbGxvd2luZyB0aGUgZGFzaGJvYXJkIHRvIHNob3cgYWNjZXNzaWJsZSBkYXRhIGFuZCBhY3Rpb25zLlxuICpcbiAqIElmIHRoZSByZXN1bHQgaXMgYHRydWVgLCB0aGUgdXNlciBoYXMgYWNjZXNzLlxuICogSWYgdGhlIHJlc3VsdCBpcyBhbiBvYmplY3QsIGl0IGlzIGludGVycHJldGVkIGFzIGEgTW9uZ29EQiBxdWVyeS5cbiAqXG4gKiBAZXhhbXBsZSBgeyBjcmVhdGVkQnk6IHsgZXF1YWxzOiBpZCB9IH1gXG4gKlxuICogQGV4YW1wbGUgYHsgdGVuYW50OiB7IGluOiB0ZW5hbnRJZHMgfSB9YFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FjY2Vzcy1jb250cm9sL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIEFjY2Vzc1Jlc3VsdCA9IFdoZXJlIHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBBY2Nlc3NBcmdzPFQgPSBhbnksIFUgPSBhbnk+ID0ge1xuICAvKipcbiAgICogVGhlIHJlbGV2YW50IHJlc291cmNlIHRoYXQgaXMgYmVpbmcgYWNjZXNzZWQuXG4gICAqXG4gICAqIGBkYXRhYCBpcyBudWxsIHdoZW4gYSBsaXN0IGlzIHJlcXVlc3RlZFxuICAgKi9cbiAgZGF0YT86IFRcbiAgLyoqIElEIG9mIHRoZSByZXNvdXJjZSBiZWluZyBhY2Nlc3NlZCAqL1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogSWYgdHJ1ZSwgdGhlIHJlcXVlc3QgaXMgZm9yIGEgc3RhdGljIGZpbGUgKi9cbiAgaXNSZWFkaW5nU3RhdGljRmlsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSBvcmlnaW5hbCByZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYW4gYWNjZXNzIGNoZWNrICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Q8VT5cbn1cblxuLyoqXG4gKiBBY2Nlc3MgZnVuY3Rpb24gcnVucyBvbiB0aGUgc2VydmVyXG4gKiBhbmQgaXMgc2VudCB0byB0aGUgY2xpZW50IGFsbG93aW5nIHRoZSBkYXNoYm9hcmQgdG8gc2hvdyBhY2Nlc3NpYmxlIGRhdGEgYW5kIGFjdGlvbnMuXG4gKlxuICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvYWNjZXNzLWNvbnRyb2wvb3ZlcnZpZXdcbiAqL1xuZXhwb3J0IHR5cGUgQWNjZXNzPFQgPSBhbnksIFUgPSBhbnk+ID0gKFxuICBhcmdzOiBBY2Nlc3NBcmdzPFQsIFU+LFxuKSA9PiBBY2Nlc3NSZXN1bHQgfCBQcm9taXNlPEFjY2Vzc1Jlc3VsdD5cblxuLyoqIFdlYiBSZXF1ZXN0L1Jlc3BvbnNlIG1vZGVsLCBidXQgdGhlIHRoZSByZXEgaGFzIG1vcmUgcGF5bG9hZCBzcGVjaWZpYyBwcm9wZXJ0aWVzIGFkZGVkIHRvIGl0LiAqL1xuZXhwb3J0IHR5cGUgUGF5bG9hZEhhbmRsZXIgPSAocmVxOiBQYXlsb2FkUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZVxuXG4vKipcbiAqIERvY3M6IGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9yZXN0LWFwaS9vdmVydmlldyNjdXN0b20tZW5kcG9pbnRzXG4gKi9cbmV4cG9ydCB0eXBlIEVuZHBvaW50PFUgPSBVc2VyPiA9IHtcbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuXG4gIC8qKlxuICAgKiBNaWRkbGV3YXJlIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgcGF0aC9tZXRob2QgbWF0Y2hlc1xuICAgKlxuICAgKiBDb21wYXRpYmxlIHdpdGggV2ViIFJlcXVlc3QvUmVzcG9uc2UgTW9kZWxcbiAgICovXG4gIGhhbmRsZXI6IFBheWxvYWRIYW5kbGVyXG4gIC8qKiBIVFRQIG1ldGhvZCAob3IgXCJhbGxcIikgKi9cbiAgbWV0aG9kOiAnY29ubmVjdCcgfCAnZGVsZXRlJyB8ICdnZXQnIHwgJ2hlYWQnIHwgJ29wdGlvbnMnIHwgJ3BhdGNoJyB8ICdwb3N0JyB8ICdwdXQnXG4gIC8qKlxuICAgKiBQYXR0ZXJuIHRoYXQgc2hvdWxkIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBpbmNvbWluZyByZXF1ZXN0XG4gICAqXG4gICAqIENvbXBhdGlibGUgd2l0aCB0aGUgRXhwcmVzcyByb3V0ZXJcbiAgICovXG4gIHBhdGg6IHN0cmluZ1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgaW4gMy4wXG4gICAqXG4gICAqIFBsZWFzZSBhZGQgXCJyb290XCIgcm91dGVzIHVuZGVyIHRoZSAvYXBpIGZvbGRlciBpbiB0aGUgUGF5bG9hZCBQcm9qZWN0LlxuICAgKiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9maWxlLWNvbnZlbnRpb25zL3JvdXRlXG4gICAqL1xuICByb290PzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgRWRpdFZpZXdDb21wb25lbnQgPSBSZWFjdC5Db21wb25lbnRUeXBlPFNlcnZlclNpZGVFZGl0Vmlld1Byb3BzPlxuXG5leHBvcnQgdHlwZSBFZGl0Vmlld0NvbmZpZyA9XG4gIHwge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGQgYSBuZXcgRWRpdCB2aWV3IHRvIHRoZSBhZG1pbiBwYW5lbFxuICAgICAgICogaS5lLiB5b3UgY2FuIHJlbmRlciBhIGN1c3RvbSB2aWV3IHRoYXQgaGFzIG5vIHRhYiwgaWYgZGVzaXJlZFxuICAgICAgICogT3Igb3ZlcnJpZGUgYSBzcGVjaWZpYyBwcm9wZXJ0aWVzIG9mIGFuIGV4aXN0aW5nIG9uZVxuICAgICAgICogaS5lLiB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgYERlZmF1bHRgIHZpZXcgdGFiIGxhYmVsLCBpZiBkZXNpcmVkXG4gICAgICAgKi9cbiAgICAgIFRhYj86IERvY3VtZW50VGFiXG4gICAgICBwYXRoPzogc3RyaW5nXG4gICAgfVxuICB8IHtcbiAgICAgIENvbXBvbmVudDogRWRpdFZpZXdDb21wb25lbnRcbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgIH1cbiAgfCB7XG4gICAgICBhY3Rpb25zPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG5cbi8qKlxuICogT3ZlcnJpZGUgZXhpc3Rpbmcgdmlld3NcbiAqIGkuZS4gRGFzaGJvYXJkLCBBY2NvdW50LCBBUEksIExpdmVQcmV2aWV3LCBldGMuXG4gKiBQYXRoIGlzIG5vdCBhdmFpbGFibGUgaGVyZVxuICogQWxsIFRhYiBwcm9wZXJ0aWVzIGJlY29tZSBvcHRpb25hbFxuICogaS5lLiB5b3UgY2FuIGNoYW5nZSBqdXN0IHRoZSBsYWJlbCwgaWYgZGVzaXJlZFxuICovXG5leHBvcnQgdHlwZSBFZGl0VmlldyA9IEVkaXRWaWV3Q29tcG9uZW50IHwgRWRpdFZpZXdDb25maWdcblxuZXhwb3J0IHR5cGUgTG9jYWxlID0ge1xuICAvKipcbiAgICogdmFsdWUgb2Ygc3VwcG9ydGVkIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBcImVuXCJcbiAgICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKipcbiAgICogQ29kZSBvZiBhbm90aGVyIGxvY2FsZSB0byB1c2Ugd2hlbiByZWFkaW5nIGRvY3VtZW50cyB3aXRoIGZhbGxiYWNrLCBpZiBub3Qgc3BlY2lmaWVkIGRlZmF1bHRMb2NhbGUgaXMgdXNlZFxuICAgKi9cbiAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIGxhYmVsIG9mIHN1cHBvcnRlZCBsb2NhbGVcbiAgICogQGV4YW1wbGUgXCJFbmdsaXNoXCJcbiAgICovXG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIC8qKlxuICAgKiBpZiB0cnVlLCBkZWZhdWx0cyB0ZXh0QWxpZ21uZW50IG9uIHRleHQgZmllbGRzIHRvIFJUTFxuICAgKi9cbiAgcnRsPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBCYXNlTG9jYWxpemF0aW9uQ29uZmlnID0ge1xuICAvKipcbiAgICogTG9jYWxlIGZvciB1c2VycyB0aGF0IGhhdmUgbm90IGV4cHJlc3NlZCB0aGVpciBwcmVmZXJlbmNlIGZvciBhIHNwZWNpZmljIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBgXCJlblwiYFxuICAgKi9cbiAgZGVmYXVsdExvY2FsZTogc3RyaW5nXG4gIC8qKiBTZXQgdG8gYHRydWVgIHRvIGxldCBtaXNzaW5nIHZhbHVlcyBpbiBsb2NhbGlzZWQgZmllbGRzIGZhbGwgYmFjayB0byB0aGUgdmFsdWVzIGluIGBkZWZhdWx0TG9jYWxlYCAqL1xuICBmYWxsYmFjaz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxpemF0aW9uQ29uZmlnV2l0aE5vTGFiZWxzID0gUHJldHRpZnk8XG4gIEJhc2VMb2NhbGl6YXRpb25Db25maWcgJiB7XG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBzdXBwb3J0ZWQgbG9jYWxlc1xuICAgICAqIEBleGFtcGxlIGBbXCJlblwiLCBcImVzXCIsIFwiZnJcIiwgXCJubFwiLCBcImRlXCIsIFwianBcIl1gXG4gICAgICovXG4gICAgbG9jYWxlczogc3RyaW5nW11cbiAgfVxuPlxuXG5leHBvcnQgdHlwZSBMb2NhbGl6YXRpb25Db25maWdXaXRoTGFiZWxzID0gUHJldHRpZnk8XG4gIEJhc2VMb2NhbGl6YXRpb25Db25maWcgJiB7XG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBzdXBwb3J0ZWQgbG9jYWxlcyB3aXRoIGxhYmVsc1xuICAgICAqIEBleGFtcGxlIHtcbiAgICAgKiAgbGFiZWw6ICdFbmdsaXNoJyxcbiAgICAgKiAgdmFsdWU6ICdlbicsXG4gICAgICogIHJ0bDogZmFsc2VcbiAgICAgKiB9XG4gICAgICovXG4gICAgbG9jYWxlczogTG9jYWxlW11cbiAgfVxuPlxuXG5leHBvcnQgdHlwZSBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgPSBQcmV0dGlmeTxcbiAgTG9jYWxpemF0aW9uQ29uZmlnV2l0aExhYmVscyAmIHtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIHN1cHBvcnRlZCBsb2NhbGVzXG4gICAgICogQGV4YW1wbGUgYFtcImVuXCIsIFwiZXNcIiwgXCJmclwiLCBcIm5sXCIsIFwiZGVcIiwgXCJqcFwiXWBcbiAgICAgKi9cbiAgICBsb2NhbGVDb2Rlczogc3RyaW5nW11cbiAgfVxuPlxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vbG9jYWxpemF0aW9uI2xvY2FsaXphdGlvblxuICovXG5leHBvcnQgdHlwZSBMb2NhbGl6YXRpb25Db25maWcgPSBQcmV0dGlmeTxcbiAgTG9jYWxpemF0aW9uQ29uZmlnV2l0aExhYmVscyB8IExvY2FsaXphdGlvbkNvbmZpZ1dpdGhOb0xhYmVsc1xuPlxuXG5leHBvcnQgdHlwZSBTaGFycERlcGVuZGVuY3kgPSAoXG4gIGlucHV0PzpcbiAgICB8IEFycmF5QnVmZmVyXG4gICAgfCBCdWZmZXJcbiAgICB8IEZsb2F0MzJBcnJheVxuICAgIHwgRmxvYXQ2NEFycmF5XG4gICAgfCBJbnQ4QXJyYXlcbiAgICB8IEludDE2QXJyYXlcbiAgICB8IEludDMyQXJyYXlcbiAgICB8IFVpbnQ4QXJyYXlcbiAgICB8IFVpbnQ4Q2xhbXBlZEFycmF5XG4gICAgfCBVaW50MTZBcnJheVxuICAgIHwgVWludDMyQXJyYXlcbiAgICB8IHN0cmluZyxcbiAgb3B0aW9ucz86IHNoYXJwLlNoYXJwT3B0aW9ucyxcbikgPT4gc2hhcnAuU2hhcnBcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjZW50cmFsIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZyA9IHtcbiAgLyoqIENvbmZpZ3VyZSBhZG1pbiBkYXNoYm9hcmQgKi9cbiAgYWRtaW4/OiB7XG4gICAgLyoqIEF1dG9tYXRpY2FsbHkgbG9nIGluIGFzIGEgdXNlciB3aGVuIHZpc2l0aW5nIHRoZSBhZG1pbiBkYXNoYm9hcmQuICovXG4gICAgYXV0b0xvZ2luPzpcbiAgICAgIHwge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSB1c2VyIHRvIGxvZ2luIGFzXG4gICAgICAgICAgICpcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBlbWFpbDogc3RyaW5nXG4gICAgICAgICAgLyoqIFRoZSBwYXNzd29yZCBvZiB0aGUgdXNlciB0byBsb2dpbiBhcyAqL1xuICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGxvZ2luIGNyZWRlbnRpYWxzIHdpbGwgYmUgcHJlZmlsbGVkIGJ1dCB0aGUgdXNlciB3aWxsIHN0aWxsIG5lZWQgdG8gY2xpY2sgdGhlIGxvZ2luIGJ1dHRvbi5cbiAgICAgICAgICAgKlxuICAgICAgICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICAgICAgICovXG4gICAgICAgICAgcHJlZmlsbE9ubHk/OiBib29sZWFuXG4gICAgICAgIH1cbiAgICAgIHwgZmFsc2VcblxuICAgIC8qKiBTZXQgYWNjb3VudCBwcm9maWxlIHBpY3R1cmUuIE9wdGlvbnM6IGdyYXZhdGFyLCBkZWZhdWx0IG9yIGEgY3VzdG9tIFJlYWN0IGNvbXBvbmVudC4gKi9cbiAgICBhdmF0YXI/OiAnZGVmYXVsdCcgfCAnZ3JhdmF0YXInIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgLyoqXG4gICAgICogU3BlY2lmeSBhbiBhYnNvbHV0ZSBwYXRoIGZvciB3aGVyZSB0byBzdG9yZSB0aGUgYnVpbHQgQWRtaW4gcGFuZWwgYnVuZGxlIHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiL2J1aWxkXCJcbiAgICAgKiAqL1xuICAgIGJ1aWxkUGF0aD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEFkZCBleHRyYSBhbmQvb3IgcmVwbGFjZSBidWlsdC1pbiBjb21wb25lbnRzIHdpdGggY3VzdG9tIGNvbXBvbmVudHNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FkbWluL2NvbXBvbmVudHNcbiAgICAgKi9cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBSZXBsYWNlIHRoZSBuYXZpZ2F0aW9uIHdpdGggYSBjdXN0b20gY29tcG9uZW50XG4gICAgICAgKi9cbiAgICAgIE5hdj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgdG8gdGhlIHRvcCByaWdodCBvZiB0aGUgQWRtaW4gUGFuZWxcbiAgICAgICAqL1xuICAgICAgYWN0aW9ucz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBhZnRlckRhc2hib2FyZD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgZW1haWwvcGFzc3dvcmQgZmllbGRcbiAgICAgICAqL1xuICAgICAgYWZ0ZXJMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgbmF2aWdhdGlvbiBsaW5rc1xuICAgICAgICovXG4gICAgICBhZnRlck5hdkxpbmtzPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIC8qKlxuICAgICAgICogQWRkIGN1c3RvbSBjb21wb25lbnRzIGJlZm9yZSB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBiZWZvcmVEYXNoYm9hcmQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgYmVmb3JlIHRoZSBlbWFpbC9wYXNzd29yZCBmaWVsZFxuICAgICAgICovXG4gICAgICBiZWZvcmVMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBiZWZvcmUgdGhlIG5hdmlnYXRpb24gbGlua3NcbiAgICAgICAqL1xuICAgICAgYmVmb3JlTmF2TGlua3M/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqIFJlcGxhY2UgZ3JhcGhpY2FsIGNvbXBvbmVudHMgKi9cbiAgICAgIGdyYXBoaWNzPzoge1xuICAgICAgICAvKiogUmVwbGFjZSB0aGUgaWNvbiBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICAgICAgICBJY29uPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICAgIC8qKiBSZXBsYWNlIHRoZSBsb2dvIG9uIHRoZSBsb2dpbiBwYWdlICovXG4gICAgICAgIExvZ28/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIH1cbiAgICAgIC8qKiBSZXBsYWNlIGxvZ291dCByZWxhdGVkIGNvbXBvbmVudHMgKi9cbiAgICAgIGxvZ291dD86IHtcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGxvZ291dCBidXR0b24gICovXG4gICAgICAgIEJ1dHRvbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgfVxuICAgICAgLyoqXG4gICAgICAgKiBXcmFwIHRoZSBhZG1pbiBkYXNoYm9hcmQgaW4gY3VzdG9tIGNvbnRleHQgcHJvdmlkZXJzXG4gICAgICAgKi9cbiAgICAgIHByb3ZpZGVycz86IFJlYWN0LkNvbXBvbmVudFR5cGU8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+W11cbiAgICAgIC8qKlxuICAgICAgICogUmVwbGFjZSBvciBtb2RpZnkgdG9wLWxldmVsIGFkbWluIHJvdXRlcywgb3IgYWRkIG5ldyBvbmVzOlxuICAgICAgICogKyBgQWNjb3VudGAgLSBgL2FkbWluL2FjY291bnRgXG4gICAgICAgKiArIGBEYXNoYm9hcmRgIC0gYC9hZG1pbmBcbiAgICAgICAqICsgYDpwYXRoYCAtIGAvYWRtaW4vOnBhdGhgXG4gICAgICAgKi9cbiAgICAgIHZpZXdzPzoge1xuICAgICAgICAvKiogQWRkIGN1c3RvbSBhZG1pbiB2aWV3cyAqL1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBZG1pblZpZXdcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGFjY291bnQgc2NyZWVuICovXG4gICAgICAgIEFjY291bnQ/OiBBZG1pblZpZXdcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGFkbWluIGhvbWVwYWdlICovXG4gICAgICAgIERhc2hib2FyZD86IEFkbWluVmlld1xuICAgICAgfVxuICAgIH1cbiAgICAvKiogR2xvYmFsIGRhdGUgZm9ybWF0IHRoYXQgd2lsbCBiZSB1c2VkIGZvciBhbGwgZGF0ZXMgaW4gdGhlIEFkbWluIHBhbmVsLiBBbnkgdmFsaWQgZGF0ZS1mbnMgZm9ybWF0IHBhdHRlcm4gY2FuIGJlIHVzZWQuICovXG4gICAgZGF0ZUZvcm1hdD86IHN0cmluZ1xuICAgIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGVudGlyZSBBZG1pbiBwYW5lbCB3aWxsIGJlIGRpc2FibGVkLiAqL1xuICAgIGRpc2FibGU/OiBib29sZWFuXG4gICAgLyoqIFRoZSByb3V0ZSB0aGUgdXNlciB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gYWZ0ZXIgYmVpbmcgaW5hY3RpdmUgZm9yIHRvbyBsb25nLiAqL1xuICAgIGluYWN0aXZpdHlSb3V0ZT86IHN0cmluZ1xuICAgIGxpdmVQcmV2aWV3PzogTGl2ZVByZXZpZXdDb25maWcgJiB7XG4gICAgICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdXG4gICAgICBnbG9iYWxzPzogc3RyaW5nW11cbiAgICB9XG4gICAgLyoqIFRoZSByb3V0ZSBmb3IgdGhlIGxvZ291dCBwYWdlLiAqL1xuICAgIGxvZ291dFJvdXRlPzogc3RyaW5nXG4gICAgLyoqIEJhc2UgbWV0YSBkYXRhIHRvIHVzZSBmb3IgdGhlIEFkbWluIHBhbmVsLiBJbmNsdWRlZCBwcm9wZXJ0aWVzIGFyZSB0aXRsZVN1ZmZpeCwgb2dJbWFnZSwgYW5kIGZhdmljb24uICovXG4gICAgbWV0YT86IHtcbiAgICAgIC8qKlxuICAgICAgICogUHVibGljIHBhdGggdG8gYW4gaWNvblxuICAgICAgICpcbiAgICAgICAqIFRoaXMgaW1hZ2UgbWF5IGJlIGRpc3BsYXllZCBpbiB0aGUgYnJvd3NlciBuZXh0IHRvIHRoZSB0aXRsZSBvZiB0aGUgcGFnZVxuICAgICAgICovXG4gICAgICBmYXZpY29uPzogc3RyaW5nXG4gICAgICAvKipcbiAgICAgICAqIFB1YmxpYyBwYXRoIHRvIGFuIGltYWdlXG4gICAgICAgKlxuICAgICAgICogVGhpcyBpbWFnZSBtYXkgYmUgZGlzcGxheWVkIGFzIHByZXZpZXcgd2hlbiB0aGUgbGluayBpcyBzaGFyZWQgb24gc29jaWFsIG1lZGlhXG4gICAgICAgKi9cbiAgICAgIG9nSW1hZ2U/OiBzdHJpbmdcbiAgICAgIC8qKlxuICAgICAgICogU3RyaW5nIHRvIGFwcGVuZCB0byB0aGUgPHRpdGxlPiBvZiBhZG1pbiBwYWdlc1xuICAgICAgICogQGV4YW1wbGUgYFwiIC0gTXkgQnJhbmRcImBcbiAgICAgICAqL1xuICAgICAgdGl0bGVTdWZmaXg/OiBzdHJpbmdcbiAgICB9XG4gICAgLyoqIFRoZSBzbHVnIG9mIGEgQ29sbGVjdGlvbiB0aGF0IHlvdSB3YW50IGJlIHVzZWQgdG8gbG9nIGluIHRvIHRoZSBBZG1pbiBkYXNoYm9hcmQuICovXG4gICAgdXNlcj86IHN0cmluZ1xuICB9XG4gIC8qKiBDdXN0b20gUGF5bG9hZCBiaW4gc2NyaXB0cyBjYW4gYmUgaW5qZWN0ZWQgdmlhIHRoZSBjb25maWcuICovXG4gIGJpbj86IEJpblNjcmlwdENvbmZpZ1tdXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGhlIGRhdGFtb2RlbCBvZiB5b3VyIGFwcGxpY2F0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vY29sbGVjdGlvbnMjY29sbGVjdGlvbi1jb25maWdzXG4gICAqL1xuICBjb2xsZWN0aW9ucz86IENvbGxlY3Rpb25Db25maWdbXVxuICAvKipcbiAgICogUmVwbGFjZSB0aGUgYnVpbHQtaW4gY29tcG9uZW50cyB3aXRoIGN1c3RvbSBvbmVzXG4gICAqL1xuICBjb21wb25lbnRzPzogeyBba2V5OiBzdHJpbmddOiAoKCkgPT4gSlNYLkVsZW1lbnQpIHwgSlNYLkVsZW1lbnQgfVxuICAvKipcbiAgICogUHJlZml4IGEgc3RyaW5nIHRvIGFsbCBjb29raWVzIHRoYXQgUGF5bG9hZCBzZXRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInBheWxvYWRcIlxuICAgKi9cbiAgY29va2llUHJlZml4Pzogc3RyaW5nXG4gIC8qKiBFaXRoZXIgYSB3aGl0ZWxpc3QgYXJyYXkgb2YgVVJMUyB0byBhbGxvdyBDT1JTIHJlcXVlc3RzIGZyb20sIG9yIGEgd2lsZGNhcmQgc3RyaW5nICgnKicpIHRvIGFjY2VwdCBpbmNvbWluZyByZXF1ZXN0cyBmcm9tIGFueSBkb21haW4uICovXG4gIGNvcnM/OiAnKicgfCBzdHJpbmdbXVxuICAvKiogQSB3aGl0ZWxpc3QgYXJyYXkgb2YgVVJMcyB0byBhbGxvdyBQYXlsb2FkIGNvb2tpZXMgdG8gYmUgYWNjZXB0ZWQgZnJvbSBhcyBhIGZvcm0gb2YgQ1NSRiBwcm90ZWN0aW9uLiAqL1xuICBjc3JmPzogc3RyaW5nW11cblxuICAvKiogRXh0ZW5zaW9uIHBvaW50IHRvIGFkZCB5b3VyIGN1c3RvbSBkYXRhLiAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG5cbiAgLyoqIFBhc3MgaW4gYSBkYXRhYmFzZSBhZGFwdGVyIGZvciB1c2Ugb24gdGhpcyBwcm9qZWN0LiAqL1xuICBkYjogRGF0YWJhc2VBZGFwdGVyUmVzdWx0XG4gIC8qKiBFbmFibGUgdG8gZXhwb3NlIG1vcmUgZGV0YWlsZWQgZXJyb3IgaW5mb3JtYXRpb24uICovXG4gIGRlYnVnPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgYSB1c2VyIGRvZXMgbm90IHNwZWNpZnkgYGRlcHRoYCB3aGlsZSByZXF1ZXN0aW5nIGEgcmVzb3VyY2UsIHRoaXMgZGVwdGggd2lsbCBiZSB1c2VkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQvY29uY2VwdHMjZGVwdGhcbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgZGVmYXVsdERlcHRoPzogbnVtYmVyXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbGxvd2VkIGRlcHRoIHRvIGJlIHBlcm1pdHRlZCBhcHBsaWNhdGlvbi13aWRlLiBUaGlzIHNldHRpbmcgaGVscHMgcHJldmVudCBhZ2FpbnN0IG1hbGljaW91cyBxdWVyaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCA0MDAwMFxuICAgKi9cbiAgZGVmYXVsdE1heFRleHRMZW5ndGg/OiBudW1iZXJcbiAgLyoqIERlZmF1bHQgcmljaHRleHQgZWRpdG9yIHRvIHVzZSBmb3IgcmljaFRleHQgZmllbGRzICovXG4gIGVkaXRvcjogUmljaFRleHRBZGFwdGVyPGFueSwgYW55LCBhbnk+XG4gIC8qKlxuICAgKiBFbWFpbCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIFRoaXMgdmFsdWUgaXMgb3ZlcnJpZGRlbiBieSBgZW1haWxgIGluIFBheWxvYWQuaW5pdCBpZiBwYXNzZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2VtYWlsL292ZXJ2aWV3XG4gICAqL1xuICBlbWFpbD86IEVtYWlsT3B0aW9uc1xuICAvKiogQ3VzdG9tIFJFU1QgZW5kcG9pbnRzICovXG4gIGVuZHBvaW50cz86IEVuZHBvaW50W11cbiAgLyoqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vZ2xvYmFscyNnbG9iYWwtY29uZmlnc1xuICAgKi9cbiAgZ2xvYmFscz86IEdsb2JhbENvbmZpZ1tdXG4gIC8qKlxuICAgKiBNYW5hZ2UgdGhlIEdyYXBoUUwgQVBJXG4gICAqXG4gICAqIFlvdSBjYW4gYWRkIHlvdXIgb3duIEdyYXBoUUwgcXVlcmllcyBhbmQgbXV0YXRpb25zIHRvIFBheWxvYWQsIG1ha2luZyB1c2Ugb2YgYWxsIHRoZSB0eXBlcyB0aGF0IFBheWxvYWQgaGFzIGRlZmluZWQgZm9yIHlvdS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvZ3JhcGhxbC9vdmVydmlld1xuICAgKi9cbiAgZ3JhcGhRTD86IHtcbiAgICBkaXNhYmxlPzogYm9vbGVhblxuICAgIGRpc2FibGVQbGF5Z3JvdW5kSW5Qcm9kdWN0aW9uPzogYm9vbGVhblxuICAgIG1heENvbXBsZXhpdHk/OiBudW1iZXJcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcga2V5cyB0byBjdXN0b20gR3JhcGhRTCBtdXRhdGlvbnNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dyYXBocWwvZXh0ZW5kaW5nXG4gICAgICovXG4gICAgbXV0YXRpb25zPzogR3JhcGhRTEV4dGVuc2lvblxuICAgIC8qKlxuICAgICAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyBrZXlzIHRvIGN1c3RvbSBHcmFwaFFMIHF1ZXJpZXNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dyYXBocWwvZXh0ZW5kaW5nXG4gICAgICovXG4gICAgcXVlcmllcz86IEdyYXBoUUxFeHRlbnNpb25cbiAgICBzY2hlbWFPdXRwdXRGaWxlPzogc3RyaW5nXG4gIH1cbiAgLyoqXG4gICAqIFRhcCBpbnRvIFBheWxvYWQtd2lkZSBob29rcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvaG9va3Mvb3ZlcnZpZXdcbiAgICovXG4gIGhvb2tzPzoge1xuICAgIGFmdGVyRXJyb3I/OiBBZnRlckVycm9ySG9va1xuICB9XG4gIC8qKiBpMThuIGNvbmZpZyBzZXR0aW5ncyAqL1xuICBpMThuPzogSTE4bk9wdGlvbnNcbiAgLyoqIEF1dG9tYXRpY2FsbHkgaW5kZXggYWxsIHNvcnRhYmxlIHRvcC1sZXZlbCBmaWVsZHMgaW4gdGhlIGRhdGFiYXNlIHRvIGltcHJvdmUgc29ydCBwZXJmb3JtYW5jZSBhbmQgYWRkIGRhdGFiYXNlIGNvbXBhdGliaWxpdHkgZm9yIEF6dXJlIENvc21vcyBhbmQgc2ltaWxhci4gKi9cbiAgaW5kZXhTb3J0YWJsZUZpZWxkcz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSB5b3VyIGNvbnRlbnQgdG8gZGlmZmVyZW50IGxhbmd1YWdlcy9sb2NhbGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAvLyBkaXNhYmxlIGxvY2FsaXphdGlvblxuICAgKi9cbiAgbG9jYWxpemF0aW9uPzogTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2VcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGFsbG93ZWQgZGVwdGggdG8gYmUgcGVybWl0dGVkIGFwcGxpY2F0aW9uLXdpZGUuIFRoaXMgc2V0dGluZyBoZWxwcyBwcmV2ZW50IGFnYWluc3QgbWFsaWNpb3VzIHF1ZXJpZXMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dldHRpbmctc3RhcnRlZC9jb25jZXB0cyNkZXB0aFxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgbWF4RGVwdGg/OiBudW1iZXJcbiAgLyoqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHN0YXJ0dXAgdGhhdCByZWNlaXZlcyB0aGUgUGF5bG9hZCBpbnN0YW5jZSBhcyBpdHMgb25seSBhcmd1bWVudC4gKi9cbiAgb25Jbml0PzogKHBheWxvYWQ6IFBheWxvYWQpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBQYXlsb2FkIHBsdWdpbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL3BsdWdpbnMvb3ZlcnZpZXdcbiAgICovXG4gIHBsdWdpbnM/OiBQbHVnaW5bXVxuICAvKiogQ29udHJvbCB0aGUgcm91dGluZyBzdHJ1Y3R1cmUgdGhhdCBQYXlsb2FkIGJpbmRzIGl0c2VsZiB0by4gKi9cbiAgcm91dGVzPzoge1xuICAgIC8qKiBAZGVmYXVsdCBcIi9hZG1pblwiICovXG4gICAgYWRtaW4/OiBzdHJpbmdcbiAgICAvKiogQGRlZmF1bHQgXCIvYXBpXCIgICovXG4gICAgYXBpPzogc3RyaW5nXG4gICAgLyoqIEBkZWZhdWx0IFwiL2dyYXBocWxcIiAgKi9cbiAgICBncmFwaFFMPzogc3RyaW5nXG4gICAgLyoqIEBkZWZhdWx0IFwiL2dyYXBocWwtcGxheWdyb3VuZFwiICovXG4gICAgZ3JhcGhRTFBsYXlncm91bmQ/OiBzdHJpbmdcbiAgfVxuICAvKiogU2VjdXJlIHN0cmluZyB0aGF0IFBheWxvYWQgd2lsbCB1c2UgZm9yIGFueSBlbmNyeXB0aW9uIHdvcmtmbG93cyAqL1xuICBzZWNyZXQ6IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lIHRoZSBhYnNvbHV0ZSBVUkwgb2YgeW91ciBhcHAgaW5jbHVkaW5nIHRoZSBwcm90b2NvbCwgZm9yIGV4YW1wbGUgYGh0dHBzOi8vZXhhbXBsZS5vcmdgLlxuICAgKiBObyBwYXRocyBhbGxvd2VkLCBvbmx5IHByb3RvY29sLCBkb21haW4gYW5kIChvcHRpb25hbGx5KSBwb3J0LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL292ZXJ2aWV3I29wdGlvbnNcbiAgICovXG4gIHNlcnZlclVSTD86IHN0cmluZ1xuICAvKipcbiAgICogUGFzcyBpbiBhIGxvY2FsIGNvcHkgb2YgU2hhcnAgaWYgeW91J2QgbGlrZSB0byB1c2UgaXQuXG4gICAqXG4gICAqL1xuICBzaGFycD86IFNoYXJwRGVwZW5kZW5jeVxuICAvKiogU2VuZCBhbm9ueW1vdXMgdGVsZW1ldHJ5IGRhdGEgYWJvdXQgZ2VuZXJhbCB1c2FnZS4gKi9cbiAgdGVsZW1ldHJ5PzogYm9vbGVhblxuICAvKiogQ29udHJvbCBob3cgdHlwZXNjcmlwdCBpbnRlcmZhY2VzIGFyZSBnZW5lcmF0ZWQgZnJvbSB5b3VyIGNvbGxlY3Rpb25zLiAqL1xuICB0eXBlc2NyaXB0Pzoge1xuICAgIC8qKiBEaXNhYmxlIGRlY2xhcmUgYmxvY2sgaW4gZ2VuZXJhdGVkIHR5cGVzIGZpbGUgKi9cbiAgICBkZWNsYXJlPzogZmFsc2VcbiAgICAvKiogRmlsZW5hbWUgdG8gd3JpdGUgdGhlIGdlbmVyYXRlZCB0eXBlcyB0byAqL1xuICAgIG91dHB1dEZpbGU/OiBzdHJpbmdcbiAgfVxuICAvKipcbiAgICogQ3VzdG9taXplIHRoZSBoYW5kbGluZyBvZiBpbmNvbWluZyBmaWxlIHVwbG9hZHMgZm9yIGNvbGxlY3Rpb25zIHRoYXQgaGF2ZSB1cGxvYWRzIGVuYWJsZWQuXG4gICAqL1xuICB1cGxvYWQ/OiBFeHByZXNzRmlsZVVwbG9hZE9wdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2FuaXRpemVkQ29uZmlnID0gT21pdDxcbiAgRGVlcFJlcXVpcmVkPENvbmZpZz4sXG4gICdjb2xsZWN0aW9ucycgfCAnZW5kcG9pbnQnIHwgJ2dsb2JhbHMnIHwgJ2xvY2FsaXphdGlvbidcbj4gJiB7XG4gIGNvbGxlY3Rpb25zOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnW11cbiAgZW5kcG9pbnRzOiBFbmRwb2ludFtdXG4gIGdsb2JhbHM6IFNhbml0aXplZEdsb2JhbENvbmZpZ1tdXG4gIGxvY2FsaXphdGlvbjogU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2VcbiAgcGF0aHM6IHtcbiAgICBjb25maWc6IHN0cmluZ1xuICAgIGNvbmZpZ0Rpcjogc3RyaW5nXG4gICAgcmF3Q29uZmlnOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDbGllbnRDb25maWcgPSBPbWl0PFNhbml0aXplZENvbmZpZywgJ2RiJyB8ICdlbmRwb2ludHMnPiAmIHtcbiAgY29sbGVjdGlvbnM6IChPbWl0PFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsICdhY2Nlc3MnIHwgJ2VuZHBvaW50cycgfCAnZmllbGRzJyB8ICdob29rcyc+ICYge1xuICAgIGZpZWxkczogQ2xpZW50Q29uZmlnRmllbGRbXVxuICB9KVtdXG4gIGdsb2JhbHM6IChPbWl0PFNhbml0aXplZEdsb2JhbENvbmZpZywgJ2FjY2VzcycgfCAnZW5kcG9pbnRzJyB8ICdmaWVsZHMnIHwgJ2hvb2tzJz4gJiB7XG4gICAgZmllbGRzOiBDbGllbnRDb25maWdGaWVsZFtdXG4gIH0pW11cbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RGVzY3JpcHRpb24gPVxuICB8ICgoKSA9PiBzdHJpbmcpXG4gIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB8IHN0cmluZ1xuIl0sIm5hbWVzIjpbImhhc1RyYW5zcG9ydCIsImhhc1RyYW5zcG9ydE9wdGlvbnMiLCJlbWFpbENvbmZpZyIsInRyYW5zcG9ydCIsInVuZGVmaW5lZCIsInRyYW5zcG9ydE9wdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBbUdnQkEsWUFBWTtlQUFaQTs7SUFRQUMsbUJBQW1CO2VBQW5CQTs7O0FBUlQsU0FBU0QsYUFBYUUsV0FBeUI7SUFDcEQsT0FBTyxBQUFDQSxZQUErQkMsU0FBUyxLQUFLQztBQUN2RDtBQU1PLFNBQVNILG9CQUNkQyxXQUF5QjtJQUV6QixPQUFPLEFBQUNBLFlBQXNDRyxnQkFBZ0IsS0FBS0Q7QUFDckUifQ==
@@ -104,8 +104,11 @@ export interface BaseDatabaseAdapter {
104
104
  updateOne: UpdateOne;
105
105
  updateVersion: UpdateVersion;
106
106
  }
107
- export type Init = (payload: Payload) => Promise<void>;
108
- export type Connect = (payload: Payload) => Promise<void>;
107
+ export type Init = (payload: Payload) => Promise<void> | void;
108
+ type ConnectArgs = {
109
+ hotReload: boolean;
110
+ };
111
+ export type Connect = (args?: ConnectArgs) => Promise<void>;
109
112
  export type Destroy = (payload: Payload) => Promise<void>;
110
113
  export type CreateMigration = (args: {
111
114
  file?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -192,7 +192,7 @@ class BasePayload {
192
192
  await this.db.init(this);
193
193
  }
194
194
  if (!options.disableDBConnect && this.db.connect) {
195
- await this.db.connect(this);
195
+ await this.db.connect();
196
196
  }
197
197
  this.logger.info('Starting Payload...');
198
198
  // Configure email service
@@ -271,4 +271,4 @@ const getPayload = async (options)=>{
271
271
  return cached.payload;
272
272
  };
273
273
 
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICcuL2NvbmZpZy92YWxpZGF0ZSdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuY29uZmlnLCB0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHRoaXMuY29uZmlnLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMuZ2xvYmFscyA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcuZ2xvYmFscyxcbiAgICB9XG4gICAgdGhpcy5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbikgPT4ge1xuICAgICAgdGhpcy5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uLnNsdWddID0ge1xuICAgICAgICBjb25maWc6IGNvbGxlY3Rpb24sXG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuZGIgPSB0aGlzLmNvbmZpZy5kYi5pbml0KHsgcGF5bG9hZDogdGhpcyB9KVxuICAgIHRoaXMuZGIucGF5bG9hZCA9IHRoaXNcblxuICAgIGlmICh0aGlzLmRiPy5pbml0KSB7XG4gICAgICBhd2FpdCB0aGlzLmRiLmluaXQodGhpcylcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZURCQ29ubmVjdCAmJiB0aGlzLmRiLmNvbm5lY3QpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuY29ubmVjdCh0aGlzKVxuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1N0YXJ0aW5nIFBheWxvYWQuLi4nKVxuXG4gICAgLy8gQ29uZmlndXJlIGVtYWlsIHNlcnZpY2VcbiAgICBjb25zdCBlbWFpbE9wdGlvbnMgPSBvcHRpb25zLmVtYWlsID8geyAuLi5vcHRpb25zLmVtYWlsIH0gOiB0aGlzLmNvbmZpZy5lbWFpbFxuICAgIGlmIChvcHRpb25zLmVtYWlsICYmIHRoaXMuY29uZmlnLmVtYWlsKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAnRW1haWwgb3B0aW9ucyBwcm92aWRlZCBpbiBib3RoIGluaXQgb3B0aW9ucyBhbmQgY29uZmlnLiBVc2luZyBpbml0IG9wdGlvbnMuJyxcbiAgICAgIClcbiAgICB9XG5cbiAgICB0aGlzLmVtYWlsT3B0aW9ucyA9IGVtYWlsT3B0aW9ucyA/PyBlbWFpbERlZmF1bHRzXG4gICAgdGhpcy5lbWFpbCA9IGJ1aWxkRW1haWwodGhpcy5lbWFpbE9wdGlvbnMsIHRoaXMubG9nZ2VyKVxuICAgIHRoaXMuc2VuZEVtYWlsID0gc2VuZEVtYWlsLmJpbmQodGhpcylcblxuICAgIHNlcnZlckluaXRUZWxlbWV0cnkodGhpcylcblxuICAgIC8vIDEuIGxvb3Agb3ZlciBjb2xsZWN0aW9ucywgaWYgY29sbGVjdGlvbiBoYXMgYXV0aCBzdHJhdGVneSwgaW5pdGlhbGl6ZSBhbmQgcHVzaCB0byBhcnJheVxuICAgIGxldCBqd3RTdHJhdGVneUVuYWJsZWQgPSBmYWxzZVxuICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMgPSB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5yZWR1Y2UoKGF1dGhTdHJhdGVnaWVzLCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoY29sbGVjdGlvbj8uYXV0aCkge1xuICAgICAgICBpZiAoY29sbGVjdGlvbi5hdXRoLnN0cmF0ZWdpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGF1dGhTdHJhdGVnaWVzLnB1c2goLi4uY29sbGVjdGlvbi5hdXRoLnN0cmF0ZWdpZXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyAyLiBpZiBhcGkga2V5IGVuYWJsZWQsIHB1c2ggYXBpIGtleSBzdHJhdGVneSBpbnRvIHRoZSBhcnJheVxuICAgICAgICBpZiAoY29sbGVjdGlvbi5hdXRoPy51c2VBUElLZXkpIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbGxlY3Rpb24uc2x1Z30tYXBpLWtleWAsXG4gICAgICAgICAgICBhdXRoZW50aWNhdGU6IEFQSUtleUF1dGhlbnRpY2F0aW9uKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICAvLyAzLiBpZiBsb2NhbFN0cmF0ZWd5IGZsYWcgaXMgdHJ1ZVxuICAgICAgICBpZiAoIWNvbGxlY3Rpb24uYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneSAmJiAhand0U3RyYXRlZ3lFbmFibGVkKSB7XG4gICAgICAgICAgand0U3RyYXRlZ3lFbmFibGVkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoU3RyYXRlZ2llc1xuICAgIH0sIFtdIGFzIEF1dGhTdHJhdGVneVtdKVxuXG4gICAgLy8gNC4gaWYgZW5hYmxlZCwgcHVzaCBqd3Qgc3RyYXRlZ3kgaW50byBhdXRoU3RyYXRlZ2llcyBsYXN0XG4gICAgaWYgKGp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgdGhpcy5hdXRoU3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ2xvY2FsLWp3dCcsXG4gICAgICAgIGF1dGhlbnRpY2F0ZTogSldUQXV0aGVudGljYXRpb24sXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlT25Jbml0KSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCBvcHRpb25zLm9uSW5pdCh0aGlzKVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IHRoaXMuY29uZmlnLm9uSW5pdCh0aGlzKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICB1cGRhdGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVXBkYXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyB1cGRhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiB1cGRhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxufVxuXG5jb25zdCBpbml0aWFsaXplZCA9IG5ldyBCYXNlUGF5bG9hZCgpXG5cbmV4cG9ydCBkZWZhdWx0IGluaXRpYWxpemVkXG5cbmxldCBjYWNoZWQgPSBnbG9iYWwuX3BheWxvYWRcblxuaWYgKCFjYWNoZWQpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW11bHRpLWFzc2lnblxuICBjYWNoZWQgPSBnbG9iYWwuX3BheWxvYWQgPSB7IHBheWxvYWQ6IG51bGwsIHByb21pc2U6IG51bGwgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UGF5bG9hZCA9IGFzeW5jIChvcHRpb25zPzogSW5pdE9wdGlvbnMpOiBQcm9taXNlPEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPj4gPT4ge1xuICBpZiAoY2FjaGVkLnBheWxvYWQpIHtcbiAgICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbiAgfVxuXG4gIGlmICghY2FjaGVkLnByb21pc2UpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG5ldyBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4oKS5pbml0KG9wdGlvbnMpXG4gIH1cblxuICB0cnkge1xuICAgIGNhY2hlZC5wYXlsb2FkID0gYXdhaXQgY2FjaGVkLnByb21pc2VcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNhY2hlZC5wcm9taXNlID0gbnVsbFxuICAgIHRocm93IGVcbiAgfVxuXG4gIHJldHVybiBjYWNoZWQucGF5bG9hZFxufVxuXG50eXBlIEdlbmVyYXRlZFR5cGVzID0ge1xuICBjb2xsZWN0aW9uczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxuICBnbG9iYWxzOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IEdsb2JhbFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG59XG5cbnR5cGUgUGF5bG9hZCA9IEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPlxuXG5pbnRlcmZhY2UgUmVxdWVzdENvbnRleHQge1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duXG59XG5cbi8vIHR5cGUgRGF0YWJhc2VBZGFwdGVyID0gQmFzZURhdGFiYXNlQWRhcHRlclxuXG5leHBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzLCBQYXlsb2FkLCBSZXF1ZXN0Q29udGV4dCB9XG4iXSwibmFtZXMiOlsiQmFzZVBheWxvYWQiLCJnZXRQYXlsb2FkIiwiYXV0aFN0cmF0ZWdpZXMiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNyZWF0ZSIsIm9wdGlvbnMiLCJsb2NhbE9wZXJhdGlvbnMiLCJkYiIsImRlY3J5cHQiLCJlbWFpbCIsImVtYWlsT3B0aW9ucyIsImVuY3J5cHQiLCJleHRlbnNpb25zIiwiZmluZCIsImZpbmRCeUlEIiwiZmluZEdsb2JhbCIsImZpbmRPbmUiLCJsb2NhbEdsb2JhbE9wZXJhdGlvbnMiLCJmaW5kR2xvYmFsVmVyc2lvbkJ5SUQiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kVmVyc2lvbnMiLCJmb3Jnb3RQYXNzd29yZCIsImF1dGgiLCJnZXRBUElVUkwiLCJzZXJ2ZXJVUkwiLCJyb3V0ZXMiLCJhcGkiLCJnZXRBZG1pblVSTCIsImFkbWluIiwiZ2xvYmFscyIsImxvZ2dlciIsImxvZ2luIiwicmVzZXRQYXNzd29yZCIsInJlc3RvcmVHbG9iYWxWZXJzaW9uIiwicmVzdG9yZVZlcnNpb24iLCJzY2hlbWEiLCJzZWNyZXQiLCJzZW5kRW1haWwiLCJ0eXBlcyIsInVubG9jayIsInVwZGF0ZUdsb2JhbCIsInVwZGF0ZSIsInZhbGlkYXRpb25SdWxlcyIsInZlcmlmeUVtYWlsIiwidmVyc2lvbnMiLCJkZWxldGUiLCJkZWxldGVMb2NhbCIsImluaXQiLCJMb2dnZXIiLCJsb2dnZXJPcHRpb25zIiwibG9nZ2VyRGVzdGluYXRpb24iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZSIsIkVycm9yIiwiY3J5cHRvIiwiY3JlYXRlSGFzaCIsImRpZ2VzdCIsInNsaWNlIiwiZm9yRWFjaCIsImNvbGxlY3Rpb24iLCJzbHVnIiwicGF5bG9hZCIsImRpc2FibGVEQkNvbm5lY3QiLCJjb25uZWN0IiwiaW5mbyIsIndhcm4iLCJlbWFpbERlZmF1bHRzIiwiYnVpbGRFbWFpbCIsImJpbmQiLCJzZXJ2ZXJJbml0VGVsZW1ldHJ5Iiwiand0U3RyYXRlZ3lFbmFibGVkIiwicmVkdWNlIiwic3RyYXRlZ2llcyIsImxlbmd0aCIsInB1c2giLCJ1c2VBUElLZXkiLCJuYW1lIiwiYXV0aGVudGljYXRlIiwiQVBJS2V5QXV0aGVudGljYXRpb24iLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsIkpXVEF1dGhlbnRpY2F0aW9uIiwiZGlzYWJsZU9uSW5pdCIsIm9uSW5pdCIsImluaXRpYWxpemVkIiwiY2FjaGVkIiwiZ2xvYmFsIiwiX3BheWxvYWQiLCJwcm9taXNlIiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEyRGFBLFdBQVc7ZUFBWEE7O0lBb1diLE9BQTBCO2VBQTFCOztJQVNhQyxVQUFVO2VBQVZBOzs7K0RBbmFNO3lCQXVDYzt3QkFDSTtxQkFDSDs4REFDTjtpRUFDUDs4REFDRTswQkFDbUI7a0VBQ3BCOytEQUNZOytEQUNmOzRCQUMrQjs7Ozs7O0FBSzNDLE1BQU1EO0lBQ1hFLGVBQThCO0lBRTlCQyxjQUVJLENBQUMsRUFBQztJQUVOQyxPQUF1QjtJQUV2Qjs7OztHQUlDLEdBQ0RDLFNBQVMsT0FDUEM7UUFFQSxNQUFNLEVBQUVELE1BQU0sRUFBRSxHQUFHRSxjQUFlO1FBQ2xDLE9BQU9GLE9BQVUsSUFBSSxFQUFFQztJQUN6QixFQUFDO0lBRURFLEdBQXVCO0lBRXZCQyxVQUFVQSxnQkFBTyxDQUFBO0lBRWpCQyxNQUF1QjtJQUV2QkMsYUFBMEI7SUFFMUJDLFVBQVVBLGdCQUFPLENBQUE7SUFFakIsZ0NBQWdDO0lBQ2hDLDZCQUE2QjtJQUU3QkMsV0FJa0I7SUFFbEI7Ozs7R0FJQyxHQUNEQyxPQUFPLE9BQ0xSO1FBRUEsTUFBTSxFQUFFUSxJQUFJLEVBQUUsR0FBR1AsY0FBZTtRQUNoQyxPQUFPTyxLQUFRLElBQUksRUFBRVI7SUFDdkIsRUFBQztJQUVEUyxXQUFXLE9BQ1RUO1FBRUEsTUFBTSxFQUFFUyxRQUFRLEVBQUUsR0FBR1IsY0FBZTtRQUNwQyxPQUFPUSxTQUFZLElBQUksRUFBRVQ7SUFDM0IsRUFBQztJQUVEVSxhQUFhLE9BQ1hWO1FBRUEsTUFBTSxFQUFFVyxPQUFPLEVBQUUsR0FBR0MsZUFBcUI7UUFDekMsT0FBT0QsUUFBVyxJQUFJLEVBQUVYO0lBQzFCLEVBQUM7SUFFRDs7OztHQUlDLEdBQ0RhLHdCQUF3QixPQUN0QmI7UUFFQSxNQUFNLEVBQUVjLGVBQWUsRUFBRSxHQUFHRixlQUFxQjtRQUNqRCxPQUFPRSxnQkFBbUIsSUFBSSxFQUFFZDtJQUNsQyxFQUFDO0lBRUQ7Ozs7R0FJQyxHQUNEZSxxQkFBcUIsT0FDbkJmO1FBRUEsTUFBTSxFQUFFZ0IsWUFBWSxFQUFFLEdBQUdKLGVBQXFCO1FBQzlDLE9BQU9JLGFBQWdCLElBQUksRUFBRWhCO0lBQy9CLEVBQUM7SUFFRDs7OztHQUlDLEdBQ0RjLGtCQUFrQixPQUNoQmQ7UUFFQSxNQUFNLEVBQUVjLGVBQWUsRUFBRSxHQUFHYixjQUFlO1FBQzNDLE9BQU9hLGdCQUFtQixJQUFJLEVBQUVkO0lBQ2xDLEVBQUM7SUFFRDs7OztHQUlDLEdBQ0RnQixlQUFlLE9BQ2JoQjtRQUVBLE1BQU0sRUFBRWdCLFlBQVksRUFBRSxHQUFHZixjQUFlO1FBQ3hDLE9BQU9lLGFBQWdCLElBQUksRUFBRWhCO0lBQy9CLEVBQUM7SUFFRGlCLGlCQUFpQixPQUNmakI7UUFFQSxNQUFNLEVBQUVpQixjQUFjLEVBQUUsR0FBR2hCLGNBQWUsQ0FBQ2lCLElBQUk7UUFDL0MsT0FBT0QsZUFBa0IsSUFBSSxFQUFFakI7SUFDakMsRUFBQztJQUVEbUIsWUFBWSxJQUFjLENBQUMsRUFBRSxJQUFJLENBQUNyQixNQUFNLENBQUNzQixTQUFTLENBQUMsRUFBRSxJQUFJLENBQUN0QixNQUFNLENBQUN1QixNQUFNLENBQUNDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFFN0VDLGNBQWMsSUFBYyxDQUFDLEVBQUUsSUFBSSxDQUFDekIsTUFBTSxDQUFDc0IsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDdEIsTUFBTSxDQUFDdUIsTUFBTSxDQUFDRyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBRWpGQyxRQUFnQjtJQUVoQkMsT0FBbUI7SUFFbkJDLFFBQVEsT0FDTjNCO1FBRUEsTUFBTSxFQUFFMkIsS0FBSyxFQUFFLEdBQUcxQixjQUFlLENBQUNpQixJQUFJO1FBQ3RDLE9BQU9TLE1BQVMsSUFBSSxFQUFFM0I7SUFDeEIsRUFBQztJQUVEOzs7O0dBSUMsR0FFRDRCLGdCQUFnQixPQUNkNUI7UUFFQSxNQUFNLEVBQUU0QixhQUFhLEVBQUUsR0FBRzNCLGNBQWUsQ0FBQ2lCLElBQUk7UUFDOUMsT0FBT1UsY0FBaUIsSUFBSSxFQUFFNUI7SUFDaEMsRUFBQztJQUVEOzs7O0dBSUMsR0FDRDZCLHVCQUF1QixPQUNyQjdCO1FBRUEsTUFBTSxFQUFFOEIsY0FBYyxFQUFFLEdBQUdsQixlQUFxQjtRQUNoRCxPQUFPa0IsZUFBa0IsSUFBSSxFQUFFOUI7SUFDakMsRUFBQztJQUVEOzs7O0dBSUMsR0FDRDhCLGlCQUFpQixPQUNmOUI7UUFFQSxNQUFNLEVBQUU4QixjQUFjLEVBQUUsR0FBRzdCLGNBQWU7UUFDMUMsT0FBTzZCLGVBQWtCLElBQUksRUFBRTlCO0lBQ2pDLEVBQUM7SUFFRCtCLE9BQXFCO0lBRXJCQyxPQUFjO0lBRWRDLFVBQXlEO0lBRXpEQyxNQVFDO0lBRURDLFNBQVMsT0FDUG5DO1FBRUEsTUFBTSxFQUFFbUMsTUFBTSxFQUFFLEdBQUdsQyxjQUFlLENBQUNpQixJQUFJO1FBQ3ZDLE9BQU9pQixPQUFPLElBQUksRUFBRW5DO0lBQ3RCLEVBQUM7SUFFRG9DLGVBQWUsT0FDYnBDO1FBRUEsTUFBTSxFQUFFcUMsTUFBTSxFQUFFLEdBQUd6QixlQUFxQjtRQUN4QyxPQUFPeUIsT0FBVSxJQUFJLEVBQUVyQztJQUN6QixFQUFDO0lBRURzQyxnQkFBK0Q7SUFFL0RDLGNBQWMsT0FDWnZDO1FBRUEsTUFBTSxFQUFFdUMsV0FBVyxFQUFFLEdBQUd0QyxjQUFlLENBQUNpQixJQUFJO1FBQzVDLE9BQU9xQixZQUFZLElBQUksRUFBRXZDO0lBQzNCLEVBQUM7SUFFRHdDLFdBRUksQ0FBQyxFQUFDO0lBRU5DLE9BQ0V6QyxPQUF5QixFQUM0QztRQUNyRSxNQUFNLEVBQUUwQyxXQUFXLEVBQUUsR0FBR3pDLGNBQWU7UUFDdkMsT0FBT3lDLFlBQWUsSUFBSSxFQUFFMUM7SUFDOUI7SUFlQTs7O0dBR0MsR0FDRCxzRUFBc0U7SUFDdEUsTUFBTTJDLEtBQUszQyxPQUFvQixFQUFvQjtRQUNqRCxJQUFJLENBQUMwQixNQUFNLEdBQUdrQixJQUFBQSxlQUFNLEVBQUMsV0FBVzVDLFFBQVE2QyxhQUFhLEVBQUU3QyxRQUFROEMsaUJBQWlCO1FBRWhGLElBQUksQ0FBQ2hELE1BQU0sR0FBRyxNQUFNRSxRQUFRRixNQUFNO1FBRWxDLElBQUlpRCxRQUFRQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxjQUFjO1lBQ3pDLE1BQU1DLElBQUFBLGlCQUFRLEVBQUMsSUFBSSxDQUFDcEQsTUFBTSxFQUFFLElBQUksQ0FBQzRCLE1BQU07UUFDekM7UUFFQSxJQUFJLENBQUMsSUFBSSxDQUFDNUIsTUFBTSxDQUFDa0MsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSW1CLE1BQU07UUFDbEI7UUFFQSxJQUFJLENBQUNuQixNQUFNLEdBQUdvQixlQUFNLENBQUNDLFVBQVUsQ0FBQyxVQUFVaEIsTUFBTSxDQUFDLElBQUksQ0FBQ3ZDLE1BQU0sQ0FBQ2tDLE1BQU0sRUFBRXNCLE1BQU0sQ0FBQyxPQUFPQyxLQUFLLENBQUMsR0FBRztRQUU1RixJQUFJLENBQUM5QixPQUFPLEdBQUc7WUFDYjNCLFFBQVEsSUFBSSxDQUFDQSxNQUFNLENBQUMyQixPQUFPO1FBQzdCO1FBQ0EsSUFBSSxDQUFDM0IsTUFBTSxDQUFDRCxXQUFXLENBQUMyRCxPQUFPLENBQUMsQ0FBQ0M7WUFDL0IsSUFBSSxDQUFDNUQsV0FBVyxDQUFDNEQsV0FBV0MsSUFBSSxDQUFDLEdBQUc7Z0JBQ2xDNUQsUUFBUTJEO1lBQ1Y7UUFDRjtRQUVBLElBQUksQ0FBQ3ZELEVBQUUsR0FBRyxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ksRUFBRSxDQUFDeUMsSUFBSSxDQUFDO1lBQUVnQixTQUFTLElBQUk7UUFBQztRQUM5QyxJQUFJLENBQUN6RCxFQUFFLENBQUN5RCxPQUFPLEdBQUcsSUFBSTtRQUV0QixJQUFJLElBQUksQ0FBQ3pELEVBQUUsRUFBRXlDLE1BQU07WUFDakIsTUFBTSxJQUFJLENBQUN6QyxFQUFFLENBQUN5QyxJQUFJLENBQUMsSUFBSTtRQUN6QjtRQUVBLElBQUksQ0FBQzNDLFFBQVE0RCxnQkFBZ0IsSUFBSSxJQUFJLENBQUMxRCxFQUFFLENBQUMyRCxPQUFPLEVBQUU7WUFDaEQsTUFBTSxJQUFJLENBQUMzRCxFQUFFLENBQUMyRCxPQUFPLENBQUMsSUFBSTtRQUM1QjtRQUVBLElBQUksQ0FBQ25DLE1BQU0sQ0FBQ29DLElBQUksQ0FBQztRQUVqQiwwQkFBMEI7UUFDMUIsTUFBTXpELGVBQWVMLFFBQVFJLEtBQUssR0FBRztZQUFFLEdBQUdKLFFBQVFJLEtBQUs7UUFBQyxJQUFJLElBQUksQ0FBQ04sTUFBTSxDQUFDTSxLQUFLO1FBQzdFLElBQUlKLFFBQVFJLEtBQUssSUFBSSxJQUFJLENBQUNOLE1BQU0sQ0FBQ00sS0FBSyxFQUFFO1lBQ3RDLElBQUksQ0FBQ3NCLE1BQU0sQ0FBQ3FDLElBQUksQ0FDZDtRQUVKO1FBRUEsSUFBSSxDQUFDMUQsWUFBWSxHQUFHQSxnQkFBZ0IyRCxrQkFBYTtRQUNqRCxJQUFJLENBQUM1RCxLQUFLLEdBQUc2RCxJQUFBQSxjQUFVLEVBQUMsSUFBSSxDQUFDNUQsWUFBWSxFQUFFLElBQUksQ0FBQ3FCLE1BQU07UUFDdEQsSUFBSSxDQUFDTyxTQUFTLEdBQUdBLGtCQUFTLENBQUNpQyxJQUFJLENBQUMsSUFBSTtRQUVwQ0MsSUFBQUEsc0JBQW1CLEVBQUMsSUFBSTtRQUV4QiwwRkFBMEY7UUFDMUYsSUFBSUMscUJBQXFCO1FBQ3pCLElBQUksQ0FBQ3hFLGNBQWMsR0FBRyxJQUFJLENBQUNFLE1BQU0sQ0FBQ0QsV0FBVyxDQUFDd0UsTUFBTSxDQUFDLENBQUN6RSxnQkFBZ0I2RDtZQUNwRSxJQUFJQSxZQUFZdkMsTUFBTTtnQkFDcEIsSUFBSXVDLFdBQVd2QyxJQUFJLENBQUNvRCxVQUFVLENBQUNDLE1BQU0sR0FBRyxHQUFHO29CQUN6QzNFLGVBQWU0RSxJQUFJLElBQUlmLFdBQVd2QyxJQUFJLENBQUNvRCxVQUFVO2dCQUNuRDtnQkFFQSw4REFBOEQ7Z0JBQzlELElBQUliLFdBQVd2QyxJQUFJLEVBQUV1RCxXQUFXO29CQUM5QjdFLGVBQWU0RSxJQUFJLENBQUM7d0JBQ2xCRSxNQUFNLENBQUMsRUFBRWpCLFdBQVdDLElBQUksQ0FBQyxRQUFRLENBQUM7d0JBQ2xDaUIsY0FBY0MsSUFBQUEsNEJBQW9CLEVBQUNuQjtvQkFDckM7Z0JBQ0Y7Z0JBRUEsbUNBQW1DO2dCQUNuQyxJQUFJLENBQUNBLFdBQVd2QyxJQUFJLENBQUMyRCxvQkFBb0IsSUFBSSxDQUFDVCxvQkFBb0I7b0JBQ2hFQSxxQkFBcUI7Z0JBQ3ZCO1lBQ0Y7WUFFQSxPQUFPeEU7UUFDVCxHQUFHLEVBQUU7UUFFTCw0REFBNEQ7UUFDNUQsSUFBSXdFLG9CQUFvQjtZQUN0QixJQUFJLENBQUN4RSxjQUFjLENBQUM0RSxJQUFJLENBQUM7Z0JBQ3ZCRSxNQUFNO2dCQUNOQyxjQUFjRyxzQkFBaUI7WUFDakM7UUFDRjtRQUVBLElBQUksQ0FBQzlFLFFBQVErRSxhQUFhLEVBQUU7WUFDMUIsSUFBSSxPQUFPL0UsUUFBUWdGLE1BQU0sS0FBSyxZQUFZLE1BQU1oRixRQUFRZ0YsTUFBTSxDQUFDLElBQUk7WUFDbkUsSUFBSSxPQUFPLElBQUksQ0FBQ2xGLE1BQU0sQ0FBQ2tGLE1BQU0sS0FBSyxZQUFZLE1BQU0sSUFBSSxDQUFDbEYsTUFBTSxDQUFDa0YsTUFBTSxDQUFDLElBQUk7UUFDN0U7UUFFQSxPQUFPLElBQUk7SUFDYjtJQWVBM0MsT0FDRXJDLE9BQXlCLEVBQzRDO1FBQ3JFLE1BQU0sRUFBRXFDLE1BQU0sRUFBRSxHQUFHcEMsY0FBZTtRQUNsQyxPQUFPb0MsT0FBVSxJQUFJLEVBQUVyQztJQUN6QjtBQUNGO0FBRUEsTUFBTWlGLGNBQWMsSUFBSXZGO01BRXhCLFdBQWV1RjtBQUVmLElBQUlDLFNBQVNDLE9BQU9DLFFBQVE7QUFFNUIsSUFBSSxDQUFDRixRQUFRO0lBQ1gsMkNBQTJDO0lBQzNDQSxTQUFTQyxPQUFPQyxRQUFRLEdBQUc7UUFBRXpCLFNBQVM7UUFBTTBCLFNBQVM7SUFBSztBQUM1RDtBQUVPLE1BQU0xRixhQUFhLE9BQU9LO0lBQy9CLElBQUlrRixPQUFPdkIsT0FBTyxFQUFFO1FBQ2xCLE9BQU91QixPQUFPdkIsT0FBTztJQUN2QjtJQUVBLElBQUksQ0FBQ3VCLE9BQU9HLE9BQU8sRUFBRTtRQUNuQkgsT0FBT0csT0FBTyxHQUFHLElBQUkzRixjQUE4QmlELElBQUksQ0FBQzNDO0lBQzFEO0lBRUEsSUFBSTtRQUNGa0YsT0FBT3ZCLE9BQU8sR0FBRyxNQUFNdUIsT0FBT0csT0FBTztJQUN2QyxFQUFFLE9BQU9DLEdBQUc7UUFDVkosT0FBT0csT0FBTyxHQUFHO1FBQ2pCLE1BQU1DO0lBQ1I7SUFFQSxPQUFPSixPQUFPdkIsT0FBTztBQUN2QiJ9
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICcuL2NvbmZpZy92YWxpZGF0ZSdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuY29uZmlnLCB0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHRoaXMuY29uZmlnLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMuZ2xvYmFscyA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcuZ2xvYmFscyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb24uc2x1Z10gPSB7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kYiA9IHRoaXMuY29uZmlnLmRiLmluaXQoeyBwYXlsb2FkOiB0aGlzIH0pXG4gICAgdGhpcy5kYi5wYXlsb2FkID0gdGhpc1xuXG4gICAgaWYgKHRoaXMuZGI/LmluaXQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuaW5pdCh0aGlzKVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlREJDb25uZWN0ICYmIHRoaXMuZGIuY29ubmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5jb25uZWN0KClcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGluZyBQYXlsb2FkLi4uJylcblxuICAgIC8vIENvbmZpZ3VyZSBlbWFpbCBzZXJ2aWNlXG4gICAgY29uc3QgZW1haWxPcHRpb25zID0gb3B0aW9ucy5lbWFpbCA/IHsgLi4ub3B0aW9ucy5lbWFpbCB9IDogdGhpcy5jb25maWcuZW1haWxcbiAgICBpZiAob3B0aW9ucy5lbWFpbCAmJiB0aGlzLmNvbmZpZy5lbWFpbCkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgJ0VtYWlsIG9wdGlvbnMgcHJvdmlkZWQgaW4gYm90aCBpbml0IG9wdGlvbnMgYW5kIGNvbmZpZy4gVXNpbmcgaW5pdCBvcHRpb25zLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbE9wdGlvbnMgPSBlbWFpbE9wdGlvbnMgPz8gZW1haWxEZWZhdWx0c1xuICAgIHRoaXMuZW1haWwgPSBidWlsZEVtYWlsKHRoaXMuZW1haWxPcHRpb25zLCB0aGlzLmxvZ2dlcilcbiAgICB0aGlzLnNlbmRFbWFpbCA9IHNlbmRFbWFpbC5iaW5kKHRoaXMpXG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICAvLyAxLiBsb29wIG92ZXIgY29sbGVjdGlvbnMsIGlmIGNvbGxlY3Rpb24gaGFzIGF1dGggc3RyYXRlZ3ksIGluaXRpYWxpemUgYW5kIHB1c2ggdG8gYXJyYXlcbiAgICBsZXQgand0U3RyYXRlZ3lFbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmF1dGhTdHJhdGVnaWVzID0gdGhpcy5jb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChhdXRoU3RyYXRlZ2llcywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24/LmF1dGgpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKC4uLmNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gaWYgYXBpIGtleSBlbmFibGVkLCBwdXNoIGFwaSBrZXkgc3RyYXRlZ3kgaW50byB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aD8udXNlQVBJS2V5KSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgLFxuICAgICAgICAgICAgYXV0aGVudGljYXRlOiBBUElLZXlBdXRoZW50aWNhdGlvbihjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gaWYgbG9jYWxTdHJhdGVneSBmbGFnIGlzIHRydWVcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kgJiYgIWp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgICAgIGp3dFN0cmF0ZWd5RW5hYmxlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aFN0cmF0ZWdpZXNcbiAgICB9LCBbXSBhcyBBdXRoU3RyYXRlZ3lbXSlcblxuICAgIC8vIDQuIGlmIGVuYWJsZWQsIHB1c2ggand0IHN0cmF0ZWd5IGludG8gYXV0aFN0cmF0ZWdpZXMgbGFzdFxuICAgIGlmIChqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdsb2NhbC1qd3QnLFxuICAgICAgICBhdXRoZW50aWNhdGU6IEpXVEF1dGhlbnRpY2F0aW9uLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuY29uc3QgaW5pdGlhbGl6ZWQgPSBuZXcgQmFzZVBheWxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplZFxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9ucz86IEluaXRPcHRpb25zKTogUHJvbWlzZTxCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cblxudHlwZSBHZW5lcmF0ZWRUeXBlcyA9IHtcbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBHbG9iYWxUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxufVxuXG50eXBlIFBheWxvYWQgPSBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz5cblxuaW50ZXJmYWNlIFJlcXVlc3RDb250ZXh0IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxufVxuXG4vLyB0eXBlIERhdGFiYXNlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcywgUGF5bG9hZCwgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbIkJhc2VQYXlsb2FkIiwiZ2V0UGF5bG9hZCIsImF1dGhTdHJhdGVnaWVzIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJjcmVhdGUiLCJvcHRpb25zIiwibG9jYWxPcGVyYXRpb25zIiwiZGIiLCJkZWNyeXB0IiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJlbmNyeXB0IiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwibG9jYWxHbG9iYWxPcGVyYXRpb25zIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0Iiwic2VuZEVtYWlsIiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwiTG9nZ2VyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidmFsaWRhdGUiLCJFcnJvciIsImNyeXB0byIsImNyZWF0ZUhhc2giLCJkaWdlc3QiLCJzbGljZSIsImZvckVhY2giLCJjb2xsZWN0aW9uIiwic2x1ZyIsInBheWxvYWQiLCJkaXNhYmxlREJDb25uZWN0IiwiY29ubmVjdCIsImluZm8iLCJ3YXJuIiwiZW1haWxEZWZhdWx0cyIsImJ1aWxkRW1haWwiLCJiaW5kIiwic2VydmVySW5pdFRlbGVtZXRyeSIsImp3dFN0cmF0ZWd5RW5hYmxlZCIsInJlZHVjZSIsInN0cmF0ZWdpZXMiLCJsZW5ndGgiLCJwdXNoIiwidXNlQVBJS2V5IiwibmFtZSIsImF1dGhlbnRpY2F0ZSIsIkFQSUtleUF1dGhlbnRpY2F0aW9uIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJKV1RBdXRoZW50aWNhdGlvbiIsImRpc2FibGVPbkluaXQiLCJvbkluaXQiLCJpbml0aWFsaXplZCIsImNhY2hlZCIsImdsb2JhbCIsIl9wYXlsb2FkIiwicHJvbWlzZSIsImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBMkRhQSxXQUFXO2VBQVhBOztJQXFXYixPQUEwQjtlQUExQjs7SUFTYUMsVUFBVTtlQUFWQTs7OytEQXBhTTt5QkF1Q2M7d0JBQ0k7cUJBQ0g7OERBQ047aUVBQ1A7OERBQ0U7MEJBQ21CO2tFQUNwQjsrREFDWTsrREFDZjs0QkFDK0I7Ozs7OztBQUszQyxNQUFNRDtJQUNYRSxlQUE4QjtJQUU5QkMsY0FFSSxDQUFDLEVBQUM7SUFFTkMsT0FBdUI7SUFFdkI7Ozs7R0FJQyxHQUNEQyxTQUFTLE9BQ1BDO1FBRUEsTUFBTSxFQUFFRCxNQUFNLEVBQUUsR0FBR0UsY0FBZTtRQUNsQyxPQUFPRixPQUFVLElBQUksRUFBRUM7SUFDekIsRUFBQztJQUVERSxHQUF1QjtJQUV2QkMsVUFBVUEsZ0JBQU8sQ0FBQTtJQUVqQkMsTUFBdUI7SUFFdkJDLGFBQTBCO0lBRTFCQyxVQUFVQSxnQkFBTyxDQUFBO0lBRWpCLGdDQUFnQztJQUNoQyw2QkFBNkI7SUFFN0JDLFdBSWtC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
@@ -1,12 +1,8 @@
1
- /// <reference types="node" />
2
- import sharp from 'sharp';
3
1
  export declare const percentToPixel: (value: any, dimension: any) => number;
4
- export default function cropImage({ cropData, dimensions, file }: {
2
+ export default function cropImage({ cropData, dimensions, file, sharp }: {
5
3
  cropData: any;
6
4
  dimensions: any;
7
5
  file: any;
8
- }): Promise<{
9
- data: Buffer;
10
- info: sharp.OutputInfo;
11
- }>;
6
+ sharp: any;
7
+ }): Promise<any>;
12
8
  //# sourceMappingURL=cropImage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["../../src/uploads/cropImage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,cAAc,wCAE1B,CAAA;AAED,wBAA8B,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;;;;CAAA;;;GAoBrE"}
1
+ {"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["../../src/uploads/cropImage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,wCAE1B,CAAA;AAED,wBAA8B,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;;;;;CAAA,gBAoB5E"}
@@ -16,16 +16,10 @@ _export(exports, {
16
16
  return percentToPixel;
17
17
  }
18
18
  });
19
- const _sharp = /*#__PURE__*/ _interop_require_default(require("sharp"));
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
19
  const percentToPixel = (value, dimension)=>{
26
20
  return Math.floor(parseFloat(value) / 100 * dimension);
27
21
  };
28
- async function cropImage({ cropData, dimensions, file }) {
22
+ async function cropImage({ cropData, dimensions, file, sharp }) {
29
23
  try {
30
24
  const { height, width, x, y } = cropData;
31
25
  const formattedCropData = {
@@ -34,7 +28,7 @@ async function cropImage({ cropData, dimensions, file }) {
34
28
  top: percentToPixel(y, dimensions.height),
35
29
  width: percentToPixel(width, dimensions.width)
36
30
  };
37
- const cropped = (0, _sharp.default)(file.tempFilePath || file.data).extract(formattedCropData);
31
+ const cropped = sharp(file.tempFilePath || file.data).extract(formattedCropData);
38
32
  return await cropped.toBuffer({
39
33
  resolveWithObject: true
40
34
  });
@@ -44,4 +38,4 @@ async function cropImage({ cropData, dimensions, file }) {
44
38
  }
45
39
  }
46
40
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2Nyb3BJbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hhcnAgZnJvbSAnc2hhcnAnXG5cbmV4cG9ydCBjb25zdCBwZXJjZW50VG9QaXhlbCA9ICh2YWx1ZSwgZGltZW5zaW9uKSA9PiB7XG4gIHJldHVybiBNYXRoLmZsb29yKChwYXJzZUZsb2F0KHZhbHVlKSAvIDEwMCkgKiBkaW1lbnNpb24pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlIH0pIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGhlaWdodCwgd2lkdGgsIHgsIHkgfSA9IGNyb3BEYXRhXG5cbiAgICBjb25zdCBmb3JtYXR0ZWRDcm9wRGF0YSA9IHtcbiAgICAgIGhlaWdodDogcGVyY2VudFRvUGl4ZWwoaGVpZ2h0LCBkaW1lbnNpb25zLmhlaWdodCksXG4gICAgICBsZWZ0OiBwZXJjZW50VG9QaXhlbCh4LCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICAgIHRvcDogcGVyY2VudFRvUGl4ZWwoeSwgZGltZW5zaW9ucy5oZWlnaHQpLFxuICAgICAgd2lkdGg6IHBlcmNlbnRUb1BpeGVsKHdpZHRoLCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICB9XG5cbiAgICBjb25zdCBjcm9wcGVkID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGggfHwgZmlsZS5kYXRhKS5leHRyYWN0KGZvcm1hdHRlZENyb3BEYXRhKVxuXG4gICAgcmV0dXJuIGF3YWl0IGNyb3BwZWQudG9CdWZmZXIoe1xuICAgICAgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUsXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciBjcm9wcGluZyBpbWFnZTpgLCBlcnJvcilcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JvcEltYWdlIiwicGVyY2VudFRvUGl4ZWwiLCJ2YWx1ZSIsImRpbWVuc2lvbiIsIk1hdGgiLCJmbG9vciIsInBhcnNlRmxvYXQiLCJjcm9wRGF0YSIsImRpbWVuc2lvbnMiLCJmaWxlIiwiaGVpZ2h0Iiwid2lkdGgiLCJ4IiwieSIsImZvcm1hdHRlZENyb3BEYXRhIiwibGVmdCIsInRvcCIsImNyb3BwZWQiLCJzaGFycCIsInRlbXBGaWxlUGF0aCIsImRhdGEiLCJleHRyYWN0IiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsImVycm9yIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFNQSxPQW9CQztlQXBCNkJBOztJQUpqQkMsY0FBYztlQUFkQTs7OzhEQUZLOzs7Ozs7QUFFWCxNQUFNQSxpQkFBaUIsQ0FBQ0MsT0FBT0M7SUFDcEMsT0FBT0MsS0FBS0MsS0FBSyxDQUFDLEFBQUNDLFdBQVdKLFNBQVMsTUFBT0M7QUFDaEQ7QUFFZSxlQUFlSCxVQUFVLEVBQUVPLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUU7SUFDcEUsSUFBSTtRQUNGLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFLEdBQUdOO1FBRWhDLE1BQU1PLG9CQUFvQjtZQUN4QkosUUFBUVQsZUFBZVMsUUFBUUYsV0FBV0UsTUFBTTtZQUNoREssTUFBTWQsZUFBZVcsR0FBR0osV0FBV0csS0FBSztZQUN4Q0ssS0FBS2YsZUFBZVksR0FBR0wsV0FBV0UsTUFBTTtZQUN4Q0MsT0FBT1YsZUFBZVUsT0FBT0gsV0FBV0csS0FBSztRQUMvQztRQUVBLE1BQU1NLFVBQVVDLElBQUFBLGNBQUssRUFBQ1QsS0FBS1UsWUFBWSxJQUFJVixLQUFLVyxJQUFJLEVBQUVDLE9BQU8sQ0FBQ1A7UUFFOUQsT0FBTyxNQUFNRyxRQUFRSyxRQUFRLENBQUM7WUFDNUJDLG1CQUFtQjtRQUNyQjtJQUNGLEVBQUUsT0FBT0MsT0FBTztRQUNkQyxRQUFRRCxLQUFLLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFQTtRQUN2QyxNQUFNQTtJQUNSO0FBQ0YifQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2Nyb3BJbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcGVyY2VudFRvUGl4ZWwgPSAodmFsdWUsIGRpbWVuc2lvbikgPT4ge1xuICByZXR1cm4gTWF0aC5mbG9vcigocGFyc2VGbG9hdCh2YWx1ZSkgLyAxMDApICogZGltZW5zaW9uKVxufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBjcm9wSW1hZ2UoeyBjcm9wRGF0YSwgZGltZW5zaW9ucywgZmlsZSwgc2hhcnAgfSkge1xuICB0cnkge1xuICAgIGNvbnN0IHsgaGVpZ2h0LCB3aWR0aCwgeCwgeSB9ID0gY3JvcERhdGFcblxuICAgIGNvbnN0IGZvcm1hdHRlZENyb3BEYXRhID0ge1xuICAgICAgaGVpZ2h0OiBwZXJjZW50VG9QaXhlbChoZWlnaHQsIGRpbWVuc2lvbnMuaGVpZ2h0KSxcbiAgICAgIGxlZnQ6IHBlcmNlbnRUb1BpeGVsKHgsIGRpbWVuc2lvbnMud2lkdGgpLFxuICAgICAgdG9wOiBwZXJjZW50VG9QaXhlbCh5LCBkaW1lbnNpb25zLmhlaWdodCksXG4gICAgICB3aWR0aDogcGVyY2VudFRvUGl4ZWwod2lkdGgsIGRpbWVuc2lvbnMud2lkdGgpLFxuICAgIH1cblxuICAgIGNvbnN0IGNyb3BwZWQgPSBzaGFycChmaWxlLnRlbXBGaWxlUGF0aCB8fCBmaWxlLmRhdGEpLmV4dHJhY3QoZm9ybWF0dGVkQ3JvcERhdGEpXG5cbiAgICByZXR1cm4gYXdhaXQgY3JvcHBlZC50b0J1ZmZlcih7XG4gICAgICByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSxcbiAgICB9KVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIGNyb3BwaW5nIGltYWdlOmAsIGVycm9yKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjcm9wSW1hZ2UiLCJwZXJjZW50VG9QaXhlbCIsInZhbHVlIiwiZGltZW5zaW9uIiwiTWF0aCIsImZsb29yIiwicGFyc2VGbG9hdCIsImNyb3BEYXRhIiwiZGltZW5zaW9ucyIsImZpbGUiLCJzaGFycCIsImhlaWdodCIsIndpZHRoIiwieCIsInkiLCJmb3JtYXR0ZWRDcm9wRGF0YSIsImxlZnQiLCJ0b3AiLCJjcm9wcGVkIiwidGVtcEZpbGVQYXRoIiwiZGF0YSIsImV4dHJhY3QiLCJ0b0J1ZmZlciIsInJlc29sdmVXaXRoT2JqZWN0IiwiZXJyb3IiLCJjb25zb2xlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUlBLE9Bb0JDO2VBcEI2QkE7O0lBSmpCQyxjQUFjO2VBQWRBOzs7QUFBTixNQUFNQSxpQkFBaUIsQ0FBQ0MsT0FBT0M7SUFDcEMsT0FBT0MsS0FBS0MsS0FBSyxDQUFDLEFBQUNDLFdBQVdKLFNBQVMsTUFBT0M7QUFDaEQ7QUFFZSxlQUFlSCxVQUFVLEVBQUVPLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRTtJQUMzRSxJQUFJO1FBQ0YsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUsR0FBR1A7UUFFaEMsTUFBTVEsb0JBQW9CO1lBQ3hCSixRQUFRVixlQUFlVSxRQUFRSCxXQUFXRyxNQUFNO1lBQ2hESyxNQUFNZixlQUFlWSxHQUFHTCxXQUFXSSxLQUFLO1lBQ3hDSyxLQUFLaEIsZUFBZWEsR0FBR04sV0FBV0csTUFBTTtZQUN4Q0MsT0FBT1gsZUFBZVcsT0FBT0osV0FBV0ksS0FBSztRQUMvQztRQUVBLE1BQU1NLFVBQVVSLE1BQU1ELEtBQUtVLFlBQVksSUFBSVYsS0FBS1csSUFBSSxFQUFFQyxPQUFPLENBQUNOO1FBRTlELE9BQU8sTUFBTUcsUUFBUUksUUFBUSxDQUFDO1lBQzVCQyxtQkFBbUI7UUFDckI7SUFDRixFQUFFLE9BQU9DLE9BQU87UUFDZEMsUUFBUUQsS0FBSyxDQUFDLENBQUMscUJBQXFCLENBQUMsRUFBRUE7UUFDdkMsTUFBTUE7SUFDUjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"generateFileData.d.ts","sourceRoot":"","sources":["../../src/uploads/generateFileData.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAY,UAAU,EAAmB,MAAM,SAAS,CAAA;AAYpE,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,CAAC,CAAA;IACP,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC;IACvB,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB,CAAC,CAAA;AAEF,eAAO,MAAM,gBAAgB,iIA+N5B,CAAA"}
1
+ {"version":3,"file":"generateFileData.d.ts","sourceRoot":"","sources":["../../src/uploads/generateFileData.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAY,UAAU,EAAmB,MAAM,SAAS,CAAA;AAYpE,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,CAAC,CAAA;IACP,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC;IACvB,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB,CAAC,CAAA;AAEF,eAAO,MAAM,gBAAgB,iIAkO5B,CAAA"}
@@ -12,7 +12,6 @@ const _filetype = require("file-type");
12
12
  const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
13
13
  const _mkdirp = /*#__PURE__*/ _interop_require_default(require("mkdirp"));
14
14
  const _sanitizefilename = /*#__PURE__*/ _interop_require_default(require("sanitize-filename"));
15
- const _sharp = /*#__PURE__*/ _interop_require_default(require("sharp"));
16
15
  const _errors = require("../errors");
17
16
  const _canResizeImage = /*#__PURE__*/ _interop_require_default(require("./canResizeImage"));
18
17
  const _cropImage = /*#__PURE__*/ _interop_require_default(require("./cropImage"));
@@ -34,6 +33,7 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
34
33
  files: []
35
34
  };
36
35
  }
36
+ const { sharp } = req.payload.config;
37
37
  let file = req.file;
38
38
  const { searchParams } = req;
39
39
  const uploadEdits = searchParams.get('uploadEdits') || {};
@@ -84,12 +84,12 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
84
84
  const fileHasAdjustments = fileSupportsResize && Boolean(resizeOptions || formatOptions || trimOptions || file.tempFilePath);
85
85
  const sharpOptions = {};
86
86
  if (fileIsAnimated) sharpOptions.animated = true;
87
- if (fileHasAdjustments) {
87
+ if (fileHasAdjustments && sharp) {
88
88
  if (file.tempFilePath) {
89
- sharpFile = (0, _sharp.default)(file.tempFilePath, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
89
+ sharpFile = sharp(file.tempFilePath, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
90
90
  ;
91
91
  } else {
92
- sharpFile = (0, _sharp.default)(file.data, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
92
+ sharpFile = sharp(file.data, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
93
93
  ;
94
94
  }
95
95
  if (resizeOptions) {
@@ -146,11 +146,12 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
146
146
  }
147
147
  fileData.filename = fsSafeName;
148
148
  let fileForResize = file;
149
- if (cropData) {
149
+ if (cropData && sharp) {
150
150
  const { data: croppedImage, info } = await (0, _cropImage.default)({
151
151
  cropData,
152
152
  dimensions,
153
- file
153
+ file,
154
+ sharp
154
155
  });
155
156
  filesToSave.push({
156
157
  buffer: croppedImage,
@@ -190,7 +191,7 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
190
191
  }
191
192
  }
192
193
  }
193
- if (Array.isArray(imageSizes) && fileSupportsResize) {
194
+ if (Array.isArray(imageSizes) && fileSupportsResize && sharp) {
194
195
  req.payloadUploadSizes = {};
195
196
  const { sizeData, sizesToSave } = await (0, _imageResizer.default)({
196
197
  config: collectionConfig,
@@ -203,6 +204,7 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
203
204
  mimeType: fileData.mimeType,
204
205
  req,
205
206
  savedFilename: fsSafeName || file.name,
207
+ sharp,
206
208
  staticPath
207
209
  });
208
210
  fileData.sizes = sizeData;
@@ -222,4 +224,4 @@ const generateFileData = async ({ collection: { config: collectionConfig }, data
222
224
  };
223
225
  };
224
226
 
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPdXRwdXRJbmZvLCBTaGFycCwgU2hhcnBPcHRpb25zIH0gZnJvbSAnc2hhcnAnXG5cbmltcG9ydCB7IGZyb21CdWZmZXIgfSBmcm9tICdmaWxlLXR5cGUnXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgbWtkaXJwIGZyb20gJ21rZGlycCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVEYXRhLCBGaWxlVG9TYXZlLCBQcm9iZWRJbWFnZVNpemUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IsIE1pc3NpbmdGaWxlIH0gZnJvbSAnLi4vZXJyb3JzJ1xuaW1wb3J0IGNhblJlc2l6ZUltYWdlIGZyb20gJy4vY2FuUmVzaXplSW1hZ2UnXG5pbXBvcnQgY3JvcEltYWdlIGZyb20gJy4vY3JvcEltYWdlJ1xuaW1wb3J0IHsgZ2V0RXh0ZXJuYWxGaWxlIH0gZnJvbSAnLi9nZXRFeHRlcm5hbEZpbGUnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgZ2V0SW1hZ2VTaXplIGZyb20gJy4vZ2V0SW1hZ2VTaXplJ1xuaW1wb3J0IGdldFNhZmVGaWxlTmFtZSBmcm9tICcuL2dldFNhZmVGaWxlbmFtZSdcbmltcG9ydCByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIGZyb20gJy4vaW1hZ2VSZXNpemVyJ1xuaW1wb3J0IGlzSW1hZ2UgZnJvbSAnLi9pc0ltYWdlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogVFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHRocm93T25NaXNzaW5nRmlsZT86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQ8VD4gPSBQcm9taXNlPHtcbiAgZGF0YTogVFxuICBmaWxlczogRmlsZVRvU2F2ZVtdXG59PlxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVGaWxlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gIGRhdGEsXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gIHJlcSxcbiAgdGhyb3dPbk1pc3NpbmdGaWxlLFxufTogQXJnczxUPik6IFJlc3VsdDxUPiA9PiB7XG4gIGlmICghY29sbGVjdGlvbkNvbmZpZy51cGxvYWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGZpbGVzOiBbXSxcbiAgICB9XG4gIH1cblxuICBsZXQgZmlsZSA9IHJlcS5maWxlXG5cbiAgY29uc3QgeyBzZWFyY2hQYXJhbXMgfSA9IHJlcVxuICBjb25zdCB1cGxvYWRFZGl0cyA9IHNlYXJjaFBhcmFtcy5nZXQoJ3VwbG9hZEVkaXRzJykgfHwge31cblxuICBjb25zdCB7IGRpc2FibGVMb2NhbFN0b3JhZ2UsIGZvcm1hdE9wdGlvbnMsIGltYWdlU2l6ZXMsIHJlc2l6ZU9wdGlvbnMsIHN0YXRpY0RpciwgdHJpbU9wdGlvbnMgfSA9XG4gICAgY29sbGVjdGlvbkNvbmZpZy51cGxvYWRcblxuICBjb25zdCBzdGF0aWNQYXRoID0gc3RhdGljRGlyXG5cbiAgaWYgKCFmaWxlICYmIHVwbG9hZEVkaXRzICYmIGRhdGEpIHtcbiAgICBjb25zdCB7IGZpbGVuYW1lLCB1cmwgfSA9IGRhdGEgYXMgRmlsZURhdGFcblxuICAgIHRyeSB7XG4gICAgICBpZiAodXJsICYmIHVybC5zdGFydHNXaXRoKCcvJykgJiYgIWRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ZpbGVuYW1lfWBcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRGaWxlQnlQYXRoKGZpbGVQYXRoKVxuICAgICAgICBmaWxlID0gcmVzcG9uc2VcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH0gZWxzZSBpZiAoZmlsZW5hbWUgJiYgdXJsKSB7XG4gICAgICAgIGZpbGUgPSBhd2FpdCBnZXRFeHRlcm5hbEZpbGUoeyBkYXRhOiBkYXRhIGFzIEZpbGVEYXRhLCByZXEgfSlcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gICAgfVxuICB9XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgaWYgKHRocm93T25NaXNzaW5nRmlsZSkgdGhyb3cgbmV3IE1pc3NpbmdGaWxlKHJlcS50KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgaWYgKCFkaXNhYmxlTG9jYWxTdG9yYWdlKSB7XG4gICAgbWtkaXJwLnN5bmMoc3RhdGljUGF0aClcbiAgfVxuXG4gIGxldCBuZXdEYXRhID0gZGF0YVxuICBjb25zdCBmaWxlc1RvU2F2ZTogRmlsZVRvU2F2ZVtdID0gW11cbiAgY29uc3QgZmlsZURhdGE6IFBhcnRpYWw8RmlsZURhdGE+ID0ge31cbiAgY29uc3QgZmlsZUlzQW5pbWF0ZWQgPSBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2UvZ2lmJyB8fCBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2Uvd2VicCdcbiAgY29uc3QgY3JvcERhdGEgPVxuICAgIHR5cGVvZiB1cGxvYWRFZGl0cyA9PT0gJ29iamVjdCcgJiYgJ2Nyb3AnIGluIHVwbG9hZEVkaXRzID8gdXBsb2FkRWRpdHMuY3JvcCA6IHVuZGVmaW5lZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZVN1cHBvcnRzUmVzaXplID0gY2FuUmVzaXplSW1hZ2UoZmlsZS5taW1ldHlwZSlcbiAgICBsZXQgZnNTYWZlTmFtZTogc3RyaW5nXG4gICAgbGV0IHNoYXJwRmlsZTogU2hhcnAgfCB1bmRlZmluZWRcbiAgICBsZXQgZGltZW5zaW9uczogUHJvYmVkSW1hZ2VTaXplIHwgdW5kZWZpbmVkXG4gICAgbGV0IGZpbGVCdWZmZXI6IHsgZGF0YTogQnVmZmVyOyBpbmZvOiBPdXRwdXRJbmZvIH1cbiAgICBsZXQgZXh0XG4gICAgbGV0IG1pbWU6IHN0cmluZ1xuICAgIGNvbnN0IGZpbGVIYXNBZGp1c3RtZW50cyA9XG4gICAgICBmaWxlU3VwcG9ydHNSZXNpemUgJiZcbiAgICAgIEJvb2xlYW4ocmVzaXplT3B0aW9ucyB8fCBmb3JtYXRPcHRpb25zIHx8IHRyaW1PcHRpb25zIHx8IGZpbGUudGVtcEZpbGVQYXRoKVxuXG4gICAgY29uc3Qgc2hhcnBPcHRpb25zOiBTaGFycE9wdGlvbnMgPSB7fVxuXG4gICAgaWYgKGZpbGVJc0FuaW1hdGVkKSBzaGFycE9wdGlvbnMuYW5pbWF0ZWQgPSB0cnVlXG5cbiAgICBpZiAoZmlsZUhhc0FkanVzdG1lbnRzKSB7XG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGgsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycChmaWxlLmRhdGEsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNpemVPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS5yZXNpemUocmVzaXplT3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50b0Zvcm1hdChmb3JtYXRPcHRpb25zLmZvcm1hdCwgZm9ybWF0T3B0aW9ucy5vcHRpb25zKVxuICAgICAgfVxuICAgICAgaWYgKHRyaW1PcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50cmltKHRyaW1PcHRpb25zKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0ltYWdlKGZpbGUubWltZXR5cGUpKSB7XG4gICAgICBkaW1lbnNpb25zID0gYXdhaXQgZ2V0SW1hZ2VTaXplKGZpbGUpXG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGRpbWVuc2lvbnMud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGRpbWVuc2lvbnMuaGVpZ2h0XG4gICAgfVxuXG4gICAgaWYgKHNoYXJwRmlsZSkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhd2FpdCBzaGFycEZpbGUubWV0YWRhdGEoKVxuICAgICAgZmlsZUJ1ZmZlciA9IGF3YWl0IHNoYXJwRmlsZS50b0J1ZmZlcih7IHJlc29sdmVXaXRoT2JqZWN0OiB0cnVlIH0pXG4gICAgICA7KHsgZXh0LCBtaW1lIH0gPSBhd2FpdCBmcm9tQnVmZmVyKGZpbGVCdWZmZXIuZGF0YSkpIC8vIFRoaXMgaXMgZ2V0dGluZyBhbiBpbmNvcnJlY3QgZ2lmIGhlaWdodCBiYWNrLlxuICAgICAgZmlsZURhdGEud2lkdGggPSBmaWxlQnVmZmVyLmluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHRcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZUJ1ZmZlci5pbmZvLnNpemVcblxuICAgICAgLy8gQW5pbWF0ZWQgR0lGcyArIFdlYlAgYWdncmVnYXRlIHRoZSBoZWlnaHQgZnJvbSBldmVyeSBmcmFtZSwgc28gd2UgbmVlZCB0byB1c2UgZGl2aWRlIGJ5IG51bWJlciBvZiBwYWdlc1xuICAgICAgaWYgKG1ldGFkYXRhLnBhZ2VzKSB7XG4gICAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHQgLyBtZXRhZGF0YS5wYWdlc1xuICAgICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuZGF0YS5sZW5ndGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbWltZSA9IGZpbGUubWltZXR5cGVcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZS5zaXplXG5cbiAgICAgIGlmIChmaWxlLm5hbWUuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICBleHQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXh0ID0gJydcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZHVzdCBTVkcgbWltZSB0eXBlLiBmcm9tQnVmZmVyIG1vZGlmaWVzIGl0LlxuICAgIGlmIChtaW1lID09PSAnYXBwbGljYXRpb24veG1sJyAmJiBleHQgPT09ICdzdmcnKSBtaW1lID0gJ2ltYWdlL3N2Zyt4bWwnXG4gICAgZmlsZURhdGEubWltZVR5cGUgPSBtaW1lXG5cbiAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBzYW5pdGl6ZShmaWxlLm5hbWUuc3Vic3RyaW5nKDAsIGZpbGUubmFtZS5sYXN0SW5kZXhPZignLicpKSB8fCBmaWxlLm5hbWUpXG4gICAgZnNTYWZlTmFtZSA9IGAke2Jhc2VGaWxlbmFtZX0ke2V4dCA/IGAuJHtleHR9YCA6ICcnfWBcblxuICAgIGlmICghb3ZlcndyaXRlRXhpc3RpbmdGaWxlcykge1xuICAgICAgZnNTYWZlTmFtZSA9IGF3YWl0IGdldFNhZmVGaWxlTmFtZSh7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRlc2lyZWRGaWxlbmFtZTogZnNTYWZlTmFtZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzdGF0aWNQYXRoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmaWxlRGF0YS5maWxlbmFtZSA9IGZzU2FmZU5hbWVcbiAgICBsZXQgZmlsZUZvclJlc2l6ZSA9IGZpbGVcblxuICAgIGlmIChjcm9wRGF0YSkge1xuICAgICAgY29uc3QgeyBkYXRhOiBjcm9wcGVkSW1hZ2UsIGluZm8gfSA9IGF3YWl0IGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlIH0pXG5cbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goe1xuICAgICAgICBidWZmZXI6IGNyb3BwZWRJbWFnZSxcbiAgICAgICAgcGF0aDogYCR7c3RhdGljUGF0aH0vJHtmc1NhZmVOYW1lfWAsXG4gICAgICB9KVxuXG4gICAgICBmaWxlRm9yUmVzaXplID0ge1xuICAgICAgICAuLi5maWxlLFxuICAgICAgICBkYXRhOiBjcm9wcGVkSW1hZ2UsXG4gICAgICAgIHNpemU6IGluZm8uc2l6ZSxcbiAgICAgIH1cbiAgICAgIGZpbGVEYXRhLndpZHRoID0gaW5mby53aWR0aFxuICAgICAgZmlsZURhdGEuaGVpZ2h0ID0gaW5mby5oZWlnaHRcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gaW5mby5zaXplXG5cbiAgICAgIGlmIChmaWxlLnRlbXBGaWxlUGF0aCkge1xuICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZS50ZW1wRmlsZVBhdGgsIGNyb3BwZWRJbWFnZSkgLy8gd3JpdGUgZmlsZUJ1ZmZlciB0byB0aGUgdGVtcCBwYXRoXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXEuZmlsZSA9IGZpbGVGb3JSZXNpemVcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZmlsZXNUb1NhdmUucHVzaCh7XG4gICAgICAgIGJ1ZmZlcjogZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEsXG4gICAgICAgIHBhdGg6IGAke3N0YXRpY1BhdGh9LyR7ZnNTYWZlTmFtZX1gLFxuICAgICAgfSlcblxuICAgICAgLy8gSWYgdXNpbmcgdGVtcCBmaWxlcyBhbmQgdGhlIGltYWdlIGlzIGJlaW5nIHJlc2l6ZWQsIHdyaXRlIHRoZSBmaWxlIHRvIHRoZSB0ZW1wIHBhdGhcbiAgICAgIGlmIChmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChmaWxlLnRlbXBGaWxlUGF0aCkge1xuICAgICAgICAgIGF3YWl0IGZzLnByb21pc2VzLndyaXRlRmlsZShmaWxlLnRlbXBGaWxlUGF0aCwgZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEpIC8vIHdyaXRlIGZpbGVCdWZmZXIgdG8gdGhlIHRlbXAgcGF0aFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFzc2lnbiB0aGUgX3Bvc3NpYmx5IG1vZGlmaWVkXyBmaWxlIHRvIHRoZSByZXF1ZXN0IG9iamVjdFxuICAgICAgICAgIHJlcS5maWxlID0ge1xuICAgICAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgICAgIGRhdGE6IGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLFxuICAgICAgICAgICAgc2l6ZTogZmlsZUJ1ZmZlcj8uaW5mby5zaXplLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGltYWdlU2l6ZXMpICYmIGZpbGVTdXBwb3J0c1Jlc2l6ZSkge1xuICAgICAgcmVxLnBheWxvYWRVcGxvYWRTaXplcyA9IHt9XG4gICAgICBjb25zdCB7IHNpemVEYXRhLCBzaXplc1RvU2F2ZSB9ID0gYXdhaXQgcmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyh7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZGltZW5zaW9uczogIWNyb3BEYXRhXG4gICAgICAgICAgPyBkaW1lbnNpb25zXG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIC4uLmRpbWVuc2lvbnMsXG4gICAgICAgICAgICAgIGhlaWdodDogZmlsZURhdGEuaGVpZ2h0LFxuICAgICAgICAgICAgICB3aWR0aDogZmlsZURhdGEud2lkdGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICBmaWxlOiBmaWxlRm9yUmVzaXplLFxuICAgICAgICBtaW1lVHlwZTogZmlsZURhdGEubWltZVR5cGUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc2F2ZWRGaWxlbmFtZTogZnNTYWZlTmFtZSB8fCBmaWxlLm5hbWUsXG4gICAgICAgIHN0YXRpY1BhdGgsXG4gICAgICB9KVxuXG4gICAgICBmaWxlRGF0YS5zaXplcyA9IHNpemVEYXRhXG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKC4uLnNpemVzVG9TYXZlKVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgdGhyb3cgbmV3IEZpbGVVcGxvYWRFcnJvcihyZXEudClcbiAgfVxuXG4gIG5ld0RhdGEgPSB7XG4gICAgLi4ubmV3RGF0YSxcbiAgICAuLi5maWxlRGF0YSxcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGF0YTogbmV3RGF0YSxcbiAgICBmaWxlczogZmlsZXNUb1NhdmUsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJnZW5lcmF0ZUZpbGVEYXRhIiwiY29sbGVjdGlvbiIsImNvbmZpZyIsImNvbGxlY3Rpb25Db25maWciLCJkYXRhIiwib3ZlcndyaXRlRXhpc3RpbmdGaWxlcyIsInJlcSIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzIiwiZmlsZSIsInNlYXJjaFBhcmFtcyIsInVwbG9hZEVkaXRzIiwiZ2V0IiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZVNpemVzIiwicmVzaXplT3B0aW9ucyIsInN0YXRpY0RpciIsInRyaW1PcHRpb25zIiwic3RhdGljUGF0aCIsImZpbGVuYW1lIiwidXJsIiwic3RhcnRzV2l0aCIsImZpbGVQYXRoIiwicmVzcG9uc2UiLCJnZXRGaWxlQnlQYXRoIiwiZ2V0RXh0ZXJuYWxGaWxlIiwiZXJyIiwiRmlsZVVwbG9hZEVycm9yIiwidCIsIk1pc3NpbmdGaWxlIiwibWtkaXJwIiwic3luYyIsIm5ld0RhdGEiLCJmaWxlc1RvU2F2ZSIsImZpbGVEYXRhIiwiZmlsZUlzQW5pbWF0ZWQiLCJtaW1ldHlwZSIsImNyb3BEYXRhIiwiY3JvcCIsInVuZGVmaW5lZCIsImZpbGVTdXBwb3J0c1Jlc2l6ZSIsImNhblJlc2l6ZUltYWdlIiwiZnNTYWZlTmFtZSIsInNoYXJwRmlsZSIsImRpbWVuc2lvbnMiLCJmaWxlQnVmZmVyIiwiZXh0IiwibWltZSIsImZpbGVIYXNBZGp1c3RtZW50cyIsIkJvb2xlYW4iLCJ0ZW1wRmlsZVBhdGgiLCJzaGFycE9wdGlvbnMiLCJhbmltYXRlZCIsInNoYXJwIiwicm90YXRlIiwicmVzaXplIiwidG9Gb3JtYXQiLCJmb3JtYXQiLCJvcHRpb25zIiwidHJpbSIsImlzSW1hZ2UiLCJnZXRJbWFnZVNpemUiLCJ3aWR0aCIsImhlaWdodCIsIm1ldGFkYXRhIiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsImZyb21CdWZmZXIiLCJpbmZvIiwiZmlsZXNpemUiLCJzaXplIiwicGFnZXMiLCJsZW5ndGgiLCJuYW1lIiwiaW5jbHVkZXMiLCJzcGxpdCIsInBvcCIsIm1pbWVUeXBlIiwiYmFzZUZpbGVuYW1lIiwic2FuaXRpemUiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsImdldFNhZmVGaWxlTmFtZSIsImNvbGxlY3Rpb25TbHVnIiwic2x1ZyIsImRlc2lyZWRGaWxlbmFtZSIsImZpbGVGb3JSZXNpemUiLCJjcm9wcGVkSW1hZ2UiLCJjcm9wSW1hZ2UiLCJwdXNoIiwiYnVmZmVyIiwicGF0aCIsImZzIiwicHJvbWlzZXMiLCJ3cml0ZUZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJwYXlsb2FkVXBsb2FkU2l6ZXMiLCJzaXplRGF0YSIsInNpemVzVG9TYXZlIiwicmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyIsInNhdmVkRmlsZW5hbWUiLCJzaXplcyIsImNvbnNvbGUiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFxQ2FBOzs7ZUFBQUE7OzswQkFuQ2M7MkRBQ1o7K0RBQ0k7eUVBQ0U7OERBQ0g7d0JBTzJCO3VFQUNsQjtrRUFDTDtpQ0FDVTtzRUFDTjtxRUFDRDt3RUFDRztxRUFDYTtnRUFDckI7Ozs7OztBQWdCYixNQUFNQSxtQkFBbUIsT0FBVSxFQUN4Q0MsWUFBWSxFQUFFQyxRQUFRQyxnQkFBZ0IsRUFBRSxFQUN4Q0MsSUFBSSxFQUNKQyxzQkFBc0IsRUFDdEJDLEdBQUcsRUFDSEMsa0JBQWtCLEVBQ1Y7SUFDUixJQUFJLENBQUNKLGlCQUFpQkssTUFBTSxFQUFFO1FBQzVCLE9BQU87WUFDTEo7WUFDQUssT0FBTyxFQUFFO1FBQ1g7SUFDRjtJQUVBLElBQUlDLE9BQU9KLElBQUlJLElBQUk7SUFFbkIsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0w7SUFDekIsTUFBTU0sY0FBY0QsYUFBYUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDO0lBRXhELE1BQU0sRUFBRUMsbUJBQW1CLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxhQUFhLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFLEdBQzdGaEIsaUJBQWlCSyxNQUFNO0lBRXpCLE1BQU1ZLGFBQWFGO0lBRW5CLElBQUksQ0FBQ1IsUUFBUUUsZUFBZVIsTUFBTTtRQUNoQyxNQUFNLEVBQUVpQixRQUFRLEVBQUVDLEdBQUcsRUFBRSxHQUFHbEI7UUFFMUIsSUFBSTtZQUNGLElBQUlrQixPQUFPQSxJQUFJQyxVQUFVLENBQUMsUUFBUSxDQUFDVCxxQkFBcUI7Z0JBQ3RELE1BQU1VLFdBQVcsQ0FBQyxFQUFFSixXQUFXLENBQUMsRUFBRUMsU0FBUyxDQUFDO2dCQUM1QyxNQUFNSSxXQUFXLE1BQU1DLElBQUFBLHNCQUFhLEVBQUNGO2dCQUNyQ2QsT0FBT2U7Z0JBQ1BwQix5QkFBeUI7WUFDM0IsT0FBTyxJQUFJZ0IsWUFBWUMsS0FBSztnQkFDMUJaLE9BQU8sTUFBTWlCLElBQUFBLGdDQUFlLEVBQUM7b0JBQUV2QixNQUFNQTtvQkFBa0JFO2dCQUFJO2dCQUMzREQseUJBQXlCO1lBQzNCO1FBQ0YsRUFBRSxPQUFPdUIsS0FBSztZQUNaLE1BQU0sSUFBSUMsdUJBQWUsQ0FBQ3ZCLElBQUl3QixDQUFDO1FBQ2pDO0lBQ0Y7SUFFQSxJQUFJLENBQUNwQixNQUFNO1FBQ1QsSUFBSUgsb0JBQW9CLE1BQU0sSUFBSXdCLG1CQUFXLENBQUN6QixJQUFJd0IsQ0FBQztRQUVuRCxPQUFPO1lBQ0wxQjtZQUNBSyxPQUFPLEVBQUU7UUFDWDtJQUNGO0lBRUEsSUFBSSxDQUFDSyxxQkFBcUI7UUFDeEJrQixlQUFNLENBQUNDLElBQUksQ0FBQ2I7SUFDZDtJQUVBLElBQUljLFVBQVU5QjtJQUNkLE1BQU0rQixjQUE0QixFQUFFO0lBQ3BDLE1BQU1DLFdBQThCLENBQUM7SUFDckMsTUFBTUMsaUJBQWlCM0IsS0FBSzRCLFFBQVEsS0FBSyxlQUFlNUIsS0FBSzRCLFFBQVEsS0FBSztJQUMxRSxNQUFNQyxXQUNKLE9BQU8zQixnQkFBZ0IsWUFBWSxVQUFVQSxjQUFjQSxZQUFZNEIsSUFBSSxHQUFHQztJQUVoRixJQUFJO1FBQ0YsTUFBTUMscUJBQXFCQyxJQUFBQSx1QkFBYyxFQUFDakMsS0FBSzRCLFFBQVE7UUFDdkQsSUFBSU07UUFDSixJQUFJQztRQUNKLElBQUlDO1FBQ0osSUFBSUM7UUFDSixJQUFJQztRQUNKLElBQUlDO1FBQ0osTUFBTUMscUJBQ0pSLHNCQUNBUyxRQUFRbEMsaUJBQWlCRixpQkFBaUJJLGVBQWVULEtBQUswQyxZQUFZO1FBRTVFLE1BQU1DLGVBQTZCLENBQUM7UUFFcEMsSUFBSWhCLGdCQUFnQmdCLGFBQWFDLFFBQVEsR0FBRztRQUU1QyxJQUFJSixvQkFBb0I7WUFDdEIsSUFBSXhDLEtBQUswQyxZQUFZLEVBQUU7Z0JBQ3JCUCxZQUFZVSxJQUFBQSxjQUFLLEVBQUM3QyxLQUFLMEMsWUFBWSxFQUFFQyxjQUFjRyxNQUFNLEdBQUcsbUdBQW1HOztZQUNqSyxPQUFPO2dCQUNMWCxZQUFZVSxJQUFBQSxjQUFLLEVBQUM3QyxLQUFLTixJQUFJLEVBQUVpRCxjQUFjRyxNQUFNLEdBQUcsbUdBQW1HOztZQUN6SjtZQUVBLElBQUl2QyxlQUFlO2dCQUNqQjRCLFlBQVlBLFVBQVVZLE1BQU0sQ0FBQ3hDO1lBQy9CO1lBQ0EsSUFBSUYsZUFBZTtnQkFDakI4QixZQUFZQSxVQUFVYSxRQUFRLENBQUMzQyxjQUFjNEMsTUFBTSxFQUFFNUMsY0FBYzZDLE9BQU87WUFDNUU7WUFDQSxJQUFJekMsYUFBYTtnQkFDZjBCLFlBQVlBLFVBQVVnQixJQUFJLENBQUMxQztZQUM3QjtRQUNGO1FBRUEsSUFBSTJDLElBQUFBLGdCQUFPLEVBQUNwRCxLQUFLNEIsUUFBUSxHQUFHO1lBQzFCUSxhQUFhLE1BQU1pQixJQUFBQSxxQkFBWSxFQUFDckQ7WUFDaEMwQixTQUFTNEIsS0FBSyxHQUFHbEIsV0FBV2tCLEtBQUs7WUFDakM1QixTQUFTNkIsTUFBTSxHQUFHbkIsV0FBV21CLE1BQU07UUFDckM7UUFFQSxJQUFJcEIsV0FBVztZQUNiLE1BQU1xQixXQUFXLE1BQU1yQixVQUFVcUIsUUFBUTtZQUN6Q25CLGFBQWEsTUFBTUYsVUFBVXNCLFFBQVEsQ0FBQztnQkFBRUMsbUJBQW1CO1lBQUs7WUFDOUQsQ0FBQSxFQUFFcEIsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBRyxNQUFNb0IsSUFBQUEsb0JBQVUsRUFBQ3RCLFdBQVczQyxJQUFJLEVBQUcsZ0RBQWdEO1lBQW5EO1lBQ2xEZ0MsU0FBUzRCLEtBQUssR0FBR2pCLFdBQVd1QixJQUFJLENBQUNOLEtBQUs7WUFDdEM1QixTQUFTNkIsTUFBTSxHQUFHbEIsV0FBV3VCLElBQUksQ0FBQ0wsTUFBTTtZQUN4QzdCLFNBQVNtQyxRQUFRLEdBQUd4QixXQUFXdUIsSUFBSSxDQUFDRSxJQUFJO1lBRXhDLDBHQUEwRztZQUMxRyxJQUFJTixTQUFTTyxLQUFLLEVBQUU7Z0JBQ2xCckMsU0FBUzZCLE1BQU0sR0FBR2xCLFdBQVd1QixJQUFJLENBQUNMLE1BQU0sR0FBR0MsU0FBU08sS0FBSztnQkFDekRyQyxTQUFTbUMsUUFBUSxHQUFHeEIsV0FBVzNDLElBQUksQ0FBQ3NFLE1BQU07WUFDNUM7UUFDRixPQUFPO1lBQ0x6QixPQUFPdkMsS0FBSzRCLFFBQVE7WUFDcEJGLFNBQVNtQyxRQUFRLEdBQUc3RCxLQUFLOEQsSUFBSTtZQUU3QixJQUFJOUQsS0FBS2lFLElBQUksQ0FBQ0MsUUFBUSxDQUFDLE1BQU07Z0JBQzNCNUIsTUFBTXRDLEtBQUtpRSxJQUFJLENBQUNFLEtBQUssQ0FBQyxLQUFLQyxHQUFHO1lBQ2hDLE9BQU87Z0JBQ0w5QixNQUFNO1lBQ1I7UUFDRjtRQUVBLCtDQUErQztRQUMvQyxJQUFJQyxTQUFTLHFCQUFxQkQsUUFBUSxPQUFPQyxPQUFPO1FBQ3hEYixTQUFTMkMsUUFBUSxHQUFHOUI7UUFFcEIsTUFBTStCLGVBQWVDLElBQUFBLHlCQUFRLEVBQUN2RSxLQUFLaUUsSUFBSSxDQUFDTyxTQUFTLENBQUMsR0FBR3hFLEtBQUtpRSxJQUFJLENBQUNRLFdBQVcsQ0FBQyxTQUFTekUsS0FBS2lFLElBQUk7UUFDN0YvQixhQUFhLENBQUMsRUFBRW9DLGFBQWEsRUFBRWhDLE1BQU0sQ0FBQyxDQUFDLEVBQUVBLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUVyRCxJQUFJLENBQUMzQyx3QkFBd0I7WUFDM0J1QyxhQUFhLE1BQU13QyxJQUFBQSx3QkFBZSxFQUFDO2dCQUNqQ0MsZ0JBQWdCbEYsaUJBQWlCbUYsSUFBSTtnQkFDckNDLGlCQUFpQjNDO2dCQUNqQnRDO2dCQUNBYztZQUNGO1FBQ0Y7UUFFQWdCLFNBQVNmLFFBQVEsR0FBR3VCO1FBQ3BCLElBQUk0QyxnQkFBZ0I5RTtRQUVwQixJQUFJNkIsVUFBVTtZQUNaLE1BQU0sRUFBRW5DLE1BQU1xRixZQUFZLEVBQUVuQixJQUFJLEVBQUUsR0FBRyxNQUFNb0IsSUFBQUEsa0JBQVMsRUFBQztnQkFBRW5EO2dCQUFVTztnQkFBWXBDO1lBQUs7WUFFbEZ5QixZQUFZd0QsSUFBSSxDQUFDO2dCQUNmQyxRQUFRSDtnQkFDUkksTUFBTSxDQUFDLEVBQUV6RSxXQUFXLENBQUMsRUFBRXdCLFdBQVcsQ0FBQztZQUNyQztZQUVBNEMsZ0JBQWdCO2dCQUNkLEdBQUc5RSxJQUFJO2dCQUNQTixNQUFNcUY7Z0JBQ05qQixNQUFNRixLQUFLRSxJQUFJO1lBQ2pCO1lBQ0FwQyxTQUFTNEIsS0FBSyxHQUFHTSxLQUFLTixLQUFLO1lBQzNCNUIsU0FBUzZCLE1BQU0sR0FBR0ssS0FBS0wsTUFBTTtZQUM3QjdCLFNBQVNtQyxRQUFRLEdBQUdELEtBQUtFLElBQUk7WUFFN0IsSUFBSTlELEtBQUswQyxZQUFZLEVBQUU7Z0JBQ3JCLE1BQU0wQyxXQUFFLENBQUNDLFFBQVEsQ0FBQ0MsU0FBUyxDQUFDdEYsS0FBSzBDLFlBQVksRUFBRXFDLGNBQWMsb0NBQW9DOztZQUNuRyxPQUFPO2dCQUNMbkYsSUFBSUksSUFBSSxHQUFHOEU7WUFDYjtRQUNGLE9BQU87WUFDTHJELFlBQVl3RCxJQUFJLENBQUM7Z0JBQ2ZDLFFBQVE3QyxZQUFZM0MsUUFBUU0sS0FBS04sSUFBSTtnQkFDckN5RixNQUFNLENBQUMsRUFBRXpFLFdBQVcsQ0FBQyxFQUFFd0IsV0FBVyxDQUFDO1lBQ3JDO1lBRUEsc0ZBQXNGO1lBQ3RGLElBQUlHLFlBQVkzQyxRQUFRTSxLQUFLTixJQUFJLENBQUNzRSxNQUFNLEdBQUcsR0FBRztnQkFDNUMsSUFBSWhFLEtBQUswQyxZQUFZLEVBQUU7b0JBQ3JCLE1BQU0wQyxXQUFFLENBQUNDLFFBQVEsQ0FBQ0MsU0FBUyxDQUFDdEYsS0FBSzBDLFlBQVksRUFBRUwsWUFBWTNDLFFBQVFNLEtBQUtOLElBQUksRUFBRSxvQ0FBb0M7O2dCQUNwSCxPQUFPO29CQUNMLDREQUE0RDtvQkFDNURFLElBQUlJLElBQUksR0FBRzt3QkFDVCxHQUFHQSxJQUFJO3dCQUNQTixNQUFNMkMsWUFBWTNDLFFBQVFNLEtBQUtOLElBQUk7d0JBQ25Db0UsTUFBTXpCLFlBQVl1QixLQUFLRTtvQkFDekI7Z0JBQ0Y7WUFDRjtRQUNGO1FBRUEsSUFBSXlCLE1BQU1DLE9BQU8sQ0FBQ2xGLGVBQWUwQixvQkFBb0I7WUFDbkRwQyxJQUFJNkYsa0JBQWtCLEdBQUcsQ0FBQztZQUMxQixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFLEdBQUcsTUFBTUMsSUFBQUEscUJBQTRCLEVBQUM7Z0JBQ25FcEcsUUFBUUM7Z0JBQ1IyQyxZQUFZLENBQUNQLFdBQ1RPLGFBQ0E7b0JBQ0UsR0FBR0EsVUFBVTtvQkFDYm1CLFFBQVE3QixTQUFTNkIsTUFBTTtvQkFDdkJELE9BQU81QixTQUFTNEIsS0FBSztnQkFDdkI7Z0JBQ0p0RCxNQUFNOEU7Z0JBQ05ULFVBQVUzQyxTQUFTMkMsUUFBUTtnQkFDM0J6RTtnQkFDQWlHLGVBQWUzRCxjQUFjbEMsS0FBS2lFLElBQUk7Z0JBQ3RDdkQ7WUFDRjtZQUVBZ0IsU0FBU29FLEtBQUssR0FBR0o7WUFDakJqRSxZQUFZd0QsSUFBSSxJQUFJVTtRQUN0QjtJQUNGLEVBQUUsT0FBT3pFLEtBQUs7UUFDWjZFLFFBQVFDLEtBQUssQ0FBQzlFO1FBQ2QsTUFBTSxJQUFJQyx1QkFBZSxDQUFDdkIsSUFBSXdCLENBQUM7SUFDakM7SUFFQUksVUFBVTtRQUNSLEdBQUdBLE9BQU87UUFDVixHQUFHRSxRQUFRO0lBQ2I7SUFFQSxPQUFPO1FBQ0xoQyxNQUFNOEI7UUFDTnpCLE9BQU8wQjtJQUNUO0FBQ0YifQ==
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPdXRwdXRJbmZvLCBTaGFycCwgU2hhcnBPcHRpb25zIH0gZnJvbSAnc2hhcnAnXG5cbmltcG9ydCB7IGZyb21CdWZmZXIgfSBmcm9tICdmaWxlLXR5cGUnXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgbWtkaXJwIGZyb20gJ21rZGlycCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpbGVEYXRhLCBGaWxlVG9TYXZlLCBQcm9iZWRJbWFnZVNpemUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWxlVXBsb2FkRXJyb3IsIE1pc3NpbmdGaWxlIH0gZnJvbSAnLi4vZXJyb3JzJ1xuaW1wb3J0IGNhblJlc2l6ZUltYWdlIGZyb20gJy4vY2FuUmVzaXplSW1hZ2UnXG5pbXBvcnQgY3JvcEltYWdlIGZyb20gJy4vY3JvcEltYWdlJ1xuaW1wb3J0IHsgZ2V0RXh0ZXJuYWxGaWxlIH0gZnJvbSAnLi9nZXRFeHRlcm5hbEZpbGUnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgZ2V0SW1hZ2VTaXplIGZyb20gJy4vZ2V0SW1hZ2VTaXplJ1xuaW1wb3J0IGdldFNhZmVGaWxlTmFtZSBmcm9tICcuL2dldFNhZmVGaWxlbmFtZSdcbmltcG9ydCByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIGZyb20gJy4vaW1hZ2VSZXNpemVyJ1xuaW1wb3J0IGlzSW1hZ2UgZnJvbSAnLi9pc0ltYWdlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogVFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHRocm93T25NaXNzaW5nRmlsZT86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQ8VD4gPSBQcm9taXNlPHtcbiAgZGF0YTogVFxuICBmaWxlczogRmlsZVRvU2F2ZVtdXG59PlxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVGaWxlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gIGRhdGEsXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gIHJlcSxcbiAgdGhyb3dPbk1pc3NpbmdGaWxlLFxufTogQXJnczxUPik6IFJlc3VsdDxUPiA9PiB7XG4gIGlmICghY29sbGVjdGlvbkNvbmZpZy51cGxvYWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGZpbGVzOiBbXSxcbiAgICB9XG4gIH1cblxuICBjb25zdCB7IHNoYXJwIH0gPSByZXEucGF5bG9hZC5jb25maWdcblxuICBsZXQgZmlsZSA9IHJlcS5maWxlXG5cbiAgY29uc3QgeyBzZWFyY2hQYXJhbXMgfSA9IHJlcVxuICBjb25zdCB1cGxvYWRFZGl0cyA9IHNlYXJjaFBhcmFtcy5nZXQoJ3VwbG9hZEVkaXRzJykgfHwge31cblxuICBjb25zdCB7IGRpc2FibGVMb2NhbFN0b3JhZ2UsIGZvcm1hdE9wdGlvbnMsIGltYWdlU2l6ZXMsIHJlc2l6ZU9wdGlvbnMsIHN0YXRpY0RpciwgdHJpbU9wdGlvbnMgfSA9XG4gICAgY29sbGVjdGlvbkNvbmZpZy51cGxvYWRcblxuICBjb25zdCBzdGF0aWNQYXRoID0gc3RhdGljRGlyXG5cbiAgaWYgKCFmaWxlICYmIHVwbG9hZEVkaXRzICYmIGRhdGEpIHtcbiAgICBjb25zdCB7IGZpbGVuYW1lLCB1cmwgfSA9IGRhdGEgYXMgRmlsZURhdGFcblxuICAgIHRyeSB7XG4gICAgICBpZiAodXJsICYmIHVybC5zdGFydHNXaXRoKCcvJykgJiYgIWRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgY29uc3QgZmlsZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ZpbGVuYW1lfWBcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRGaWxlQnlQYXRoKGZpbGVQYXRoKVxuICAgICAgICBmaWxlID0gcmVzcG9uc2VcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH0gZWxzZSBpZiAoZmlsZW5hbWUgJiYgdXJsKSB7XG4gICAgICAgIGZpbGUgPSBhd2FpdCBnZXRFeHRlcm5hbEZpbGUoeyBkYXRhOiBkYXRhIGFzIEZpbGVEYXRhLCByZXEgfSlcbiAgICAgICAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyA9IHRydWVcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gICAgfVxuICB9XG5cbiAgaWYgKCFmaWxlKSB7XG4gICAgaWYgKHRocm93T25NaXNzaW5nRmlsZSkgdGhyb3cgbmV3IE1pc3NpbmdGaWxlKHJlcS50KVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBmaWxlczogW10sXG4gICAgfVxuICB9XG5cbiAgaWYgKCFkaXNhYmxlTG9jYWxTdG9yYWdlKSB7XG4gICAgbWtkaXJwLnN5bmMoc3RhdGljUGF0aClcbiAgfVxuXG4gIGxldCBuZXdEYXRhID0gZGF0YVxuICBjb25zdCBmaWxlc1RvU2F2ZTogRmlsZVRvU2F2ZVtdID0gW11cbiAgY29uc3QgZmlsZURhdGE6IFBhcnRpYWw8RmlsZURhdGE+ID0ge31cbiAgY29uc3QgZmlsZUlzQW5pbWF0ZWQgPSBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2UvZ2lmJyB8fCBmaWxlLm1pbWV0eXBlID09PSAnaW1hZ2Uvd2VicCdcbiAgY29uc3QgY3JvcERhdGEgPVxuICAgIHR5cGVvZiB1cGxvYWRFZGl0cyA9PT0gJ29iamVjdCcgJiYgJ2Nyb3AnIGluIHVwbG9hZEVkaXRzID8gdXBsb2FkRWRpdHMuY3JvcCA6IHVuZGVmaW5lZFxuXG4gIHRyeSB7XG4gICAgY29uc3QgZmlsZVN1cHBvcnRzUmVzaXplID0gY2FuUmVzaXplSW1hZ2UoZmlsZS5taW1ldHlwZSlcbiAgICBsZXQgZnNTYWZlTmFtZTogc3RyaW5nXG4gICAgbGV0IHNoYXJwRmlsZTogU2hhcnAgfCB1bmRlZmluZWRcbiAgICBsZXQgZGltZW5zaW9uczogUHJvYmVkSW1hZ2VTaXplIHwgdW5kZWZpbmVkXG4gICAgbGV0IGZpbGVCdWZmZXI6IHsgZGF0YTogQnVmZmVyOyBpbmZvOiBPdXRwdXRJbmZvIH1cbiAgICBsZXQgZXh0XG4gICAgbGV0IG1pbWU6IHN0cmluZ1xuICAgIGNvbnN0IGZpbGVIYXNBZGp1c3RtZW50cyA9XG4gICAgICBmaWxlU3VwcG9ydHNSZXNpemUgJiZcbiAgICAgIEJvb2xlYW4ocmVzaXplT3B0aW9ucyB8fCBmb3JtYXRPcHRpb25zIHx8IHRyaW1PcHRpb25zIHx8IGZpbGUudGVtcEZpbGVQYXRoKVxuXG4gICAgY29uc3Qgc2hhcnBPcHRpb25zOiBTaGFycE9wdGlvbnMgPSB7fVxuXG4gICAgaWYgKGZpbGVJc0FuaW1hdGVkKSBzaGFycE9wdGlvbnMuYW5pbWF0ZWQgPSB0cnVlXG5cbiAgICBpZiAoZmlsZUhhc0FkanVzdG1lbnRzICYmIHNoYXJwKSB7XG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGgsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycChmaWxlLmRhdGEsIHNoYXJwT3B0aW9ucykucm90YXRlKCkgLy8gcGFzcyByb3RhdGUoKSB0byBhdXRvLXJvdGF0ZSBiYXNlZCBvbiBFWElGIGRhdGEuIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXlsb2FkY21zL3BheWxvYWQvcHVsbC8zMDgxXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNpemVPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS5yZXNpemUocmVzaXplT3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50b0Zvcm1hdChmb3JtYXRPcHRpb25zLmZvcm1hdCwgZm9ybWF0T3B0aW9ucy5vcHRpb25zKVxuICAgICAgfVxuICAgICAgaWYgKHRyaW1PcHRpb25zKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwRmlsZS50cmltKHRyaW1PcHRpb25zKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0ltYWdlKGZpbGUubWltZXR5cGUpKSB7XG4gICAgICBkaW1lbnNpb25zID0gYXdhaXQgZ2V0SW1hZ2VTaXplKGZpbGUpXG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGRpbWVuc2lvbnMud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGRpbWVuc2lvbnMuaGVpZ2h0XG4gICAgfVxuXG4gICAgaWYgKHNoYXJwRmlsZSkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhd2FpdCBzaGFycEZpbGUubWV0YWRhdGEoKVxuICAgICAgZmlsZUJ1ZmZlciA9IGF3YWl0IHNoYXJwRmlsZS50b0J1ZmZlcih7IHJlc29sdmVXaXRoT2JqZWN0OiB0cnVlIH0pXG4gICAgICA7KHsgZXh0LCBtaW1lIH0gPSBhd2FpdCBmcm9tQnVmZmVyKGZpbGVCdWZmZXIuZGF0YSkpIC8vIFRoaXMgaXMgZ2V0dGluZyBhbiBpbmNvcnJlY3QgZ2lmIGhlaWdodCBiYWNrLlxuICAgICAgZmlsZURhdGEud2lkdGggPSBmaWxlQnVmZmVyLmluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHRcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZUJ1ZmZlci5pbmZvLnNpemVcblxuICAgICAgLy8gQW5pbWF0ZWQgR0lGcyArIFdlYlAgYWdncmVnYXRlIHRoZSBoZWlnaHQgZnJvbSBldmVyeSBmcmFtZSwgc28gd2UgbmVlZCB0byB1c2UgZGl2aWRlIGJ5IG51bWJlciBvZiBwYWdlc1xuICAgICAgaWYgKG1ldGFkYXRhLnBhZ2VzKSB7XG4gICAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGZpbGVCdWZmZXIuaW5mby5oZWlnaHQgLyBtZXRhZGF0YS5wYWdlc1xuICAgICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuZGF0YS5sZW5ndGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbWltZSA9IGZpbGUubWltZXR5cGVcbiAgICAgIGZpbGVEYXRhLmZpbGVzaXplID0gZmlsZS5zaXplXG5cbiAgICAgIGlmIChmaWxlLm5hbWUuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICBleHQgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXh0ID0gJydcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZHVzdCBTVkcgbWltZSB0eXBlLiBmcm9tQnVmZmVyIG1vZGlmaWVzIGl0LlxuICAgIGlmIChtaW1lID09PSAnYXBwbGljYXRpb24veG1sJyAmJiBleHQgPT09ICdzdmcnKSBtaW1lID0gJ2ltYWdlL3N2Zyt4bWwnXG4gICAgZmlsZURhdGEubWltZVR5cGUgPSBtaW1lXG5cbiAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBzYW5pdGl6ZShmaWxlLm5hbWUuc3Vic3RyaW5nKDAsIGZpbGUubmFtZS5sYXN0SW5kZXhPZignLicpKSB8fCBmaWxlLm5hbWUpXG4gICAgZnNTYWZlTmFtZSA9IGAke2Jhc2VGaWxlbmFtZX0ke2V4dCA/IGAuJHtleHR9YCA6ICcnfWBcblxuICAgIGlmICghb3ZlcndyaXRlRXhpc3RpbmdGaWxlcykge1xuICAgICAgZnNTYWZlTmFtZSA9IGF3YWl0IGdldFNhZmVGaWxlTmFtZSh7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRlc2lyZWRGaWxlbmFtZTogZnNTYWZlTmFtZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzdGF0aWNQYXRoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBmaWxlRGF0YS5maWxlbmFtZSA9IGZzU2FmZU5hbWVcbiAgICBsZXQgZmlsZUZvclJlc2l6ZSA9IGZpbGVcblxuICAgIGlmIChjcm9wRGF0YSAmJiBzaGFycCkge1xuICAgICAgY29uc3QgeyBkYXRhOiBjcm9wcGVkSW1hZ2UsIGluZm8gfSA9IGF3YWl0IGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlLCBzaGFycCB9KVxuXG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKHtcbiAgICAgICAgYnVmZmVyOiBjcm9wcGVkSW1hZ2UsXG4gICAgICAgIHBhdGg6IGAke3N0YXRpY1BhdGh9LyR7ZnNTYWZlTmFtZX1gLFxuICAgICAgfSlcblxuICAgICAgZmlsZUZvclJlc2l6ZSA9IHtcbiAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgZGF0YTogY3JvcHBlZEltYWdlLFxuICAgICAgICBzaXplOiBpbmZvLnNpemUsXG4gICAgICB9XG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGluZm8uc2l6ZVxuXG4gICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgYXdhaXQgZnMucHJvbWlzZXMud3JpdGVGaWxlKGZpbGUudGVtcEZpbGVQYXRoLCBjcm9wcGVkSW1hZ2UpIC8vIHdyaXRlIGZpbGVCdWZmZXIgdG8gdGhlIHRlbXAgcGF0aFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxLmZpbGUgPSBmaWxlRm9yUmVzaXplXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goe1xuICAgICAgICBidWZmZXI6IGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLFxuICAgICAgICBwYXRoOiBgJHtzdGF0aWNQYXRofS8ke2ZzU2FmZU5hbWV9YCxcbiAgICAgIH0pXG5cbiAgICAgIC8vIElmIHVzaW5nIHRlbXAgZmlsZXMgYW5kIHRoZSBpbWFnZSBpcyBiZWluZyByZXNpemVkLCB3cml0ZSB0aGUgZmlsZSB0byB0aGUgdGVtcCBwYXRoXG4gICAgICBpZiAoZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZS50ZW1wRmlsZVBhdGgsIGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhKSAvLyB3cml0ZSBmaWxlQnVmZmVyIHRvIHRoZSB0ZW1wIHBhdGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBc3NpZ24gdGhlIF9wb3NzaWJseSBtb2RpZmllZF8gZmlsZSB0byB0aGUgcmVxdWVzdCBvYmplY3RcbiAgICAgICAgICByZXEuZmlsZSA9IHtcbiAgICAgICAgICAgIC4uLmZpbGUsXG4gICAgICAgICAgICBkYXRhOiBmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YSxcbiAgICAgICAgICAgIHNpemU6IGZpbGVCdWZmZXI/LmluZm8uc2l6ZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbWFnZVNpemVzKSAmJiBmaWxlU3VwcG9ydHNSZXNpemUgJiYgc2hhcnApIHtcbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXMgPSB7fVxuICAgICAgY29uc3QgeyBzaXplRGF0YSwgc2l6ZXNUb1NhdmUgfSA9IGF3YWl0IHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICAgICAgICBjb25maWc6IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGRpbWVuc2lvbnM6ICFjcm9wRGF0YVxuICAgICAgICAgID8gZGltZW5zaW9uc1xuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAuLi5kaW1lbnNpb25zLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGZpbGVEYXRhLmhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGZpbGVEYXRhLndpZHRoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgZmlsZTogZmlsZUZvclJlc2l6ZSxcbiAgICAgICAgbWltZVR5cGU6IGZpbGVEYXRhLm1pbWVUeXBlLFxuICAgICAgICByZXEsXG4gICAgICAgIHNhdmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUgfHwgZmlsZS5uYW1lLFxuICAgICAgICBzaGFycCxcbiAgICAgICAgc3RhdGljUGF0aCxcbiAgICAgIH0pXG5cbiAgICAgIGZpbGVEYXRhLnNpemVzID0gc2l6ZURhdGFcbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goLi4uc2l6ZXNUb1NhdmUpXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICB0aHJvdyBuZXcgRmlsZVVwbG9hZEVycm9yKHJlcS50KVxuICB9XG5cbiAgbmV3RGF0YSA9IHtcbiAgICAuLi5uZXdEYXRhLFxuICAgIC4uLmZpbGVEYXRhLFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBuZXdEYXRhLFxuICAgIGZpbGVzOiBmaWxlc1RvU2F2ZSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlRmlsZURhdGEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiY29sbGVjdGlvbkNvbmZpZyIsImRhdGEiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwicmVxIiwidGhyb3dPbk1pc3NpbmdGaWxlIiwidXBsb2FkIiwiZmlsZXMiLCJzaGFycCIsInBheWxvYWQiLCJmaWxlIiwic2VhcmNoUGFyYW1zIiwidXBsb2FkRWRpdHMiLCJnZXQiLCJkaXNhYmxlTG9jYWxTdG9yYWdlIiwiZm9ybWF0T3B0aW9ucyIsImltYWdlU2l6ZXMiLCJyZXNpemVPcHRpb25zIiwic3RhdGljRGlyIiwidHJpbU9wdGlvbnMiLCJzdGF0aWNQYXRoIiwiZmlsZW5hbWUiLCJ1cmwiLCJzdGFydHNXaXRoIiwiZmlsZVBhdGgiLCJyZXNwb25zZSIsImdldEZpbGVCeVBhdGgiLCJnZXRFeHRlcm5hbEZpbGUiLCJlcnIiLCJGaWxlVXBsb2FkRXJyb3IiLCJ0IiwiTWlzc2luZ0ZpbGUiLCJta2RpcnAiLCJzeW5jIiwibmV3RGF0YSIsImZpbGVzVG9TYXZlIiwiZmlsZURhdGEiLCJmaWxlSXNBbmltYXRlZCIsIm1pbWV0eXBlIiwiY3JvcERhdGEiLCJjcm9wIiwidW5kZWZpbmVkIiwiZmlsZVN1cHBvcnRzUmVzaXplIiwiY2FuUmVzaXplSW1hZ2UiLCJmc1NhZmVOYW1lIiwic2hhcnBGaWxlIiwiZGltZW5zaW9ucyIsImZpbGVCdWZmZXIiLCJleHQiLCJtaW1lIiwiZmlsZUhhc0FkanVzdG1lbnRzIiwiQm9vbGVhbiIsInRlbXBGaWxlUGF0aCIsInNoYXJwT3B0aW9ucyIsImFuaW1hdGVkIiwicm90YXRlIiwicmVzaXplIiwidG9Gb3JtYXQiLCJmb3JtYXQiLCJvcHRpb25zIiwidHJpbSIsImlzSW1hZ2UiLCJnZXRJbWFnZVNpemUiLCJ3aWR0aCIsImhlaWdodCIsIm1ldGFkYXRhIiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsImZyb21CdWZmZXIiLCJpbmZvIiwiZmlsZXNpemUiLCJzaXplIiwicGFnZXMiLCJsZW5ndGgiLCJuYW1lIiwiaW5jbHVkZXMiLCJzcGxpdCIsInBvcCIsIm1pbWVUeXBlIiwiYmFzZUZpbGVuYW1lIiwic2FuaXRpemUiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsImdldFNhZmVGaWxlTmFtZSIsImNvbGxlY3Rpb25TbHVnIiwic2x1ZyIsImRlc2lyZWRGaWxlbmFtZSIsImZpbGVGb3JSZXNpemUiLCJjcm9wcGVkSW1hZ2UiLCJjcm9wSW1hZ2UiLCJwdXNoIiwiYnVmZmVyIiwicGF0aCIsImZzIiwicHJvbWlzZXMiLCJ3cml0ZUZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJwYXlsb2FkVXBsb2FkU2l6ZXMiLCJzaXplRGF0YSIsInNpemVzVG9TYXZlIiwicmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyIsInNhdmVkRmlsZW5hbWUiLCJzaXplcyIsImNvbnNvbGUiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQ2FBOzs7ZUFBQUE7OzswQkFsQ2M7MkRBQ1o7K0RBQ0k7eUVBQ0U7d0JBT3dCO3VFQUNsQjtrRUFDTDtpQ0FDVTtzRUFDTjtxRUFDRDt3RUFDRztxRUFDYTtnRUFDckI7Ozs7OztBQWdCYixNQUFNQSxtQkFBbUIsT0FBVSxFQUN4Q0MsWUFBWSxFQUFFQyxRQUFRQyxnQkFBZ0IsRUFBRSxFQUN4Q0MsSUFBSSxFQUNKQyxzQkFBc0IsRUFDdEJDLEdBQUcsRUFDSEMsa0JBQWtCLEVBQ1Y7SUFDUixJQUFJLENBQUNKLGlCQUFpQkssTUFBTSxFQUFFO1FBQzVCLE9BQU87WUFDTEo7WUFDQUssT0FBTyxFQUFFO1FBQ1g7SUFDRjtJQUVBLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUdKLElBQUlLLE9BQU8sQ0FBQ1QsTUFBTTtJQUVwQyxJQUFJVSxPQUFPTixJQUFJTSxJQUFJO0lBRW5CLE1BQU0sRUFBRUMsWUFBWSxFQUFFLEdBQUdQO0lBQ3pCLE1BQU1RLGNBQWNELGFBQWFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztJQUV4RCxNQUFNLEVBQUVDLG1CQUFtQixFQUFFQyxhQUFhLEVBQUVDLFVB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
@@ -1,4 +1,5 @@
1
1
  import type { SanitizedCollectionConfig } from '../collections/config/types';
2
+ import type { SharpDependency } from '../exports/config';
2
3
  import type { UploadEdits } from '../exports/types';
3
4
  import type { CustomPayloadRequest, PayloadRequest } from '../types';
4
5
  import type { FileSizes, FileToSave, ProbedImageSize } from './types';
@@ -13,6 +14,7 @@ type ResizeArgs = {
13
14
  };
14
15
  };
15
16
  savedFilename: string;
17
+ sharp: SharpDependency;
16
18
  staticPath: string;
17
19
  };
18
20
  /** Result from resizing and transforming the requested image sizes */
@@ -34,6 +36,6 @@ type ImageSizesResult = {
34
36
  * @param resizeConfig - the resize config
35
37
  * @returns the result of the resize operation(s)
36
38
  */
37
- export default function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, staticPath, }: ResizeArgs): Promise<ImageSizesResult>;
39
+ export default function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath, }: ResizeArgs): Promise<ImageSizesResult>;
38
40
  export {};
39
41
  //# sourceMappingURL=imageResizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACpE,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAa,eAAe,EAAE,MAAM,SAAS,CAAA;AAK1F,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,GAAG;QACpB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B,CAAA;KACF,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAiKD;;;;;;;;;;;;;GAaG;AACH,wBAA8B,4BAA4B,CAAC,EACzD,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,UAAU,GACX,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIxC"}
1
+ {"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACpE,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAa,eAAe,EAAE,MAAM,SAAS,CAAA;AAK1F,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,GAAG;QACpB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B,CAAA;KACF,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,eAAe,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAiKD;;;;;;;;;;;;;GAaG;AACH,wBAA8B,4BAA4B,CAAC,EACzD,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,KAAK,EACL,UAAU,GACX,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIxC"}
@@ -24,7 +24,6 @@ Object.defineProperty(exports, /**
24
24
  const _filetype = require("file-type");
25
25
  const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
26
26
  const _sanitizefilename = /*#__PURE__*/ _interop_require_default(require("sanitize-filename"));
27
- const _sharp = /*#__PURE__*/ _interop_require_default(require("sharp"));
28
27
  const _isNumber = require("../utilities/isNumber");
29
28
  const _fileExists = /*#__PURE__*/ _interop_require_default(require("./fileExists"));
30
29
  function _interop_require_default(obj) {
@@ -157,14 +156,14 @@ function _interop_require_default(obj) {
157
156
  }
158
157
  return resizeConfig;
159
158
  };
160
- async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, staticPath }) {
159
+ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType, req, savedFilename, sharp, staticPath }) {
161
160
  const { imageSizes } = config.upload;
162
161
  // Noting to resize here so return as early as possible
163
162
  if (!imageSizes) return {
164
163
  sizeData: {},
165
164
  sizesToSave: []
166
165
  };
167
- const sharpBase = (0, _sharp.default)(file.tempFilePath || file.data).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
166
+ const sharpBase = sharp(file.tempFilePath || file.data).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
168
167
  ;
169
168
  const results = await Promise.all(imageSizes.map(async (imageResizeConfig)=>{
170
169
  imageResizeConfig = sanitizeResizeConfig(imageResizeConfig);
@@ -251,4 +250,4 @@ async function resizeAndTransformImageSizes({ config, dimensions, file, mimeType
251
250
  });
252
251
  }
253
252
 
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE91dHB1dEluZm8gfSBmcm9tICdzaGFycCdcblxuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSdcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBVcGxvYWRFZGl0cyB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEN1c3RvbVBheWxvYWRSZXF1ZXN0LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWxlU2l6ZSwgRmlsZVNpemVzLCBGaWxlVG9TYXZlLCBJbWFnZVNpemUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzTnVtYmVyJ1xuaW1wb3J0IGZpbGVFeGlzdHMgZnJvbSAnLi9maWxlRXhpc3RzJ1xuXG50eXBlIFJlc2l6ZUFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkaW1lbnNpb25zOiBQcm9iZWRJbWFnZVNpemVcbiAgZmlsZTogQ3VzdG9tUGF5bG9hZFJlcXVlc3RbJ2ZpbGUnXVxuICBtaW1lVHlwZTogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QgJiB7XG4gICAgcXVlcnk/OiB7XG4gICAgICB1cGxvYWRFZGl0cz86IFVwbG9hZEVkaXRzXG4gICAgfVxuICB9XG4gIHNhdmVkRmlsZW5hbWU6IHN0cmluZ1xuICBzdGF0aWNQYXRoOiBzdHJpbmdcbn1cblxuLyoqIFJlc3VsdCBmcm9tIHJlc2l6aW5nIGFuZCB0cmFuc2Zvcm1pbmcgdGhlIHJlcXVlc3RlZCBpbWFnZSBzaXplcyAqL1xudHlwZSBJbWFnZVNpemVzUmVzdWx0ID0ge1xuICBzaXplRGF0YTogRmlsZVNpemVzXG4gIHNpemVzVG9TYXZlOiBGaWxlVG9TYXZlW11cbn1cblxudHlwZSBTYW5pdGl6ZWRJbWFnZURhdGEgPSB7XG4gIGV4dDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xufVxuXG4vKipcbiAqIFNhbml0aXplIHRoZSBpbWFnZSBuYW1lIGFuZCBleHRyYWN0IHRoZSBleHRlbnNpb24gZnJvbSB0aGUgc291cmNlIGltYWdlXG4gKlxuICogQHBhcmFtIHNvdXJjZUltYWdlIC0gdGhlIHNvdXJjZSBpbWFnZVxuICogQHJldHVybnMgdGhlIHNhbml0aXplZCBuYW1lIGFuZCBleHRlbnNpb25cbiAqL1xuY29uc3QgZ2V0U2FuaXRpemVkSW1hZ2VEYXRhID0gKHNvdXJjZUltYWdlOiBzdHJpbmcpOiBTYW5pdGl6ZWRJbWFnZURhdGEgPT4ge1xuICBjb25zdCBleHRlbnNpb24gPSBzb3VyY2VJbWFnZS5zcGxpdCgnLicpLnBvcCgpXG4gIGNvbnN0IG5hbWUgPSBzYW5pdGl6ZShzb3VyY2VJbWFnZS5zdWJzdHJpbmcoMCwgc291cmNlSW1hZ2UubGFzdEluZGV4T2YoJy4nKSkgfHwgc291cmNlSW1hZ2UpXG4gIHJldHVybiB7IG5hbWUsIGV4dDogZXh0ZW5zaW9uIH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgaW1hZ2UgbmFtZSBiYXNlZCBvbiB0aGUgb3V0cHV0IGltYWdlIG5hbWUsIHRoZSBkaW1lbnNpb25zIGFuZFxuICogdGhlIGV4dGVuc2lvbi5cbiAqXG4gKiBJZ25vcmUgdGhlIGZhY3QgdGhhdCBkdXBsaWNhdGUgbmFtZXMgY291bGQgaGFwcGVuIGlmIHRoZSB0aGVyZSBpcyBvbmVcbiAqIHNpemUgd2l0aCBgd2lkdGggQU5EIGhlaWdodGAgYW5kIG9uZSB3aXRoIG9ubHkgYGhlaWdodCBPUiB3aWR0aGAuIEJlY2F1c2VcbiAqIHNwYWNlIGlzIGV4cGVuc2l2ZSwgd2Ugd2lsbCByZXVzZSB0aGUgc2FtZSBpbWFnZSBmb3IgYm90aCBzaXplcy5cbiAqXG4gKiBAcGFyYW0gb3V0cHV0SW1hZ2VOYW1lIC0gdGhlIHNhbml0aXplZCBpbWFnZSBuYW1lXG4gKiBAcGFyYW0gYnVmZmVySW5mbyAtIHRoZSBidWZmZXIgaW5mb1xuICogQHBhcmFtIGV4dGVuc2lvbiAtIHRoZSBleHRlbnNpb24gdG8gdXNlXG4gKiBAcmV0dXJucyB0aGUgbmV3IGltYWdlIG5hbWUgdGhhdCBpcyBub3QgdGFrZW5cbiAqL1xuY29uc3QgY3JlYXRlSW1hZ2VOYW1lID0gKFxuICBvdXRwdXRJbWFnZU5hbWU6IHN0cmluZyxcbiAgeyBoZWlnaHQsIHdpZHRoIH06IE91dHB1dEluZm8sXG4gIGV4dGVuc2lvbjogc3RyaW5nLFxuKSA9PiBgJHtvdXRwdXRJbWFnZU5hbWV9LSR7d2lkdGh9eCR7aGVpZ2h0fS4ke2V4dGVuc2lvbn1gXG5cbi8qKlxuICogQ3JlYXRlIHRoZSByZXN1bHQgb2JqZWN0IGZvciB0aGUgaW1hZ2UgcmVzaXplIG9wZXJhdGlvbiBiYXNlZCBvbiB0aGVcbiAqIHByb3ZpZGVkIHBhcmFtZXRlcnMuIElmIHRoZSBuYW1lIGlzIG5vdCBwcm92aWRlZCwgYW4gZW1wdHkgcmVzdWx0IG9iamVjdFxuICogaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIG5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBmaWxlbmFtZSAtIHRoZSBmaWxlbmFtZSBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSB3aWR0aCAtIHRoZSB3aWR0aCBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBoZWlnaHQgLSB0aGUgaGVpZ2h0IG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGZpbGVzaXplIC0gdGhlIGZpbGVzaXplIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIG1pbWVUeXBlIC0gdGhlIG1pbWUgdHlwZSBvZiB0aGUgaW1hZ2VcbiAqIEBwYXJhbSBzaXplc1RvU2F2ZSAtIHRoZSBzaXplcyB0byBzYXZlXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9iamVjdFxuICovXG5jb25zdCBjcmVhdGVSZXN1bHQgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgZmlsZW5hbWU6IEZpbGVTaXplWydmaWxlbmFtZSddID0gbnVsbCxcbiAgd2lkdGg6IEZpbGVTaXplWyd3aWR0aCddID0gbnVsbCxcbiAgaGVpZ2h0OiBGaWxlU2l6ZVsnaGVpZ2h0J10gPSBudWxsLFxuICBmaWxlc2l6ZTogRmlsZVNpemVbJ2ZpbGVzaXplJ10gPSBudWxsLFxuICBtaW1lVHlwZTogRmlsZVNpemVbJ21pbWVUeXBlJ10gPSBudWxsLFxuICBzaXplc1RvU2F2ZTogRmlsZVRvU2F2ZVtdID0gW10sXG4pOiBJbWFnZVNpemVzUmVzdWx0ID0+ICh7XG4gIHNpemVEYXRhOiB7XG4gICAgW25hbWVdOiB7XG4gICAgICBmaWxlbmFtZSxcbiAgICAgIGZpbGVzaXplLFxuICAgICAgaGVpZ2h0LFxuICAgICAgbWltZVR5cGUsXG4gICAgICB3aWR0aCxcbiAgICB9LFxuICB9LFxuICBzaXplc1RvU2F2ZSxcbn0pXG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGltYWdlIG5lZWRzIHRvIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9uc1xuICogYW5kIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiBJZiB0aGUgcmVzaXplIG9wdGlvbnMgd2l0aG91dEVubGFyZ2VtZW50IG9yIHdpdGhvdXRSZWR1Y3Rpb24gYXJlIHByb3ZpZGVkLFxuICogdGhlIGltYWdlIHdpbGwgYmUgcmVzaXplZCByZWdhcmRsZXNzIG9mIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucywgZ2l2ZW4gdGhhdCB0aGVcbiAqIHdpZHRoIG9yIGhlaWdodCB0byBiZSByZXNpemVkIGlzIHByb3ZpZGVkLlxuICpcbiAqIEBwYXJhbSByZXNpemVDb25maWcgLSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWVzdGVkIGRpbWVuc2lvbnMgYW5kIHJlc2l6ZSBvcHRpb25zXG4gKiBAcGFyYW0gb3JpZ2luYWwgLSB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZVxuICogQHJldHVybnMgdHJ1ZSBpZiByZXNpemluZyBpcyBub3QgbmVlZGVkLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuY29uc3QgcHJldmVudFJlc2l6ZSA9IChcbiAgeyBoZWlnaHQ6IGRlc2lyZWRIZWlnaHQsIHdpZHRoOiBkZXNpcmVkV2lkdGgsIHdpdGhvdXRFbmxhcmdlbWVudCwgd2l0aG91dFJlZHVjdGlvbiB9OiBJbWFnZVNpemUsXG4gIG9yaWdpbmFsOiBQcm9iZWRJbWFnZVNpemUsXG4pOiBib29sZWFuID0+IHtcbiAgLy8gZGVmYXVsdCBpcyB0byBhbGxvdyByZWR1Y3Rpb25cbiAgaWYgKHdpdGhvdXRSZWR1Y3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIC8vIGRlZmF1bHQgaXMgdG8gcHJldmVudCBlbmxhcmdlbWVudFxuICBpZiAod2l0aG91dEVubGFyZ2VtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2UgLy8gbmVlZHMgcmVzaXplXG4gIH1cblxuICBjb25zdCBpc1dpZHRoT3JIZWlnaHROb3REZWZpbmVkID0gIWRlc2lyZWRIZWlnaHQgfHwgIWRlc2lyZWRXaWR0aFxuICBpZiAoaXNXaWR0aE9ySGVpZ2h0Tm90RGVmaW5lZCkge1xuICAgIC8vIElmIHdpZHRoIGFuZCBoZWlnaHQgYXJlIG5vdCBkZWZpbmVkLCBpdCBtZWFucyB0aGVyZSBpcyBhIGZvcm1hdCBjb252ZXJzaW9uXG4gICAgLy8gYW5kIHRoZSBpbWFnZSBuZWVkcyB0byBiZSBcInJlc2l6ZWRcIiAodHJhbnNmb3JtZWQpLlxuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIGNvbnN0IGhhc0luc3VmZmljaWVudFdpZHRoID0gZGVzaXJlZFdpZHRoID4gb3JpZ2luYWwud2lkdGhcbiAgY29uc3QgaGFzSW5zdWZmaWNpZW50SGVpZ2h0ID0gZGVzaXJlZEhlaWdodCA+IG9yaWdpbmFsLmhlaWdodFxuICBpZiAoaGFzSW5zdWZmaWNpZW50V2lkdGggJiYgaGFzSW5zdWZmaWNpZW50SGVpZ2h0KSB7XG4gICAgLy8gZG9lc24ndCBuZWVkIHJlc2l6ZSAtIHByZXZlbnQgZW5sYXJnZW1lbnQuIFRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGlmIGJvdGggd2lkdGggYW5kIGhlaWdodCBhcmUgaW5zdWZmaWNpZW50LlxuICAgIC8vIGlmIG9ubHkgb25lIGRpbWVuc2lvbiBpcyBpbnN1ZmZpY2llbnQgYW5kIHRoZSBvdGhlciBpcyBzdWZmaWNpZW50LCByZXNpemluZyBuZWVkcyB0byBoYXBwZW4sIGFzIHRoZSBpbWFnZVxuICAgIC8vIHNob3VsZCBiZSByZXNpemVkIHRvIHRoZSBzdWZmaWNpZW50IGRpbWVuc2lvbi5cbiAgICByZXR1cm4gdHJ1ZSAvLyBkbyBub3QgY3JlYXRlIGEgbmV3IHNpemVcbiAgfVxuXG4gIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgaW1hZ2Ugc2hvdWxkIGJlIHBhc3NlZCBkaXJlY3RseSB0byBzaGFycCB3aXRob3V0IHBheWxvYWQgYWRqdXN0aW5nIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucyBhbmQgcmVzaXplIG9wdGlvbnNcbiAqIEBwYXJhbSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBpbWFnZSBzaG91bGQgcGFzc2VkIGRpcmVjdGx5IHRvIHNoYXJwXG4gKi9cbmNvbnN0IGFwcGx5UGF5bG9hZEFkanVzdG1lbnRzID0gKFxuICB7IGZpdCwgaGVpZ2h0LCB3aWR0aCwgd2l0aG91dEVubGFyZ2VtZW50LCB3aXRob3V0UmVkdWN0aW9uIH06IEltYWdlU2l6ZSxcbiAgb3JpZ2luYWw6IFByb2JlZEltYWdlU2l6ZSxcbikgPT4ge1xuICBpZiAoZml0ID09PSAnY29udGFpbicgfHwgZml0ID09PSAnaW5zaWRlJykgcmV0dXJuIGZhbHNlXG4gIGlmICghaXNOdW1iZXIoaGVpZ2h0KSAmJiAhaXNOdW1iZXIod2lkdGgpKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCB0YXJnZXRBc3BlY3RSYXRpbyA9IHdpZHRoIC8gaGVpZ2h0XG4gIGNvbnN0IG9yaWdpbmFsQXNwZWN0UmF0aW8gPSBvcmlnaW5hbC53aWR0aCAvIG9yaWdpbmFsLmhlaWdodFxuICBpZiAob3JpZ2luYWxBc3BlY3RSYXRpbyA9PT0gdGFyZ2V0QXNwZWN0UmF0aW8pIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHNraXBFbmxhcmdlbWVudCA9IHdpdGhvdXRFbmxhcmdlbWVudCAmJiAob3JpZ2luYWwuaGVpZ2h0IDwgaGVpZ2h0IHx8IG9yaWdpbmFsLndpZHRoIDwgd2lkdGgpXG4gIGNvbnN0IHNraXBSZWR1Y3Rpb24gPSB3aXRob3V0UmVkdWN0aW9uICYmIChvcmlnaW5hbC5oZWlnaHQgPiBoZWlnaHQgfHwgb3JpZ2luYWwud2lkdGggPiB3aWR0aClcbiAgaWYgKHNraXBFbmxhcmdlbWVudCB8fCBza2lwUmVkdWN0aW9uKSByZXR1cm4gZmFsc2VcblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIFNhbml0aXplIHRoZSByZXNpemUgY29uZmlnLiBJZiB0aGUgcmVzaXplIGNvbmZpZyBoYXMgdGhlIGB3aXRob3V0UmVkdWN0aW9uYFxuICogcHJvcGVydHkgc2V0IHRvIHRydWUsIHRoZSBgZml0YCBhbmQgYHBvc2l0aW9uYCBwcm9wZXJ0aWVzIHdpbGwgYmUgc2V0IHRvIGBjb250YWluYFxuICogYW5kIGB0b3AgbGVmdGAgcmVzcGVjdGl2ZWx5LlxuICpcbiAqIEBwYXJhbSByZXNpemVDb25maWcgLSB0aGUgcmVzaXplIGNvbmZpZ1xuICogQHJldHVybnMgYSBzYW5pdGl6ZWQgcmVzaXplIGNvbmZpZ1xuICovXG5jb25zdCBzYW5pdGl6ZVJlc2l6ZUNvbmZpZyA9IChyZXNpemVDb25maWc6IEltYWdlU2l6ZSk6IEltYWdlU2l6ZSA9PiB7XG4gIGlmIChyZXNpemVDb25maWcud2l0aG91dFJlZHVjdGlvbikge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5yZXNpemVDb25maWcsXG4gICAgICAvLyBXaHkgZml0IGBjb250YWluYCBzaG91bGQgYWxzbyBiZSBzZXQgdG8gaHR0cHM6Ly9naXRodWIuY29tL2xvdmVsbC9zaGFycC9pc3N1ZXMvMzU5NVxuICAgICAgZml0OiByZXNpemVDb25maWc/LmZpdCB8fCAnY29udGFpbicsXG4gICAgICBwb3NpdGlvbjogcmVzaXplQ29uZmlnPy5wb3NpdGlvbiB8fCAnbGVmdCB0b3AnLFxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzaXplQ29uZmlnXG59XG5cbi8qKlxuICogRm9yIHRoZSBwcm92aWRlZCBpbWFnZSBzaXplcywgaGFuZGxlIHRoZSByZXNpemluZyBhbmQgdGhlIHRyYW5zZm9ybXNcbiAqIChmb3JtYXQsIHRyaW0sIGV0Yy4pIG9mIGVhY2ggcmVxdWVzdGVkIGltYWdlIHNpemUgYW5kIHJldHVybiB0aGUgcmVzdWx0IG9iamVjdC5cbiAqIFRoaXMgb25seSBoYW5kbGVzIHRoZSBpbWFnZSBzaXplcy4gVGhlIHRyYW5zZm9ybXMgb2YgdGhlIG9yaWdpbmFsIGltYWdlXG4gKiBhcmUgaGFuZGxlZCBpbiB7QGxpbmsgLi9nZW5lcmF0ZUZpbGVEYXRhLnRzfS5cbiAqXG4gKiBUaGUgaW1hZ2Ugd2lsbCBiZSByZXNpemVkIGFjY29yZGluZyB0byB0aGUgcHJvdmlkZWRcbiAqIHJlc2l6ZSBjb25maWcuIElmIG5vIGltYWdlIHNpemVzIGFyZSByZXF1ZXN0ZWQsIHRoZSByZXNvbHZlZCBkYXRhIHdpbGwgYmUgZW1wdHkuXG4gKiBGb3IgZXZlcnkgaW1hZ2UgdGhhdCBkb3Mgbm90IG5lZWQgdG8gYmUgcmVzaXplZCwgYW4gcmVzdWx0IG9iamVjdCB3aXRoIGBudWxsYFxuICogcGFyYW1ldGVycyB3aWxsIGJlIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSByZXNpemVDb25maWcgLSB0aGUgcmVzaXplIGNvbmZpZ1xuICogQHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgcmVzaXplIG9wZXJhdGlvbihzKVxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzKHtcbiAgY29uZmlnLFxuICBkaW1lbnNpb25zLFxuICBmaWxlLFxuICBtaW1lVHlwZSxcbiAgcmVxLFxuICBzYXZlZEZpbGVuYW1lLFxuICBzdGF0aWNQYXRoLFxufTogUmVzaXplQXJncyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4ge1xuICBjb25zdCB7IGltYWdlU2l6ZXMgfSA9IGNvbmZpZy51cGxvYWRcbiAgLy8gTm90aW5nIHRvIHJlc2l6ZSBoZXJlIHNvIHJldHVybiBhcyBlYXJseSBhcyBwb3NzaWJsZVxuICBpZiAoIWltYWdlU2l6ZXMpIHJldHVybiB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH1cblxuICBjb25zdCBzaGFycEJhc2UgPSBzaGFycChmaWxlLnRlbXBGaWxlUGF0aCB8fCBmaWxlLmRhdGEpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuXG4gIGNvbnN0IHJlc3VsdHM6IEltYWdlU2l6ZXNSZXN1bHRbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGltYWdlU2l6ZXMubWFwKGFzeW5jIChpbWFnZVJlc2l6ZUNvbmZpZyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4gPT4ge1xuICAgICAgaW1hZ2VSZXNpemVDb25maWcgPSBzYW5pdGl6ZVJlc2l6ZUNvbmZpZyhpbWFnZVJlc2l6ZUNvbmZpZylcblxuICAgICAgLy8gVGhpcyBjaGVja3MgaWYgYSByZXNpemUgc2hvdWxkIGhhcHBlbi4gSWYgbm90LCB0aGUgcmVzaXplZCBpbWFnZSB3aWxsIGJlXG4gICAgICAvLyBza2lwcGVkIENPTVBMRVRFTFkgYW5kIHRodXMgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBpbWFnZXMuXG4gICAgICAvLyBBbGwgZnVydGhlciBmb3JtYXQvdHJpbSBvcHRpb25zIHdpbGwgdGh1cyBiZSBza2lwcGVkIGFzIHdlbGwuXG4gICAgICBpZiAocHJldmVudFJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZywgZGltZW5zaW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVRvUmVzaXplID0gc2hhcnBCYXNlLmNsb25lKClcbiAgICAgIGxldCByZXNpemVkID0gaW1hZ2VUb1Jlc2l6ZVxuXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5xdWVyeT8udXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQgJiZcbiAgICAgICAgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMoaW1hZ2VSZXNpemVDb25maWcsIGRpbWVuc2lvbnMpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHJlc2l6ZUhlaWdodCwgd2lkdGg6IHJlc2l6ZVdpZHRoIH0gPSBpbWFnZVJlc2l6ZUNvbmZpZ1xuICAgICAgICBjb25zdCByZXNpemVBc3BlY3RSYXRpbyA9IHJlc2l6ZVdpZHRoIC8gcmVzaXplSGVpZ2h0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQXNwZWN0UmF0aW8gPSBkaW1lbnNpb25zLndpZHRoIC8gZGltZW5zaW9ucy5oZWlnaHRcbiAgICAgICAgY29uc3QgcHJpb3JpdGl6ZUhlaWdodCA9IHJlc2l6ZUFzcGVjdFJhdGlvIDwgb3JpZ2luYWxBc3BlY3RSYXRpb1xuXG4gICAgICAgIC8vIFNjYWxlIHRoZSBpbWFnZSB1cCBvciBkb3duIHRvIGZpdCB0aGUgcmVzaXplIGRpbWVuc2lvbnNcbiAgICAgICAgY29uc3Qgc2NhbGVkSW1hZ2UgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBwcmlvcml0aXplSGVpZ2h0ID8gcmVzaXplSGVpZ2h0IDogbnVsbCxcbiAgICAgICAgICB3aWR0aDogcHJpb3JpdGl6ZUhlaWdodCA/IG51bGwgOiByZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgeyBpbmZvOiBzY2FsZWRJbWFnZUluZm8gfSA9IGF3YWl0IHNjYWxlZEltYWdlLnRvQnVmZmVyKHsgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUgfSlcblxuICAgICAgICAvLyBGb2NhbCBwb2ludCBhZGp1c3RtZW50c1xuICAgICAgICBjb25zdCBmb2NhbFBvaW50ID0ge1xuICAgICAgICAgIHg6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py54KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC54XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICAgIHk6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py55KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC55XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZVdpZHRoID0gcmVzaXplV2lkdGggPz8gc2NhbGVkSW1hZ2VJbmZvLndpZHRoXG4gICAgICAgIGNvbnN0IG1heE9mZnNldFggPSBzY2FsZWRJbWFnZUluZm8ud2lkdGggLSBzYWZlUmVzaXplV2lkdGhcbiAgICAgICAgY29uc3QgbGVmdEZvY2FsRWRnZSA9IE1hdGgucm91bmQoXG4gICAgICAgICAgc2NhbGVkSW1hZ2VJbmZvLndpZHRoICogKGZvY2FsUG9pbnQueCAvIDEwMCkgLSBzYWZlUmVzaXplV2lkdGggLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRYID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbGVmdEZvY2FsRWRnZSksIG1heE9mZnNldFgpXG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZUhlaWdodCA9IHJlc2l6ZUhlaWdodCA/PyBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0XG4gICAgICAgIGNvbnN0IG1heE9mZnNldFkgPSBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0IC0gc2FmZVJlc2l6ZUhlaWdodFxuICAgICAgICBjb25zdCB0b3BGb2NhbEVkZ2UgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgIHNjYWxlZEltYWdlSW5mby5oZWlnaHQgKiAoZm9jYWxQb2ludC55IC8gMTAwKSAtIHNhZmVSZXNpemVIZWlnaHQgLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRZID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgdG9wRm9jYWxFZGdlKSwgbWF4T2Zmc2V0WSlcblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBmb2NhbCBhcmVhIGZyb20gdGhlIHNjYWxlZCBpbWFnZVxuICAgICAgICByZXNpemVkID0gc2NhbGVkSW1hZ2UuZXh0cmFjdCh7XG4gICAgICAgICAgaGVpZ2h0OiBzYWZlUmVzaXplSGVpZ2h0LFxuICAgICAgICAgIGxlZnQ6IHNhZmVPZmZzZXRYLFxuICAgICAgICAgIHRvcDogc2FmZU9mZnNldFksXG4gICAgICAgICAgd2lkdGg6IHNhZmVSZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2l6ZWQgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudG9Gb3JtYXQoXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5vcHRpb25zLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucykge1xuICAgICAgICByZXNpemVkID0gcmVzaXplZC50cmltKGltYWdlUmVzaXplQ29uZmlnLnRyaW1PcHRpb25zKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGRhdGE6IGJ1ZmZlckRhdGEsIGluZm86IGJ1ZmZlckluZm8gfSA9IGF3YWl0IHJlc2l6ZWQudG9CdWZmZXIoe1xuICAgICAgICByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEltYWdlID0gZ2V0U2FuaXRpemVkSW1hZ2VEYXRhKHNhdmVkRmlsZW5hbWUpXG5cbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXNbaW1hZ2VSZXNpemVDb25maWcubmFtZV0gPSBidWZmZXJEYXRhXG5cbiAgICAgIGNvbnN0IG1pbWVJbmZvID0gYXdhaXQgZnJvbUJ1ZmZlcihidWZmZXJEYXRhKVxuXG4gICAgICBjb25zdCBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyA9IGNyZWF0ZUltYWdlTmFtZShcbiAgICAgICAgc2FuaXRpemVkSW1hZ2UubmFtZSxcbiAgICAgICAgYnVmZmVySW5mbyxcbiAgICAgICAgbWltZUluZm8/LmV4dCB8fCBzYW5pdGl6ZWRJbWFnZS5leHQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGltYWdlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7aW1hZ2VOYW1lV2l0aERpbWVuc2lvbnN9YFxuXG4gICAgICBpZiAoYXdhaXQgZmlsZUV4aXN0cyhpbWFnZVBhdGgpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZnMudW5saW5rU3luYyhpbWFnZVBhdGgpXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yZSB1bmxpbmsgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBoZWlnaHQsIHNpemUsIHdpZHRoIH0gPSBidWZmZXJJbmZvXG4gICAgICByZXR1cm4gY3JlYXRlUmVzdWx0KFxuICAgICAgICBpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lLFxuICAgICAgICBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbWltZUluZm8/Lm1pbWUgfHwgbWltZVR5cGUsXG4gICAgICAgIFt7IGJ1ZmZlcjogYnVmZmVyRGF0YSwgcGF0aDogaW1hZ2VQYXRoIH1dLFxuICAgICAgKVxuICAgIH0pLFxuICApXG5cbiAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKFxuICAgIChhY2MsIHJlc3VsdCkgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY2Muc2l6ZURhdGEsIHJlc3VsdC5zaXplRGF0YSlcbiAgICAgIGFjYy5zaXplc1RvU2F2ZS5wdXNoKC4uLnJlc3VsdC5zaXplc1RvU2F2ZSlcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJnZXRTYW5pdGl6ZWRJbWFnZURhdGEiLCJzb3VyY2VJbWFnZSIsImV4dGVuc2lvbiIsInNwbGl0IiwicG9wIiwibmFtZSIsInNhbml0aXplIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJleHQiLCJjcmVhdGVJbWFnZU5hbWUiLCJvdXRwdXRJbWFnZU5hbWUiLCJoZWlnaHQiLCJ3aWR0aCIsImNyZWF0ZVJlc3VsdCIsImZpbGVuYW1lIiwiZmlsZXNpemUiLCJtaW1lVHlwZSIsInNpemVzVG9TYXZlIiwic2l6ZURhdGEiLCJwcmV2ZW50UmVzaXplIiwiZGVzaXJlZEhlaWdodCIsImRlc2lyZWRXaWR0aCIsIndpdGhvdXRFbmxhcmdlbWVudCIsIndpdGhvdXRSZWR1Y3Rpb24iLCJvcmlnaW5hbCIsInVuZGVmaW5lZCIsImlzV2lkdGhPckhlaWdodE5vdERlZmluZWQiLCJoYXNJbnN1ZmZpY2llbnRXaWR0aCIsImhhc0luc3VmZmljaWVudEhlaWdodCIsImFwcGx5UGF5bG9hZEFkanVzdG1lbnRzIiwiZml0IiwiaXNOdW1iZXIiLCJ0YXJnZXRBc3BlY3RSYXRpbyIsIm9yaWdpbmFsQXNwZWN0UmF0aW8iLCJza2lwRW5sYXJnZW1lbnQiLCJza2lwUmVkdWN0aW9uIiwic2FuaXRpemVSZXNpemVDb25maWciLCJyZXNpemVDb25maWciLCJwb3NpdGlvbiIsImNvbmZpZyIsImRpbWVuc2lvbnMiLCJmaWxlIiwicmVxIiwic2F2ZWRGaWxlbmFtZSIsInN0YXRpY1BhdGgiLCJpbWFnZVNpemVzIiwidXBsb2FkIiwic2hhcnBCYXNlIiwic2hhcnAiLCJ0ZW1wRmlsZVBhdGgiLCJkYXRhIiwicm90YXRlIiwicmVzdWx0cyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJpbWFnZVJlc2l6ZUNvbmZpZyIsImltYWdlVG9SZXNpemUiLCJjbG9uZSIsInJlc2l6ZWQiLCJxdWVyeSIsInVwbG9hZEVkaXRzIiwiZm9jYWxQb2ludCIsInJlc2l6ZUhlaWdodCIsInJlc2l6ZVdpZHRoIiwicmVzaXplQXNwZWN0UmF0aW8iLCJwcmlvcml0aXplSGVpZ2h0Iiwic2NhbGVkSW1hZ2UiLCJyZXNpemUiLCJpbmZvIiwic2NhbGVkSW1hZ2VJbmZvIiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsIngiLCJ5Iiwic2FmZVJlc2l6ZVdpZHRoIiwibWF4T2Zmc2V0WCIsImxlZnRGb2NhbEVkZ2UiLCJNYXRoIiwicm91bmQiLCJzYWZlT2Zmc2V0WCIsIm1pbiIsIm1heCIsInNhZmVSZXNpemVIZWlnaHQiLCJtYXhPZmZzZXRZIiwidG9wRm9jYWxFZGdlIiwic2FmZU9mZnNldFkiLCJleHRyYWN0IiwibGVmdCIsInRvcCIsImZvcm1hdE9wdGlvbnMiLCJ0b0Zvcm1hdCIsImZvcm1hdCIsIm9wdGlvbnMiLCJ0cmltT3B0aW9ucyIsInRyaW0iLCJidWZmZXJEYXRhIiwiYnVmZmVySW5mbyIsInNhbml0aXplZEltYWdlIiwicGF5bG9hZFVwbG9hZFNpemVzIiwibWltZUluZm8iLCJmcm9tQnVmZmVyIiwiaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMiLCJpbWFnZVBhdGgiLCJmaWxlRXhpc3RzIiwiZnMiLCJ1bmxpbmtTeW5jIiwic2l6ZSIsIm1pbWUiLCJidWZmZXIiLCJwYXRoIiwicmVkdWNlIiwiYWNjIiwicmVzdWx0IiwiT2JqZWN0IiwiYXNzaWduIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrTUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNEOzs7ZUFBOEJBOzs7MEJBOU1IOzJEQUNaO3lFQUNNOzhEQUNIOzBCQU9PO21FQUNGOzs7Ozs7QUEyQnZCOzs7OztDQUtDLEdBQ0QsTUFBTUMsd0JBQXdCLENBQUNDO0lBQzdCLE1BQU1DLFlBQVlELFlBQVlFLEtBQUssQ0FBQyxLQUFLQyxHQUFHO0lBQzVDLE1BQU1DLE9BQU9DLElBQUFBLHlCQUFRLEVBQUNMLFlBQVlNLFNBQVMsQ0FBQyxHQUFHTixZQUFZTyxXQUFXLENBQUMsU0FBU1A7SUFDaEYsT0FBTztRQUFFSTtRQUFNSSxLQUFLUDtJQUFVO0FBQ2hDO0FBRUE7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsTUFBTVEsa0JBQWtCLENBQ3RCQyxpQkFDQSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBYyxFQUM3QlgsWUFDRyxDQUFDLEVBQUVTLGdCQUFnQixDQUFDLEVBQUVFLE1BQU0sQ0FBQyxFQUFFRCxPQUFPLENBQUMsRUFBRVYsVUFBVSxDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDRCxNQUFNWSxlQUFlLENBQ25CVCxNQUNBVSxXQUFpQyxJQUFJLEVBQ3JDRixRQUEyQixJQUFJLEVBQy9CRCxTQUE2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
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2ltYWdlUmVzaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIGRlZmF1bHQgYXMgU2hhcnAgfSBmcm9tICdzaGFycCdcbmltcG9ydCB0eXBlIHNoYXJwIGZyb20gJ3NoYXJwJ1xuXG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJ1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWZpbGVuYW1lJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNoYXJwRGVwZW5kZW5jeSB9IGZyb20gJy4uL2V4cG9ydHMvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBVcGxvYWRFZGl0cyB9IGZyb20gJy4uL2V4cG9ydHMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEN1c3RvbVBheWxvYWRSZXF1ZXN0LCBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWxlU2l6ZSwgRmlsZVNpemVzLCBGaWxlVG9TYXZlLCBJbWFnZVNpemUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzTnVtYmVyJ1xuaW1wb3J0IGZpbGVFeGlzdHMgZnJvbSAnLi9maWxlRXhpc3RzJ1xuXG50eXBlIFJlc2l6ZUFyZ3MgPSB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICBkaW1lbnNpb25zOiBQcm9iZWRJbWFnZVNpemVcbiAgZmlsZTogQ3VzdG9tUGF5bG9hZFJlcXVlc3RbJ2ZpbGUnXVxuICBtaW1lVHlwZTogc3RyaW5nXG4gIHJlcTogUGF5bG9hZFJlcXVlc3QgJiB7XG4gICAgcXVlcnk/OiB7XG4gICAgICB1cGxvYWRFZGl0cz86IFVwbG9hZEVkaXRzXG4gICAgfVxuICB9XG4gIHNhdmVkRmlsZW5hbWU6IHN0cmluZ1xuICBzaGFycDogU2hhcnBEZXBlbmRlbmN5XG4gIHN0YXRpY1BhdGg6IHN0cmluZ1xufVxuXG4vKiogUmVzdWx0IGZyb20gcmVzaXppbmcgYW5kIHRyYW5zZm9ybWluZyB0aGUgcmVxdWVzdGVkIGltYWdlIHNpemVzICovXG50eXBlIEltYWdlU2l6ZXNSZXN1bHQgPSB7XG4gIHNpemVEYXRhOiBGaWxlU2l6ZXNcbiAgc2l6ZXNUb1NhdmU6IEZpbGVUb1NhdmVbXVxufVxuXG50eXBlIFNhbml0aXplZEltYWdlRGF0YSA9IHtcbiAgZXh0OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIGltYWdlIG5hbWUgYW5kIGV4dHJhY3QgdGhlIGV4dGVuc2lvbiBmcm9tIHRoZSBzb3VyY2UgaW1hZ2VcbiAqXG4gKiBAcGFyYW0gc291cmNlSW1hZ2UgLSB0aGUgc291cmNlIGltYWdlXG4gKiBAcmV0dXJucyB0aGUgc2FuaXRpemVkIG5hbWUgYW5kIGV4dGVuc2lvblxuICovXG5jb25zdCBnZXRTYW5pdGl6ZWRJbWFnZURhdGEgPSAoc291cmNlSW1hZ2U6IHN0cmluZyk6IFNhbml0aXplZEltYWdlRGF0YSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHNvdXJjZUltYWdlLnNwbGl0KCcuJykucG9wKClcbiAgY29uc3QgbmFtZSA9IHNhbml0aXplKHNvdXJjZUltYWdlLnN1YnN0cmluZygwLCBzb3VyY2VJbWFnZS5sYXN0SW5kZXhPZignLicpKSB8fCBzb3VyY2VJbWFnZSlcbiAgcmV0dXJuIHsgbmFtZSwgZXh0OiBleHRlbnNpb24gfVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBpbWFnZSBuYW1lIGJhc2VkIG9uIHRoZSBvdXRwdXQgaW1hZ2UgbmFtZSwgdGhlIGRpbWVuc2lvbnMgYW5kXG4gKiB0aGUgZXh0ZW5zaW9uLlxuICpcbiAqIElnbm9yZSB0aGUgZmFjdCB0aGF0IGR1cGxpY2F0ZSBuYW1lcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHRoZXJlIGlzIG9uZVxuICogc2l6ZSB3aXRoIGB3aWR0aCBBTkQgaGVpZ2h0YCBhbmQgb25lIHdpdGggb25seSBgaGVpZ2h0IE9SIHdpZHRoYC4gQmVjYXVzZVxuICogc3BhY2UgaXMgZXhwZW5zaXZlLCB3ZSB3aWxsIHJldXNlIHRoZSBzYW1lIGltYWdlIGZvciBib3RoIHNpemVzLlxuICpcbiAqIEBwYXJhbSBvdXRwdXRJbWFnZU5hbWUgLSB0aGUgc2FuaXRpemVkIGltYWdlIG5hbWVcbiAqIEBwYXJhbSBidWZmZXJJbmZvIC0gdGhlIGJ1ZmZlciBpbmZvXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIC0gdGhlIGV4dGVuc2lvbiB0byB1c2VcbiAqIEByZXR1cm5zIHRoZSBuZXcgaW1hZ2UgbmFtZSB0aGF0IGlzIG5vdCB0YWtlblxuICovXG5jb25zdCBjcmVhdGVJbWFnZU5hbWUgPSAoXG4gIG91dHB1dEltYWdlTmFtZTogc3RyaW5nLFxuICB7IGhlaWdodCwgd2lkdGggfTogT3V0cHV0SW5mbyxcbiAgZXh0ZW5zaW9uOiBzdHJpbmcsXG4pID0+IGAke291dHB1dEltYWdlTmFtZX0tJHt3aWR0aH14JHtoZWlnaHR9LiR7ZXh0ZW5zaW9ufWBcblxuLyoqXG4gKiBDcmVhdGUgdGhlIHJlc3VsdCBvYmplY3QgZm9yIHRoZSBpbWFnZSByZXNpemUgb3BlcmF0aW9uIGJhc2VkIG9uIHRoZVxuICogcHJvdmlkZWQgcGFyYW1ldGVycy4gSWYgdGhlIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBhbiBlbXB0eSByZXN1bHQgb2JqZWN0XG4gKiBpcyByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gbmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHdpZHRoIC0gdGhlIHdpZHRoIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIGhlaWdodCAtIHRoZSBoZWlnaHQgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gZmlsZXNpemUgLSB0aGUgZmlsZXNpemUgb2YgdGhlIGltYWdlXG4gKiBAcGFyYW0gbWltZVR5cGUgLSB0aGUgbWltZSB0eXBlIG9mIHRoZSBpbWFnZVxuICogQHBhcmFtIHNpemVzVG9TYXZlIC0gdGhlIHNpemVzIHRvIHNhdmVcbiAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0XG4gKi9cbmNvbnN0IGNyZWF0ZVJlc3VsdCA9IChcbiAgbmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogRmlsZVNpemVbJ2ZpbGVuYW1lJ10gPSBudWxsLFxuICB3aWR0aDogRmlsZVNpemVbJ3dpZHRoJ10gPSBudWxsLFxuICBoZWlnaHQ6IEZpbGVTaXplWydoZWlnaHQnXSA9IG51bGwsXG4gIGZpbGVzaXplOiBGaWxlU2l6ZVsnZmlsZXNpemUnXSA9IG51bGwsXG4gIG1pbWVUeXBlOiBGaWxlU2l6ZVsnbWltZVR5cGUnXSA9IG51bGwsXG4gIHNpemVzVG9TYXZlOiBGaWxlVG9TYXZlW10gPSBbXSxcbik6IEltYWdlU2l6ZXNSZXN1bHQgPT4gKHtcbiAgc2l6ZURhdGE6IHtcbiAgICBbbmFtZV06IHtcbiAgICAgIGZpbGVuYW1lLFxuICAgICAgZmlsZXNpemUsXG4gICAgICBoZWlnaHQsXG4gICAgICBtaW1lVHlwZSxcbiAgICAgIHdpZHRoLFxuICAgIH0sXG4gIH0sXG4gIHNpemVzVG9TYXZlLFxufSlcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgaW1hZ2UgbmVlZHMgdG8gYmUgcmVzaXplZCBhY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zXG4gKiBhbmQgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuIElmIHRoZSByZXNpemUgb3B0aW9ucyB3aXRob3V0RW5sYXJnZW1lbnQgb3Igd2l0aG91dFJlZHVjdGlvbiBhcmUgcHJvdmlkZWQsXG4gKiB0aGUgaW1hZ2Ugd2lsbCBiZSByZXNpemVkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zLCBnaXZlbiB0aGF0IHRoZVxuICogd2lkdGggb3IgaGVpZ2h0IHRvIGJlIHJlc2l6ZWQgaXMgcHJvdmlkZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgZGltZW5zaW9ucyBhbmQgcmVzaXplIG9wdGlvbnNcbiAqIEBwYXJhbSBvcmlnaW5hbCAtIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplXG4gKiBAcmV0dXJucyB0cnVlIGlmIHJlc2l6aW5nIGlzIG5vdCBuZWVkZWQsIGZhbHNlIG90aGVyd2lzZVxuICovXG5jb25zdCBwcmV2ZW50UmVzaXplID0gKFxuICB7IGhlaWdodDogZGVzaXJlZEhlaWdodCwgd2lkdGg6IGRlc2lyZWRXaWR0aCwgd2l0aG91dEVubGFyZ2VtZW50LCB3aXRob3V0UmVkdWN0aW9uIH06IEltYWdlU2l6ZSxcbiAgb3JpZ2luYWw6IFByb2JlZEltYWdlU2l6ZSxcbik6IGJvb2xlYW4gPT4ge1xuICAvLyBkZWZhdWx0IGlzIHRvIGFsbG93IHJlZHVjdGlvblxuICBpZiAod2l0aG91dFJlZHVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgLy8gZGVmYXVsdCBpcyB0byBwcmV2ZW50IGVubGFyZ2VtZW50XG4gIGlmICh3aXRob3V0RW5sYXJnZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZSAvLyBuZWVkcyByZXNpemVcbiAgfVxuXG4gIGNvbnN0IGlzV2lkdGhPckhlaWdodE5vdERlZmluZWQgPSAhZGVzaXJlZEhlaWdodCB8fCAhZGVzaXJlZFdpZHRoXG4gIGlmIChpc1dpZHRoT3JIZWlnaHROb3REZWZpbmVkKSB7XG4gICAgLy8gSWYgd2lkdGggYW5kIGhlaWdodCBhcmUgbm90IGRlZmluZWQsIGl0IG1lYW5zIHRoZXJlIGlzIGEgZm9ybWF0IGNvbnZlcnNpb25cbiAgICAvLyBhbmQgdGhlIGltYWdlIG5lZWRzIHRvIGJlIFwicmVzaXplZFwiICh0cmFuc2Zvcm1lZCkuXG4gICAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxuICB9XG5cbiAgY29uc3QgaGFzSW5zdWZmaWNpZW50V2lkdGggPSBkZXNpcmVkV2lkdGggPiBvcmlnaW5hbC53aWR0aFxuICBjb25zdCBoYXNJbnN1ZmZpY2llbnRIZWlnaHQgPSBkZXNpcmVkSGVpZ2h0ID4gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChoYXNJbnN1ZmZpY2llbnRXaWR0aCAmJiBoYXNJbnN1ZmZpY2llbnRIZWlnaHQpIHtcbiAgICAvLyBkb2Vzbid0IG5lZWQgcmVzaXplIC0gcHJldmVudCBlbmxhcmdlbWVudC4gVGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgYm90aCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBpbnN1ZmZpY2llbnQuXG4gICAgLy8gaWYgb25seSBvbmUgZGltZW5zaW9uIGlzIGluc3VmZmljaWVudCBhbmQgdGhlIG90aGVyIGlzIHN1ZmZpY2llbnQsIHJlc2l6aW5nIG5lZWRzIHRvIGhhcHBlbiwgYXMgdGhlIGltYWdlXG4gICAgLy8gc2hvdWxkIGJlIHJlc2l6ZWQgdG8gdGhlIHN1ZmZpY2llbnQgZGltZW5zaW9uLlxuICAgIHJldHVybiB0cnVlIC8vIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2l6ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlIC8vIG5lZWRzIHJlc2l6ZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBpbWFnZSBzaG91bGQgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIHNoYXJwIHdpdGhvdXQgcGF5bG9hZCBhZGp1c3RpbmcgcHJvcGVydGllcy5cbiAqXG4gKiBAcGFyYW0gcmVzaXplQ29uZmlnIC0gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVlc3RlZCBkaW1lbnNpb25zIGFuZCByZXNpemUgb3B0aW9uc1xuICogQHBhcmFtIG9yaWdpbmFsIC0gdGhlIG9yaWdpbmFsIGltYWdlIHNpemVcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGltYWdlIHNob3VsZCBwYXNzZWQgZGlyZWN0bHkgdG8gc2hhcnBcbiAqL1xuY29uc3QgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMgPSAoXG4gIHsgZml0LCBoZWlnaHQsIHdpZHRoLCB3aXRob3V0RW5sYXJnZW1lbnQsIHdpdGhvdXRSZWR1Y3Rpb24gfTogSW1hZ2VTaXplLFxuICBvcmlnaW5hbDogUHJvYmVkSW1hZ2VTaXplLFxuKSA9PiB7XG4gIGlmIChmaXQgPT09ICdjb250YWluJyB8fCBmaXQgPT09ICdpbnNpZGUnKSByZXR1cm4gZmFsc2VcbiAgaWYgKCFpc051bWJlcihoZWlnaHQpICYmICFpc051bWJlcih3aWR0aCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHRhcmdldEFzcGVjdFJhdGlvID0gd2lkdGggLyBoZWlnaHRcbiAgY29uc3Qgb3JpZ2luYWxBc3BlY3RSYXRpbyA9IG9yaWdpbmFsLndpZHRoIC8gb3JpZ2luYWwuaGVpZ2h0XG4gIGlmIChvcmlnaW5hbEFzcGVjdFJhdGlvID09PSB0YXJnZXRBc3BlY3RSYXRpbykgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qgc2tpcEVubGFyZ2VtZW50ID0gd2l0aG91dEVubGFyZ2VtZW50ICYmIChvcmlnaW5hbC5oZWlnaHQgPCBoZWlnaHQgfHwgb3JpZ2luYWwud2lkdGggPCB3aWR0aClcbiAgY29uc3Qgc2tpcFJlZHVjdGlvbiA9IHdpdGhvdXRSZWR1Y3Rpb24gJiYgKG9yaWdpbmFsLmhlaWdodCA+IGhlaWdodCB8fCBvcmlnaW5hbC53aWR0aCA+IHdpZHRoKVxuICBpZiAoc2tpcEVubGFyZ2VtZW50IHx8IHNraXBSZWR1Y3Rpb24pIHJldHVybiBmYWxzZVxuXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogU2FuaXRpemUgdGhlIHJlc2l6ZSBjb25maWcuIElmIHRoZSByZXNpemUgY29uZmlnIGhhcyB0aGUgYHdpdGhvdXRSZWR1Y3Rpb25gXG4gKiBwcm9wZXJ0eSBzZXQgdG8gdHJ1ZSwgdGhlIGBmaXRgIGFuZCBgcG9zaXRpb25gIHByb3BlcnRpZXMgd2lsbCBiZSBzZXQgdG8gYGNvbnRhaW5gXG4gKiBhbmQgYHRvcCBsZWZ0YCByZXNwZWN0aXZlbHkuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyBhIHNhbml0aXplZCByZXNpemUgY29uZmlnXG4gKi9cbmNvbnN0IHNhbml0aXplUmVzaXplQ29uZmlnID0gKHJlc2l6ZUNvbmZpZzogSW1hZ2VTaXplKTogSW1hZ2VTaXplID0+IHtcbiAgaWYgKHJlc2l6ZUNvbmZpZy53aXRob3V0UmVkdWN0aW9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc2l6ZUNvbmZpZyxcbiAgICAgIC8vIFdoeSBmaXQgYGNvbnRhaW5gIHNob3VsZCBhbHNvIGJlIHNldCB0byBodHRwczovL2dpdGh1Yi5jb20vbG92ZWxsL3NoYXJwL2lzc3Vlcy8zNTk1XG4gICAgICBmaXQ6IHJlc2l6ZUNvbmZpZz8uZml0IHx8ICdjb250YWluJyxcbiAgICAgIHBvc2l0aW9uOiByZXNpemVDb25maWc/LnBvc2l0aW9uIHx8ICdsZWZ0IHRvcCcsXG4gICAgfVxuICB9XG4gIHJldHVybiByZXNpemVDb25maWdcbn1cblxuLyoqXG4gKiBGb3IgdGhlIHByb3ZpZGVkIGltYWdlIHNpemVzLCBoYW5kbGUgdGhlIHJlc2l6aW5nIGFuZCB0aGUgdHJhbnNmb3Jtc1xuICogKGZvcm1hdCwgdHJpbSwgZXRjLikgb2YgZWFjaCByZXF1ZXN0ZWQgaW1hZ2Ugc2l6ZSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2JqZWN0LlxuICogVGhpcyBvbmx5IGhhbmRsZXMgdGhlIGltYWdlIHNpemVzLiBUaGUgdHJhbnNmb3JtcyBvZiB0aGUgb3JpZ2luYWwgaW1hZ2VcbiAqIGFyZSBoYW5kbGVkIGluIHtAbGluayAuL2dlbmVyYXRlRmlsZURhdGEudHN9LlxuICpcbiAqIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZFxuICogcmVzaXplIGNvbmZpZy4gSWYgbm8gaW1hZ2Ugc2l6ZXMgYXJlIHJlcXVlc3RlZCwgdGhlIHJlc29sdmVkIGRhdGEgd2lsbCBiZSBlbXB0eS5cbiAqIEZvciBldmVyeSBpbWFnZSB0aGF0IGRvcyBub3QgbmVlZCB0byBiZSByZXNpemVkLCBhbiByZXN1bHQgb2JqZWN0IHdpdGggYG51bGxgXG4gKiBwYXJhbWV0ZXJzIHdpbGwgYmUgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHJlc2l6ZUNvbmZpZyAtIHRoZSByZXNpemUgY29uZmlnXG4gKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSByZXNpemUgb3BlcmF0aW9uKHMpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICBjb25maWcsXG4gIGRpbWVuc2lvbnMsXG4gIGZpbGUsXG4gIG1pbWVUeXBlLFxuICByZXEsXG4gIHNhdmVkRmlsZW5hbWUsXG4gIHNoYXJwLFxuICBzdGF0aWNQYXRoLFxufTogUmVzaXplQXJncyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4ge1xuICBjb25zdCB7IGltYWdlU2l6ZXMgfSA9IGNvbmZpZy51cGxvYWRcbiAgLy8gTm90aW5nIHRvIHJlc2l6ZSBoZXJlIHNvIHJldHVybiBhcyBlYXJseSBhcyBwb3NzaWJsZVxuICBpZiAoIWltYWdlU2l6ZXMpIHJldHVybiB7IHNpemVEYXRhOiB7fSwgc2l6ZXNUb1NhdmU6IFtdIH1cblxuICBjb25zdCBzaGFycEJhc2UgPSBzaGFycChmaWxlLnRlbXBGaWxlUGF0aCB8fCBmaWxlLmRhdGEpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuXG4gIGNvbnN0IHJlc3VsdHM6IEltYWdlU2l6ZXNSZXN1bHRbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGltYWdlU2l6ZXMubWFwKGFzeW5jIChpbWFnZVJlc2l6ZUNvbmZpZyk6IFByb21pc2U8SW1hZ2VTaXplc1Jlc3VsdD4gPT4ge1xuICAgICAgaW1hZ2VSZXNpemVDb25maWcgPSBzYW5pdGl6ZVJlc2l6ZUNvbmZpZyhpbWFnZVJlc2l6ZUNvbmZpZylcblxuICAgICAgLy8gVGhpcyBjaGVja3MgaWYgYSByZXNpemUgc2hvdWxkIGhhcHBlbi4gSWYgbm90LCB0aGUgcmVzaXplZCBpbWFnZSB3aWxsIGJlXG4gICAgICAvLyBza2lwcGVkIENPTVBMRVRFTFkgYW5kIHRodXMgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBpbWFnZXMuXG4gICAgICAvLyBBbGwgZnVydGhlciBmb3JtYXQvdHJpbSBvcHRpb25zIHdpbGwgdGh1cyBiZSBza2lwcGVkIGFzIHdlbGwuXG4gICAgICBpZiAocHJldmVudFJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZywgZGltZW5zaW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJlc3VsdChpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVRvUmVzaXplID0gc2hhcnBCYXNlLmNsb25lKClcbiAgICAgIGxldCByZXNpemVkID0gaW1hZ2VUb1Jlc2l6ZVxuXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5xdWVyeT8udXBsb2FkRWRpdHM/LmZvY2FsUG9pbnQgJiZcbiAgICAgICAgYXBwbHlQYXlsb2FkQWRqdXN0bWVudHMoaW1hZ2VSZXNpemVDb25maWcsIGRpbWVuc2lvbnMpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBoZWlnaHQ6IHJlc2l6ZUhlaWdodCwgd2lkdGg6IHJlc2l6ZVdpZHRoIH0gPSBpbWFnZVJlc2l6ZUNvbmZpZ1xuICAgICAgICBjb25zdCByZXNpemVBc3BlY3RSYXRpbyA9IHJlc2l6ZVdpZHRoIC8gcmVzaXplSGVpZ2h0XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQXNwZWN0UmF0aW8gPSBkaW1lbnNpb25zLndpZHRoIC8gZGltZW5zaW9ucy5oZWlnaHRcbiAgICAgICAgY29uc3QgcHJpb3JpdGl6ZUhlaWdodCA9IHJlc2l6ZUFzcGVjdFJhdGlvIDwgb3JpZ2luYWxBc3BlY3RSYXRpb1xuXG4gICAgICAgIC8vIFNjYWxlIHRoZSBpbWFnZSB1cCBvciBkb3duIHRvIGZpdCB0aGUgcmVzaXplIGRpbWVuc2lvbnNcbiAgICAgICAgY29uc3Qgc2NhbGVkSW1hZ2UgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBwcmlvcml0aXplSGVpZ2h0ID8gcmVzaXplSGVpZ2h0IDogbnVsbCxcbiAgICAgICAgICB3aWR0aDogcHJpb3JpdGl6ZUhlaWdodCA/IG51bGwgOiByZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgICAgY29uc3QgeyBpbmZvOiBzY2FsZWRJbWFnZUluZm8gfSA9IGF3YWl0IHNjYWxlZEltYWdlLnRvQnVmZmVyKHsgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUgfSlcblxuICAgICAgICAvLyBGb2NhbCBwb2ludCBhZGp1c3RtZW50c1xuICAgICAgICBjb25zdCBmb2NhbFBvaW50ID0ge1xuICAgICAgICAgIHg6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py54KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC54XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICAgIHk6IGlzTnVtYmVyKHJlcS5xdWVyeS51cGxvYWRFZGl0cy5mb2NhbFBvaW50Py55KVxuICAgICAgICAgICAgPyByZXEucXVlcnkudXBsb2FkRWRpdHMuZm9jYWxQb2ludC55XG4gICAgICAgICAgICA6IDUwLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZVdpZHRoID0gcmVzaXplV2lkdGggPz8gc2NhbGVkSW1hZ2VJbmZvLndpZHRoXG4gICAgICAgIGNvbnN0IG1heE9mZnNldFggPSBzY2FsZWRJbWFnZUluZm8ud2lkdGggLSBzYWZlUmVzaXplV2lkdGhcbiAgICAgICAgY29uc3QgbGVmdEZvY2FsRWRnZSA9IE1hdGgucm91bmQoXG4gICAgICAgICAgc2NhbGVkSW1hZ2VJbmZvLndpZHRoICogKGZvY2FsUG9pbnQueCAvIDEwMCkgLSBzYWZlUmVzaXplV2lkdGggLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRYID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbGVmdEZvY2FsRWRnZSksIG1heE9mZnNldFgpXG5cbiAgICAgICAgY29uc3Qgc2FmZVJlc2l6ZUhlaWdodCA9IHJlc2l6ZUhlaWdodCA/PyBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0XG4gICAgICAgIGNvbnN0IG1heE9mZnNldFkgPSBzY2FsZWRJbWFnZUluZm8uaGVpZ2h0IC0gc2FmZVJlc2l6ZUhlaWdodFxuICAgICAgICBjb25zdCB0b3BGb2NhbEVkZ2UgPSBNYXRoLnJvdW5kKFxuICAgICAgICAgIHNjYWxlZEltYWdlSW5mby5oZWlnaHQgKiAoZm9jYWxQb2ludC55IC8gMTAwKSAtIHNhZmVSZXNpemVIZWlnaHQgLyAyLFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHNhZmVPZmZzZXRZID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgdG9wRm9jYWxFZGdlKSwgbWF4T2Zmc2V0WSlcblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBmb2NhbCBhcmVhIGZyb20gdGhlIHNjYWxlZCBpbWFnZVxuICAgICAgICByZXNpemVkID0gc2NhbGVkSW1hZ2UuZXh0cmFjdCh7XG4gICAgICAgICAgaGVpZ2h0OiBzYWZlUmVzaXplSGVpZ2h0LFxuICAgICAgICAgIGxlZnQ6IHNhZmVPZmZzZXRYLFxuICAgICAgICAgIHRvcDogc2FmZU9mZnNldFksXG4gICAgICAgICAgd2lkdGg6IHNhZmVSZXNpemVXaWR0aCxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc2l6ZWQgPSBpbWFnZVRvUmVzaXplLnJlc2l6ZShpbWFnZVJlc2l6ZUNvbmZpZylcbiAgICAgIH1cblxuICAgICAgaWYgKGltYWdlUmVzaXplQ29uZmlnLmZvcm1hdE9wdGlvbnMpIHtcbiAgICAgICAgcmVzaXplZCA9IHJlc2l6ZWQudG9Gb3JtYXQoXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5mb3JtYXQsXG4gICAgICAgICAgaW1hZ2VSZXNpemVDb25maWcuZm9ybWF0T3B0aW9ucy5vcHRpb25zLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIGlmIChpbWFnZVJlc2l6ZUNvbmZpZy50cmltT3B0aW9ucykge1xuICAgICAgICByZXNpemVkID0gcmVzaXplZC50cmltKGltYWdlUmVzaXplQ29uZmlnLnRyaW1PcHRpb25zKVxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGRhdGE6IGJ1ZmZlckRhdGEsIGluZm86IGJ1ZmZlckluZm8gfSA9IGF3YWl0IHJlc2l6ZWQudG9CdWZmZXIoe1xuICAgICAgICByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHNhbml0aXplZEltYWdlID0gZ2V0U2FuaXRpemVkSW1hZ2VEYXRhKHNhdmVkRmlsZW5hbWUpXG5cbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXNbaW1hZ2VSZXNpemVDb25maWcubmFtZV0gPSBidWZmZXJEYXRhXG5cbiAgICAgIGNvbnN0IG1pbWVJbmZvID0gYXdhaXQgZnJvbUJ1ZmZlcihidWZmZXJEYXRhKVxuXG4gICAgICBjb25zdCBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyA9IGNyZWF0ZUltYWdlTmFtZShcbiAgICAgICAgc2FuaXRpemVkSW1hZ2UubmFtZSxcbiAgICAgICAgYnVmZmVySW5mbyxcbiAgICAgICAgbWltZUluZm8/LmV4dCB8fCBzYW5pdGl6ZWRJbWFnZS5leHQsXG4gICAgICApXG5cbiAgICAgIGNvbnN0IGltYWdlUGF0aCA9IGAke3N0YXRpY1BhdGh9LyR7aW1hZ2VOYW1lV2l0aERpbWVuc2lvbnN9YFxuXG4gICAgICBpZiAoYXdhaXQgZmlsZUV4aXN0cyhpbWFnZVBhdGgpKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZnMudW5saW5rU3luYyhpbWFnZVBhdGgpXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIElnbm9yZSB1bmxpbmsgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBoZWlnaHQsIHNpemUsIHdpZHRoIH0gPSBidWZmZXJJbmZvXG4gICAgICByZXR1cm4gY3JlYXRlUmVzdWx0KFxuICAgICAgICBpbWFnZVJlc2l6ZUNvbmZpZy5uYW1lLFxuICAgICAgICBpbWFnZU5hbWVXaXRoRGltZW5zaW9ucyxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbWltZUluZm8/Lm1pbWUgfHwgbWltZVR5cGUsXG4gICAgICAgIFt7IGJ1ZmZlcjogYnVmZmVyRGF0YSwgcGF0aDogaW1hZ2VQYXRoIH1dLFxuICAgICAgKVxuICAgIH0pLFxuICApXG5cbiAgcmV0dXJuIHJlc3VsdHMucmVkdWNlKFxuICAgIChhY2MsIHJlc3VsdCkgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY2Muc2l6ZURhdGEsIHJlc3VsdC5zaXplRGF0YSlcbiAgICAgIGFjYy5zaXplc1RvU2F2ZS5wdXNoKC4uLnJlc3VsdC5zaXplc1RvU2F2ZSlcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHsgc2l6ZURhdGE6IHt9LCBzaXplc1RvU2F2ZTogW10gfSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJnZXRTYW5pdGl6ZWRJbWFnZURhdGEiLCJzb3VyY2VJbWFnZSIsImV4dGVuc2lvbiIsInNwbGl0IiwicG9wIiwibmFtZSIsInNhbml0aXplIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJleHQiLCJjcmVhdGVJbWFnZU5hbWUiLCJvdXRwdXRJbWFnZU5hbWUiLCJoZWlnaHQiLCJ3aWR0aCIsImNyZWF0ZVJlc3VsdCIsImZpbGVuYW1lIiwiZmlsZXNpemUiLCJtaW1lVHlwZSIsInNpemVzVG9TYXZlIiwic2l6ZURhdGEiLCJwcmV2ZW50UmVzaXplIiwiZGVzaXJlZEhlaWdodCIsImRlc2lyZWRXaWR0aCIsIndpdGhvdXRFbmxhcmdlbWVudCIsIndpdGhvdXRSZWR1Y3Rpb24iLCJvcmlnaW5hbCIsInVuZGVmaW5lZCIsImlzV2lkdGhPckhlaWdodE5vdERlZmluZWQiLCJoYXNJbnN1ZmZpY2llbnRXaWR0aCIsImhhc0luc3VmZmljaWVudEhlaWdodCIsImFwcGx5UGF5bG9hZEFkanVzdG1lbnRzIiwiZml0IiwiaXNOdW1iZXIiLCJ0YXJnZXRBc3BlY3RSYXRpbyIsIm9yaWdpbmFsQXNwZWN0UmF0aW8iLCJza2lwRW5sYXJnZW1lbnQiLCJza2lwUmVkdWN0aW9uIiwic2FuaXRpemVSZXNpemVDb25maWciLCJyZXNpemVDb25maWciLCJwb3NpdGlvbiIsImNvbmZpZyIsImRpbWVuc2lvbnMiLCJmaWxlIiwicmVxIiwic2F2ZWRGaWxlbmFtZSIsInNoYXJwIiwic3RhdGljUGF0aCIsImltYWdlU2l6ZXMiLCJ1cGxvYWQiLCJzaGFycEJhc2UiLCJ0ZW1wRmlsZVBhdGgiLCJkYXRhIiwicm90YXRlIiwicmVzdWx0cyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJpbWFnZVJlc2l6ZUNvbmZpZyIsImltYWdlVG9SZXNpemUiLCJjbG9uZSIsInJlc2l6ZWQiLCJxdWVyeSIsInVwbG9hZEVkaXRzIiwiZm9jYWxQb2ludCIsInJlc2l6ZUhlaWdodCIsInJlc2l6ZVdpZHRoIiwicmVzaXplQXNwZWN0UmF0aW8iLCJwcmlvcml0aXplSGVpZ2h0Iiwic2NhbGVkSW1hZ2UiLCJyZXNpemUiLCJpbmZvIiwic2NhbGVkSW1hZ2VJbmZvIiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsIngiLCJ5Iiwic2FmZVJlc2l6ZVdpZHRoIiwibWF4T2Zmc2V0WCIsImxlZnRGb2NhbEVkZ2UiLCJNYXRoIiwicm91bmQiLCJzYWZlT2Zmc2V0WCIsIm1pbiIsIm1heCIsInNhZmVSZXNpemVIZWlnaHQiLCJtYXhPZmZzZXRZIiwidG9wRm9jYWxFZGdlIiwic2FmZU9mZnNldFkiLCJleHRyYWN0IiwibGVmdCIsInRvcCIsImZvcm1hdE9wdGlvbnMiLCJ0b0Zvcm1hdCIsImZvcm1hdCIsIm9wdGlvbnMiLCJ0cmltT3B0aW9ucyIsInRyaW0iLCJidWZmZXJEYXRhIiwiYnVmZmVySW5mbyIsInNhbml0aXplZEltYWdlIiwicGF5bG9hZFVwbG9hZFNpemVzIiwibWltZUluZm8iLCJmcm9tQnVmZmVyIiwiaW1hZ2VOYW1lV2l0aERpbWVuc2lvbnMiLCJpbWFnZVBhdGgiLCJmaWxlRXhpc3RzIiwiZnMiLCJ1bmxpbmtTeW5jIiwic2l6ZSIsIm1pbWUiLCJidWZmZXIiLCJwYXRoIiwicmVkdWNlIiwiYWNjIiwicmVzdWx0IiwiT2JqZWN0IiwiYXNzaWduIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvTUE7Ozs7Ozs7Ozs7Ozs7Q0FhQyxHQUNEOzs7ZUFBOEJBOzs7MEJBL01IOzJEQUNaO3lFQUNNOzBCQVFJO21FQUNGOzs7Ozs7QUE0QnZCOzs7OztDQUtDLEdBQ0QsTUFBTUMsd0JBQXdCLENBQUNDO0lBQzdCLE1BQU1DLFlBQVlELFlBQVlFLEtBQUssQ0FBQyxLQUFLQyxHQUFHO0lBQzVDLE1BQU1DLE9BQU9DLElBQUFBLHlCQUFRLEVBQUNMLFlBQVlNLFNBQVMsQ0FBQyxHQUFHTixZQUFZTyxXQUFXLENBQUMsU0FBU1A7SUFDaEYsT0FBTztRQUFFSTtRQUFNSSxLQUFLUDtJQUFVO0FBQ2hDO0FBRUE7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsTUFBTVEsa0JBQWtCLENBQ3RCQyxpQkFDQSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBYyxFQUM3QlgsWUFDRyxDQUFDLEVBQUVTLGdCQUFnQixDQUFDLEVBQUVFLE1BQU0sQ0FBQyxFQUFFRCxPQUFPLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utilities/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,UAAU,MAAM,aAAa,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAA;AAQvC,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,aAKvC,CAAA;AAED,eAAO,MAAM,2BAA2B,yBAItC,CAAA;AAEF,QAAA,MAAM,SAAS,4BAEH,KAAK,aAAa,gBACd,KAAK,iBAAiB,KACnC,aAQA,CAAA;AAEH,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utilities/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,UAAU,MAAM,aAAa,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAA;AAQvC,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,aAKvC,CAAA;AAED,eAAO,MAAM,2BAA2B,yBAItC,CAAA;AAEF,QAAA,MAAM,SAAS,4BAEH,KAAK,aAAa,gBACd,KAAK,iBAAiB,KACnC,aAaF,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -42,11 +42,16 @@ const prettySyncLoggerDestination = (0, _pinopretty.default)({
42
42
  destination: 1,
43
43
  sync: true
44
44
  });
45
- const getLogger = (name = 'payload', options, destination)=>(0, _pino.default)({
46
- name: options?.name || name,
47
- enabled: process.env.DISABLE_LOGGING !== 'true',
48
- ...options || defaultLoggerOptions
49
- }, destination);
45
+ const getLogger = (name = 'payload', options, destination)=>{
46
+ if (options) {
47
+ return (0, _pino.default)({
48
+ name: options?.name || name,
49
+ enabled: process.env.DISABLE_LOGGING !== 'true',
50
+ ...options || defaultLoggerOptions
51
+ }, destination);
52
+ }
53
+ return (0, _pino.default)(prettySyncLoggerDestination);
54
+ };
50
55
  const _default = getLogger;
51
56
 
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaW5vIGZyb20gJ3Bpbm8nXG5pbXBvcnQgcHJldHRpZmllciBmcm9tICdwaW5vLXByZXR0eSdcblxuZXhwb3J0IHR5cGUgUGF5bG9hZExvZ2dlciA9IHBpbm8uTG9nZ2VyXG5cbmNvbnN0IHByZXR0eU9wdGlvbnMgPSB7XG4gIGNvbG9yaXplOiB0cnVlLFxuICBpZ25vcmU6ICdwaWQsaG9zdG5hbWUnLFxuICB0cmFuc2xhdGVUaW1lOiAnU1lTOkhIOk1NOnNzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2dnZXJPcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG4gIHRyYW5zcG9ydDoge1xuICAgIG9wdGlvbnM6IHByZXR0eU9wdGlvbnMsXG4gICAgdGFyZ2V0OiAncGluby1wcmV0dHknLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgcHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uID0gcHJldHRpZmllcih7XG4gIC4uLnByZXR0eU9wdGlvbnMsXG4gIGRlc3RpbmF0aW9uOiAxLCAvLyBzdGRvdXRcbiAgc3luYzogdHJ1ZSxcbn0pXG5cbmNvbnN0IGdldExvZ2dlciA9IChcbiAgbmFtZSA9ICdwYXlsb2FkJyxcbiAgb3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucyxcbiAgZGVzdGluYXRpb24/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtLFxuKTogUGF5bG9hZExvZ2dlciA9PlxuICBwaW5vKFxuICAgIHtcbiAgICAgIG5hbWU6IG9wdGlvbnM/Lm5hbWUgfHwgbmFtZSxcbiAgICAgIGVuYWJsZWQ6IHByb2Nlc3MuZW52LkRJU0FCTEVfTE9HR0lORyAhPT0gJ3RydWUnLFxuICAgICAgLi4uKG9wdGlvbnMgfHwgZGVmYXVsdExvZ2dlck9wdGlvbnMpLFxuICAgIH0sXG4gICAgZGVzdGluYXRpb24sXG4gIClcblxuZXhwb3J0IGRlZmF1bHQgZ2V0TG9nZ2VyXG4iXSwibmFtZXMiOlsiZGVmYXVsdExvZ2dlck9wdGlvbnMiLCJwcmV0dHlTeW5jTG9nZ2VyRGVzdGluYXRpb24iLCJwcmV0dHlPcHRpb25zIiwiY29sb3JpemUiLCJpZ25vcmUiLCJ0cmFuc2xhdGVUaW1lIiwidHJhbnNwb3J0Iiwib3B0aW9ucyIsInRhcmdldCIsInByZXR0aWZpZXIiLCJkZXN0aW5hdGlvbiIsInN5bmMiLCJnZXRMb2dnZXIiLCJuYW1lIiwicGlubyIsImVuYWJsZWQiLCJwcm9jZXNzIiwiZW52IiwiRElTQUJMRV9MT0dHSU5HIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNDQSxPQUF3QjtlQUF4Qjs7SUEzQmFBLG9CQUFvQjtlQUFwQkE7O0lBT0FDLDJCQUEyQjtlQUEzQkE7Ozs2REFsQkk7bUVBQ007Ozs7OztBQUl2QixNQUFNQyxnQkFBZ0I7SUFDcEJDLFVBQVU7SUFDVkMsUUFBUTtJQUNSQyxlQUFlO0FBQ2pCO0FBRU8sTUFBTUwsdUJBQTJDO0lBQ3RETSxXQUFXO1FBQ1RDLFNBQVNMO1FBQ1RNLFFBQVE7SUFDVjtBQUNGO0FBRU8sTUFBTVAsOEJBQThCUSxJQUFBQSxtQkFBVSxFQUFDO0lBQ3BELEdBQUdQLGFBQWE7SUFDaEJRLGFBQWE7SUFDYkMsTUFBTTtBQUNSO0FBRUEsTUFBTUMsWUFBWSxDQUNoQkMsT0FBTyxTQUFTLEVBQ2hCTixTQUNBRyxjQUVBSSxJQUFBQSxhQUFJLEVBQ0Y7UUFDRUQsTUFBTU4sU0FBU00sUUFBUUE7UUFDdkJFLFNBQVNDLFFBQVFDLEdBQUcsQ0FBQ0MsZUFBZSxLQUFLO1FBQ3pDLEdBQUlYLFdBQVdQLG9CQUFvQjtJQUNyQyxHQUNBVTtNQUdKLFdBQWVFIn0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaW5vIGZyb20gJ3Bpbm8nXG5pbXBvcnQgcHJldHRpZmllciBmcm9tICdwaW5vLXByZXR0eSdcblxuZXhwb3J0IHR5cGUgUGF5bG9hZExvZ2dlciA9IHBpbm8uTG9nZ2VyXG5cbmNvbnN0IHByZXR0eU9wdGlvbnMgPSB7XG4gIGNvbG9yaXplOiB0cnVlLFxuICBpZ25vcmU6ICdwaWQsaG9zdG5hbWUnLFxuICB0cmFuc2xhdGVUaW1lOiAnU1lTOkhIOk1NOnNzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2dnZXJPcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG4gIHRyYW5zcG9ydDoge1xuICAgIG9wdGlvbnM6IHByZXR0eU9wdGlvbnMsXG4gICAgdGFyZ2V0OiAncGluby1wcmV0dHknLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgcHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uID0gcHJldHRpZmllcih7XG4gIC4uLnByZXR0eU9wdGlvbnMsXG4gIGRlc3RpbmF0aW9uOiAxLCAvLyBzdGRvdXRcbiAgc3luYzogdHJ1ZSxcbn0pXG5cbmNvbnN0IGdldExvZ2dlciA9IChcbiAgbmFtZSA9ICdwYXlsb2FkJyxcbiAgb3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucyxcbiAgZGVzdGluYXRpb24/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtLFxuKTogUGF5bG9hZExvZ2dlciA9PiB7XG4gIGlmIChvcHRpb25zKSB7XG4gICAgcmV0dXJuIHBpbm8oXG4gICAgICB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnM/Lm5hbWUgfHwgbmFtZSxcbiAgICAgICAgZW5hYmxlZDogcHJvY2Vzcy5lbnYuRElTQUJMRV9MT0dHSU5HICE9PSAndHJ1ZScsXG4gICAgICAgIC4uLihvcHRpb25zIHx8IGRlZmF1bHRMb2dnZXJPcHRpb25zKSxcbiAgICAgIH0sXG4gICAgICBkZXN0aW5hdGlvbixcbiAgICApXG4gIH1cblxuICByZXR1cm4gcGlubyhwcmV0dHlTeW5jTG9nZ2VyRGVzdGluYXRpb24pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldExvZ2dlclxuIl0sIm5hbWVzIjpbImRlZmF1bHRMb2dnZXJPcHRpb25zIiwicHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uIiwicHJldHR5T3B0aW9ucyIsImNvbG9yaXplIiwiaWdub3JlIiwidHJhbnNsYXRlVGltZSIsInRyYW5zcG9ydCIsIm9wdGlvbnMiLCJ0YXJnZXQiLCJwcmV0dGlmaWVyIiwiZGVzdGluYXRpb24iLCJzeW5jIiwiZ2V0TG9nZ2VyIiwibmFtZSIsInBpbm8iLCJlbmFibGVkIiwicHJvY2VzcyIsImVudiIsIkRJU0FCTEVfTE9HR0lORyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEyQ0EsT0FBd0I7ZUFBeEI7O0lBaENhQSxvQkFBb0I7ZUFBcEJBOztJQU9BQywyQkFBMkI7ZUFBM0JBOzs7NkRBbEJJO21FQUNNOzs7Ozs7QUFJdkIsTUFBTUMsZ0JBQWdCO0lBQ3BCQyxVQUFVO0lBQ1ZDLFFBQVE7SUFDUkMsZUFBZTtBQUNqQjtBQUVPLE1BQU1MLHVCQUEyQztJQUN0RE0sV0FBVztRQUNUQyxTQUFTTDtRQUNUTSxRQUFRO0lBQ1Y7QUFDRjtBQUVPLE1BQU1QLDhCQUE4QlEsSUFBQUEsbUJBQVUsRUFBQztJQUNwRCxHQUFHUCxhQUFhO0lBQ2hCUSxhQUFhO0lBQ2JDLE1BQU07QUFDUjtBQUVBLE1BQU1DLFlBQVksQ0FDaEJDLE9BQU8sU0FBUyxFQUNoQk4sU0FDQUc7SUFFQSxJQUFJSCxTQUFTO1FBQ1gsT0FBT08sSUFBQUEsYUFBSSxFQUNUO1lBQ0VELE1BQU1OLFNBQVNNLFFBQVFBO1lBQ3ZCRSxTQUFTQyxRQUFRQyxHQUFHLENBQUNDLGVBQWUsS0FBSztZQUN6QyxHQUFJWCxXQUFXUCxvQkFBb0I7UUFDckMsR0FDQVU7SUFFSjtJQUVBLE9BQU9JLElBQUFBLGFBQUksRUFBQ2I7QUFDZDtNQUVBLFdBQWVXIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pinoPretty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinoPretty.d.ts","sourceRoot":"","sources":["../../src/utilities/pinoPretty.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "payload",
3
- "version": "3.0.0-alpha.13",
3
+ "version": "3.0.0-alpha.15",
4
4
  "description": "Node, React and MongoDB Headless CMS and Application Framework",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -45,8 +45,7 @@
45
45
  "sanitize-filename": "1.6.3",
46
46
  "scheduler": "0.23.0",
47
47
  "scmp": "2.1.0",
48
- "sharp": "0.32.6",
49
- "@payloadcms/translations": "3.0.0-alpha.13"
48
+ "@payloadcms/translations": "3.0.0-alpha.15"
50
49
  },
51
50
  "devDependencies": {
52
51
  "@monaco-editor/react": "4.5.1",
@@ -93,6 +92,7 @@
93
92
  "rimraf": "3.0.2",
94
93
  "serve-static": "1.15.0",
95
94
  "ts-essentials": "7.0.3",
95
+ "sharp": "0.32.6",
96
96
  "@payloadcms/eslint-config": "1.1.1"
97
97
  },
98
98
  "engines": {