@ethlete/contentful 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @ethlete/contentful
2
2
 
3
+ ## 3.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`7c71af5`](https://github.com/ethlete-io/ethdk/commit/7c71af5fd7544395577a30b4ff541f26debc575f) Thanks [@TomTomB](https://github.com/TomTomB)! - Support the `ContentfulGqlImage` type inside the `ContentfulImageComponent`
8
+
9
+ - [`7c71af5`](https://github.com/ethlete-io/ethdk/commit/7c71af5fd7544395577a30b4ff541f26debc575f) Thanks [@TomTomB](https://github.com/TomTomB)! - Rename `ContentfulAsset` to `ContentfulRestAsset` to make it clear that it's a asset that is fetched from the REST API.
10
+
11
+ ## 3.2.1
12
+
13
+ ### Patch Changes
14
+
15
+ - [`6695e2b`](https://github.com/ethlete-io/ethdk/commit/6695e2b8f006d81b000cb93fbadaeed051760725) Thanks [@TomTomB](https://github.com/TomTomB)! - Add back missing contentful graph ql asset type
16
+
3
17
  ## 3.2.0
4
18
 
5
19
  ### Minor Changes
@@ -1,5 +1,6 @@
1
1
  import { NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input } from '@angular/core';
3
+ import { isContentfulGqlAsset } from '../../gql';
3
4
  import * as i0 from "@angular/core";
4
5
  export class ContentfulAudioComponent {
5
6
  constructor() {
@@ -7,13 +8,29 @@ export class ContentfulAudioComponent {
7
8
  this.audioClass = input(null);
8
9
  this.figureClass = input(null);
9
10
  this.figcaptionClass = input(null);
11
+ this.data = computed(() => {
12
+ const asset = this.asset();
13
+ if (!asset) {
14
+ return null;
15
+ }
16
+ if (isContentfulGqlAsset(asset)) {
17
+ return {
18
+ url: asset.url,
19
+ title: asset.title,
20
+ };
21
+ }
22
+ return {
23
+ url: asset.fields.file.url,
24
+ title: asset.fields.title,
25
+ };
26
+ });
10
27
  }
11
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ContentfulAudioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
29
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: ContentfulAudioComponent, isStandalone: true, selector: "et-contentful-audio", inputs: { asset: { classPropertyName: "asset", publicName: "asset", isSignal: true, isRequired: true, transformFunction: null }, audioClass: { classPropertyName: "audioClass", publicName: "audioClass", isSignal: true, isRequired: false, transformFunction: null }, figureClass: { classPropertyName: "figureClass", publicName: "figureClass", isSignal: true, isRequired: false, transformFunction: null }, figcaptionClass: { classPropertyName: "figcaptionClass", publicName: "figcaptionClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
13
- @if (asset(); as data) {
30
+ @if (data(); as data) {
14
31
  <figure [ngClass]="figureClass()">
15
- <figcaption [ngClass]="figcaptionClass()">{{ data.fields.title }}</figcaption>
16
- <audio [ngClass]="audioClass()" controls src="{{ data.fields.file.url }}"></audio>
32
+ <figcaption [ngClass]="figcaptionClass()">{{ data.title }}</figcaption>
33
+ <audio [ngClass]="audioClass()" controls src="{{ data.url }}"></audio>
17
34
  </figure>
18
35
  }
19
36
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -23,10 +40,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
23
40
  args: [{
24
41
  selector: 'et-contentful-audio',
25
42
  template: `
26
- @if (asset(); as data) {
43
+ @if (data(); as data) {
27
44
  <figure [ngClass]="figureClass()">
28
- <figcaption [ngClass]="figcaptionClass()">{{ data.fields.title }}</figcaption>
29
- <audio [ngClass]="audioClass()" controls src="{{ data.fields.file.url }}"></audio>
45
+ <figcaption [ngClass]="figcaptionClass()">{{ data.title }}</figcaption>
46
+ <audio [ngClass]="audioClass()" controls src="{{ data.url }}"></audio>
30
47
  </figure>
31
48
  }
32
49
  `,
@@ -36,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
36
53
  imports: [NgClass],
37
54
  }]
38
55
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFtQjdGLE1BQU0sT0FBTyx3QkFBd0I7SUFmckM7UUFnQkUsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNDLENBQUM7UUFDN0QsZUFBVSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztLQUM1Qzs4R0FMWSx3QkFBd0I7a0dBQXhCLHdCQUF3Qix5bkJBYnpCOzs7Ozs7O0dBT1QsNERBSVMsT0FBTzs7MkZBRU4sd0JBQXdCO2tCQWZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7OztHQU9UO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1hdWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChhc3NldCgpOyBhcyBkYXRhKSB7XG4gICAgICA8ZmlndXJlIFtuZ0NsYXNzXT1cImZpZ3VyZUNsYXNzKClcIj5cbiAgICAgICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwiZmlnY2FwdGlvbkNsYXNzKClcIj57eyBkYXRhLmZpZWxkcy50aXRsZSB9fTwvZmlnY2FwdGlvbj5cbiAgICAgICAgPGF1ZGlvIFtuZ0NsYXNzXT1cImF1ZGlvQ2xhc3MoKVwiIGNvbnRyb2xzIHNyYz1cInt7IGRhdGEuZmllbGRzLmZpbGUudXJsIH19XCI+PC9hdWRpbz5cbiAgICAgIDwvZmlndXJlPlxuICAgIH1cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGZ1bEF1ZGlvQ29tcG9uZW50IHtcbiAgYXNzZXQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICBhdWRpb0NsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWd1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgZmlnY2FwdGlvbkNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1hdWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGlvL2NvbnRlbnRmdWwtYXVkaW8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFrQnJFLE1BQU0sT0FBTyx3QkFBd0I7SUFmckM7UUFnQkUsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQStELENBQUM7UUFDdEYsZUFBVSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUUzQyxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsT0FBTztvQkFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7b0JBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7YUFDMUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBekJZLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHluQkFiekI7Ozs7Ozs7R0FPVCw0REFJUyxPQUFPOzsyRkFFTix3QkFBd0I7a0JBZnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7O0dBT1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1hdWRpbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChkYXRhKCk7IGFzIGRhdGEpIHtcbiAgICAgIDxmaWd1cmUgW25nQ2xhc3NdPVwiZmlndXJlQ2xhc3MoKVwiPlxuICAgICAgICA8ZmlnY2FwdGlvbiBbbmdDbGFzc109XCJmaWdjYXB0aW9uQ2xhc3MoKVwiPnt7IGRhdGEudGl0bGUgfX08L2ZpZ2NhcHRpb24+XG4gICAgICAgIDxhdWRpbyBbbmdDbGFzc109XCJhdWRpb0NsYXNzKClcIiBjb250cm9scyBzcmM9XCJ7eyBkYXRhLnVybCB9fVwiPjwvYXVkaW8+XG4gICAgICA8L2ZpZ3VyZT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxBdWRpb0NvbXBvbmVudCB7XG4gIGFzc2V0ID0gaW5wdXQucmVxdWlyZWQ8Q29udGVudGZ1bFJlc3RBc3NldCB8IENvbnRlbnRmdWxHcWxBc3NldCB8IG51bGwgfCB1bmRlZmluZWQ+KCk7XG4gIGF1ZGlvQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG5cbiAgZGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBhc3NldCA9IHRoaXMuYXNzZXQoKTtcblxuICAgIGlmICghYXNzZXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChpc0NvbnRlbnRmdWxHcWxBc3NldChhc3NldCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYXNzZXQudXJsLFxuICAgICAgICB0aXRsZTogYXNzZXQudGl0bGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IGFzc2V0LmZpZWxkcy5maWxlLnVybCxcbiAgICAgIHRpdGxlOiBhc3NldC5maWVsZHMudGl0bGUsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
@@ -1,16 +1,37 @@
1
1
  import { NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input } from '@angular/core';
3
+ import { isContentfulGqlAsset } from '../../gql';
3
4
  import * as i0 from "@angular/core";
4
5
  export class ContentfulFileComponent {
5
6
  constructor() {
6
7
  this.asset = input.required();
7
8
  this.fileClass = input(null);
9
+ this.data = computed(() => {
10
+ const asset = this.asset();
11
+ if (!asset) {
12
+ return null;
13
+ }
14
+ if (isContentfulGqlAsset(asset)) {
15
+ return {
16
+ url: asset.url,
17
+ contentType: asset.contentType,
18
+ size: asset.size,
19
+ title: asset.title,
20
+ };
21
+ }
22
+ return {
23
+ url: asset.fields.file.url,
24
+ contentType: asset.fields.file.contentType,
25
+ size: asset.fields.file.details.size,
26
+ title: asset.fields.title,
27
+ };
28
+ });
8
29
  }
9
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ContentfulFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
31
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: ContentfulFileComponent, isStandalone: true, selector: "et-contentful-file", inputs: { asset: { classPropertyName: "asset", publicName: "asset", isSignal: true, isRequired: true, transformFunction: null }, fileClass: { classPropertyName: "fileClass", publicName: "fileClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
11
- @if (asset(); as data) {
12
- <a [href]="data.fields.file.url" [ngClass]="fileClass()" class="underline" target="_blank">
13
- {{ data.fields.title }} ({{ data.fields.file.details.size }} Bytes)
32
+ @if (data(); as data) {
33
+ <a [href]="data.url" [ngClass]="fileClass()" class="underline" target="_blank">
34
+ {{ data.title }} ({{ data.size }} Bytes)
14
35
  </a>
15
36
  }
16
37
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -20,9 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
20
41
  args: [{
21
42
  selector: 'et-contentful-file',
22
43
  template: `
23
- @if (asset(); as data) {
24
- <a [href]="data.fields.file.url" [ngClass]="fileClass()" class="underline" target="_blank">
25
- {{ data.fields.title }} ({{ data.fields.file.details.size }} Bytes)
44
+ @if (data(); as data) {
45
+ <a [href]="data.url" [ngClass]="fileClass()" class="underline" target="_blank">
46
+ {{ data.title }} ({{ data.size }} Bytes)
26
47
  </a>
27
48
  }
28
49
  `,
@@ -32,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
32
53
  imports: [NgClass],
33
54
  }]
34
55
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFrQjdGLE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFlRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0MsQ0FBQztRQUM3RCxjQUFTLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzhHQUhZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFWQVp4Qjs7Ozs7O0dBTVQsNERBSVMsT0FBTzs7MkZBRU4sdUJBQXVCO2tCQWRuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzVHlwZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1jb250ZW50ZnVsLWZpbGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoYXNzZXQoKTsgYXMgZGF0YSkge1xuICAgICAgPGEgW2hyZWZdPVwiZGF0YS5maWVsZHMuZmlsZS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3MoKVwiIGNsYXNzPVwidW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGRzLnRpdGxlIH19ICh7eyBkYXRhLmZpZWxkcy5maWxlLmRldGFpbHMuc2l6ZSB9fSBCeXRlcylcbiAgICAgIDwvYT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxGaWxlQ29tcG9uZW50IHtcbiAgYXNzZXQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICBmaWxlQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29udGVudGZ1bC9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS9jb250ZW50ZnVsLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFpQnJFLE1BQU0sT0FBTyx1QkFBdUI7SUFkcEM7UUFlRSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBK0QsQ0FBQztRQUN0RixjQUFTLEdBQUcsS0FBSyxDQUFjLElBQUksQ0FBQyxDQUFDO1FBRXJDLFNBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxPQUFPO29CQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDZCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzlCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQzFCLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUMxQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3BDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7YUFDMUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0tBQ0o7OEdBM0JZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFWQVp4Qjs7Ozs7O0dBTVQsNERBSVMsT0FBTzs7MkZBRU4sdUJBQXVCO2tCQWRuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1maWxlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGRhdGEoKTsgYXMgZGF0YSkge1xuICAgICAgPGEgW2hyZWZdPVwiZGF0YS51cmxcIiBbbmdDbGFzc109XCJmaWxlQ2xhc3MoKVwiIGNsYXNzPVwidW5kZXJsaW5lXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgIHt7IGRhdGEudGl0bGUgfX0gKHt7IGRhdGEuc2l6ZSB9fSBCeXRlcylcbiAgICAgIDwvYT5cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxGaWxlQ29tcG9uZW50IHtcbiAgYXNzZXQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50ZnVsUmVzdEFzc2V0IHwgQ29udGVudGZ1bEdxbEFzc2V0IHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgZmlsZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuXG4gIGRhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXNzZXQgPSB0aGlzLmFzc2V0KCk7XG5cbiAgICBpZiAoIWFzc2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaXNDb250ZW50ZnVsR3FsQXNzZXQoYXNzZXQpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cmw6IGFzc2V0LnVybCxcbiAgICAgICAgY29udGVudFR5cGU6IGFzc2V0LmNvbnRlbnRUeXBlLFxuICAgICAgICBzaXplOiBhc3NldC5zaXplLFxuICAgICAgICB0aXRsZTogYXNzZXQudGl0bGUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB1cmw6IGFzc2V0LmZpZWxkcy5maWxlLnVybCxcbiAgICAgIGNvbnRlbnRUeXBlOiBhc3NldC5maWVsZHMuZmlsZS5jb250ZW50VHlwZSxcbiAgICAgIHNpemU6IGFzc2V0LmZpZWxkcy5maWxlLmRldGFpbHMuc2l6ZSxcbiAgICAgIHRpdGxlOiBhc3NldC5maWVsZHMudGl0bGUsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, ViewEncapsulation, booleanAttribute, computed, inject, input, numberAttribute, } from '@angular/core';
2
2
  import { PictureComponent, normalizePictureSizes } from '@ethlete/cdk';
3
3
  import { CONTENTFUL_CONFIG } from '../../constants';
4
+ import { isContentfulGqlAsset } from '../../gql';
4
5
  import { generateContentfulImageSources, generateDefaultContentfulImageSource, } from './contentful-image.component.utils';
5
6
  import * as i0 from "@angular/core";
6
7
  export class ContentfulImageComponent {
@@ -20,6 +21,25 @@ export class ContentfulImageComponent {
20
21
  this.sizes = input(normalizePictureSizes(this._contentfulConfig.imageOptions.sizes), {
21
22
  transform: (v) => normalizePictureSizes(v),
22
23
  });
24
+ this.normalizedAsset = computed(() => {
25
+ const asset = this.asset();
26
+ if (isContentfulGqlAsset(asset)) {
27
+ return {
28
+ alt: asset.title || null,
29
+ figcaption: asset.description || null,
30
+ width: asset.width,
31
+ height: asset.height,
32
+ };
33
+ }
34
+ else {
35
+ return {
36
+ alt: asset?.fields?.title || null,
37
+ figcaption: asset?.fields?.description || null,
38
+ width: asset?.fields?.file?.details?.image?.width ?? null,
39
+ height: asset?.fields?.file?.details?.image?.height ?? null,
40
+ };
41
+ }
42
+ });
23
43
  this._sources = computed(() => {
24
44
  const asset = this.asset();
25
45
  const backgroundColor = this.backgroundColor();
@@ -46,10 +66,10 @@ export class ContentfulImageComponent {
46
66
  [pictureClass]="pictureClass()"
47
67
  [figcaptionClass]="figcaptionClass()"
48
68
  [defaultSrc]="_defaultSrc()"
49
- [alt]="asset()?.fields?.title ?? null"
50
- [figcaption]="asset()?.fields?.description ?? null"
51
- [width]="asset()?.fields?.file?.details?.image?.width ?? null"
52
- [height]="asset()?.fields?.file?.details?.image?.height ?? null"
69
+ [alt]="normalizedAsset().alt ?? null"
70
+ [figcaption]="normalizedAsset().figcaption ?? null"
71
+ [width]="normalizedAsset().width ?? null"
72
+ [height]="normalizedAsset().height ?? null"
53
73
  [sizes]="sizes()"
54
74
  [sources]="_sources()"
55
75
  />
@@ -67,10 +87,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
67
87
  [pictureClass]="pictureClass()"
68
88
  [figcaptionClass]="figcaptionClass()"
69
89
  [defaultSrc]="_defaultSrc()"
70
- [alt]="asset()?.fields?.title ?? null"
71
- [figcaption]="asset()?.fields?.description ?? null"
72
- [width]="asset()?.fields?.file?.details?.image?.width ?? null"
73
- [height]="asset()?.fields?.file?.details?.image?.height ?? null"
90
+ [alt]="normalizedAsset().alt ?? null"
91
+ [figcaption]="normalizedAsset().figcaption ?? null"
92
+ [width]="normalizedAsset().width ?? null"
93
+ [height]="normalizedAsset().height ?? null"
74
94
  [sizes]="sizes()"
75
95
  [sources]="_sources()"
76
96
  />
@@ -84,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
84
104
  },
85
105
  }]
86
106
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixvQ0FBb0MsR0FDckMsTUFBTSxvQ0FBb0MsQ0FBQzs7QUE0QjVDLE1BQU0sT0FBTyx3QkFBd0I7SUExQnJDO1FBMkJFLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlDLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFzQyxDQUFDO1FBQzdELG9CQUFlLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUM3QyxnQkFBVyxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9FLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDdEQsY0FBUyxHQUFHLEtBQUssQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDekQsbUJBQWMsR0FBRyxLQUFLLENBQXVDLElBQUksQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsYUFBUSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLEtBQUssQ0FBYyxJQUFJLENBQUMsQ0FBQztRQUN4QyxVQUFLLEdBQUcsS0FBSyxDQUNYLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ2hFO1lBQ0UsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7U0FDM0MsQ0FDRixDQUFDO1FBRUYsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFN0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE9BQU8sOEJBQThCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqSCxDQUFDLENBQUMsQ0FBQztRQUVILGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFM0IsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7S0FDSjs4R0ExQ1ksd0JBQXdCO2tHQUF4Qix3QkFBd0Isd3VEQXhCekI7Ozs7Ozs7Ozs7Ozs7OztHQWVULDREQUlTLGdCQUFnQjs7MkZBS2Ysd0JBQXdCO2tCQTFCcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlQ29tcG9uZW50LCBub3JtYWxpemVQaWN0dXJlU2l6ZXMgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENPTlRFTlRGVUxfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnRlbnRmdWxBc3NldCwgQ29udGVudGZ1bEltYWdlRm9jdXNBcmVhLCBDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyxcbiAgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlLFxufSBmcm9tICcuL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGV0LXBpY3R1cmVcbiAgICAgIFtpbWdDbGFzc109XCJpbWdDbGFzcygpXCJcbiAgICAgIFtoYXNQcmlvcml0eV09XCJoYXNQcmlvcml0eSgpXCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJmaWd1cmVDbGFzcygpXCJcbiAgICAgIFtwaWN0dXJlQ2xhc3NdPVwicGljdHVyZUNsYXNzKClcIlxuICAgICAgW2ZpZ2NhcHRpb25DbGFzc109XCJmaWdjYXB0aW9uQ2xhc3MoKVwiXG4gICAgICBbZGVmYXVsdFNyY109XCJfZGVmYXVsdFNyYygpXCJcbiAgICAgIFthbHRdPVwiYXNzZXQoKT8uZmllbGRzPy50aXRsZSA/PyBudWxsXCJcbiAgICAgIFtmaWdjYXB0aW9uXT1cImFzc2V0KCk/LmZpZWxkcz8uZGVzY3JpcHRpb24gPz8gbnVsbFwiXG4gICAgICBbd2lkdGhdPVwiYXNzZXQoKT8uZmllbGRzPy5maWxlPy5kZXRhaWxzPy5pbWFnZT8ud2lkdGggPz8gbnVsbFwiXG4gICAgICBbaGVpZ2h0XT1cImFzc2V0KCk/LmZpZWxkcz8uZmlsZT8uZGV0YWlscz8uaW1hZ2U/LmhlaWdodCA/PyBudWxsXCJcbiAgICAgIFtzaXplc109XCJzaXplcygpXCJcbiAgICAgIFtzb3VyY2VzXT1cIl9zb3VyY2VzKClcIlxuICAgIC8+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUGljdHVyZUNvbXBvbmVudF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWNvbnRlbnRmdWwtaW1hZ2UnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50ZnVsSW1hZ2VDb21wb25lbnQge1xuICBfY29udGVudGZ1bENvbmZpZyA9IGluamVjdChDT05URU5URlVMX0NPTkZJRyk7XG5cbiAgYXNzZXQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50ZnVsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICBiYWNrZ3JvdW5kQ29sb3IgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgc3Jjc2V0U2l6ZXMgPSBpbnB1dDxzdHJpbmdbXT4odGhpcy5fY29udGVudGZ1bENvbmZpZy5pbWFnZU9wdGlvbnMuc3Jjc2V0U2l6ZXMpO1xuXG4gIHF1YWxpdHkgPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBmb2N1c0FyZWEgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEgfCBudWxsPihudWxsKTtcbiAgcmVzaXplQmVoYXZpb3IgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB8IG51bGw+KG51bGwpO1xuICBoYXNQcmlvcml0eSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgaW1nQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIHBpY3R1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgc2l6ZXMgPSBpbnB1dDxzdHJpbmcgfCBudWxsLCBzdHJpbmdbXSB8IHN0cmluZyB8IG51bGw+KFxuICAgIG5vcm1hbGl6ZVBpY3R1cmVTaXplcyh0aGlzLl9jb250ZW50ZnVsQ29uZmlnLmltYWdlT3B0aW9ucy5zaXplcyksXG4gICAge1xuICAgICAgdHJhbnNmb3JtOiAodikgPT4gbm9ybWFsaXplUGljdHVyZVNpemVzKHYpLFxuICAgIH0sXG4gICk7XG5cbiAgX3NvdXJjZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXNzZXQgPSB0aGlzLmFzc2V0KCk7XG4gICAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gdGhpcy5iYWNrZ3JvdW5kQ29sb3IoKTtcbiAgICBjb25zdCBzcmNzZXRTaXplcyA9IHRoaXMuc3Jjc2V0U2l6ZXMoKTtcbiAgICBjb25zdCBxdWFsaXR5ID0gdGhpcy5xdWFsaXR5KCk7XG4gICAgY29uc3QgZm9jdXNBcmVhID0gdGhpcy5mb2N1c0FyZWEoKTtcbiAgICBjb25zdCByZXNpemVCZWhhdmlvciA9IHRoaXMucmVzaXplQmVoYXZpb3IoKTtcblxuICAgIGlmICghYXNzZXQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2VuZXJhdGVDb250ZW50ZnVsSW1hZ2VTb3VyY2VzKGFzc2V0LCBzcmNzZXRTaXplcywgYmFja2dyb3VuZENvbG9yLCBxdWFsaXR5LCBmb2N1c0FyZWEsIHJlc2l6ZUJlaGF2aW9yKTtcbiAgfSk7XG5cbiAgX2RlZmF1bHRTcmMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXNzZXQgPSB0aGlzLmFzc2V0KCk7XG5cbiAgICByZXR1cm4gYXNzZXQgPyBnZW5lcmF0ZURlZmF1bHRDb250ZW50ZnVsSW1hZ2VTb3VyY2UoYXNzZXQpIDogbnVsbDtcbiAgfSk7XG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLG9DQUFvQyxHQUNyQyxNQUFNLG9DQUFvQyxDQUFDOztBQTRCNUMsTUFBTSxPQUFPLHdCQUF3QjtJQTFCckM7UUEyQkUsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQStELENBQUM7UUFDdEYsb0JBQWUsR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQzdDLGdCQUFXLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0UsWUFBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN0RCxjQUFTLEdBQUcsS0FBSyxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxtQkFBYyxHQUFHLEtBQUssQ0FBdUMsSUFB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QXdCO2tCQTFCcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaWN0dXJlQ29tcG9uZW50LCBub3JtYWxpemVQaWN0dXJlU2l6ZXMgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgTmdDbGFzc1R5cGUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENPTlRFTlRGVUxfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENvbnRlbnRmdWxHcWxBc3NldCwgaXNDb250ZW50ZnVsR3FsQXNzZXQgfSBmcm9tICcuLi8uLi9ncWwnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEltYWdlRm9jdXNBcmVhLCBDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciwgQ29udGVudGZ1bFJlc3RBc3NldCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyxcbiAgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlLFxufSBmcm9tICcuL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGV0LXBpY3R1cmVcbiAgICAgIFtpbWdDbGFzc109XCJpbWdDbGFzcygpXCJcbiAgICAgIFtoYXNQcmlvcml0eV09XCJoYXNQcmlvcml0eSgpXCJcbiAgICAgIFtmaWd1cmVDbGFzc109XCJmaWd1cmVDbGFzcygpXCJcbiAgICAgIFtwaWN0dXJlQ2xhc3NdPVwicGljdHVyZUNsYXNzKClcIlxuICAgICAgW2ZpZ2NhcHRpb25DbGFzc109XCJmaWdjYXB0aW9uQ2xhc3MoKVwiXG4gICAgICBbZGVmYXVsdFNyY109XCJfZGVmYXVsdFNyYygpXCJcbiAgICAgIFthbHRdPVwibm9ybWFsaXplZEFzc2V0KCkuYWx0ID8/IG51bGxcIlxuICAgICAgW2ZpZ2NhcHRpb25dPVwibm9ybWFsaXplZEFzc2V0KCkuZmlnY2FwdGlvbiA/PyBudWxsXCJcbiAgICAgIFt3aWR0aF09XCJub3JtYWxpemVkQXNzZXQoKS53aWR0aCA/PyBudWxsXCJcbiAgICAgIFtoZWlnaHRdPVwibm9ybWFsaXplZEFzc2V0KCkuaGVpZ2h0ID8/IG51bGxcIlxuICAgICAgW3NpemVzXT1cInNpemVzKClcIlxuICAgICAgW3NvdXJjZXNdPVwiX3NvdXJjZXMoKVwiXG4gICAgLz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtQaWN0dXJlQ29tcG9uZW50XSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29udGVudGZ1bC1pbWFnZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRmdWxJbWFnZUNvbXBvbmVudCB7XG4gIF9jb250ZW50ZnVsQ29uZmlnID0gaW5qZWN0KENPTlRFTlRGVUxfQ09ORklHKTtcblxuICBhc3NldCA9IGlucHV0LnJlcXVpcmVkPENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICBiYWNrZ3JvdW5kQ29sb3IgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgc3Jjc2V0U2l6ZXMgPSBpbnB1dDxzdHJpbmdbXT4odGhpcy5fY29udGVudGZ1bENvbmZpZy5pbWFnZU9wdGlvbnMuc3Jjc2V0U2l6ZXMpO1xuXG4gIHF1YWxpdHkgPSBpbnB1dChudWxsLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBmb2N1c0FyZWEgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEgfCBudWxsPihudWxsKTtcbiAgcmVzaXplQmVoYXZpb3IgPSBpbnB1dDxDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB8IG51bGw+KG51bGwpO1xuICBoYXNQcmlvcml0eSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgaW1nQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIGZpZ3VyZUNsYXNzID0gaW5wdXQ8TmdDbGFzc1R5cGU+KG51bGwpO1xuICBmaWdjYXB0aW9uQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzVHlwZT4obnVsbCk7XG4gIHBpY3R1cmVDbGFzcyA9IGlucHV0PE5nQ2xhc3NUeXBlPihudWxsKTtcbiAgc2l6ZXMgPSBpbnB1dDxzdHJpbmcgfCBudWxsLCBzdHJpbmdbXSB8IHN0cmluZyB8IG51bGw+KFxuICAgIG5vcm1hbGl6ZVBpY3R1cmVTaXplcyh0aGlzLl9jb250ZW50ZnVsQ29uZmlnLmltYWdlT3B0aW9ucy5zaXplcyksXG4gICAge1xuICAgICAgdHJhbnNmb3JtOiAodikgPT4gbm9ybWFsaXplUGljdHVyZVNpemVzKHYpLFxuICAgIH0sXG4gICk7XG5cbiAgbm9ybWFsaXplZEFzc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuXG4gICAgaWYgKGlzQ29udGVudGZ1bEdxbEFzc2V0KGFzc2V0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWx0OiBhc3NldC50aXRsZSB8fCBudWxsLFxuICAgICAgICBmaWdjYXB0aW9uOiBhc3NldC5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB3aWR0aDogYXNzZXQud2lkdGgsXG4gICAgICAgIGhlaWdodDogYXNzZXQuaGVpZ2h0LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWx0OiBhc3NldD8uZmllbGRzPy50aXRsZSB8fCBudWxsLFxuICAgICAgICBmaWdjYXB0aW9uOiBhc3NldD8uZmllbGRzPy5kZXNjcmlwdGlvbiB8fCBudWxsLFxuICAgICAgICB3aWR0aDogYXNzZXQ/LmZpZWxkcz8uZmlsZT8uZGV0YWlscz8uaW1hZ2U/LndpZHRoID8/IG51bGwsXG4gICAgICAgIGhlaWdodDogYXNzZXQ/LmZpZWxkcz8uZmlsZT8uZGV0YWlscz8uaW1hZ2U/LmhlaWdodCA/PyBudWxsLFxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xuXG4gIF9zb3VyY2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IHRoaXMuYmFja2dyb3VuZENvbG9yKCk7XG4gICAgY29uc3Qgc3Jjc2V0U2l6ZXMgPSB0aGlzLnNyY3NldFNpemVzKCk7XG4gICAgY29uc3QgcXVhbGl0eSA9IHRoaXMucXVhbGl0eSgpO1xuICAgIGNvbnN0IGZvY3VzQXJlYSA9IHRoaXMuZm9jdXNBcmVhKCk7XG4gICAgY29uc3QgcmVzaXplQmVoYXZpb3IgPSB0aGlzLnJlc2l6ZUJlaGF2aW9yKCk7XG5cbiAgICBpZiAoIWFzc2V0KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyhhc3NldCwgc3Jjc2V0U2l6ZXMsIGJhY2tncm91bmRDb2xvciwgcXVhbGl0eSwgZm9jdXNBcmVhLCByZXNpemVCZWhhdmlvcik7XG4gIH0pO1xuXG4gIF9kZWZhdWx0U3JjID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFzc2V0ID0gdGhpcy5hc3NldCgpO1xuXG4gICAgcmV0dXJuIGFzc2V0ID8gZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlKGFzc2V0KSA6IG51bGw7XG4gIH0pO1xufVxuIl19
@@ -1,8 +1,14 @@
1
+ import { isContentfulGqlAsset } from '../../gql';
1
2
  export const generateDefaultContentfulImageSource = (data) => {
2
- const file = data.fields.file;
3
+ if (isContentfulGqlAsset(data)) {
4
+ return {
5
+ type: data.contentType,
6
+ srcset: data.url,
7
+ };
8
+ }
3
9
  return {
4
- type: file.contentType,
5
- srcset: file.url,
10
+ type: data.fields.file.contentType,
11
+ srcset: data.fields.file.url,
6
12
  };
7
13
  };
8
14
  /**
@@ -40,7 +46,7 @@ export const generateContentfulImageSources = (data, srcsetSizes, backgroundColo
40
46
  const sources = [];
41
47
  const SOURCE_TYPES = ['image/avif', 'image/webp', 'image/png', 'image/jpg'];
42
48
  for (const type of SOURCE_TYPES) {
43
- const baseUrl = assetData.fields.file.url;
49
+ const baseUrl = isContentfulGqlAsset(assetData) ? assetData.url : assetData.fields.file.url;
44
50
  const sourceSets = [];
45
51
  const queryParams = [];
46
52
  // Set the format (e.g. 'fm=webp')
@@ -79,4 +85,4 @@ export const generateContentfulImageSources = (data, srcsetSizes, backgroundColo
79
85
  }
80
86
  return sources;
81
87
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLENBQUMsSUFBcUIsRUFBaUIsRUFBRTtJQUMzRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUU5QixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRztLQUNqQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7SUFPSTtBQUNKLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsSUFBWSxFQUFtRCxFQUFFO0lBQ3hHLElBQUksS0FBSyxHQUE4QixJQUFJLENBQUM7SUFDNUMsSUFBSSxNQUFNLEdBQThCLElBQUksQ0FBQztJQUU3QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0IsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDO1NBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNoQixDQUFDO1NBQU0sQ0FBQztRQUNOLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLENBQUMs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QUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtTQUMxRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGljdHVyZVNvdXJjZSB9IGZyb20gJ0BldGhsZXRlL2Nkayc7XG5pbXBvcnQgeyBDb250ZW50ZnVsQXNzZXQsIENvbnRlbnRmdWxJbWFnZUZvY3VzQXJlYSwgQ29udGVudGZ1bEltYWdlUmVzaXplQmVoYXZpb3IgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZURlZmF1bHRDb250ZW50ZnVsSW1hZ2VTb3VyY2UgPSAoZGF0YTogQ29udGVudGZ1bEFzc2V0KTogUGljdHVyZVNvdXJjZSA9PiB7XG4gIGNvbnN0IGZpbGUgPSBkYXRhLmZpZWxkcy5maWxlO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogZmlsZS5jb250ZW50VHlwZSxcbiAgICBzcmNzZXQ6IGZpbGUudXJsLFxuICB9O1xufTtcblxuLyoqXG4gKiBQYXJzZXMgc291cmNlIHNldCBzaXplcyBpbnRvIGFuIG9iamVjdCBjb250YWluaW5nIHdpdGggYW5kIGhlaWdodC4gRWcuXG4gKiAtIGBcIjQwMFwiYCAtIDQwMHB4IHdpZHRoXG4gKiAtIGBcIjQwMHgzMDBcImAgLSA0MDBweCB3aWR0aCBhbmQgMzAwcHggaGVpZ2h0XG4gKiAtIGBcIjQwMHdcImAgLSA0MDBweCB3aWR0aFxuICogLSBgXCI0MDBoXCJgIC0gNDAwcHggaGVpZ2h0XG4gKiAtIGBcIjQwMHd4MzAwaFwiYCAtIDQwMHB4IHdpZHRoIGFuZCAzMDBweCBoZWlnaHRcbiAqKi9cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRlbnRmdWxJbWFnZVNpemUgPSAoc2l6ZTogc3RyaW5nKTogeyB3aWR0aDogbnVtYmVyIHwgbnVsbDsgaGVpZ2h0OiBudW1iZXIgfCBudWxsIH0gPT4ge1xuICBsZXQgd2lkdGg6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuICBsZXQgaGVpZ2h0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcblxuICBpZiAoc2l6ZS5pbmNsdWRlcygneCcpKSB7XG4gICAgY29uc3QgW3csIGhdID0gc2l6ZS5zcGxpdCgneCcpO1xuXG4gICAgd2lkdGggPSB3O1xuICAgIGhlaWdodCA9IGg7XG4gIH0gZWxzZSBpZiAoc2l6ZS5pbmNsdWRlcygnaCcpKSB7XG4gICAgaGVpZ2h0ID0gc2l6ZTtcbiAgfSBlbHNlIHtcbiAgICB3aWR0aCA9IHNpemU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHdpZHRoOiB3aWR0aCA/IHBhcnNlSW50KHdpZHRoLCAxMCkgOiBudWxsLFxuICAgIGhlaWdodDogaGVpZ2h0ID8gcGFyc2VJbnQoaGVpZ2h0LCAxMCkgOiBudWxsLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQ29udGVudGZ1bEltYWdlU291cmNlcyA9IChcbiAgZGF0YTogQ29udGVudGZ1bEFzc2V0LFxuICBzcmNzZXRTaXplczogc3RyaW5nW10sXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgbnVsbCxcbiAgcXVhbGl0eTogbnVtYmVyIHwgbnVsbCxcbiAgZm9jdXNBcmVhOiBDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEgfCBudWxsLFxuICByZXNpemVCZWhhdmlvcjogQ29udGVudGZ1bEltYWdlUmVzaXplQmVoYXZpb3IgfCBudWxsLFxuKTogUGljdHVyZVNvdXJjZVtdID0+IHtcbiAgY29uc3QgYXNzZXREYXRhID0gZGF0YTtcblxuICBpZiAoIWFzc2V0RGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZXM6IFBpY3R1cmVTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0IFNPVVJDRV9UWVBFUyA9IFsnaW1hZ2UvYXZpZicsICdpbWFnZS93ZWJwJywgJ2ltYWdlL3BuZycsICdpbWFnZS9qcGcnXTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgU09VUkNFX1RZUEVTKSB7XG4gICAgY29uc3QgYmFzZVVybCA9IGFzc2V0RGF0YS5maWVsZHMuZmlsZS51cmw7XG4gICAgY29uc3Qgc291cmNlU2V0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIFNldCB0aGUgZm9ybWF0IChlLmcuICdmbT13ZWJwJylcbiAgICBxdWVyeVBhcmFtcy5wdXNoKGBmbT0ke3R5cGUuc3BsaXQoJy8nKVsxXX1gKTtcblxuICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGJnPXJnYjoke2JhY2tncm91bmRDb2xvcn1gKTtcbiAgICB9XG5cbiAgICBpZiAocXVhbGl0eSAhPT0gbnVsbCkge1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChgcT0ke3F1YWxpdHl9YCk7XG4gICAgfVxuXG4gICAgaWYgKGZvY3VzQXJlYSkge1xuICAgICAgcXVlcnlQYXJhbXMucHVzaChgZj0ke2ZvY3VzQXJlYX1gKTtcbiAgICB9XG5cbiAgICBpZiAocmVzaXplQmVoYXZpb3IpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGZpdD0ke3Jlc2l6ZUJlaGF2aW9yfWApO1xuICAgIH1cbiAgICBpZiAoc3Jjc2V0U2l6ZXM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgdXJsV2l0aFBhcmFtcyA9IGAke2Jhc2VVcmx9PyR7cXVlcnlQYXJhbXMuam9pbignJicpfWA7XG5cbiAgICAgIGZvciAoY29uc3Qgc2l6ZSBvZiBzcmNzZXRTaXplcykge1xuICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHBhcnNlQ29udGVudGZ1bEltYWdlU2l6ZShzaXplKTtcblxuICAgICAgICBpZiAod2lkdGggJiYgaGVpZ2h0KSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jnc9JHt3aWR0aH0maD0ke2hlaWdodH0gJHt3aWR0aH13YCk7XG4gICAgICAgIH0gZWxzZSBpZiAod2lkdGgpIHtcbiAgICAgICAgICBzb3VyY2VTZXRzLnB1c2goYCR7dXJsV2l0aFBhcmFtc30mdz0ke3dpZHRofSAke3dpZHRofXdgKTtcbiAgICAgICAgfSBlbHNlIGlmIChoZWlnaHQpIHtcbiAgICAgICAgICBzb3VyY2VTZXRzLnB1c2goYCR7dXJsV2l0aFBhcmFtc30maD0ke2hlaWdodH0gJHtoZWlnaHR9aGApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlcy5wdXNoKHtcbiAgICAgIHR5cGUsXG4gICAgICBzcmNzZXQ6IHNvdXJjZVNldHMubGVuZ3RoID8gc291cmNlU2V0cy5qb2luKCcsICcpIDogYCR7YmFzZVVybH0/JHtxdWVyeVBhcmFtcy5qb2luKCcmJyl9YCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzb3VyY2VzO1xufTtcbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGZ1bC1pbWFnZS5jb21wb25lbnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbnRlbnRmdWwvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlL2NvbnRlbnRmdWwtaW1hZ2UuY29tcG9uZW50LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBc0Isb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckUsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxJQUE4QyxFQUFpQixFQUFFO0lBQ3BILElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRztTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVztRQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRztLQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7SUFPSTtBQUNKLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsSUFBWSxFQUFtRCxFQUFFO0lBQ3hHLElBQUksS0FBSyxHQUE4QixJQUFJLENBQUM7SUFDNUMsSUFBSSxNQUFNLEdBQThCLElBQUksQ0FBQztJQUU3QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0IsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNWLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDYixDQUFD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QUFDO3FCQUFNLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ2xCLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLE1BQU0sTUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzdELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDWCxJQUFJO1lBQ0osTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7U0FDMUYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpY3R1cmVTb3VyY2UgfSBmcm9tICdAZXRobGV0ZS9jZGsnO1xuaW1wb3J0IHsgQ29udGVudGZ1bEdxbEFzc2V0LCBpc0NvbnRlbnRmdWxHcWxBc3NldCB9IGZyb20gJy4uLy4uL2dxbCc7XG5pbXBvcnQgeyBDb250ZW50ZnVsSW1hZ2VGb2N1c0FyZWEsIENvbnRlbnRmdWxJbWFnZVJlc2l6ZUJlaGF2aW9yLCBDb250ZW50ZnVsUmVzdEFzc2V0IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVEZWZhdWx0Q29udGVudGZ1bEltYWdlU291cmNlID0gKGRhdGE6IENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQpOiBQaWN0dXJlU291cmNlID0+IHtcbiAgaWYgKGlzQ29udGVudGZ1bEdxbEFzc2V0KGRhdGEpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IGRhdGEuY29udGVudFR5cGUsXG4gICAgICBzcmNzZXQ6IGRhdGEudXJsLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRhdGEuZmllbGRzLmZpbGUuY29udGVudFR5cGUsXG4gICAgc3Jjc2V0OiBkYXRhLmZpZWxkcy5maWxlLnVybCxcbiAgfTtcbn07XG5cbi8qKlxuICogUGFyc2VzIHNvdXJjZSBzZXQgc2l6ZXMgaW50byBhbiBvYmplY3QgY29udGFpbmluZyB3aXRoIGFuZCBoZWlnaHQuIEVnLlxuICogLSBgXCI0MDBcImAgLSA0MDBweCB3aWR0aFxuICogLSBgXCI0MDB4MzAwXCJgIC0gNDAwcHggd2lkdGggYW5kIDMwMHB4IGhlaWdodFxuICogLSBgXCI0MDB3XCJgIC0gNDAwcHggd2lkdGhcbiAqIC0gYFwiNDAwaFwiYCAtIDQwMHB4IGhlaWdodFxuICogLSBgXCI0MDB3eDMwMGhcImAgLSA0MDBweCB3aWR0aCBhbmQgMzAwcHggaGVpZ2h0XG4gKiovXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50ZnVsSW1hZ2VTaXplID0gKHNpemU6IHN0cmluZyk6IHsgd2lkdGg6IG51bWJlciB8IG51bGw7IGhlaWdodDogbnVtYmVyIHwgbnVsbCB9ID0+IHtcbiAgbGV0IHdpZHRoOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgbGV0IGhlaWdodDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgaWYgKHNpemUuaW5jbHVkZXMoJ3gnKSkge1xuICAgIGNvbnN0IFt3LCBoXSA9IHNpemUuc3BsaXQoJ3gnKTtcblxuICAgIHdpZHRoID0gdztcbiAgICBoZWlnaHQgPSBoO1xuICB9IGVsc2UgaWYgKHNpemUuaW5jbHVkZXMoJ2gnKSkge1xuICAgIGhlaWdodCA9IHNpemU7XG4gIH0gZWxzZSB7XG4gICAgd2lkdGggPSBzaXplO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogd2lkdGggPyBwYXJzZUludCh3aWR0aCwgMTApIDogbnVsbCxcbiAgICBoZWlnaHQ6IGhlaWdodCA/IHBhcnNlSW50KGhlaWdodCwgMTApIDogbnVsbCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUNvbnRlbnRmdWxJbWFnZVNvdXJjZXMgPSAoXG4gIGRhdGE6IENvbnRlbnRmdWxSZXN0QXNzZXQgfCBDb250ZW50ZnVsR3FsQXNzZXQsXG4gIHNyY3NldFNpemVzOiBzdHJpbmdbXSxcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfCBudWxsLFxuICBxdWFsaXR5OiBudW1iZXIgfCBudWxsLFxuICBmb2N1c0FyZWE6IENvbnRlbnRmdWxJbWFnZUZvY3VzQXJlYSB8IG51bGwsXG4gIHJlc2l6ZUJlaGF2aW9yOiBDb250ZW50ZnVsSW1hZ2VSZXNpemVCZWhhdmlvciB8IG51bGwsXG4pOiBQaWN0dXJlU291cmNlW10gPT4ge1xuICBjb25zdCBhc3NldERhdGEgPSBkYXRhO1xuXG4gIGlmICghYXNzZXREYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3Qgc291cmNlczogUGljdHVyZVNvdXJjZVtdID0gW107XG5cbiAgY29uc3QgU09VUkNFX1RZUEVTID0gWydpbWFnZS9hdmlmJywgJ2ltYWdlL3dlYnAnLCAnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZyddO1xuXG4gIGZvciAoY29uc3QgdHlwZSBvZiBTT1VSQ0VfVFlQRVMpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gaXNDb250ZW50ZnVsR3FsQXNzZXQoYXNzZXREYXRhKSA/IGFzc2V0RGF0YS51cmwgOiBhc3NldERhdGEuZmllbGRzLmZpbGUudXJsO1xuICAgIGNvbnN0IHNvdXJjZVNldHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcXVlcnlQYXJhbXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBTZXQgdGhlIGZvcm1hdCAoZS5nLiAnZm09d2VicCcpXG4gICAgcXVlcnlQYXJhbXMucHVzaChgZm09JHt0eXBlLnNwbGl0KCcvJylbMV19YCk7XG5cbiAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGBiZz1yZ2I6JHtiYWNrZ3JvdW5kQ29sb3J9YCk7XG4gICAgfVxuXG4gICAgaWYgKHF1YWxpdHkgIT09IG51bGwpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYHE9JHtxdWFsaXR5fWApO1xuICAgIH1cblxuICAgIGlmIChmb2N1c0FyZWEpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGY9JHtmb2N1c0FyZWF9YCk7XG4gICAgfVxuXG4gICAgaWYgKHJlc2l6ZUJlaGF2aW9yKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGBmaXQ9JHtyZXNpemVCZWhhdmlvcn1gKTtcbiAgICB9XG4gICAgaWYgKHNyY3NldFNpemVzPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHVybFdpdGhQYXJhbXMgPSBgJHtiYXNlVXJsfT8ke3F1ZXJ5UGFyYW1zLmpvaW4oJyYnKX1gO1xuXG4gICAgICBmb3IgKGNvbnN0IHNpemUgb2Ygc3Jjc2V0U2l6ZXMpIHtcbiAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBwYXJzZUNvbnRlbnRmdWxJbWFnZVNpemUoc2l6ZSk7XG5cbiAgICAgICAgaWYgKHdpZHRoICYmIGhlaWdodCkge1xuICAgICAgICAgIHNvdXJjZVNldHMucHVzaChgJHt1cmxXaXRoUGFyYW1zfSZ3PSR7d2lkdGh9Jmg9JHtoZWlnaHR9ICR7d2lkdGh9d2ApO1xuICAgICAgICB9IGVsc2UgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jnc9JHt3aWR0aH0gJHt3aWR0aH13YCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGVpZ2h0KSB7XG4gICAgICAgICAgc291cmNlU2V0cy5wdXNoKGAke3VybFdpdGhQYXJhbXN9Jmg9JHtoZWlnaHR9ICR7aGVpZ2h0fWhgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZXMucHVzaCh7XG4gICAgICB0eXBlLFxuICAgICAgc3Jjc2V0OiBzb3VyY2VTZXRzLmxlbmd0aCA/IHNvdXJjZVNldHMuam9pbignLCAnKSA6IGAke2Jhc2VVcmx9PyR7cXVlcnlQYXJhbXMuam9pbignJicpfWAsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc291cmNlcztcbn07XG4iXX0=