@taiga-ui/addon-doc 2.50.2 → 2.52.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.
Files changed (36) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +82 -21
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-doc.umd.min.js +1 -1
  4. package/bundles/taiga-ui-addon-doc.umd.min.js.map +1 -1
  5. package/components/documentation/documentation.component.d.ts +1 -0
  6. package/components/example/example.component.d.ts +2 -1
  7. package/components/navigation/navigation.component.d.ts +3 -1
  8. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +9 -1
  9. package/directives/scroll-into-view/scroll-into-view.module.d.ts +6 -0
  10. package/esm2015/components/documentation/documentation.component.js +5 -2
  11. package/esm2015/components/example/example.component.js +10 -6
  12. package/esm2015/components/navigation/navigation.component.js +17 -11
  13. package/esm2015/components/navigation/navigation.module.js +3 -2
  14. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +32 -11
  15. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +19 -3
  16. package/esm2015/public-api.js +3 -1
  17. package/esm2015/tokens/code-actions.js +5 -0
  18. package/esm2015/tokens/page-loaded.js +5 -0
  19. package/esm5/components/documentation/documentation.component.js +5 -2
  20. package/esm5/components/example/example.component.js +10 -6
  21. package/esm5/components/navigation/navigation.component.js +17 -11
  22. package/esm5/components/navigation/navigation.module.js +3 -2
  23. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +35 -11
  24. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +20 -2
  25. package/esm5/public-api.js +3 -1
  26. package/esm5/tokens/code-actions.js +5 -0
  27. package/esm5/tokens/page-loaded.js +5 -0
  28. package/fesm2015/taiga-ui-addon-doc.js +78 -26
  29. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  30. package/fesm5/taiga-ui-addon-doc.js +82 -25
  31. package/fesm5/taiga-ui-addon-doc.js.map +1 -1
  32. package/package.json +5 -5
  33. package/public-api.d.ts +2 -0
  34. package/taiga-ui-addon-doc.metadata.json +1 -1
  35. package/tokens/code-actions.d.ts +4 -0
  36. package/tokens/page-loaded.d.ts +3 -0
@@ -1,13 +1,21 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { Directive, ElementRef, Inject, Input } from '@angular/core';
3
3
  import { getElementObscurers, TuiDestroyService } from '@taiga-ui/cdk';
4
- import { Subject } from 'rxjs';
5
- import { debounceTime, filter, takeUntil } from 'rxjs/operators';
6
- let ScrollIntoViewDirective = class ScrollIntoViewDirective {
7
- constructor(destroy$, { nativeElement }) {
8
- this.scroll$ = new Subject();
9
- this.scroll$
10
- .pipe(debounceTime(750), filter(shallWe => shallWe && !!getElementObscurers(nativeElement)), takeUntil(destroy$))
4
+ import { Observable, ReplaySubject } from 'rxjs';
5
+ import { debounceTime, filter, switchMapTo, takeUntil } from 'rxjs/operators';
6
+ import { TUI_DOC_PAGE_LOADED } from '../../tokens/page-loaded';
7
+ /**
8
+ * @deprecated: use {@link TuiScrollIntoViewLinkDirective}
9
+ * TODO: remove in v3.0
10
+ */
11
+ let ScrollIntoViewDirective =
12
+ // eslint-disable-next-line @typescript-eslint/naming-convention
13
+ class ScrollIntoViewDirective {
14
+ constructor(destroy$, { nativeElement }, readyToScroll$) {
15
+ this.readyToScroll$ = readyToScroll$;
16
+ this.scroll$ = new ReplaySubject(1);
17
+ this.readyToScroll$
18
+ .pipe(filter(Boolean), switchMapTo(this.scroll$), debounceTime(750), filter(shallWe => shallWe && !!getElementObscurers(nativeElement)), takeUntil(destroy$))
11
19
  .subscribe(() => {
12
20
  nativeElement.scrollIntoView();
13
21
  });
@@ -18,7 +26,8 @@ let ScrollIntoViewDirective = class ScrollIntoViewDirective {
18
26
  };
19
27
  ScrollIntoViewDirective.ctorParameters = () => [
20
28
  { type: TuiDestroyService, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
21
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
29
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
30
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_DOC_PAGE_LOADED,] }] }
22
31
  ];
23
32
  __decorate([
24
33
  Input()
@@ -27,9 +36,21 @@ ScrollIntoViewDirective = __decorate([
27
36
  Directive({
28
37
  selector: '[scrollIntoView]',
29
38
  providers: [TuiDestroyService],
30
- }),
39
+ })
40
+ // eslint-disable-next-line @typescript-eslint/naming-convention
41
+ ,
31
42
  __param(0, Inject(TuiDestroyService)),
32
- __param(1, Inject(ElementRef))
43
+ __param(1, Inject(ElementRef)),
44
+ __param(2, Inject(TUI_DOC_PAGE_LOADED))
33
45
  ], ScrollIntoViewDirective);
34
46
  export { ScrollIntoViewDirective };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTS9ELElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXVCO0lBUWhDLFlBQytCLFFBQTJCLEVBQ2xDLEVBQUMsYUFBYSxFQUEwQjtRQUovQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU05QyxJQUFJLENBQUMsT0FBTzthQUNQLElBQUksQ0FDRCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBbkJELElBQUksY0FBYyxDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FrQkosQ0FBQTs7WUFiNEMsaUJBQWlCLHVCQUFyRCxNQUFNLFNBQUMsaUJBQWlCO1lBQ1ksVUFBVSx1QkFBOUMsTUFBTSxTQUFDLFVBQVU7O0FBUnRCO0lBREMsS0FBSyxFQUFFOzZEQUdQO0FBSlEsdUJBQXVCO0lBSm5DLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7S0FDakMsQ0FBQztJQVVPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7R0FWZCx1QkFBdUIsQ0FzQm5DO1NBdEJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0RWxlbWVudE9ic2N1cmVycywgVHVpRGVzdHJveVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzY3JvbGxJbnRvVmlld10nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNjcm9sbEludG9WaWV3KHNoYWxsV2U6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGwkLm5leHQoc2hhbGxXZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGwkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHtcbiAgICAgICAgdGhpcy5zY3JvbGwkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNzUwKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc2hhbGxXZSA9PiBzaGFsbFdlICYmICEhZ2V0RWxlbWVudE9ic2N1cmVycyhuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
47
+ let TuiScrollIntoViewLinkDirective = class TuiScrollIntoViewLinkDirective extends ScrollIntoViewDirective {
48
+ };
49
+ TuiScrollIntoViewLinkDirective = __decorate([
50
+ Directive({
51
+ selector: '[tuiScrollIntoViewLink]',
52
+ providers: [TuiDestroyService],
53
+ })
54
+ ], TuiScrollIntoViewLinkDirective);
55
+ export { TuiScrollIntoViewLinkDirective };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsVUFBVSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7OztHQUdHO0FBTUgsSUFBYSx1QkFBdUI7QUFEcEMsZ0VBQWdFO0FBQ2hFLE1BQWEsdUJBQXVCO0lBUWhDLFlBQytCLFFBQTJCLEVBQ2xDLEVBQUMsYUFBYSxFQUEwQixFQUVuRCxjQUFtQztRQUFuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFOL0IsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBUXJELElBQUksQ0FBQyxjQUFjO2FBQ2QsSUFBSSxDQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDZixXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUN6QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDbEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBdkJELElBQUksY0FBYyxDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FzQkosQ0FBQTs7WUFqQjRDLGlCQUFpQix1QkFBckQsTUFBTSxTQUFDLGlCQUFpQjtZQUNZLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxVQUFVO1lBRU8sVUFBVSx1QkFEbEMsTUFBTSxTQUFDLG1CQUFtQjs7QUFUL0I7SUFEQyxLQUFLLEVBQUU7NkRBR1A7QUFKUSx1QkFBdUI7SUFMbkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztLQUNqQyxDQUFDO0lBQ0YsZ0VBQWdFOztJQVV2RCxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7R0FYdkIsdUJBQXVCLENBMEJuQztTQTFCWSx1QkFBdUI7QUFnQ3BDLElBQWEsOEJBQThCLEdBQTNDLE1BQWEsOEJBQStCLFNBQVEsdUJBQXVCO0NBQUcsQ0FBQTtBQUFqRSw4QkFBOEI7SUFKMUMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHlCQUF5QjtRQUNuQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztLQUNqQyxDQUFDO0dBQ1csOEJBQThCLENBQW1DO1NBQWpFLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Z2V0RWxlbWVudE9ic2N1cmVycywgVHVpRGVzdHJveVNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN3aXRjaE1hcFRvLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX1BBR0VfTE9BREVEfSBmcm9tICcuLi8uLi90b2tlbnMvcGFnZS1sb2FkZWQnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIFR1aVNjcm9sbEludG9WaWV3TGlua0RpcmVjdGl2ZX1cbiAqIFRPRE86IHJlbW92ZSBpbiB2My4wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3Njcm9sbEludG9WaWV3XScsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjbGFzcyBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2Nyb2xsSW50b1ZpZXcoc2hhbGxXZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNjcm9sbCQubmV4dChzaGFsbFdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX1BBR0VfTE9BREVEKVxuICAgICAgICByZWFkb25seSByZWFkeVRvU2Nyb2xsJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWFkeVRvU2Nyb2xsJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcFRvKHRoaXMuc2Nyb2xsJCksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDc1MCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHNoYWxsV2UgPT4gc2hhbGxXZSAmJiAhIWdldEVsZW1lbnRPYnNjdXJlcnMobmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVNjcm9sbEludG9WaWV3TGlua10nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlIGV4dGVuZHMgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUge31cbiJdfQ==
@@ -1,13 +1,29 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
- import { ScrollIntoViewDirective } from './scroll-into-view.directive';
4
- let ScrollIntoViewModule = class ScrollIntoViewModule {
3
+ import { ScrollIntoViewDirective, TuiScrollIntoViewLinkDirective, } from './scroll-into-view.directive';
4
+ /**
5
+ * @deprecated: use {@link TuiScrollIntoViewLinkModule}
6
+ * TODO: remove in v3.0
7
+ */
8
+ let ScrollIntoViewModule =
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
+ class ScrollIntoViewModule {
5
11
  };
6
12
  ScrollIntoViewModule = __decorate([
7
13
  NgModule({
8
14
  declarations: [ScrollIntoViewDirective],
9
15
  exports: [ScrollIntoViewDirective],
10
16
  })
17
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11
18
  ], ScrollIntoViewModule);
12
19
  export { ScrollIntoViewModule };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBTXJFLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0NBQUcsQ0FBQTtBQUF2QixvQkFBb0I7SUFKaEMsUUFBUSxDQUFDO1FBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7S0FDckMsQ0FBQztHQUNXLG9CQUFvQixDQUFHO1NBQXZCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1Njcm9sbEludG9WaWV3RGlyZWN0aXZlfSBmcm9tICcuL3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1Njcm9sbEludG9WaWV3RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2Nyb2xsSW50b1ZpZXdNb2R1bGUge31cbiJdfQ==
20
+ let TuiScrollIntoViewLinkModule = class TuiScrollIntoViewLinkModule {
21
+ };
22
+ TuiScrollIntoViewLinkModule = __decorate([
23
+ NgModule({
24
+ declarations: [TuiScrollIntoViewLinkDirective],
25
+ exports: [TuiScrollIntoViewLinkDirective],
26
+ })
27
+ ], TuiScrollIntoViewLinkModule);
28
+ export { TuiScrollIntoViewLinkModule };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsOEJBQThCLEdBQ2pDLE1BQU0sOEJBQThCLENBQUM7QUFFdEM7OztHQUdHO0FBTUgsSUFBYSxvQkFBb0I7QUFEakMsZ0VBQWdFO0FBQ2hFLE1BQWEsb0JBQW9CO0NBQUcsQ0FBQTtBQUF2QixvQkFBb0I7SUFMaEMsUUFBUSxDQUFDO1FBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDdkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7S0FDckMsQ0FBQztJQUNGLGdFQUFnRTtHQUNuRCxvQkFBb0IsQ0FBRztTQUF2QixvQkFBb0I7QUFNakMsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7Q0FBRyxDQUFBO0FBQTlCLDJCQUEyQjtJQUp2QyxRQUFRLENBQUM7UUFDTixZQUFZLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztLQUM1QyxDQUFDO0dBQ1csMkJBQTJCLENBQUc7U0FBOUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsXG4gICAgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlLFxufSBmcm9tICcuL3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBUdWlTY3JvbGxJbnRvVmlld0xpbmtNb2R1bGV9XG4gKiBUT0RPOiByZW1vdmUgaW4gdjMuMFxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1Njcm9sbEludG9WaWV3RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmVdLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjbGFzcyBTY3JvbGxJbnRvVmlld01vZHVsZSB7fVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1R1aVNjcm9sbEludG9WaWV3TGlua0RpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aVNjcm9sbEludG9WaWV3TGlua0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNjcm9sbEludG9WaWV3TGlua01vZHVsZSB7fVxuIl19
@@ -28,11 +28,13 @@ export * from './interfaces/page';
28
28
  /* Languages */
29
29
  export * from './languages/russian';
30
30
  /* Tokens */
31
+ export * from './tokens/code-actions';
31
32
  export * from './tokens/code-editor';
32
33
  export * from './tokens/default-tabs';
33
34
  export * from './tokens/example-content-processor';
34
35
  export * from './tokens/i18n';
35
36
  export * from './tokens/logo';
37
+ export * from './tokens/page-loaded';
36
38
  export * from './tokens/pages';
37
39
  export * from './tokens/see-also';
38
40
  export * from './tokens/source-code';
@@ -43,4 +45,4 @@ export * from './utils/coerce-value';
43
45
  export * from './utils/generate-routes';
44
46
  export * from './utils/raw-load';
45
47
  export * from './utils/raw-load-record';
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsZ0JBQWdCO0FBQ2hCLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUl0RSxjQUFjLG1CQUFtQixDQUFDO0FBR2xDLGVBQWU7QUFDZixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBSy9CLFdBQVc7QUFDWCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBAdGFpZ2EtdWkvYWRkb24tZG9jXG4gKi9cblxuLyogQ29tcG9uZW50cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvY29kZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvY29kZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvZGUvcGFyc2UtY29kZS1ibG9jayc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY29weS9jb3B5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVtby9kZW1vLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVtby9kZW1vLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2V4YW1wbGUvZXhhbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2V4YW1wbGUvZXhhbXBsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21haW4vbWFpbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL21haW4vbWFpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS10YWIuZGlyZWN0aXZlJztcblxuLyogRGlyZWN0aXZlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbC1pbnRvLXZpZXcvc2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbC1pbnRvLXZpZXcvc2Nyb2xsLWludG8tdmlldy5tb2R1bGUnO1xuXG4vKiBJbnRlcmZhY2VzICovXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvY29kZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3BhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL3NvdXJjZS1jb2RlLXBhdGgtb3B0aW9ucyc7XG5cbi8qIExhbmd1YWdlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZXMvcnVzc2lhbic7XG5cbi8qIFRva2VucyAqL1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvY29kZS1lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZGVmYXVsdC10YWJzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2V4YW1wbGUtY29udGVudC1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9sb2dvJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3BhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NlZS1hbHNvJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3NvdXJjZS1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL3RpdGxlJztcblxuLyogVHlwZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvcGFnZXMnO1xuXG4vKiBVdGlscyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hZGRvbi1kb2MubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvY29lcmNlLXZhbHVlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZ2VuZXJhdGUtcm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcmF3LWxvYWQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9yYXctbG9hZC1yZWNvcmQnO1xuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1kb2MvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsZ0JBQWdCO0FBQ2hCLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsZ0JBQWdCO0FBQ2hCLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1REFBdUQsQ0FBQztBQUl0RSxjQUFjLG1CQUFtQixDQUFDO0FBR2xDLGVBQWU7QUFDZixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUsvQixXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQHRhaWdhLXVpL2FkZG9uLWRvY1xuICovXG5cbi8qIENvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL2NvZGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb2RlL3BhcnNlLWNvZGUtYmxvY2snO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvcHkvY29weS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvcHkvY29weS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlbW8vZGVtby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlbW8vZGVtby5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tYWluL21haW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UtdGFiLmRpcmVjdGl2ZSc7XG5cbi8qIERpcmVjdGl2ZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlJztcblxuLyogSW50ZXJmYWNlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2NvZGUtZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9wYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9zb3VyY2UtY29kZS1wYXRoLW9wdGlvbnMnO1xuXG4vKiBMYW5ndWFnZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2VzL3J1c3NpYW4nO1xuXG4vKiBUb2tlbnMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2NvZGUtYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9jb2RlLWVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kZWZhdWx0LXRhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zL2xvZ28nO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZS1sb2FkZWQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvcGFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvc2VlLWFsc28nO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvc291cmNlLWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b2tlbnMvdGl0bGUnO1xuXG4vKiBUeXBlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9wYWdlcyc7XG5cbi8qIFV0aWxzICovXG5leHBvcnQgKiBmcm9tICcuL2FkZG9uLWRvYy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9jb2VyY2UtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9nZW5lcmF0ZS1yb3V0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9yYXctbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Jhdy1sb2FkLXJlY29yZCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_DOC_CODE_ACTIONS = new InjectionToken('Code actions for the opened tab with code example', {
3
+ factory: () => '',
4
+ });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWRvYy8iLCJzb3VyY2VzIjpbInRva2Vucy9jb2RlLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FFcEQsbURBQW1ELEVBQUU7SUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0RPQ19DT0RFX0FDVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHN0cmluZz4+XG4+KCdDb2RlIGFjdGlvbnMgZm9yIHRoZSBvcGVuZWQgdGFiIHdpdGggY29kZSBleGFtcGxlJywge1xuICAgIGZhY3Rvcnk6ICgpID0+ICcnLFxufSk7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { defer, of, timer } from 'rxjs';
3
+ import { switchMapTo } from 'rxjs/operators';
4
+ export const TUI_DOC_PAGE_LOADED = new InjectionToken('[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)', { factory: () => defer(() => timer(200).pipe(switchMapTo(of(true)))) });
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sb2FkZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsidG9rZW5zL3BhZ2UtbG9hZGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBYyxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsMkdBQTJHLEVBQzNHLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWZlciwgT2JzZXJ2YWJsZSwgb2YsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9ET0NfUEFHRV9MT0FERUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXG4gICAgJ1tUVUlfRE9DX1BBR0VfTE9BREVEXSBTdHJlYW0gdGhhdCBlbWl0cyBpZiBsb2FkaW5nIG9mIHBhZ2UgaXMgb3ZlciAoZm9yIGV4YW1wbGUsIHRvIGJlZ2luIHNjcm9sbEludG9WaWV3KScsXG4gICAge2ZhY3Rvcnk6ICgpID0+IGRlZmVyKCgpID0+IHRpbWVyKDIwMCkucGlwZShzd2l0Y2hNYXBUbyhvZih0cnVlKSkpKX0sXG4pO1xuIl19
@@ -96,6 +96,9 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
96
96
  TuiDocDocumentationComponent.prototype.isOptional = function (name) {
97
97
  return name.includes('?');
98
98
  };
99
+ TuiDocDocumentationComponent.prototype.isPrimitivePolymorpheusContent = function (value) {
100
+ return typeof value === 'string' || typeof value === 'number';
101
+ };
99
102
  TuiDocDocumentationComponent.prototype.showCleaner = function (type) {
100
103
  return type.includes('null');
101
104
  };
@@ -124,7 +127,7 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
124
127
  TuiDocDocumentationComponent = __decorate([
125
128
  Component({
126
129
  selector: 'tui-doc-documentation',
127
- template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container\n *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\"\n >\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n",
130
+ template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container\n *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\"\n >\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n",
128
131
  changeDetection: ChangeDetectionStrategy.OnPush,
129
132
  animations: [
130
133
  trigger('emitEvent', [
@@ -139,4 +142,4 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
139
142
  return TuiDocDocumentationComponent;
140
143
  }());
141
144
  export { TuiDocDocumentationComponent };
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFM0csbURBQW1EO0FBQ25ELDJDQUEyQztBQUMzQyxXQUFXO0FBWVg7SUFnQkksc0NBQ2dELGlCQUFvQyxFQUV2RSxLQUErQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFdkUsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFqQjVELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLFVBQUss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QixVQUFtQixJQUFZO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxpREFBVSxHQUFWLFVBQVcsSUFBYTtRQUNwQixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Z0JBaEhrRSxpQkFBaUIsdUJBQS9FLE1BQU0sU0FBQyxpQkFBaUI7NENBQ3hCLE1BQU0sU0FBQywyQkFBMkI7O0lBaEJ2QztRQURDLEtBQUssRUFBRTtpRUFDSztJQUdiO1FBREMsS0FBSyxFQUFFO29FQUNVO0lBR2xCO1FBREMsS0FBSyxFQUFFOytEQUNNO0lBR2Q7UUFEQyxlQUFlLENBQUMsNkNBQTZDLENBQUM7OEVBRS9DO0lBWlAsNEJBQTRCO1FBWHhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsa3FPQUE0QztZQUU1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxVQUFVLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDakIsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO2lCQUM1RSxDQUFDO2FBQ0w7O1NBQ0osQ0FBQztRQWtCTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7T0FsQi9CLDRCQUE0QixDQWtJeEM7SUFBRCxtQ0FBQztDQUFBLEFBbElELElBa0lDO1NBbElZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZLCBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsIHdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFN9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7aGV4VG9SZ2IsIHJnYlRvSGV4fSBmcm9tICcuLi8uLi91dGlscy9jb2xvci1jb252ZXJzaW9uJztcbmltcG9ydCB7aW5zcGVjdEFueX0gZnJvbSAnLi4vLi4vdXRpbHMvaW5zcGVjdCc7XG5pbXBvcnQge1R1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZX0gZnJvbSAnLi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG4vLyBAYmFkIFRPRE8gc3Vic2NyaWJlIHByb3BlcnRpZXNDb25uZWN0b3JzIGNoYW5nZXNcbi8vIEBiYWQgVE9ETyByZWZhY3RvciB0byBtYWtlIG1vcmUgZmxleGlibGVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbWl0RXZlbnQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBoZWFkaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dWYWx1ZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBpc0FQSSA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUpXG4gICAgcHJvcGVydGllc0Nvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8YW55Pj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ET0NVTUVOVEFUSU9OX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGl0ZW1zID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoe2NoYW5nZWQkfSkgPT4gY2hhbmdlZCQpKSksXG4gICAgICAgICAgICAgICAgd2F0Y2godGhpcy5jaGFuZ2VEZXRlY3RvclJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBUEkgPyB0aGlzLnRleHRzWzBdIDogdGhpcy50ZXh0c1sxXTtcbiAgICB9XG5cbiAgICBnZXRDb2xvcihjb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGNvbG9yLmxlbmd0aCA9PT0gNCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbG9yXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2U8c3RyaW5nW10+KChyZXN1bHQsIGN1cnJlbnQpID0+IFsuLi5yZXN1bHQsIGN1cnJlbnQsIGN1cnJlbnRdLCBbXSlcbiAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgnIycsICcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICAgICAgcmV0dXJuICcjMDAwMDAwJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNvbG9yXG4gICAgICAgICAgICAucmVwbGFjZSgncmdiKCcsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3JnYmEoJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnKScsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyAnLCAnJylcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKHYgPT4gTnVtYmVyLnBhcnNlSW50KHYsIDEwKSkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXG4gICAgICAgIHJldHVybiByZ2JUb0hleCguLi5wYXJzZWQpO1xuICAgIH1cblxuICAgIGdldE9wYWNpdHkoY29sb3I6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGlmIChjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiKCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RDb21tYSA9IGNvbG9yLmxhc3RJbmRleE9mKCcsJyk7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNvbG9yXG4gICAgICAgICAgICAuc2xpY2UobGFzdENvbW1hKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyknLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcgJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnLCcsICcnKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIucGFyc2VGbG9hdChwYXJzZWQpICogMTAwKTtcbiAgICB9XG5cbiAgICBvbkNvbG9yQ2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxzdHJpbmc+LFxuICAgICAgICBjb2xvcjogc3RyaW5nLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gdGhpcy5nZXRPcGFjaXR5KGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyk7XG5cbiAgICAgICAgaWYgKG9wYWNpdHkgPT09IDEwMCkge1xuICAgICAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoY29sb3IpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZ2IgPSBoZXhUb1JnYihjb2xvcikuam9pbignLCAnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBvbk9wYWNpdHlDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPHN0cmluZz4sXG4gICAgICAgIG9wYWNpdHk6IG51bWJlcixcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGV4ID0gdGhpcy5nZXRDb2xvcihjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycpO1xuICAgICAgICBjb25zdCByZ2IgPSBoZXhUb1JnYihoZXgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHN0cmlwT3B0aW9uYWwobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIG5hbWUucmVwbGFjZSgnPycsICcnKTtcbiAgICB9XG5cbiAgICBpc09wdGlvbmFsKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbmFtZS5pbmNsdWRlcygnPycpO1xuICAgIH1cblxuICAgIHNob3dDbGVhbmVyKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZS5pbmNsdWRlcygnbnVsbCcpO1xuICAgIH1cblxuICAgIHNob3dDb250ZW50VG9vbHRpcCh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUuaW5jbHVkZXMoJ1BvbHltb3JwaGV1c0NvbnRlbnQnKTtcbiAgICB9XG5cbiAgICBpbnNwZWN0QW55KGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW5zcGVjdEFueShkYXRhLCAyKTtcbiAgICB9XG59XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFFM0csbURBQW1EO0FBQ25ELDJDQUEyQztBQUMzQyxXQUFXO0FBWVg7SUFnQkksc0NBQ2dELGlCQUFvQyxFQUV2RSxLQUErQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFFdkUsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFqQjVELFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLFVBQUss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bnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUlksIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSwgd2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ET0NfRE9DVU1FTlRBVElPTl9URVhUU30gZnJvbSAnLi4vLi4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHtoZXhUb1JnYiwgcmdiVG9IZXh9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnZlcnNpb24nO1xuaW1wb3J0IHtpbnNwZWN0QW55fSBmcm9tICcuLi8uLi91dGlscy9pbnNwZWN0JztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1kb2N1bWVudGF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRhdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudGF0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2VtaXRFdmVudCcsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzppbmNyZW1lbnQnLCBbc3R5bGUoe29wYWNpdHk6IDF9KSwgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbicpXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGlzQVBJID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZSlcbiAgICBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMucHJvcGVydGllc0Nvbm5lY3RvcnMpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaXRlbXMgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB3YXRjaCh0aGlzLmNoYW5nZURldGVjdG9yUmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0FQSSA/IHRoaXMudGV4dHNbMF0gOiB0aGlzLnRleHRzWzFdO1xuICAgIH1cblxuICAgIGdldENvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY29sb3IubGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3JcbiAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oKHJlc3VsdCwgY3VycmVudCkgPT4gWy4uLnJlc3VsdCwgY3VycmVudCwgY3VycmVudF0sIFtdKVxuICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKCcjJywgJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSB7XG4gICAgICAgICAgICByZXR1cm4gJyMwMDAwMDAnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkID0gY29sb3JcbiAgICAgICAgICAgIC5yZXBsYWNlKCdyZ2IoJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgncmdiYSgnLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcpJywgJycpXG4gICAgICAgICAgICAucmVwbGFjZSgnICcsICcnKVxuICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgIC5tYXAodiA9PiBOdW1iZXIucGFyc2VJbnQodiwgMTApKSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cbiAgICAgICAgcmV0dXJuIHJnYlRvSGV4KC4uLnBhcnNlZCk7XG4gICAgfVxuXG4gICAgZ2V0T3BhY2l0eShjb2xvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2IoJykpIHtcbiAgICAgICAgICAgIHJldHVybiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGFzdENvbW1hID0gY29sb3IubGFzdEluZGV4T2YoJywnKTtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY29sb3JcbiAgICAgICAgICAgIC5zbGljZShsYXN0Q29tbWEpXG4gICAgICAgICAgICAucmVwbGFjZSgnKScsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJyAnLCAnJylcbiAgICAgICAgICAgIC5yZXBsYWNlKCcsJywgJycpO1xuXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKE51bWJlci5wYXJzZUZsb2F0KHBhcnNlZCkgKiAxMDApO1xuICAgIH1cblxuICAgIG9uQ29sb3JDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPHN0cmluZz4sXG4gICAgICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmdldE9wYWNpdHkoY29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHx8ICcnKTtcblxuICAgICAgICBpZiAob3BhY2l0eSA9PT0gMTAwKSB7XG4gICAgICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShjb2xvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJnYiA9IGhleFRvUmdiKGNvbG9yKS5qb2luKCcsICcpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIG9uT3BhY2l0eUNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8c3RyaW5nPixcbiAgICAgICAgb3BhY2l0eTogbnVtYmVyLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZXggPSB0aGlzLmdldENvbG9yKGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyk7XG4gICAgICAgIGNvbnN0IHJnYiA9IGhleFRvUmdiKGhleCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGByZ2JhKCR7cmdifSwgJHtvcGFjaXR5IC8gMTAwfSlgO1xuXG4gICAgICAgIGNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgc3RyaXBPcHRpb25hbChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKCc/JywgJycpO1xuICAgIH1cblxuICAgIGlzT3B0aW9uYWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBuYW1lLmluY2x1ZGVzKCc/Jyk7XG4gICAgfVxuXG4gICAgaXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50KHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcic7XG4gICAgfVxuXG4gICAgc2hvd0NsZWFuZXIodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlLmluY2x1ZGVzKCdudWxsJyk7XG4gICAgfVxuXG4gICAgc2hvd0NvbnRlbnRUb29sdGlwKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZS5pbmNsdWRlcygnUG9seW1vcnBoZXVzQ29udGVudCcpO1xuICAgIH1cblxuICAgIGluc3BlY3RBbnkoZGF0YTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpbnNwZWN0QW55KGRhdGEsIDIpO1xuICAgIH1cbn1cbiJdfQ==
@@ -7,6 +7,7 @@ import { TuiNotification, TuiNotificationsService } from '@taiga-ui/core';
7
7
  import { TUI_COPY_TEXTS } from '@taiga-ui/kit';
8
8
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
9
9
  import { map, switchMap } from 'rxjs/operators';
10
+ import { TUI_DOC_CODE_ACTIONS } from '../../tokens/code-actions';
10
11
  import { TUI_DOC_CODE_EDITOR } from '../../tokens/code-editor';
11
12
  import { TUI_DOC_EXAMPLE_CONTENT_PROCESSOR } from '../../tokens/example-content-processor';
12
13
  import { TUI_DOC_EXAMPLE_TEXTS } from '../../tokens/i18n';
@@ -14,7 +15,7 @@ import { rawLoadRecord } from '../../utils/raw-load-record';
14
15
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
15
16
  // @dynamic
16
17
  var TuiDocExampleComponent = /** @class */ (function () {
17
- function TuiDocExampleComponent(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress) {
18
+ function TuiDocExampleComponent(id, clipboard, notifications, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions) {
18
19
  var _this = this;
19
20
  this.id = id;
20
21
  this.clipboard = clipboard;
@@ -25,6 +26,7 @@ var TuiDocExampleComponent = /** @class */ (function () {
25
26
  this.codeEditor = codeEditor;
26
27
  this.processContent = processContent;
27
28
  this.isCypress = isCypress;
29
+ this.codeActions = codeActions;
28
30
  this.rawLoader$$ = new BehaviorSubject({});
29
31
  this.heading = '';
30
32
  this.description = '';
@@ -75,7 +77,8 @@ var TuiDocExampleComponent = /** @class */ (function () {
75
77
  { type: Array, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_TEXTS,] }] },
76
78
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_DOC_CODE_EDITOR,] }] },
77
79
  { type: undefined, decorators: [{ type: Inject, args: [TUI_DOC_EXAMPLE_CONTENT_PROCESSOR,] }] },
78
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] }
80
+ { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_CYPRESS,] }] },
81
+ { type: Array, decorators: [{ type: Inject, args: [TUI_DOC_CODE_ACTIONS,] }] }
79
82
  ]; };
80
83
  __decorate([
81
84
  Input()
@@ -92,9 +95,9 @@ var TuiDocExampleComponent = /** @class */ (function () {
92
95
  TuiDocExampleComponent = __decorate([
93
96
  Component({
94
97
  selector: 'tui-doc-example',
95
- template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n polymorpheus-outlet\n class=\"t-description\"\n [content]=\"description | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiTab\n tuiTab\n >\n {{tab}}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $implicit: files[tabs[activeItemIndex]] || '' }\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-copy\n class=\"t-copy-code\"\n [cdkCopyToClipboard]=\"code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n",
98
+ template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n polymorpheus-outlet\n [content]=\"heading | tuiDocExampleCapitalize\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n polymorpheus-outlet\n class=\"t-description\"\n [content]=\"description | tuiDocExampleCapitalize\"\n></h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiTab\n tuiTab\n >\n {{tab}}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container *ngIf=\"index === defaultTabIndex; else anotherTab\">\n <ng-container *ngTemplateOutlet=\"preview\"></ng-container>\n </ng-container>\n <ng-template #anotherTab>\n <ng-container\n *ngTemplateOutlet=\"codeSection; context: { $implicit: files[tabs[activeItemIndex]] || '' }\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <div\n polymorpheus-outlet\n [content]=\"action\"\n [context]=\"{$implicit: code}\"\n ></div>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n",
96
99
  changeDetection: ChangeDetectionStrategy.OnPush,
97
- styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-copy-code{position:absolute;top:4.375rem;right:1rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}"]
100
+ styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}"]
98
101
  }),
99
102
  __param(0, Attribute('id')),
100
103
  __param(1, Inject(Clipboard)),
@@ -105,9 +108,10 @@ var TuiDocExampleComponent = /** @class */ (function () {
105
108
  __param(6, Optional()),
106
109
  __param(6, Inject(TUI_DOC_CODE_EDITOR)),
107
110
  __param(7, Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)),
108
- __param(8, Inject(TUI_IS_CYPRESS))
111
+ __param(8, Inject(TUI_IS_CYPRESS)),
112
+ __param(9, Inject(TUI_DOC_CODE_ACTIONS))
109
113
  ], TuiDocExampleComponent);
110
114
  return TuiDocExampleComponent;
111
115
  }());
112
116
  export { TuiDocExampleComponent };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCw4RkFBOEY7QUFDOUYsV0FBVztBQU9YO0lBZ0NJLGdDQUVhLEVBQWlCLEVBQ1UsU0FBb0IsRUFFdkMsYUFBc0MsRUFDcEIsUUFBa0IsRUFDWixVQUF3QyxFQUN6QyxLQUErQixFQUc5RCxVQUFnQyxFQUV4QixjQUdoQixF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akRsQixzQkFBc0IsQ0EyRWxDO0lBQUQsNkJBQUM7Q0FBQSxBQTNFRCxJQTJFQztTQTNFWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfSVNfQ1lQUkVTUywgVHVpSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU5vdGlmaWNhdGlvbiwgVHVpTm90aWZpY2F0aW9uc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX0NPUFlfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUNvZGVFZGl0b3J9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29kZS1lZGl0b3InO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhZ2UnO1xuaW1wb3J0IHtUVUlfRE9DX0NPREVfRURJVE9SfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1lZGl0b3InO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1J9IGZyb20gJy4uLy4uL3Rva2Vucy9leGFtcGxlLWNvbnRlbnQtcHJvY2Vzc29yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge3Jhd0xvYWRSZWNvcmR9IGZyb20gJy4uLy4uL3V0aWxzL3Jhdy1sb2FkLXJlY29yZCc7XG5cbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChjb250ZW50OiBUdWlEb2NFeGFtcGxlKSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCdpZCcpXG4gICAgICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlOb3RpZmljYXRpb25zU2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25zOiBUdWlOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPUFlfVEVYVFMpIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfVEVYVFMpIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUilcbiAgICAgICAgcmVhZG9ubHkgY29kZUVkaXRvcjogVHVpQ29kZUVkaXRvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NDb250ZW50OiBUdWlIYW5kbGVyPFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQ1lQUkVTUykgcmVhZG9ubHkgaXNDeXByZXNzOiBib29sZWFuLFxuICAgICkge31cblxuICAgIGNvcHlFeGFtcGxlTGluaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzaFBvc2l0aW9uID0gdGhpcy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJyMnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFVybCA9XG4gICAgICAgICAgICBoYXNoUG9zaXRpb24gPiAtMVxuICAgICAgICAgICAgICAgID8gdGhpcy5sb2NhdGlvbi5ocmVmLnNsaWNlKDAsIE1hdGgubWF4KDAsIGhhc2hQb3NpdGlvbikpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2N1cnJlbnRVcmx9IyR7dGhpcy5pZH1gO1xuXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodXJsKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zXG4gICAgICAgICAgICAuc2hvdyh0aGlzLnRleHRzWzFdLCB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudGV4dHNbMl0sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBUdWlOb3RpZmljYXRpb24uU3VjY2VzcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZWRpdChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvclxuICAgICAgICAgICAgPy5lZGl0KHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5pZCA/PyAnJywgZmlsZXMpXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tZG9jLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsY0FBYyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCw4RkFBOEY7QUFDOUYsV0FBVztBQU9YO0lBZ0NJLGdDQUVhLEVBQWlCLEVBQ1UsU0FBb0IsRUFFdkMsYUFBc0MsRUFDcEIsUUFBa0IsRUFD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QUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRTNCLFdBQUEsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7UUFLekMsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtPQWxEeEIsc0JBQXNCLENBNEVsQztJQUFELDZCQUFDO0NBQUEsQUE1RUQsSUE0RUM7U0E1RVksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VFVJX0lTX0NZUFJFU1MsIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlOb3RpZmljYXRpb24sIFR1aU5vdGlmaWNhdGlvbnNTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlDb2RlRWRpdG9yfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VHVpRG9jRXhhbXBsZX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wYWdlJztcbmltcG9ydCB7VFVJX0RPQ19DT0RFX0FDVElPTlN9IGZyb20gJy4uLy4uL3Rva2Vucy9jb2RlLWFjdGlvbnMnO1xuaW1wb3J0IHtUVUlfRE9DX0NPREVfRURJVE9SfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1lZGl0b3InO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1J9IGZyb20gJy4uLy4uL3Rva2Vucy9leGFtcGxlLWNvbnRlbnQtcHJvY2Vzc29yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge3Jhd0xvYWRSZWNvcmR9IGZyb20gJy4uLy4uL3V0aWxzL3Jhdy1sb2FkLXJlY29yZCc7XG5cbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChjb250ZW50OiBUdWlEb2NFeGFtcGxlKSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCdpZCcpXG4gICAgICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlOb3RpZmljYXRpb25zU2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25zOiBUdWlOb3RpZmljYXRpb25zU2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPUFlfVEVYVFMpIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfVEVYVFMpIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUilcbiAgICAgICAgcmVhZG9ubHkgY29kZUVkaXRvcjogVHVpQ29kZUVkaXRvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NDb250ZW50OiBUdWlIYW5kbGVyPFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQ1lQUkVTUykgcmVhZG9ubHkgaXNDeXByZXNzOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9BQ1RJT05TKSByZWFkb25seSBjb2RlQWN0aW9uczogUG9seW1vcnBoZXVzQ29udGVudFtdLFxuICAgICkge31cblxuICAgIGNvcHlFeGFtcGxlTGluaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzaFBvc2l0aW9uID0gdGhpcy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJyMnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFVybCA9XG4gICAgICAgICAgICBoYXNoUG9zaXRpb24gPiAtMVxuICAgICAgICAgICAgICAgID8gdGhpcy5sb2NhdGlvbi5ocmVmLnNsaWNlKDAsIE1hdGgubWF4KDAsIGhhc2hQb3NpdGlvbikpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2N1cnJlbnRVcmx9IyR7dGhpcy5pZH1gO1xuXG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodXJsKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zXG4gICAgICAgICAgICAuc2hvdyh0aGlzLnRleHRzWzFdLCB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudGV4dHNbMl0sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBUdWlOb3RpZmljYXRpb24uU3VjY2VzcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZWRpdChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvclxuICAgICAgICAgICAgPy5lZGl0KHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5pZCA/PyAnJywgZmlsZXMpXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=