@koobiq/components 18.3.0 → 18.4.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 (98) hide show
  1. package/code-block/_code-block-theme.scss +1 -1
  2. package/code-block/actionbar.component.d.ts +14 -4
  3. package/code-block/code-block-tokens.scss +4 -4
  4. package/code-block/code-block.component.d.ts +12 -15
  5. package/code-block/code-block.types.d.ts +12 -0
  6. package/core/common-behaviors/color.d.ts +1 -1
  7. package/core/forms/validators.d.ts +21 -0
  8. package/core/locales/en-US.d.ts +13 -0
  9. package/core/locales/es-LA.d.ts +13 -0
  10. package/core/locales/fa-IR.d.ts +13 -0
  11. package/core/locales/locale-service.d.ts +78 -0
  12. package/core/locales/pt-BR.d.ts +13 -0
  13. package/core/locales/ru-RU.d.ts +13 -0
  14. package/core/locales/zh-CN.d.ts +13 -0
  15. package/core/select/common.d.ts +2 -0
  16. package/core/services/theme.service.d.ts +2 -2
  17. package/core/styles/theming/_components-theming.scss +1 -1
  18. package/datepicker/_datepicker-theme.scss +1 -1
  19. package/datepicker/datepicker-tokens.scss +2 -2
  20. package/dropdown/_dropdown-theme.scss +1 -1
  21. package/dropdown/dropdown-tokens.scss +1 -1
  22. package/esm2022/code-block/actionbar.component.mjs +35 -8
  23. package/esm2022/code-block/code-block.component.mjs +28 -19
  24. package/esm2022/code-block/code-block.types.mjs +5 -2
  25. package/esm2022/core/common-behaviors/color.mjs +2 -2
  26. package/esm2022/core/forms/validators.mjs +32 -1
  27. package/esm2022/core/locales/en-US.mjs +14 -1
  28. package/esm2022/core/locales/es-LA.mjs +14 -1
  29. package/esm2022/core/locales/fa-IR.mjs +14 -1
  30. package/esm2022/core/locales/pt-BR.mjs +14 -1
  31. package/esm2022/core/locales/ru-RU.mjs +14 -1
  32. package/esm2022/core/locales/zh-CN.mjs +14 -1
  33. package/esm2022/core/select/common.mjs +7 -1
  34. package/esm2022/core/services/theme.service.mjs +3 -3
  35. package/esm2022/core/version.mjs +2 -2
  36. package/esm2022/datepicker/datepicker.component.mjs +3 -3
  37. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  38. package/esm2022/file-upload/file-upload.mjs +2 -3
  39. package/esm2022/file-upload/multiple-file-upload.component.mjs +57 -17
  40. package/esm2022/file-upload/single-file-upload.component.mjs +31 -19
  41. package/esm2022/markdown/markdown.values.mjs +4 -2
  42. package/esm2022/modal/modal.component.mjs +2 -2
  43. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  44. package/esm2022/navbar/navbar.component.mjs +2 -2
  45. package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
  46. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  47. package/esm2022/popover/popover.component.mjs +3 -3
  48. package/esm2022/select/select.component.mjs +1 -1
  49. package/esm2022/sidepanel/sidepanel-container.component.mjs +3 -3
  50. package/esm2022/timezone/timezone-select.component.mjs +20 -10
  51. package/esm2022/tooltip/tooltip.component.mjs +13 -1
  52. package/fesm2022/koobiq-components-code-block.mjs +58 -24
  53. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  54. package/fesm2022/koobiq-components-core.mjs +120 -5
  55. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  56. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  57. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  58. package/fesm2022/koobiq-components-dropdown.mjs +2 -2
  59. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  60. package/fesm2022/koobiq-components-file-upload.mjs +76 -27
  61. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  62. package/fesm2022/koobiq-components-markdown.mjs +3 -1
  63. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  64. package/fesm2022/koobiq-components-modal.mjs +2 -2
  65. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  66. package/fesm2022/koobiq-components-navbar.mjs +6 -6
  67. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  68. package/fesm2022/koobiq-components-popover.mjs +4 -4
  69. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  70. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-sidepanel.mjs +2 -2
  72. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-timezone.mjs +18 -8
  74. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-tooltip.mjs +12 -0
  76. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  77. package/file-upload/_file-upload-theme.scss +6 -10
  78. package/file-upload/file-upload.d.ts +3 -0
  79. package/file-upload/file-upload.scss +6 -0
  80. package/file-upload/multiple-file-upload.component.d.ts +28 -5
  81. package/file-upload/multiple-file-upload.component.scss +0 -4
  82. package/file-upload/single-file-upload.component.d.ts +13 -4
  83. package/file-upload/single-file-upload.component.scss +0 -12
  84. package/markdown/markdown.values.d.ts +3 -0
  85. package/modal/_modal-theme.scss +1 -1
  86. package/modal/modal-tokens.scss +2 -2
  87. package/navbar/_navbar-theme.scss +1 -1
  88. package/navbar/navbar-tokens.scss +2 -8
  89. package/package.json +4 -4
  90. package/popover/_popover-theme.scss +2 -2
  91. package/popover/popover-tokens.scss +2 -2
  92. package/popover/popover.scss +2 -2
  93. package/schematics/ng-add/index.js +2 -2
  94. package/select/select.component.d.ts +1 -1
  95. package/sidepanel/_sidepanel-theme.scss +1 -1
  96. package/sidepanel/sidepanel-tokens.scss +2 -2
  97. package/timezone/timezone-select.component.d.ts +5 -6
  98. package/tooltip/tooltip.component.d.ts +9 -0
@@ -1,9 +1,12 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { Clipboard } from '@angular/cdk/clipboard';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, InjectionToken, Input, Optional, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { KBQ_LOCALE_SERVICE, KbqLocaleService } from '@koobiq/components/core';
4
6
  import { KbqTabGroup } from '@koobiq/components/tabs';
5
7
  import { Subject, Subscription, fromEvent, merge, pairwise } from 'rxjs';
6
8
  import { debounceTime, filter, map, startWith, switchMap } from 'rxjs/operators';
9
+ import { KBQ_CODE_BLOCK_CONFIGURATION, KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION } from './code-block.types';
7
10
  import * as i0 from "@angular/core";
8
11
  import * as i1 from "@angular/cdk/clipboard";
9
12
  import * as i2 from "@angular/cdk/a11y";
@@ -12,6 +15,7 @@ import * as i4 from "@koobiq/components/icon";
12
15
  import * as i5 from "ngx-highlightjs";
13
16
  import * as i6 from "@koobiq/components/tabs";
14
17
  import * as i7 from "./actionbar.component";
18
+ import * as i8 from "@koobiq/components/core";
15
19
  export const COPIED_MESSAGE_TOOLTIP_TIMEOUT = 100;
16
20
  export const DEFAULT_EXTENSION = 'txt';
17
21
  export const LANGUAGES_EXTENSIONS = {
@@ -32,17 +36,6 @@ export const LANGUAGES_EXTENSIONS = {
32
36
  xml: 'xml',
33
37
  json: 'json'
34
38
  };
35
- export const KBQ_CODE_BLOCK_CONFIGURATION = new InjectionToken('KbqCodeBlockConfiguration');
36
- export const KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION = {
37
- softWrapOnTooltip: 'Включить перенос по словам',
38
- softWrapOffTooltip: 'Выключить перенос по словам',
39
- downloadTooltip: 'Скачать',
40
- copiedTooltip: '✓ Скопировано',
41
- copyTooltip: 'Скопировать',
42
- viewAllText: 'Показать все',
43
- viewLessText: 'Свернуть',
44
- openExternalSystemTooltip: 'Открыть во внешней системе'
45
- };
46
39
  const actionBarBlockLeftMargin = 24;
47
40
  const hasScroll = (element) => {
48
41
  const { scrollHeight, scrollWidth, clientHeight, clientWidth } = element;
@@ -64,13 +57,14 @@ export class KbqCodeBlockComponent {
64
57
  get singleFile() {
65
58
  return this.codeFiles.length === 1;
66
59
  }
67
- constructor(elementRef, changeDetectorRef, clipboard, renderer, focusMonitor, config) {
60
+ constructor(elementRef, changeDetectorRef, clipboard, renderer, focusMonitor, configuration, localeService) {
68
61
  this.elementRef = elementRef;
69
62
  this.changeDetectorRef = changeDetectorRef;
70
63
  this.clipboard = clipboard;
71
64
  this.renderer = renderer;
72
65
  this.focusMonitor = focusMonitor;
73
- this.config = config;
66
+ this.configuration = configuration;
67
+ this.localeService = localeService;
74
68
  this.lineNumbers = true;
75
69
  this.softWrap = false;
76
70
  this.canLoad = true;
@@ -91,12 +85,19 @@ export class KbqCodeBlockComponent {
91
85
  this.renderer.setStyle(this.tabGroup.tabHeader.elementRef.nativeElement, 'padding-right', `${actionBarBlockLeftMargin + clientWidth}px`);
92
86
  this.changeDetectorRef.markForCheck();
93
87
  };
88
+ this.updateLocaleParams = () => {
89
+ this.config = this.configuration || this.localeService?.getParams('codeBlock');
90
+ this.changeDetectorRef.markForCheck();
91
+ };
94
92
  this.updateMultiline = () => {
95
93
  this.multiLine = this.elementRef.nativeElement.querySelectorAll('.hljs-ln-numbers').length > 1;
96
94
  this.updateHeader();
97
95
  this.changeDetectorRef.markForCheck();
98
96
  };
99
- this.config = config || KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION;
97
+ this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);
98
+ if (!this.localeService) {
99
+ this.initDefaultParams();
100
+ }
100
101
  this.resizeSubscription = this.resizeStream
101
102
  .pipe(debounceTime(this.resizeDebounceInterval))
102
103
  .subscribe(this.updateHeader);
@@ -204,6 +205,9 @@ export class KbqCodeBlockComponent {
204
205
  }
205
206
  this.actionbarHidden = this.noHeader;
206
207
  }
208
+ initDefaultParams() {
209
+ this.config = KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION;
210
+ }
207
211
  getFullFileName(codeFile) {
208
212
  const fileName = codeFile.filename || 'code';
209
213
  const extension = LANGUAGES_EXTENSIONS[codeFile.language] || DEFAULT_EXTENSION;
@@ -229,8 +233,8 @@ export class KbqCodeBlockComponent {
229
233
  });
230
234
  this.hoverSubscription.add(blur);
231
235
  }
232
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCodeBlockComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Clipboard }, { token: i0.Renderer2 }, { token: i2.FocusMonitor }, { token: KBQ_CODE_BLOCK_CONFIGURATION, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
233
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqCodeBlockComponent, selector: "kbq-code-block", inputs: { lineNumbers: "lineNumbers", filled: "filled", maxHeight: "maxHeight", softWrap: "softWrap", canLoad: "canLoad", codeFiles: "codeFiles" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-code-block_filled": "filled", "class.kbq-code-block_outline": "!filled", "class.kbq-code-block_hide-line-numbers": "!lineNumbers", "class.kbq-code-block_single-file": "singleFile", "class.kbq-code-block_no-header": "noHeader", "class.kbq-code-block_header-with-shadow": "isTopOverflow" }, classAttribute: "kbq-code-block" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: KbqTabGroup, descendants: true }], exportAs: ["kbqCodeBlock"], ngImport: i0, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n @for (codeFile of codeFiles; track codeFile; let i = $index) {\n <kbq-tab [disabled]=\"singleFile\">\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n @if (maxHeight) {\n <div\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n @if (!viewAll) {\n <i kbq-icon=\"kbq-chevron-down_16\"></i>\n }\n @if (viewAll) {\n <i kbq-icon=\"kbq-chevron-up_16\"></i>\n }\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n }\n </kbq-tab>\n }\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius);border-width:0}.kbq-code-block .kbq-tab-header{padding:calc(var(--kbq-code-block-size-header-padding-vertical) - var(--kbq-code-block-size-container-border-width)) calc(var(--kbq-code-block-size-header-padding-right) + 152px) var(--kbq-code-block-size-header-padding-vertical) var(--kbq-code-block-size-header-padding-left);border-width:var(--kbq-code-block-size-container-border-width) var(--kbq-code-block-size-container-border-width) 0 var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl)!important;overflow-x:scroll}.kbq-code-block:has(.kbq-code-block__show-more):has(.kbq-code-block__show-more_collapsed) .kbq-code-block__code>code{overflow-x:hidden}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top) var(--kbq-code-block-size-with-header-content-padding-horizontal) var(--kbq-code-block-size-with-header-content-padding-bottom) var(--kbq-code-block-size-with-header-content-padding-horizontal);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0;overflow:visible}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical) var(--kbq-code-block-size-no-header-content-padding-horizontal)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;border-width:var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;width:100%;position:absolute;bottom:0;border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius)}.kbq-code-block .hljs{display:block;overflow-x:auto}.kbq-code-block .hljs-addition{background-color:var(--kbq-code-block-hljs-addition-background);color:var(--kbq-code-block-hljs-addition-color)}.kbq-code-block .hljs-attr{background-color:var(--kbq-code-block-hljs-attr-background);color:var(--kbq-code-block-hljs-attr-color)}.kbq-code-block .hljs-attribute{background-color:var(--kbq-code-block-hljs-attribute-background);color:var(--kbq-code-block-hljs-attribute-color)}.kbq-code-block .hljs-built_in{background-color:var(--kbq-code-block-hljs-built_in-background);color:var(--kbq-code-block-hljs-built_in-color)}.kbq-code-block .hljs-bullet{background-color:var(--kbq-code-block-hljs-bullet-background);color:var(--kbq-code-block-hljs-bullet-color)}.kbq-code-block .hljs-char-escape{background-color:var(--kbq-code-block-hljs-char-escape-background);color:var(--kbq-code-block-hljs-char-escape-color)}.kbq-code-block .hljs-class{background-color:var(--kbq-code-block-hljs-class-background);color:var(--kbq-code-block-hljs-class-color)}.kbq-code-block .hljs-code{background-color:var(--kbq-code-block-hljs-code-background);color:var(--kbq-code-block-hljs-code-color)}.kbq-code-block .hljs-comment{background-color:var(--kbq-code-block-hljs-comment-background);color:var(--kbq-code-block-hljs-comment-color)}.kbq-code-block .hljs-deletion{background-color:var(--kbq-code-block-hljs-deletion-background);color:var(--kbq-code-block-hljs-deletion-color)}.kbq-code-block .hljs-doctag{background-color:var(--kbq-code-block-hljs-doctag-background);color:var(--kbq-code-block-hljs-doctag-color)}.kbq-code-block .hljs-emphasis{background-color:var(--kbq-code-block-hljs-emphasis-background);color:var(--kbq-code-block-hljs-emphasis-color)}.kbq-code-block .hljs-formula{background-color:var(--kbq-code-block-hljs-formula-background);color:var(--kbq-code-block-hljs-formula-color)}.kbq-code-block .hljs-function{background-color:var(--kbq-code-block-hljs-function-background);color:var(--kbq-code-block-hljs-function-color)}.kbq-code-block .hljs-keyword{background-color:var(--kbq-code-block-hljs-keyword-background);color:var(--kbq-code-block-hljs-keyword-color)}.kbq-code-block .hljs-link{background-color:var(--kbq-code-block-hljs-link-background);color:var(--kbq-code-block-hljs-link-color)}.kbq-code-block .hljs-literal{background-color:var(--kbq-code-block-hljs-literal-background);color:var(--kbq-code-block-hljs-literal-color)}.kbq-code-block .hljs-meta{background-color:var(--kbq-code-block-hljs-meta-background);color:var(--kbq-code-block-hljs-meta-color)}.kbq-code-block .hljs-meta-keyword{background-color:var(--kbq-code-block-hljs-meta-keyword-background);color:var(--kbq-code-block-hljs-meta-keyword-color)}.kbq-code-block .hljs-meta-string{background-color:var(--kbq-code-block-hljs-meta-string-background);color:var(--kbq-code-block-hljs-meta-string-color)}.kbq-code-block .hljs-meta-prompt{background-color:var(--kbq-code-block-hljs-meta-prompt-background);color:var(--kbq-code-block-hljs-meta-prompt-color)}.kbq-code-block .hljs-name{background-color:var(--kbq-code-block-hljs-name-background);color:var(--kbq-code-block-hljs-name-color)}.kbq-code-block .hljs-number{background-color:var(--kbq-code-block-hljs-number-background);color:var(--kbq-code-block-hljs-number-color)}.kbq-code-block .hljs-operator{background-color:var(--kbq-code-block-hljs-operator-background);color:var(--kbq-code-block-hljs-operator-color)}.kbq-code-block .hljs-params{background-color:var(--kbq-code-block-hljs-params-background);color:var(--kbq-code-block-hljs-params-color)}.kbq-code-block .hljs-property{background-color:var(--kbq-code-block-hljs-property-background);color:var(--kbq-code-block-hljs-property-color)}.kbq-code-block .hljs-punctuation{background-color:var(--kbq-code-block-hljs-punctuation-background);color:var(--kbq-code-block-hljs-punctuation-color)}.kbq-code-block .hljs-quote{background-color:var(--kbq-code-block-hljs-quote-background);color:var(--kbq-code-block-hljs-quote-color)}.kbq-code-block .hljs-regexp{background-color:var(--kbq-code-block-hljs-regexp-background);color:var(--kbq-code-block-hljs-regexp-color)}.kbq-code-block .hljs-section{background-color:var(--kbq-code-block-hljs-section-background);color:var(--kbq-code-block-hljs-section-color)}.kbq-code-block .hljs-selector-attr{background-color:var(--kbq-code-block-hljs-selector-attr-background);color:var(--kbq-code-block-hljs-selector-attr-color)}.kbq-code-block .hljs-selector-class{background-color:var(--kbq-code-block-hljs-selector-class-background);color:var(--kbq-code-block-hljs-selector-class-color)}.kbq-code-block .hljs-selector-id{background-color:var(--kbq-code-block-hljs-selector-id-background);color:var(--kbq-code-block-hljs-selector-id-color)}.kbq-code-block .hljs-selector-pseudo{background-color:var(--kbq-code-block-hljs-selector-pseudo-background);color:var(--kbq-code-block-hljs-selector-pseudo-color)}.kbq-code-block .hljs-selector-tag{background-color:var(--kbq-code-block-hljs-selector-tag-background);color:var(--kbq-code-block-hljs-selector-tag-color)}.kbq-code-block .hljs-string{background-color:var(--kbq-code-block-hljs-string-background);color:var(--kbq-code-block-hljs-string-color)}.kbq-code-block .hljs-strong{background-color:var(--kbq-code-block-hljs-strong-background);color:var(--kbq-code-block-hljs-strong-color)}.kbq-code-block .hljs-subst{background-color:var(--kbq-code-block-hljs-subst-background);color:var(--kbq-code-block-hljs-subst-color)}.kbq-code-block .hljs-symbol{background-color:var(--kbq-code-block-hljs-symbol-background);color:var(--kbq-code-block-hljs-symbol-color)}.kbq-code-block .hljs-tag{background-color:var(--kbq-code-block-hljs-tag-background);color:var(--kbq-code-block-hljs-tag-color)}.kbq-code-block .hljs-template-tag{background-color:var(--kbq-code-block-hljs-template-tag-background);color:var(--kbq-code-block-hljs-template-tag-color)}.kbq-code-block .hljs-template-variable{background-color:var(--kbq-code-block-hljs-template-variable-background);color:var(--kbq-code-block-hljs-template-variable-color)}.kbq-code-block .hljs-title{background-color:var(--kbq-code-block-hljs-title-background);color:var(--kbq-code-block-hljs-title-color)}.kbq-code-block .hljs-title-class{background-color:var(--kbq-code-block-hljs-title-class-background);color:var(--kbq-code-block-hljs-title-class-color)}.kbq-code-block .hljs-title-class-inherited{background-color:var(--kbq-code-block-hljs-title-class-inherited-background);color:var(--kbq-code-block-hljs-title-class-inherited-color)}.kbq-code-block .hljs-title-function{background-color:var(--kbq-code-block-hljs-title-function-background);color:var(--kbq-code-block-hljs-title-function-color)}.kbq-code-block .hljs-title-function-invoke{background-color:var(--kbq-code-block-hljs-title-function-invoke-background);color:var(--kbq-code-block-hljs-title-function-invoke-color)}.kbq-code-block .hljs-type{background-color:var(--kbq-code-block-hljs-type-background);color:var(--kbq-code-block-hljs-type-color)}.kbq-code-block .hljs-variable{background-color:var(--kbq-code-block-hljs-variable-background);color:var(--kbq-code-block-hljs-variable-color)}.kbq-code-block .hljs-variable-constant{background-color:var(--kbq-code-block-hljs-variable-constant-background);color:var(--kbq-code-block-hljs-variable-constant-color)}.kbq-code-block .hljs-variable-language{background-color:var(--kbq-code-block-hljs-variable-language-background);color:var(--kbq-code-block-hljs-variable-language-color)}.kbq-code-block .hljs-ln-n{color:var(--kbq-code-block-hljs-line-numbers-color)}.kbq-code-block.kbq-code-block_outline{background:var(--kbq-code-block-outline-container-background)}.kbq-code-block.kbq-code-block_outline .kbq-tab-header{background:var(--kbq-code-block-outline-header-background)!important;border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-outline-actionbar-background)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-outline-header-shadow)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-outline-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-outline-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-outline-collapse-expanded-background)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-outline-collapse-collapsed-background)}.kbq-code-block.kbq-code-block_filled{background:var(--kbq-code-block-filled-container-background)}.kbq-code-block.kbq-code-block_filled .kbq-tab-header{background:var(--kbq-code-block-filled-header-background)!important;border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-filled-actionbar-background)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-filled-header-shadow)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-filled-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-filled-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-filled-collapse-expanded-background)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-filled-collapse-collapsed-background)}.kbq-code-block .kbq-tab-header .kbq-tab-label.kbq-tab-label_horizontal,.kbq-code-block .kbq-tab-header .kbq-tab-header__pagination{border-bottom-color:transparent}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-header{box-shadow:0 2px 0 -1px var(--kbq-states-focused-color)}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-body__wrapper{border-color:var(--kbq-states-focused-color);box-shadow:inset 0 0 .1 1px var(--kbq-states-focused-color)}.kbq-code-block{font-size:var(--kbq-code-block-font-default-font-size);font-weight:var(--kbq-code-block-font-default-font-weight);line-height:var(--kbq-code-block-font-default-line-height);font-family:var(--kbq-code-block-font-default-font-family);text-transform:var(--kbq-code-block-font-default-text-transform);font-feature-settings:var(--kbq-code-block-font-default-font-feature-settings);letter-spacing:var(--kbq-code-block-font-default-letter-spacing)}.kbq-code-block .kbq-code-block__code{font:inherit}.kbq-code-block .kbq-code-block__code>code{font:inherit}\n", ".kbq-code-block{--kbq-code-block-size-container-border-width: 1px;--kbq-code-block-size-container-border-radius: var(--kbq-size-m);--kbq-code-block-size-with-header-content-padding-top: var(--kbq-size-xxs);--kbq-code-block-size-with-header-content-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-with-header-content-padding-horizontal: var(--kbq-size-xl);--kbq-code-block-size-with-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-no-header-content-padding-vertical: 14px;--kbq-code-block-size-no-header-content-padding-horizontal: 20px;--kbq-code-block-size-no-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-header-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-header-padding-left: var(--kbq-size-m);--kbq-code-block-size-header-padding-right: var(--kbq-size-s);--kbq-code-block-size-header-content-gap-horizontal: var(--kbq-size-l);--kbq-code-block-size-actionbar-content-gap-horizontal: var(--kbq-size-3xs);--kbq-code-block-size-actionbar-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-actionbar-padding-horizontal: var(--kbq-size-m);--kbq-code-block-size-actionbar-fade-gradient-width: var(--kbq-size-3xl);--kbq-code-block-size-collapse-expanded-padding-top: 0;--kbq-code-block-size-collapse-expanded-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-collapse-collapsed-padding-top: var(--kbq-size-3xl);--kbq-code-block-size-collapse-collapsed-padding-bottom: var(--kbq-size-l);--kbq-code-block-font-default-font-size: var(--kbq-typography-mono-codeblock-font-size);--kbq-code-block-font-default-line-height: var(--kbq-typography-mono-codeblock-line-height);--kbq-code-block-font-default-letter-spacing: var(--kbq-typography-mono-codeblock-letter-spacing);--kbq-code-block-font-default-font-weight: var(--kbq-typography-mono-codeblock-font-weight);--kbq-code-block-font-default-font-family: var(--kbq-typography-mono-codeblock-font-family);--kbq-code-block-font-default-text-transform: var(--kbq-typography-mono-codeblock-text-transform);--kbq-code-block-font-default-font-feature-settings: var(--kbq-typography-mono-codeblock-font-feature-settings);--kbq-code-block-font-hljs-addition-font-style: null;--kbq-code-block-font-hljs-addition-font-weight: null;--kbq-code-block-font-hljs-attr-font-style: null;--kbq-code-block-font-hljs-attr-font-weight: null;--kbq-code-block-font-hljs-attribute-font-style: null;--kbq-code-block-font-hljs-attribute-font-weight: null;--kbq-code-block-font-hljs-built-in-font-style: null;--kbq-code-block-font-hljs-built-in-font-weight: null;--kbq-code-block-font-hljs-bullet-font-style: null;--kbq-code-block-font-hljs-bullet-font-weight: null;--kbq-code-block-font-hljs-char-escape-font-style: null;--kbq-code-block-font-hljs-char-escape-font-weight: null;--kbq-code-block-font-hljs-class-font-style: null;--kbq-code-block-font-hljs-class-font-weight: null;--kbq-code-block-font-hljs-code-font-style: null;--kbq-code-block-font-hljs-code-font-weight: null;--kbq-code-block-font-hljs-comment-font-style: null;--kbq-code-block-font-hljs-comment-font-weight: null;--kbq-code-block-font-hljs-deletion-font-style: null;--kbq-code-block-font-hljs-deletion-font-weight: null;--kbq-code-block-font-hljs-doctag-font-style: null;--kbq-code-block-font-hljs-doctag-font-weight: null;--kbq-code-block-font-hljs-emphasis-font-style: null;--kbq-code-block-font-hljs-emphasis-font-weight: null;--kbq-code-block-font-hljs-formula-font-style: null;--kbq-code-block-font-hljs-formula-font-weight: null;--kbq-code-block-font-hljs-function-font-style: null;--kbq-code-block-font-hljs-function-font-weight: null;--kbq-code-block-font-hljs-keyword-font-style: null;--kbq-code-block-font-hljs-keyword-font-weight: null;--kbq-code-block-font-hljs-link-font-style: null;--kbq-code-block-font-hljs-link-font-weight: null;--kbq-code-block-font-hljs-literal-font-style: null;--kbq-code-block-font-hljs-literal-font-weight: null;--kbq-code-block-font-hljs-meta-font-style: null;--kbq-code-block-font-hljs-meta-font-weight: null;--kbq-code-block-font-hljs-meta-keyword-font-style: null;--kbq-code-block-font-hljs-meta-keyword-font-weight: null;--kbq-code-block-font-hljs-meta-string-font-style: null;--kbq-code-block-font-hljs-meta-string-font-weight: null;--kbq-code-block-font-hljs-meta-prompt-font-style: null;--kbq-code-block-font-hljs-meta-prompt-font-weight: null;--kbq-code-block-font-hljs-name-font-style: null;--kbq-code-block-font-hljs-name-font-weight: null;--kbq-code-block-font-hljs-number-font-style: null;--kbq-code-block-font-hljs-number-font-weight: null;--kbq-code-block-font-hljs-operator-font-style: null;--kbq-code-block-font-hljs-operator-font-weight: null;--kbq-code-block-font-hljs-params-font-style: null;--kbq-code-block-font-hljs-params-font-weight: null;--kbq-code-block-font-hljs-property-font-style: null;--kbq-code-block-font-hljs-property-font-weight: null;--kbq-code-block-font-hljs-punctuation-font-style: null;--kbq-code-block-font-hljs-punctuation-font-weight: null;--kbq-code-block-font-hljs-quote-font-style: null;--kbq-code-block-font-hljs-quote-font-weight: null;--kbq-code-block-font-hljs-regexp-font-style: null;--kbq-code-block-font-hljs-regexp-font-weight: null;--kbq-code-block-font-hljs-section-font-style: null;--kbq-code-block-font-hljs-section-font-weight: null;--kbq-code-block-font-hljs-selector-attr-font-style: null;--kbq-code-block-font-hljs-selector-attr-font-weight: null;--kbq-code-block-font-hljs-selector-class-font-style: null;--kbq-code-block-font-hljs-selector-class-font-weight: null;--kbq-code-block-font-hljs-selector-id-font-style: null;--kbq-code-block-font-hljs-selector-id-font-weight: null;--kbq-code-block-font-hljs-selector-pseudo-font-style: null;--kbq-code-block-font-hljs-selector-pseudo-font-weight: null;--kbq-code-block-font-hljs-selector-tag-font-style: null;--kbq-code-block-font-hljs-selector-tag-font-weight: null;--kbq-code-block-font-hljs-string-font-style: null;--kbq-code-block-font-hljs-string-font-weight: null;--kbq-code-block-font-hljs-strong-font-style: null;--kbq-code-block-font-hljs-strong-font-weight: null;--kbq-code-block-font-hljs-subst-font-style: null;--kbq-code-block-font-hljs-subst-font-weight: null;--kbq-code-block-font-hljs-symbol-font-style: null;--kbq-code-block-font-hljs-symbol-font-weight: null;--kbq-code-block-font-hljs-tag-font-style: null;--kbq-code-block-font-hljs-tag-font-weight: null;--kbq-code-block-font-hljs-template-tag-font-style: null;--kbq-code-block-font-hljs-template-tag-font-weight: null;--kbq-code-block-font-hljs-template-variable-font-style: null;--kbq-code-block-font-hljs-template-variable-font-weight: null;--kbq-code-block-font-hljs-title-font-style: null;--kbq-code-block-font-hljs-title-font-weight: null;--kbq-code-block-font-hljs-title-class-font-style: normal;--kbq-code-block-font-hljs-title-class-font-weight: 500;--kbq-code-block-font-hljs-title-class-inherited-font-style: null;--kbq-code-block-font-hljs-title-class-inherited-font-weight: null;--kbq-code-block-font-hljs-title-function-font-style: null;--kbq-code-block-font-hljs-title-function-font-weight: null;--kbq-code-block-font-hljs-title-function-invoke-font-style: null;--kbq-code-block-font-hljs-title-function-invoke-font-weight: null;--kbq-code-block-font-hljs-type-font-style: null;--kbq-code-block-font-hljs-type-font-weight: null;--kbq-code-block-font-hljs-variable-font-style: null;--kbq-code-block-font-hljs-variable-font-weight: null;--kbq-code-block-font-hljs-variable-constant-font-style: null;--kbq-code-block-font-hljs-variable-constant-font-weight: null;--kbq-code-block-font-hljs-variable-language-font-style: null;--kbq-code-block-font-hljs-variable-language-font-weight: null}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: transparent;--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(225, 15%, 95%, 0%) 0%, hsla(225, 15%, 95%, 100%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(0, 0%, 100%, 0%) 0%, hsla(0, 0%, 100%, 100%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 15%, 0%) 0%, hsla(229, 15%, 15%, 1%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: transparent;--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 12%, 0%) 0%, hsla(229, 15%, 12%, 1%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}\n"], dependencies: [{ kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i5.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }, { kind: "component", type: i6.KbqTabGroup, selector: "kbq-tab-group", inputs: ["disabled", "transparent", "onSurface", "dynamicHeight", "selectedIndex", "activeTab", "headerPosition", "animationDuration"], outputs: ["selectedIndexChange", "activeTabChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["kbqTabGroup"] }, { kind: "directive", type: i6.KbqTabLabel, selector: "[kbq-tab-label], [kbqTabLabel]" }, { kind: "component", type: i6.KbqTab, selector: "kbq-tab", inputs: ["disabled", "tooltipTitle", "tooltipPlacement", "label", "empty", "tabId"], exportAs: ["kbqTab"] }, { kind: "component", type: i7.KbqActionBarComponent, selector: "kbq-actionbar-block", inputs: ["config", "codeFiles", "selectedTabIndex", "multiLine", "softWrap", "canLoad"], outputs: ["toggleSoftWrap", "downloadCode", "copyCode", "openExternalSystem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
236
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCodeBlockComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Clipboard }, { token: i0.Renderer2 }, { token: i2.FocusMonitor }, { token: KBQ_CODE_BLOCK_CONFIGURATION, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
237
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqCodeBlockComponent, selector: "kbq-code-block", inputs: { lineNumbers: "lineNumbers", filled: "filled", maxHeight: "maxHeight", softWrap: "softWrap", canLoad: "canLoad", codeFiles: "codeFiles" }, host: { listeners: { "window:resize": "resizeStream.next($event)" }, properties: { "class.kbq-code-block_filled": "filled", "class.kbq-code-block_outline": "!filled", "class.kbq-code-block_hide-line-numbers": "!lineNumbers", "class.kbq-code-block_single-file": "singleFile", "class.kbq-code-block_no-header": "noHeader", "class.kbq-code-block_header-with-shadow": "isTopOverflow" }, classAttribute: "kbq-code-block" }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: KbqTabGroup, descendants: true }], exportAs: ["kbqCodeBlock"], ngImport: i0, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n @for (codeFile of codeFiles; track codeFile; let i = $index) {\n <kbq-tab [disabled]=\"singleFile\">\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n @if (maxHeight) {\n <div\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n @if (!viewAll) {\n <i kbq-icon=\"kbq-chevron-down_16\"></i>\n }\n @if (viewAll) {\n <i kbq-icon=\"kbq-chevron-up_16\"></i>\n }\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n }\n </kbq-tab>\n }\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius);border-width:0}.kbq-code-block .kbq-tab-header{padding:calc(var(--kbq-code-block-size-header-padding-vertical) - var(--kbq-code-block-size-container-border-width)) calc(var(--kbq-code-block-size-header-padding-right) + 152px) var(--kbq-code-block-size-header-padding-vertical) var(--kbq-code-block-size-header-padding-left);border-width:var(--kbq-code-block-size-container-border-width) var(--kbq-code-block-size-container-border-width) 0 var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl)!important;overflow-x:scroll}.kbq-code-block:has(.kbq-code-block__show-more):has(.kbq-code-block__show-more_collapsed) .kbq-code-block__code>code{overflow-x:hidden}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top) var(--kbq-code-block-size-with-header-content-padding-horizontal) var(--kbq-code-block-size-with-header-content-padding-bottom) var(--kbq-code-block-size-with-header-content-padding-horizontal);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0;overflow:visible}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical) var(--kbq-code-block-size-no-header-content-padding-horizontal)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;border-width:var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;width:100%;position:absolute;bottom:0;border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius)}.kbq-code-block .hljs{display:block;overflow-x:auto}.kbq-code-block .hljs-addition{background-color:var(--kbq-code-block-hljs-addition-background);color:var(--kbq-code-block-hljs-addition-color)}.kbq-code-block .hljs-attr{background-color:var(--kbq-code-block-hljs-attr-background);color:var(--kbq-code-block-hljs-attr-color)}.kbq-code-block .hljs-attribute{background-color:var(--kbq-code-block-hljs-attribute-background);color:var(--kbq-code-block-hljs-attribute-color)}.kbq-code-block .hljs-built_in{background-color:var(--kbq-code-block-hljs-built_in-background);color:var(--kbq-code-block-hljs-built_in-color)}.kbq-code-block .hljs-bullet{background-color:var(--kbq-code-block-hljs-bullet-background);color:var(--kbq-code-block-hljs-bullet-color)}.kbq-code-block .hljs-char-escape{background-color:var(--kbq-code-block-hljs-char-escape-background);color:var(--kbq-code-block-hljs-char-escape-color)}.kbq-code-block .hljs-class{background-color:var(--kbq-code-block-hljs-class-background);color:var(--kbq-code-block-hljs-class-color)}.kbq-code-block .hljs-code{background-color:var(--kbq-code-block-hljs-code-background);color:var(--kbq-code-block-hljs-code-color)}.kbq-code-block .hljs-comment{background-color:var(--kbq-code-block-hljs-comment-background);color:var(--kbq-code-block-hljs-comment-color)}.kbq-code-block .hljs-deletion{background-color:var(--kbq-code-block-hljs-deletion-background);color:var(--kbq-code-block-hljs-deletion-color)}.kbq-code-block .hljs-doctag{background-color:var(--kbq-code-block-hljs-doctag-background);color:var(--kbq-code-block-hljs-doctag-color)}.kbq-code-block .hljs-emphasis{background-color:var(--kbq-code-block-hljs-emphasis-background);color:var(--kbq-code-block-hljs-emphasis-color)}.kbq-code-block .hljs-formula{background-color:var(--kbq-code-block-hljs-formula-background);color:var(--kbq-code-block-hljs-formula-color)}.kbq-code-block .hljs-function{background-color:var(--kbq-code-block-hljs-function-background);color:var(--kbq-code-block-hljs-function-color)}.kbq-code-block .hljs-keyword{background-color:var(--kbq-code-block-hljs-keyword-background);color:var(--kbq-code-block-hljs-keyword-color)}.kbq-code-block .hljs-link{background-color:var(--kbq-code-block-hljs-link-background);color:var(--kbq-code-block-hljs-link-color)}.kbq-code-block .hljs-literal{background-color:var(--kbq-code-block-hljs-literal-background);color:var(--kbq-code-block-hljs-literal-color)}.kbq-code-block .hljs-meta{background-color:var(--kbq-code-block-hljs-meta-background);color:var(--kbq-code-block-hljs-meta-color)}.kbq-code-block .hljs-meta-keyword{background-color:var(--kbq-code-block-hljs-meta-keyword-background);color:var(--kbq-code-block-hljs-meta-keyword-color)}.kbq-code-block .hljs-meta-string{background-color:var(--kbq-code-block-hljs-meta-string-background);color:var(--kbq-code-block-hljs-meta-string-color)}.kbq-code-block .hljs-meta-prompt{background-color:var(--kbq-code-block-hljs-meta-prompt-background);color:var(--kbq-code-block-hljs-meta-prompt-color)}.kbq-code-block .hljs-name{background-color:var(--kbq-code-block-hljs-name-background);color:var(--kbq-code-block-hljs-name-color)}.kbq-code-block .hljs-number{background-color:var(--kbq-code-block-hljs-number-background);color:var(--kbq-code-block-hljs-number-color)}.kbq-code-block .hljs-operator{background-color:var(--kbq-code-block-hljs-operator-background);color:var(--kbq-code-block-hljs-operator-color)}.kbq-code-block .hljs-params{background-color:var(--kbq-code-block-hljs-params-background);color:var(--kbq-code-block-hljs-params-color)}.kbq-code-block .hljs-property{background-color:var(--kbq-code-block-hljs-property-background);color:var(--kbq-code-block-hljs-property-color)}.kbq-code-block .hljs-punctuation{background-color:var(--kbq-code-block-hljs-punctuation-background);color:var(--kbq-code-block-hljs-punctuation-color)}.kbq-code-block .hljs-quote{background-color:var(--kbq-code-block-hljs-quote-background);color:var(--kbq-code-block-hljs-quote-color)}.kbq-code-block .hljs-regexp{background-color:var(--kbq-code-block-hljs-regexp-background);color:var(--kbq-code-block-hljs-regexp-color)}.kbq-code-block .hljs-section{background-color:var(--kbq-code-block-hljs-section-background);color:var(--kbq-code-block-hljs-section-color)}.kbq-code-block .hljs-selector-attr{background-color:var(--kbq-code-block-hljs-selector-attr-background);color:var(--kbq-code-block-hljs-selector-attr-color)}.kbq-code-block .hljs-selector-class{background-color:var(--kbq-code-block-hljs-selector-class-background);color:var(--kbq-code-block-hljs-selector-class-color)}.kbq-code-block .hljs-selector-id{background-color:var(--kbq-code-block-hljs-selector-id-background);color:var(--kbq-code-block-hljs-selector-id-color)}.kbq-code-block .hljs-selector-pseudo{background-color:var(--kbq-code-block-hljs-selector-pseudo-background);color:var(--kbq-code-block-hljs-selector-pseudo-color)}.kbq-code-block .hljs-selector-tag{background-color:var(--kbq-code-block-hljs-selector-tag-background);color:var(--kbq-code-block-hljs-selector-tag-color)}.kbq-code-block .hljs-string{background-color:var(--kbq-code-block-hljs-string-background);color:var(--kbq-code-block-hljs-string-color)}.kbq-code-block .hljs-strong{background-color:var(--kbq-code-block-hljs-strong-background);color:var(--kbq-code-block-hljs-strong-color)}.kbq-code-block .hljs-subst{background-color:var(--kbq-code-block-hljs-subst-background);color:var(--kbq-code-block-hljs-subst-color)}.kbq-code-block .hljs-symbol{background-color:var(--kbq-code-block-hljs-symbol-background);color:var(--kbq-code-block-hljs-symbol-color)}.kbq-code-block .hljs-tag{background-color:var(--kbq-code-block-hljs-tag-background);color:var(--kbq-code-block-hljs-tag-color)}.kbq-code-block .hljs-template-tag{background-color:var(--kbq-code-block-hljs-template-tag-background);color:var(--kbq-code-block-hljs-template-tag-color)}.kbq-code-block .hljs-template-variable{background-color:var(--kbq-code-block-hljs-template-variable-background);color:var(--kbq-code-block-hljs-template-variable-color)}.kbq-code-block .hljs-title{background-color:var(--kbq-code-block-hljs-title-background);color:var(--kbq-code-block-hljs-title-color)}.kbq-code-block .hljs-title-class{background-color:var(--kbq-code-block-hljs-title-class-background);color:var(--kbq-code-block-hljs-title-class-color)}.kbq-code-block .hljs-title-class-inherited{background-color:var(--kbq-code-block-hljs-title-class-inherited-background);color:var(--kbq-code-block-hljs-title-class-inherited-color)}.kbq-code-block .hljs-title-function{background-color:var(--kbq-code-block-hljs-title-function-background);color:var(--kbq-code-block-hljs-title-function-color)}.kbq-code-block .hljs-title-function-invoke{background-color:var(--kbq-code-block-hljs-title-function-invoke-background);color:var(--kbq-code-block-hljs-title-function-invoke-color)}.kbq-code-block .hljs-type{background-color:var(--kbq-code-block-hljs-type-background);color:var(--kbq-code-block-hljs-type-color)}.kbq-code-block .hljs-variable{background-color:var(--kbq-code-block-hljs-variable-background);color:var(--kbq-code-block-hljs-variable-color)}.kbq-code-block .hljs-variable-constant{background-color:var(--kbq-code-block-hljs-variable-constant-background);color:var(--kbq-code-block-hljs-variable-constant-color)}.kbq-code-block .hljs-variable-language{background-color:var(--kbq-code-block-hljs-variable-language-background);color:var(--kbq-code-block-hljs-variable-language-color)}.kbq-code-block .hljs-ln-n{color:var(--kbq-code-block-hljs-line-numbers-color)}.kbq-code-block.kbq-code-block_outline{background:var(--kbq-code-block-outline-container-background)}.kbq-code-block.kbq-code-block_outline .kbq-tab-header{background:var(--kbq-code-block-outline-header-background)!important;border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-outline-actionbar-background)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-outline-header-scroll-shadow)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-outline-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-outline-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-outline-collapse-expanded-background)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-outline-collapse-collapsed-background)}.kbq-code-block.kbq-code-block_filled{background:var(--kbq-code-block-filled-container-background)}.kbq-code-block.kbq-code-block_filled .kbq-tab-header{background:var(--kbq-code-block-filled-header-background)!important;border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-filled-actionbar-background)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-filled-header-scroll-shadow)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-filled-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-filled-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-filled-collapse-expanded-background)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-filled-collapse-collapsed-background)}.kbq-code-block .kbq-tab-header .kbq-tab-label.kbq-tab-label_horizontal,.kbq-code-block .kbq-tab-header .kbq-tab-header__pagination{border-bottom-color:transparent}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-header{box-shadow:0 2px 0 -1px var(--kbq-states-focused-color)}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-body__wrapper{border-color:var(--kbq-states-focused-color);box-shadow:inset 0 0 .1 1px var(--kbq-states-focused-color)}.kbq-code-block{font-size:var(--kbq-code-block-font-default-font-size);font-weight:var(--kbq-code-block-font-default-font-weight);line-height:var(--kbq-code-block-font-default-line-height);font-family:var(--kbq-code-block-font-default-font-family);text-transform:var(--kbq-code-block-font-default-text-transform);font-feature-settings:var(--kbq-code-block-font-default-font-feature-settings);letter-spacing:var(--kbq-code-block-font-default-letter-spacing)}.kbq-code-block .kbq-code-block__code{font:inherit}.kbq-code-block .kbq-code-block__code>code{font:inherit}\n", ".kbq-code-block{--kbq-code-block-size-container-border-width: 1px;--kbq-code-block-size-container-border-radius: var(--kbq-size-m);--kbq-code-block-size-with-header-content-padding-top: var(--kbq-size-xxs);--kbq-code-block-size-with-header-content-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-with-header-content-padding-horizontal: var(--kbq-size-xl);--kbq-code-block-size-with-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-no-header-content-padding-vertical: 14px;--kbq-code-block-size-no-header-content-padding-horizontal: 20px;--kbq-code-block-size-no-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-header-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-header-padding-left: var(--kbq-size-m);--kbq-code-block-size-header-padding-right: var(--kbq-size-s);--kbq-code-block-size-header-content-gap-horizontal: var(--kbq-size-l);--kbq-code-block-size-actionbar-content-gap-horizontal: var(--kbq-size-3xs);--kbq-code-block-size-actionbar-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-actionbar-padding-horizontal: var(--kbq-size-m);--kbq-code-block-size-actionbar-fade-gradient-width: var(--kbq-size-3xl);--kbq-code-block-size-collapse-expanded-padding-top: 0;--kbq-code-block-size-collapse-expanded-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-collapse-collapsed-padding-top: var(--kbq-size-3xl);--kbq-code-block-size-collapse-collapsed-padding-bottom: var(--kbq-size-l);--kbq-code-block-font-default-font-size: var(--kbq-typography-mono-codeblock-font-size);--kbq-code-block-font-default-line-height: var(--kbq-typography-mono-codeblock-line-height);--kbq-code-block-font-default-letter-spacing: var(--kbq-typography-mono-codeblock-letter-spacing);--kbq-code-block-font-default-font-weight: var(--kbq-typography-mono-codeblock-font-weight);--kbq-code-block-font-default-font-family: var(--kbq-typography-mono-codeblock-font-family);--kbq-code-block-font-default-text-transform: var(--kbq-typography-mono-codeblock-text-transform);--kbq-code-block-font-default-font-feature-settings: var(--kbq-typography-mono-codeblock-font-feature-settings);--kbq-code-block-font-hljs-addition-font-style: null;--kbq-code-block-font-hljs-addition-font-weight: null;--kbq-code-block-font-hljs-attr-font-style: null;--kbq-code-block-font-hljs-attr-font-weight: null;--kbq-code-block-font-hljs-attribute-font-style: null;--kbq-code-block-font-hljs-attribute-font-weight: null;--kbq-code-block-font-hljs-built-in-font-style: null;--kbq-code-block-font-hljs-built-in-font-weight: null;--kbq-code-block-font-hljs-bullet-font-style: null;--kbq-code-block-font-hljs-bullet-font-weight: null;--kbq-code-block-font-hljs-char-escape-font-style: null;--kbq-code-block-font-hljs-char-escape-font-weight: null;--kbq-code-block-font-hljs-class-font-style: null;--kbq-code-block-font-hljs-class-font-weight: null;--kbq-code-block-font-hljs-code-font-style: null;--kbq-code-block-font-hljs-code-font-weight: null;--kbq-code-block-font-hljs-comment-font-style: null;--kbq-code-block-font-hljs-comment-font-weight: null;--kbq-code-block-font-hljs-deletion-font-style: null;--kbq-code-block-font-hljs-deletion-font-weight: null;--kbq-code-block-font-hljs-doctag-font-style: null;--kbq-code-block-font-hljs-doctag-font-weight: null;--kbq-code-block-font-hljs-emphasis-font-style: null;--kbq-code-block-font-hljs-emphasis-font-weight: null;--kbq-code-block-font-hljs-formula-font-style: null;--kbq-code-block-font-hljs-formula-font-weight: null;--kbq-code-block-font-hljs-function-font-style: null;--kbq-code-block-font-hljs-function-font-weight: null;--kbq-code-block-font-hljs-keyword-font-style: null;--kbq-code-block-font-hljs-keyword-font-weight: null;--kbq-code-block-font-hljs-link-font-style: null;--kbq-code-block-font-hljs-link-font-weight: null;--kbq-code-block-font-hljs-literal-font-style: null;--kbq-code-block-font-hljs-literal-font-weight: null;--kbq-code-block-font-hljs-meta-font-style: null;--kbq-code-block-font-hljs-meta-font-weight: null;--kbq-code-block-font-hljs-meta-keyword-font-style: null;--kbq-code-block-font-hljs-meta-keyword-font-weight: null;--kbq-code-block-font-hljs-meta-string-font-style: null;--kbq-code-block-font-hljs-meta-string-font-weight: null;--kbq-code-block-font-hljs-meta-prompt-font-style: null;--kbq-code-block-font-hljs-meta-prompt-font-weight: null;--kbq-code-block-font-hljs-name-font-style: null;--kbq-code-block-font-hljs-name-font-weight: null;--kbq-code-block-font-hljs-number-font-style: null;--kbq-code-block-font-hljs-number-font-weight: null;--kbq-code-block-font-hljs-operator-font-style: null;--kbq-code-block-font-hljs-operator-font-weight: null;--kbq-code-block-font-hljs-params-font-style: null;--kbq-code-block-font-hljs-params-font-weight: null;--kbq-code-block-font-hljs-property-font-style: null;--kbq-code-block-font-hljs-property-font-weight: null;--kbq-code-block-font-hljs-punctuation-font-style: null;--kbq-code-block-font-hljs-punctuation-font-weight: null;--kbq-code-block-font-hljs-quote-font-style: null;--kbq-code-block-font-hljs-quote-font-weight: null;--kbq-code-block-font-hljs-regexp-font-style: null;--kbq-code-block-font-hljs-regexp-font-weight: null;--kbq-code-block-font-hljs-section-font-style: null;--kbq-code-block-font-hljs-section-font-weight: null;--kbq-code-block-font-hljs-selector-attr-font-style: null;--kbq-code-block-font-hljs-selector-attr-font-weight: null;--kbq-code-block-font-hljs-selector-class-font-style: null;--kbq-code-block-font-hljs-selector-class-font-weight: null;--kbq-code-block-font-hljs-selector-id-font-style: null;--kbq-code-block-font-hljs-selector-id-font-weight: null;--kbq-code-block-font-hljs-selector-pseudo-font-style: null;--kbq-code-block-font-hljs-selector-pseudo-font-weight: null;--kbq-code-block-font-hljs-selector-tag-font-style: null;--kbq-code-block-font-hljs-selector-tag-font-weight: null;--kbq-code-block-font-hljs-string-font-style: null;--kbq-code-block-font-hljs-string-font-weight: null;--kbq-code-block-font-hljs-strong-font-style: null;--kbq-code-block-font-hljs-strong-font-weight: null;--kbq-code-block-font-hljs-subst-font-style: null;--kbq-code-block-font-hljs-subst-font-weight: null;--kbq-code-block-font-hljs-symbol-font-style: null;--kbq-code-block-font-hljs-symbol-font-weight: null;--kbq-code-block-font-hljs-tag-font-style: null;--kbq-code-block-font-hljs-tag-font-weight: null;--kbq-code-block-font-hljs-template-tag-font-style: null;--kbq-code-block-font-hljs-template-tag-font-weight: null;--kbq-code-block-font-hljs-template-variable-font-style: null;--kbq-code-block-font-hljs-template-variable-font-weight: null;--kbq-code-block-font-hljs-title-font-style: null;--kbq-code-block-font-hljs-title-font-weight: null;--kbq-code-block-font-hljs-title-class-font-style: normal;--kbq-code-block-font-hljs-title-class-font-weight: 500;--kbq-code-block-font-hljs-title-class-inherited-font-style: null;--kbq-code-block-font-hljs-title-class-inherited-font-weight: null;--kbq-code-block-font-hljs-title-function-font-style: null;--kbq-code-block-font-hljs-title-function-font-weight: null;--kbq-code-block-font-hljs-title-function-invoke-font-style: null;--kbq-code-block-font-hljs-title-function-invoke-font-weight: null;--kbq-code-block-font-hljs-type-font-style: null;--kbq-code-block-font-hljs-type-font-weight: null;--kbq-code-block-font-hljs-variable-font-style: null;--kbq-code-block-font-hljs-variable-font-weight: null;--kbq-code-block-font-hljs-variable-constant-font-style: null;--kbq-code-block-font-hljs-variable-constant-font-weight: null;--kbq-code-block-font-hljs-variable-language-font-style: null;--kbq-code-block-font-hljs-variable-language-font-weight: null}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: transparent;--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(225, 15%, 95%, 0%) 0%, hsla(225, 15%, 95%, 100%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(0, 0%, 100%, 0%) 0%, hsla(0, 0%, 100%, 100%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 15%, 0%) 0%, hsla(229, 15%, 15%, 1%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: transparent;--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 12%, 0%) 0%, hsla(229, 15%, 12%, 1%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}\n"], dependencies: [{ kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i5.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }, { kind: "component", type: i6.KbqTabGroup, selector: "kbq-tab-group", inputs: ["disabled", "transparent", "onSurface", "dynamicHeight", "selectedIndex", "activeTab", "headerPosition", "animationDuration"], outputs: ["selectedIndexChange", "activeTabChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["kbqTabGroup"] }, { kind: "directive", type: i6.KbqTabLabel, selector: "[kbq-tab-label], [kbqTabLabel]" }, { kind: "component", type: i6.KbqTab, selector: "kbq-tab", inputs: ["disabled", "tooltipTitle", "tooltipPlacement", "label", "empty", "tabId"], exportAs: ["kbqTab"] }, { kind: "component", type: i7.KbqActionBarComponent, selector: "kbq-actionbar-block", inputs: ["codeFiles", "selectedTabIndex", "multiLine", "softWrap", "canLoad"], outputs: ["toggleSoftWrap", "downloadCode", "copyCode", "openExternalSystem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
234
238
  }
235
239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCodeBlockComponent, decorators: [{
236
240
  type: Component,
@@ -243,12 +247,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
243
247
  '[class.kbq-code-block_no-header]': 'noHeader',
244
248
  '[class.kbq-code-block_header-with-shadow]': 'isTopOverflow',
245
249
  '(window:resize)': 'resizeStream.next($event)'
246
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n @for (codeFile of codeFiles; track codeFile; let i = $index) {\n <kbq-tab [disabled]=\"singleFile\">\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [config]=\"config\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n @if (maxHeight) {\n <div\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n @if (!viewAll) {\n <i kbq-icon=\"kbq-chevron-down_16\"></i>\n }\n @if (viewAll) {\n <i kbq-icon=\"kbq-chevron-up_16\"></i>\n }\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n }\n </kbq-tab>\n }\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius);border-width:0}.kbq-code-block .kbq-tab-header{padding:calc(var(--kbq-code-block-size-header-padding-vertical) - var(--kbq-code-block-size-container-border-width)) calc(var(--kbq-code-block-size-header-padding-right) + 152px) var(--kbq-code-block-size-header-padding-vertical) var(--kbq-code-block-size-header-padding-left);border-width:var(--kbq-code-block-size-container-border-width) var(--kbq-code-block-size-container-border-width) 0 var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl)!important;overflow-x:scroll}.kbq-code-block:has(.kbq-code-block__show-more):has(.kbq-code-block__show-more_collapsed) .kbq-code-block__code>code{overflow-x:hidden}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top) var(--kbq-code-block-size-with-header-content-padding-horizontal) var(--kbq-code-block-size-with-header-content-padding-bottom) var(--kbq-code-block-size-with-header-content-padding-horizontal);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0;overflow:visible}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical) var(--kbq-code-block-size-no-header-content-padding-horizontal)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;border-width:var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;width:100%;position:absolute;bottom:0;border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius)}.kbq-code-block .hljs{display:block;overflow-x:auto}.kbq-code-block .hljs-addition{background-color:var(--kbq-code-block-hljs-addition-background);color:var(--kbq-code-block-hljs-addition-color)}.kbq-code-block .hljs-attr{background-color:var(--kbq-code-block-hljs-attr-background);color:var(--kbq-code-block-hljs-attr-color)}.kbq-code-block .hljs-attribute{background-color:var(--kbq-code-block-hljs-attribute-background);color:var(--kbq-code-block-hljs-attribute-color)}.kbq-code-block .hljs-built_in{background-color:var(--kbq-code-block-hljs-built_in-background);color:var(--kbq-code-block-hljs-built_in-color)}.kbq-code-block .hljs-bullet{background-color:var(--kbq-code-block-hljs-bullet-background);color:var(--kbq-code-block-hljs-bullet-color)}.kbq-code-block .hljs-char-escape{background-color:var(--kbq-code-block-hljs-char-escape-background);color:var(--kbq-code-block-hljs-char-escape-color)}.kbq-code-block .hljs-class{background-color:var(--kbq-code-block-hljs-class-background);color:var(--kbq-code-block-hljs-class-color)}.kbq-code-block .hljs-code{background-color:var(--kbq-code-block-hljs-code-background);color:var(--kbq-code-block-hljs-code-color)}.kbq-code-block .hljs-comment{background-color:var(--kbq-code-block-hljs-comment-background);color:var(--kbq-code-block-hljs-comment-color)}.kbq-code-block .hljs-deletion{background-color:var(--kbq-code-block-hljs-deletion-background);color:var(--kbq-code-block-hljs-deletion-color)}.kbq-code-block .hljs-doctag{background-color:var(--kbq-code-block-hljs-doctag-background);color:var(--kbq-code-block-hljs-doctag-color)}.kbq-code-block .hljs-emphasis{background-color:var(--kbq-code-block-hljs-emphasis-background);color:var(--kbq-code-block-hljs-emphasis-color)}.kbq-code-block .hljs-formula{background-color:var(--kbq-code-block-hljs-formula-background);color:var(--kbq-code-block-hljs-formula-color)}.kbq-code-block .hljs-function{background-color:var(--kbq-code-block-hljs-function-background);color:var(--kbq-code-block-hljs-function-color)}.kbq-code-block .hljs-keyword{background-color:var(--kbq-code-block-hljs-keyword-background);color:var(--kbq-code-block-hljs-keyword-color)}.kbq-code-block .hljs-link{background-color:var(--kbq-code-block-hljs-link-background);color:var(--kbq-code-block-hljs-link-color)}.kbq-code-block .hljs-literal{background-color:var(--kbq-code-block-hljs-literal-background);color:var(--kbq-code-block-hljs-literal-color)}.kbq-code-block .hljs-meta{background-color:var(--kbq-code-block-hljs-meta-background);color:var(--kbq-code-block-hljs-meta-color)}.kbq-code-block .hljs-meta-keyword{background-color:var(--kbq-code-block-hljs-meta-keyword-background);color:var(--kbq-code-block-hljs-meta-keyword-color)}.kbq-code-block .hljs-meta-string{background-color:var(--kbq-code-block-hljs-meta-string-background);color:var(--kbq-code-block-hljs-meta-string-color)}.kbq-code-block .hljs-meta-prompt{background-color:var(--kbq-code-block-hljs-meta-prompt-background);color:var(--kbq-code-block-hljs-meta-prompt-color)}.kbq-code-block .hljs-name{background-color:var(--kbq-code-block-hljs-name-background);color:var(--kbq-code-block-hljs-name-color)}.kbq-code-block .hljs-number{background-color:var(--kbq-code-block-hljs-number-background);color:var(--kbq-code-block-hljs-number-color)}.kbq-code-block .hljs-operator{background-color:var(--kbq-code-block-hljs-operator-background);color:var(--kbq-code-block-hljs-operator-color)}.kbq-code-block .hljs-params{background-color:var(--kbq-code-block-hljs-params-background);color:var(--kbq-code-block-hljs-params-color)}.kbq-code-block .hljs-property{background-color:var(--kbq-code-block-hljs-property-background);color:var(--kbq-code-block-hljs-property-color)}.kbq-code-block .hljs-punctuation{background-color:var(--kbq-code-block-hljs-punctuation-background);color:var(--kbq-code-block-hljs-punctuation-color)}.kbq-code-block .hljs-quote{background-color:var(--kbq-code-block-hljs-quote-background);color:var(--kbq-code-block-hljs-quote-color)}.kbq-code-block .hljs-regexp{background-color:var(--kbq-code-block-hljs-regexp-background);color:var(--kbq-code-block-hljs-regexp-color)}.kbq-code-block .hljs-section{background-color:var(--kbq-code-block-hljs-section-background);color:var(--kbq-code-block-hljs-section-color)}.kbq-code-block .hljs-selector-attr{background-color:var(--kbq-code-block-hljs-selector-attr-background);color:var(--kbq-code-block-hljs-selector-attr-color)}.kbq-code-block .hljs-selector-class{background-color:var(--kbq-code-block-hljs-selector-class-background);color:var(--kbq-code-block-hljs-selector-class-color)}.kbq-code-block .hljs-selector-id{background-color:var(--kbq-code-block-hljs-selector-id-background);color:var(--kbq-code-block-hljs-selector-id-color)}.kbq-code-block .hljs-selector-pseudo{background-color:var(--kbq-code-block-hljs-selector-pseudo-background);color:var(--kbq-code-block-hljs-selector-pseudo-color)}.kbq-code-block .hljs-selector-tag{background-color:var(--kbq-code-block-hljs-selector-tag-background);color:var(--kbq-code-block-hljs-selector-tag-color)}.kbq-code-block .hljs-string{background-color:var(--kbq-code-block-hljs-string-background);color:var(--kbq-code-block-hljs-string-color)}.kbq-code-block .hljs-strong{background-color:var(--kbq-code-block-hljs-strong-background);color:var(--kbq-code-block-hljs-strong-color)}.kbq-code-block .hljs-subst{background-color:var(--kbq-code-block-hljs-subst-background);color:var(--kbq-code-block-hljs-subst-color)}.kbq-code-block .hljs-symbol{background-color:var(--kbq-code-block-hljs-symbol-background);color:var(--kbq-code-block-hljs-symbol-color)}.kbq-code-block .hljs-tag{background-color:var(--kbq-code-block-hljs-tag-background);color:var(--kbq-code-block-hljs-tag-color)}.kbq-code-block .hljs-template-tag{background-color:var(--kbq-code-block-hljs-template-tag-background);color:var(--kbq-code-block-hljs-template-tag-color)}.kbq-code-block .hljs-template-variable{background-color:var(--kbq-code-block-hljs-template-variable-background);color:var(--kbq-code-block-hljs-template-variable-color)}.kbq-code-block .hljs-title{background-color:var(--kbq-code-block-hljs-title-background);color:var(--kbq-code-block-hljs-title-color)}.kbq-code-block .hljs-title-class{background-color:var(--kbq-code-block-hljs-title-class-background);color:var(--kbq-code-block-hljs-title-class-color)}.kbq-code-block .hljs-title-class-inherited{background-color:var(--kbq-code-block-hljs-title-class-inherited-background);color:var(--kbq-code-block-hljs-title-class-inherited-color)}.kbq-code-block .hljs-title-function{background-color:var(--kbq-code-block-hljs-title-function-background);color:var(--kbq-code-block-hljs-title-function-color)}.kbq-code-block .hljs-title-function-invoke{background-color:var(--kbq-code-block-hljs-title-function-invoke-background);color:var(--kbq-code-block-hljs-title-function-invoke-color)}.kbq-code-block .hljs-type{background-color:var(--kbq-code-block-hljs-type-background);color:var(--kbq-code-block-hljs-type-color)}.kbq-code-block .hljs-variable{background-color:var(--kbq-code-block-hljs-variable-background);color:var(--kbq-code-block-hljs-variable-color)}.kbq-code-block .hljs-variable-constant{background-color:var(--kbq-code-block-hljs-variable-constant-background);color:var(--kbq-code-block-hljs-variable-constant-color)}.kbq-code-block .hljs-variable-language{background-color:var(--kbq-code-block-hljs-variable-language-background);color:var(--kbq-code-block-hljs-variable-language-color)}.kbq-code-block .hljs-ln-n{color:var(--kbq-code-block-hljs-line-numbers-color)}.kbq-code-block.kbq-code-block_outline{background:var(--kbq-code-block-outline-container-background)}.kbq-code-block.kbq-code-block_outline .kbq-tab-header{background:var(--kbq-code-block-outline-header-background)!important;border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-outline-actionbar-background)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-outline-header-shadow)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-outline-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-outline-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-outline-collapse-expanded-background)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-outline-collapse-collapsed-background)}.kbq-code-block.kbq-code-block_filled{background:var(--kbq-code-block-filled-container-background)}.kbq-code-block.kbq-code-block_filled .kbq-tab-header{background:var(--kbq-code-block-filled-header-background)!important;border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-filled-actionbar-background)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-filled-header-shadow)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-filled-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-filled-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-filled-collapse-expanded-background)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-filled-collapse-collapsed-background)}.kbq-code-block .kbq-tab-header .kbq-tab-label.kbq-tab-label_horizontal,.kbq-code-block .kbq-tab-header .kbq-tab-header__pagination{border-bottom-color:transparent}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-header{box-shadow:0 2px 0 -1px var(--kbq-states-focused-color)}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-body__wrapper{border-color:var(--kbq-states-focused-color);box-shadow:inset 0 0 .1 1px var(--kbq-states-focused-color)}.kbq-code-block{font-size:var(--kbq-code-block-font-default-font-size);font-weight:var(--kbq-code-block-font-default-font-weight);line-height:var(--kbq-code-block-font-default-line-height);font-family:var(--kbq-code-block-font-default-font-family);text-transform:var(--kbq-code-block-font-default-text-transform);font-feature-settings:var(--kbq-code-block-font-default-font-feature-settings);letter-spacing:var(--kbq-code-block-font-default-letter-spacing)}.kbq-code-block .kbq-code-block__code{font:inherit}.kbq-code-block .kbq-code-block__code>code{font:inherit}\n", ".kbq-code-block{--kbq-code-block-size-container-border-width: 1px;--kbq-code-block-size-container-border-radius: var(--kbq-size-m);--kbq-code-block-size-with-header-content-padding-top: var(--kbq-size-xxs);--kbq-code-block-size-with-header-content-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-with-header-content-padding-horizontal: var(--kbq-size-xl);--kbq-code-block-size-with-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-no-header-content-padding-vertical: 14px;--kbq-code-block-size-no-header-content-padding-horizontal: 20px;--kbq-code-block-size-no-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-header-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-header-padding-left: var(--kbq-size-m);--kbq-code-block-size-header-padding-right: var(--kbq-size-s);--kbq-code-block-size-header-content-gap-horizontal: var(--kbq-size-l);--kbq-code-block-size-actionbar-content-gap-horizontal: var(--kbq-size-3xs);--kbq-code-block-size-actionbar-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-actionbar-padding-horizontal: var(--kbq-size-m);--kbq-code-block-size-actionbar-fade-gradient-width: var(--kbq-size-3xl);--kbq-code-block-size-collapse-expanded-padding-top: 0;--kbq-code-block-size-collapse-expanded-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-collapse-collapsed-padding-top: var(--kbq-size-3xl);--kbq-code-block-size-collapse-collapsed-padding-bottom: var(--kbq-size-l);--kbq-code-block-font-default-font-size: var(--kbq-typography-mono-codeblock-font-size);--kbq-code-block-font-default-line-height: var(--kbq-typography-mono-codeblock-line-height);--kbq-code-block-font-default-letter-spacing: var(--kbq-typography-mono-codeblock-letter-spacing);--kbq-code-block-font-default-font-weight: var(--kbq-typography-mono-codeblock-font-weight);--kbq-code-block-font-default-font-family: var(--kbq-typography-mono-codeblock-font-family);--kbq-code-block-font-default-text-transform: var(--kbq-typography-mono-codeblock-text-transform);--kbq-code-block-font-default-font-feature-settings: var(--kbq-typography-mono-codeblock-font-feature-settings);--kbq-code-block-font-hljs-addition-font-style: null;--kbq-code-block-font-hljs-addition-font-weight: null;--kbq-code-block-font-hljs-attr-font-style: null;--kbq-code-block-font-hljs-attr-font-weight: null;--kbq-code-block-font-hljs-attribute-font-style: null;--kbq-code-block-font-hljs-attribute-font-weight: null;--kbq-code-block-font-hljs-built-in-font-style: null;--kbq-code-block-font-hljs-built-in-font-weight: null;--kbq-code-block-font-hljs-bullet-font-style: null;--kbq-code-block-font-hljs-bullet-font-weight: null;--kbq-code-block-font-hljs-char-escape-font-style: null;--kbq-code-block-font-hljs-char-escape-font-weight: null;--kbq-code-block-font-hljs-class-font-style: null;--kbq-code-block-font-hljs-class-font-weight: null;--kbq-code-block-font-hljs-code-font-style: null;--kbq-code-block-font-hljs-code-font-weight: null;--kbq-code-block-font-hljs-comment-font-style: null;--kbq-code-block-font-hljs-comment-font-weight: null;--kbq-code-block-font-hljs-deletion-font-style: null;--kbq-code-block-font-hljs-deletion-font-weight: null;--kbq-code-block-font-hljs-doctag-font-style: null;--kbq-code-block-font-hljs-doctag-font-weight: null;--kbq-code-block-font-hljs-emphasis-font-style: null;--kbq-code-block-font-hljs-emphasis-font-weight: null;--kbq-code-block-font-hljs-formula-font-style: null;--kbq-code-block-font-hljs-formula-font-weight: null;--kbq-code-block-font-hljs-function-font-style: null;--kbq-code-block-font-hljs-function-font-weight: null;--kbq-code-block-font-hljs-keyword-font-style: null;--kbq-code-block-font-hljs-keyword-font-weight: null;--kbq-code-block-font-hljs-link-font-style: null;--kbq-code-block-font-hljs-link-font-weight: null;--kbq-code-block-font-hljs-literal-font-style: null;--kbq-code-block-font-hljs-literal-font-weight: null;--kbq-code-block-font-hljs-meta-font-style: null;--kbq-code-block-font-hljs-meta-font-weight: null;--kbq-code-block-font-hljs-meta-keyword-font-style: null;--kbq-code-block-font-hljs-meta-keyword-font-weight: null;--kbq-code-block-font-hljs-meta-string-font-style: null;--kbq-code-block-font-hljs-meta-string-font-weight: null;--kbq-code-block-font-hljs-meta-prompt-font-style: null;--kbq-code-block-font-hljs-meta-prompt-font-weight: null;--kbq-code-block-font-hljs-name-font-style: null;--kbq-code-block-font-hljs-name-font-weight: null;--kbq-code-block-font-hljs-number-font-style: null;--kbq-code-block-font-hljs-number-font-weight: null;--kbq-code-block-font-hljs-operator-font-style: null;--kbq-code-block-font-hljs-operator-font-weight: null;--kbq-code-block-font-hljs-params-font-style: null;--kbq-code-block-font-hljs-params-font-weight: null;--kbq-code-block-font-hljs-property-font-style: null;--kbq-code-block-font-hljs-property-font-weight: null;--kbq-code-block-font-hljs-punctuation-font-style: null;--kbq-code-block-font-hljs-punctuation-font-weight: null;--kbq-code-block-font-hljs-quote-font-style: null;--kbq-code-block-font-hljs-quote-font-weight: null;--kbq-code-block-font-hljs-regexp-font-style: null;--kbq-code-block-font-hljs-regexp-font-weight: null;--kbq-code-block-font-hljs-section-font-style: null;--kbq-code-block-font-hljs-section-font-weight: null;--kbq-code-block-font-hljs-selector-attr-font-style: null;--kbq-code-block-font-hljs-selector-attr-font-weight: null;--kbq-code-block-font-hljs-selector-class-font-style: null;--kbq-code-block-font-hljs-selector-class-font-weight: null;--kbq-code-block-font-hljs-selector-id-font-style: null;--kbq-code-block-font-hljs-selector-id-font-weight: null;--kbq-code-block-font-hljs-selector-pseudo-font-style: null;--kbq-code-block-font-hljs-selector-pseudo-font-weight: null;--kbq-code-block-font-hljs-selector-tag-font-style: null;--kbq-code-block-font-hljs-selector-tag-font-weight: null;--kbq-code-block-font-hljs-string-font-style: null;--kbq-code-block-font-hljs-string-font-weight: null;--kbq-code-block-font-hljs-strong-font-style: null;--kbq-code-block-font-hljs-strong-font-weight: null;--kbq-code-block-font-hljs-subst-font-style: null;--kbq-code-block-font-hljs-subst-font-weight: null;--kbq-code-block-font-hljs-symbol-font-style: null;--kbq-code-block-font-hljs-symbol-font-weight: null;--kbq-code-block-font-hljs-tag-font-style: null;--kbq-code-block-font-hljs-tag-font-weight: null;--kbq-code-block-font-hljs-template-tag-font-style: null;--kbq-code-block-font-hljs-template-tag-font-weight: null;--kbq-code-block-font-hljs-template-variable-font-style: null;--kbq-code-block-font-hljs-template-variable-font-weight: null;--kbq-code-block-font-hljs-title-font-style: null;--kbq-code-block-font-hljs-title-font-weight: null;--kbq-code-block-font-hljs-title-class-font-style: normal;--kbq-code-block-font-hljs-title-class-font-weight: 500;--kbq-code-block-font-hljs-title-class-inherited-font-style: null;--kbq-code-block-font-hljs-title-class-inherited-font-weight: null;--kbq-code-block-font-hljs-title-function-font-style: null;--kbq-code-block-font-hljs-title-function-font-weight: null;--kbq-code-block-font-hljs-title-function-invoke-font-style: null;--kbq-code-block-font-hljs-title-function-invoke-font-weight: null;--kbq-code-block-font-hljs-type-font-style: null;--kbq-code-block-font-hljs-type-font-weight: null;--kbq-code-block-font-hljs-variable-font-style: null;--kbq-code-block-font-hljs-variable-font-weight: null;--kbq-code-block-font-hljs-variable-constant-font-style: null;--kbq-code-block-font-hljs-variable-constant-font-weight: null;--kbq-code-block-font-hljs-variable-language-font-style: null;--kbq-code-block-font-hljs-variable-language-font-weight: null}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: transparent;--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(225, 15%, 95%, 0%) 0%, hsla(225, 15%, 95%, 100%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(0, 0%, 100%, 0%) 0%, hsla(0, 0%, 100%, 100%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 15%, 0%) 0%, hsla(229, 15%, 15%, 1%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: transparent;--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-shadow: var(--kbq-shadow-overflow-compact-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 12%, 0%) 0%, hsla(229, 15%, 12%, 1%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}\n"] }]
250
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<kbq-tab-group\n [class.kbq-focused]=\"hasKeyboardFocus\"\n (selectedTabChange)=\"onSelectTab($event)\"\n>\n @for (codeFile of codeFiles; track codeFile; let i = $index) {\n <kbq-tab [disabled]=\"singleFile\">\n <ng-template kbq-tab-label>{{ codeFile.filename }}</ng-template>\n <pre\n #codeContent\n class=\"kbq-code-block__code kbq-scrollbar\"\n [class.kbq-code-block__code_soft-wrap]=\"softWrap\"\n [class.kbq-code-block__code_view-all]=\"viewAll\"\n [style.max-height]=\"getMaxHeight()\"\n (scroll)=\"checkOverflow(codeContent)\"\n ><kbq-actionbar-block\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [codeFiles]=\"codeFiles\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [multiLine]=\"multiLine\"\n [softWrap]=\"softWrap\"\n [canLoad]=\"canLoad\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n (downloadCode)=\"downloadCode()\"\n (copyCode)=\"copyCode()\"\n (openExternalSystem)=\"openExternalSystem()\" /><code class=\"hljs\"\n [id]=\"codeFile.filename + '_' + i\"\n [class.hljs-line-numbers]=\"lineNumbers\"\n [highlight]=\"codeFiles[i].content\"\n [lineNumbers]=\"true\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\n (highlighted)=\"onHighlighted()\"\n (blur)=\"hasKeyboardFocus = false\">\n </code></pre>\n @if (maxHeight) {\n <div\n class=\"kbq-code-block__show-more\"\n [class.kbq-code-block__show-more_collapsed]=\"!viewAll\"\n [class.kbq-code-block__show-more_expanded]=\"viewAll\"\n >\n <span class=\"bg-wrapper\">\n <button\n kbq-button\n [color]=\"'theme'\"\n [kbqStyle]=\"'transparent'\"\n (click)=\"onShowMoreClick(codeContent)\"\n (keydown.enter)=\"onEnter(codeContent)\"\n >\n @if (!viewAll) {\n <i kbq-icon=\"kbq-chevron-down_16\"></i>\n }\n @if (viewAll) {\n <i kbq-icon=\"kbq-chevron-up_16\"></i>\n }\n {{ viewAll ? config.viewLessText : config.viewAllText }}\n </button>\n </span>\n </div>\n }\n </kbq-tab>\n }\n</kbq-tab-group>\n", styles: [".kbq-code-block{display:block;position:relative;overflow:hidden;box-sizing:border-box;hyphens:none;-ms-hyphens:none;-moz-hyphens:none;-webkit-hyphens:none;border-radius:var(--kbq-code-block-size-container-border-radius);border-width:0}.kbq-code-block .kbq-tab-header{padding:calc(var(--kbq-code-block-size-header-padding-vertical) - var(--kbq-code-block-size-container-border-width)) calc(var(--kbq-code-block-size-header-padding-right) + 152px) var(--kbq-code-block-size-header-padding-vertical) var(--kbq-code-block-size-header-padding-left);border-width:var(--kbq-code-block-size-container-border-width) var(--kbq-code-block-size-container-border-width) 0 var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius) 0 0}.kbq-code-block:has(.kbq-code-block__show-more) .kbq-code-block__code>code{padding-bottom:var(--kbq-size-3xl)!important;overflow-x:scroll}.kbq-code-block:has(.kbq-code-block__show-more):has(.kbq-code-block__show-more_collapsed) .kbq-code-block__code>code{overflow-x:hidden}.kbq-code-block .kbq-code-block__code>code{padding:var(--kbq-code-block-size-with-header-content-padding-top) var(--kbq-code-block-size-with-header-content-padding-horizontal) var(--kbq-code-block-size-with-header-content-padding-bottom) var(--kbq-code-block-size-with-header-content-padding-horizontal);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-code-block__code>code:focus-visible{outline:none}.kbq-code-block .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-with-header-content-content-gap-horizontal)}.kbq-code-block.kbq-code-block_hide-line-numbers .hljs-ln-line.hljs-ln-numbers{display:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:before{content:none}.kbq-code-block.kbq-code-block_single-file .kbq-tab-label:hover{background:transparent!important}.kbq-code-block:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-width:0;overflow:visible}.kbq-code-block.kbq-code-block_no-header .kbq-tab-header{display:none}.kbq-code-block.kbq-code-block_no-header .kbq-tab-body__wrapper{border-width:var(--kbq-code-block-size-container-border-width);border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code{position:relative}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code>code{padding:var(--kbq-code-block-size-no-header-content-padding-vertical) var(--kbq-code-block-size-no-header-content-padding-horizontal)}.kbq-code-block.kbq-code-block_no-header .kbq-code-block__code .hljs-ln-numbers{padding-right:var(--kbq-code-block-size-no-header-content-content-gap-horizontal)}.kbq-code-block:not(:has(.kbq-code-block__show-more)) .kbq-code-block__code{overflow-y:auto}.kbq-code-block pre{margin:0}.kbq-code-block .kbq-tab-body__wrapper{flex-direction:column;border-width:var(--kbq-code-block-size-container-border-width);border-style:solid;border-radius:0 0 var(--kbq-code-block-size-container-border-radius) var(--kbq-code-block-size-container-border-radius)}.kbq-code-block .kbq-tab-body.kbq-tab-body__active{position:unset}.kbq-code-block__code{overflow-y:hidden}.kbq-code-block__code.kbq-code-block__code_view-all{max-height:unset;overflow-y:auto}.kbq-code-block__code.kbq-code-block__code_soft-wrap{white-space:pre-wrap}.kbq-code-block__code .hljs-ln{border-collapse:unset}.kbq-code-block__code .hljs-ln .hljs{padding:0}.kbq-code-block__code .hljs-ln-numbers{vertical-align:baseline;text-align:right}.kbq-code-block__code .hljs-ln-n:before{white-space:nowrap}.kbq-code-block__show-more{display:flex;justify-content:center;width:100%;position:absolute;bottom:0;border-radius:var(--kbq-code-block-size-container-border-radius)}.kbq-code-block__show-more.kbq-code-block__show-more_collapsed{padding-top:var(--kbq-code-block-size-collapse-collapsed-padding-top);padding-bottom:var(--kbq-code-block-size-collapse-collapsed-padding-bottom)}.kbq-code-block__show-more.kbq-code-block__show-more_expanded{padding-top:var(--kbq-code-block-size-collapse-expanded-padding-top);margin-bottom:var(--kbq-code-block-size-collapse-expanded-padding-bottom)}.kbq-code-block__show-more .bg-wrapper{border-radius:var(--kbq-button-size-border-radius)}.kbq-code-block .hljs{display:block;overflow-x:auto}.kbq-code-block .hljs-addition{background-color:var(--kbq-code-block-hljs-addition-background);color:var(--kbq-code-block-hljs-addition-color)}.kbq-code-block .hljs-attr{background-color:var(--kbq-code-block-hljs-attr-background);color:var(--kbq-code-block-hljs-attr-color)}.kbq-code-block .hljs-attribute{background-color:var(--kbq-code-block-hljs-attribute-background);color:var(--kbq-code-block-hljs-attribute-color)}.kbq-code-block .hljs-built_in{background-color:var(--kbq-code-block-hljs-built_in-background);color:var(--kbq-code-block-hljs-built_in-color)}.kbq-code-block .hljs-bullet{background-color:var(--kbq-code-block-hljs-bullet-background);color:var(--kbq-code-block-hljs-bullet-color)}.kbq-code-block .hljs-char-escape{background-color:var(--kbq-code-block-hljs-char-escape-background);color:var(--kbq-code-block-hljs-char-escape-color)}.kbq-code-block .hljs-class{background-color:var(--kbq-code-block-hljs-class-background);color:var(--kbq-code-block-hljs-class-color)}.kbq-code-block .hljs-code{background-color:var(--kbq-code-block-hljs-code-background);color:var(--kbq-code-block-hljs-code-color)}.kbq-code-block .hljs-comment{background-color:var(--kbq-code-block-hljs-comment-background);color:var(--kbq-code-block-hljs-comment-color)}.kbq-code-block .hljs-deletion{background-color:var(--kbq-code-block-hljs-deletion-background);color:var(--kbq-code-block-hljs-deletion-color)}.kbq-code-block .hljs-doctag{background-color:var(--kbq-code-block-hljs-doctag-background);color:var(--kbq-code-block-hljs-doctag-color)}.kbq-code-block .hljs-emphasis{background-color:var(--kbq-code-block-hljs-emphasis-background);color:var(--kbq-code-block-hljs-emphasis-color)}.kbq-code-block .hljs-formula{background-color:var(--kbq-code-block-hljs-formula-background);color:var(--kbq-code-block-hljs-formula-color)}.kbq-code-block .hljs-function{background-color:var(--kbq-code-block-hljs-function-background);color:var(--kbq-code-block-hljs-function-color)}.kbq-code-block .hljs-keyword{background-color:var(--kbq-code-block-hljs-keyword-background);color:var(--kbq-code-block-hljs-keyword-color)}.kbq-code-block .hljs-link{background-color:var(--kbq-code-block-hljs-link-background);color:var(--kbq-code-block-hljs-link-color)}.kbq-code-block .hljs-literal{background-color:var(--kbq-code-block-hljs-literal-background);color:var(--kbq-code-block-hljs-literal-color)}.kbq-code-block .hljs-meta{background-color:var(--kbq-code-block-hljs-meta-background);color:var(--kbq-code-block-hljs-meta-color)}.kbq-code-block .hljs-meta-keyword{background-color:var(--kbq-code-block-hljs-meta-keyword-background);color:var(--kbq-code-block-hljs-meta-keyword-color)}.kbq-code-block .hljs-meta-string{background-color:var(--kbq-code-block-hljs-meta-string-background);color:var(--kbq-code-block-hljs-meta-string-color)}.kbq-code-block .hljs-meta-prompt{background-color:var(--kbq-code-block-hljs-meta-prompt-background);color:var(--kbq-code-block-hljs-meta-prompt-color)}.kbq-code-block .hljs-name{background-color:var(--kbq-code-block-hljs-name-background);color:var(--kbq-code-block-hljs-name-color)}.kbq-code-block .hljs-number{background-color:var(--kbq-code-block-hljs-number-background);color:var(--kbq-code-block-hljs-number-color)}.kbq-code-block .hljs-operator{background-color:var(--kbq-code-block-hljs-operator-background);color:var(--kbq-code-block-hljs-operator-color)}.kbq-code-block .hljs-params{background-color:var(--kbq-code-block-hljs-params-background);color:var(--kbq-code-block-hljs-params-color)}.kbq-code-block .hljs-property{background-color:var(--kbq-code-block-hljs-property-background);color:var(--kbq-code-block-hljs-property-color)}.kbq-code-block .hljs-punctuation{background-color:var(--kbq-code-block-hljs-punctuation-background);color:var(--kbq-code-block-hljs-punctuation-color)}.kbq-code-block .hljs-quote{background-color:var(--kbq-code-block-hljs-quote-background);color:var(--kbq-code-block-hljs-quote-color)}.kbq-code-block .hljs-regexp{background-color:var(--kbq-code-block-hljs-regexp-background);color:var(--kbq-code-block-hljs-regexp-color)}.kbq-code-block .hljs-section{background-color:var(--kbq-code-block-hljs-section-background);color:var(--kbq-code-block-hljs-section-color)}.kbq-code-block .hljs-selector-attr{background-color:var(--kbq-code-block-hljs-selector-attr-background);color:var(--kbq-code-block-hljs-selector-attr-color)}.kbq-code-block .hljs-selector-class{background-color:var(--kbq-code-block-hljs-selector-class-background);color:var(--kbq-code-block-hljs-selector-class-color)}.kbq-code-block .hljs-selector-id{background-color:var(--kbq-code-block-hljs-selector-id-background);color:var(--kbq-code-block-hljs-selector-id-color)}.kbq-code-block .hljs-selector-pseudo{background-color:var(--kbq-code-block-hljs-selector-pseudo-background);color:var(--kbq-code-block-hljs-selector-pseudo-color)}.kbq-code-block .hljs-selector-tag{background-color:var(--kbq-code-block-hljs-selector-tag-background);color:var(--kbq-code-block-hljs-selector-tag-color)}.kbq-code-block .hljs-string{background-color:var(--kbq-code-block-hljs-string-background);color:var(--kbq-code-block-hljs-string-color)}.kbq-code-block .hljs-strong{background-color:var(--kbq-code-block-hljs-strong-background);color:var(--kbq-code-block-hljs-strong-color)}.kbq-code-block .hljs-subst{background-color:var(--kbq-code-block-hljs-subst-background);color:var(--kbq-code-block-hljs-subst-color)}.kbq-code-block .hljs-symbol{background-color:var(--kbq-code-block-hljs-symbol-background);color:var(--kbq-code-block-hljs-symbol-color)}.kbq-code-block .hljs-tag{background-color:var(--kbq-code-block-hljs-tag-background);color:var(--kbq-code-block-hljs-tag-color)}.kbq-code-block .hljs-template-tag{background-color:var(--kbq-code-block-hljs-template-tag-background);color:var(--kbq-code-block-hljs-template-tag-color)}.kbq-code-block .hljs-template-variable{background-color:var(--kbq-code-block-hljs-template-variable-background);color:var(--kbq-code-block-hljs-template-variable-color)}.kbq-code-block .hljs-title{background-color:var(--kbq-code-block-hljs-title-background);color:var(--kbq-code-block-hljs-title-color)}.kbq-code-block .hljs-title-class{background-color:var(--kbq-code-block-hljs-title-class-background);color:var(--kbq-code-block-hljs-title-class-color)}.kbq-code-block .hljs-title-class-inherited{background-color:var(--kbq-code-block-hljs-title-class-inherited-background);color:var(--kbq-code-block-hljs-title-class-inherited-color)}.kbq-code-block .hljs-title-function{background-color:var(--kbq-code-block-hljs-title-function-background);color:var(--kbq-code-block-hljs-title-function-color)}.kbq-code-block .hljs-title-function-invoke{background-color:var(--kbq-code-block-hljs-title-function-invoke-background);color:var(--kbq-code-block-hljs-title-function-invoke-color)}.kbq-code-block .hljs-type{background-color:var(--kbq-code-block-hljs-type-background);color:var(--kbq-code-block-hljs-type-color)}.kbq-code-block .hljs-variable{background-color:var(--kbq-code-block-hljs-variable-background);color:var(--kbq-code-block-hljs-variable-color)}.kbq-code-block .hljs-variable-constant{background-color:var(--kbq-code-block-hljs-variable-constant-background);color:var(--kbq-code-block-hljs-variable-constant-color)}.kbq-code-block .hljs-variable-language{background-color:var(--kbq-code-block-hljs-variable-language-background);color:var(--kbq-code-block-hljs-variable-language-color)}.kbq-code-block .hljs-ln-n{color:var(--kbq-code-block-hljs-line-numbers-color)}.kbq-code-block.kbq-code-block_outline{background:var(--kbq-code-block-outline-container-background)}.kbq-code-block.kbq-code-block_outline .kbq-tab-header{background:var(--kbq-code-block-outline-header-background)!important;border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-outline-container-border-color)}.kbq-code-block.kbq-code-block_outline:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_outline .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-outline-actionbar-background)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-outline-header-scroll-shadow)}.kbq-code-block.kbq-code-block_outline.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-outline-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-outline-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-outline-collapse-expanded-background)}.kbq-code-block.kbq-code-block_outline .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-outline-collapse-collapsed-background)}.kbq-code-block.kbq-code-block_filled{background:var(--kbq-code-block-filled-container-background)}.kbq-code-block.kbq-code-block_filled .kbq-tab-header{background:var(--kbq-code-block-filled-header-background)!important;border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled .kbq-tab-body__wrapper{border-color:var(--kbq-code-block-filled-container-border-color)}.kbq-code-block.kbq-code-block_filled:not(.kbq-code-block_no-header) .kbq-tab-body__wrapper{border-top-color:transparent}.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar,.kbq-code-block.kbq-code-block_filled .kbq-code-block-actionbar.kbq-actionbar-block_floating .kbq-actionbar-block__button-stack{background:var(--kbq-code-block-filled-actionbar-background)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_header-with-shadow .kbq-tab-header{box-shadow:var(--kbq-code-block-filled-header-scroll-shadow)}.kbq-code-block.kbq-code-block_filled.kbq-code-block_no-header .kbq-code-block__fade-gradient{background:var(--kbq-code-block-filled-actionbar-fade-gradient)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more .bg-wrapper{background:var(--kbq-code-block-filled-collapse-button-expand-background);opacity:90%}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_expanded{background:var(--kbq-code-block-filled-collapse-expanded-background)}.kbq-code-block.kbq-code-block_filled .kbq-code-block__show-more_collapsed{background:var(--kbq-code-block-filled-collapse-collapsed-background)}.kbq-code-block .kbq-tab-header .kbq-tab-label.kbq-tab-label_horizontal,.kbq-code-block .kbq-tab-header .kbq-tab-header__pagination{border-bottom-color:transparent}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-header{box-shadow:0 2px 0 -1px var(--kbq-states-focused-color)}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-body__wrapper{border-color:var(--kbq-states-focused-color);box-shadow:inset 0 0 .1 1px var(--kbq-states-focused-color)}.kbq-code-block{font-size:var(--kbq-code-block-font-default-font-size);font-weight:var(--kbq-code-block-font-default-font-weight);line-height:var(--kbq-code-block-font-default-line-height);font-family:var(--kbq-code-block-font-default-font-family);text-transform:var(--kbq-code-block-font-default-text-transform);font-feature-settings:var(--kbq-code-block-font-default-font-feature-settings);letter-spacing:var(--kbq-code-block-font-default-letter-spacing)}.kbq-code-block .kbq-code-block__code{font:inherit}.kbq-code-block .kbq-code-block__code>code{font:inherit}\n", ".kbq-code-block{--kbq-code-block-size-container-border-width: 1px;--kbq-code-block-size-container-border-radius: var(--kbq-size-m);--kbq-code-block-size-with-header-content-padding-top: var(--kbq-size-xxs);--kbq-code-block-size-with-header-content-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-with-header-content-padding-horizontal: var(--kbq-size-xl);--kbq-code-block-size-with-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-no-header-content-padding-vertical: 14px;--kbq-code-block-size-no-header-content-padding-horizontal: 20px;--kbq-code-block-size-no-header-content-content-gap-horizontal: var(--kbq-size-m);--kbq-code-block-size-header-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-header-padding-left: var(--kbq-size-m);--kbq-code-block-size-header-padding-right: var(--kbq-size-s);--kbq-code-block-size-header-content-gap-horizontal: var(--kbq-size-l);--kbq-code-block-size-actionbar-content-gap-horizontal: var(--kbq-size-3xs);--kbq-code-block-size-actionbar-padding-vertical: var(--kbq-size-s);--kbq-code-block-size-actionbar-padding-horizontal: var(--kbq-size-m);--kbq-code-block-size-actionbar-fade-gradient-width: var(--kbq-size-3xl);--kbq-code-block-size-collapse-expanded-padding-top: 0;--kbq-code-block-size-collapse-expanded-padding-bottom: var(--kbq-size-l);--kbq-code-block-size-collapse-collapsed-padding-top: var(--kbq-size-3xl);--kbq-code-block-size-collapse-collapsed-padding-bottom: var(--kbq-size-l);--kbq-code-block-font-default-font-size: var(--kbq-typography-mono-codeblock-font-size);--kbq-code-block-font-default-line-height: var(--kbq-typography-mono-codeblock-line-height);--kbq-code-block-font-default-letter-spacing: var(--kbq-typography-mono-codeblock-letter-spacing);--kbq-code-block-font-default-font-weight: var(--kbq-typography-mono-codeblock-font-weight);--kbq-code-block-font-default-font-family: var(--kbq-typography-mono-codeblock-font-family);--kbq-code-block-font-default-text-transform: var(--kbq-typography-mono-codeblock-text-transform);--kbq-code-block-font-default-font-feature-settings: var(--kbq-typography-mono-codeblock-font-feature-settings);--kbq-code-block-font-hljs-addition-font-style: null;--kbq-code-block-font-hljs-addition-font-weight: null;--kbq-code-block-font-hljs-attr-font-style: null;--kbq-code-block-font-hljs-attr-font-weight: null;--kbq-code-block-font-hljs-attribute-font-style: null;--kbq-code-block-font-hljs-attribute-font-weight: null;--kbq-code-block-font-hljs-built-in-font-style: null;--kbq-code-block-font-hljs-built-in-font-weight: null;--kbq-code-block-font-hljs-bullet-font-style: null;--kbq-code-block-font-hljs-bullet-font-weight: null;--kbq-code-block-font-hljs-char-escape-font-style: null;--kbq-code-block-font-hljs-char-escape-font-weight: null;--kbq-code-block-font-hljs-class-font-style: null;--kbq-code-block-font-hljs-class-font-weight: null;--kbq-code-block-font-hljs-code-font-style: null;--kbq-code-block-font-hljs-code-font-weight: null;--kbq-code-block-font-hljs-comment-font-style: null;--kbq-code-block-font-hljs-comment-font-weight: null;--kbq-code-block-font-hljs-deletion-font-style: null;--kbq-code-block-font-hljs-deletion-font-weight: null;--kbq-code-block-font-hljs-doctag-font-style: null;--kbq-code-block-font-hljs-doctag-font-weight: null;--kbq-code-block-font-hljs-emphasis-font-style: null;--kbq-code-block-font-hljs-emphasis-font-weight: null;--kbq-code-block-font-hljs-formula-font-style: null;--kbq-code-block-font-hljs-formula-font-weight: null;--kbq-code-block-font-hljs-function-font-style: null;--kbq-code-block-font-hljs-function-font-weight: null;--kbq-code-block-font-hljs-keyword-font-style: null;--kbq-code-block-font-hljs-keyword-font-weight: null;--kbq-code-block-font-hljs-link-font-style: null;--kbq-code-block-font-hljs-link-font-weight: null;--kbq-code-block-font-hljs-literal-font-style: null;--kbq-code-block-font-hljs-literal-font-weight: null;--kbq-code-block-font-hljs-meta-font-style: null;--kbq-code-block-font-hljs-meta-font-weight: null;--kbq-code-block-font-hljs-meta-keyword-font-style: null;--kbq-code-block-font-hljs-meta-keyword-font-weight: null;--kbq-code-block-font-hljs-meta-string-font-style: null;--kbq-code-block-font-hljs-meta-string-font-weight: null;--kbq-code-block-font-hljs-meta-prompt-font-style: null;--kbq-code-block-font-hljs-meta-prompt-font-weight: null;--kbq-code-block-font-hljs-name-font-style: null;--kbq-code-block-font-hljs-name-font-weight: null;--kbq-code-block-font-hljs-number-font-style: null;--kbq-code-block-font-hljs-number-font-weight: null;--kbq-code-block-font-hljs-operator-font-style: null;--kbq-code-block-font-hljs-operator-font-weight: null;--kbq-code-block-font-hljs-params-font-style: null;--kbq-code-block-font-hljs-params-font-weight: null;--kbq-code-block-font-hljs-property-font-style: null;--kbq-code-block-font-hljs-property-font-weight: null;--kbq-code-block-font-hljs-punctuation-font-style: null;--kbq-code-block-font-hljs-punctuation-font-weight: null;--kbq-code-block-font-hljs-quote-font-style: null;--kbq-code-block-font-hljs-quote-font-weight: null;--kbq-code-block-font-hljs-regexp-font-style: null;--kbq-code-block-font-hljs-regexp-font-weight: null;--kbq-code-block-font-hljs-section-font-style: null;--kbq-code-block-font-hljs-section-font-weight: null;--kbq-code-block-font-hljs-selector-attr-font-style: null;--kbq-code-block-font-hljs-selector-attr-font-weight: null;--kbq-code-block-font-hljs-selector-class-font-style: null;--kbq-code-block-font-hljs-selector-class-font-weight: null;--kbq-code-block-font-hljs-selector-id-font-style: null;--kbq-code-block-font-hljs-selector-id-font-weight: null;--kbq-code-block-font-hljs-selector-pseudo-font-style: null;--kbq-code-block-font-hljs-selector-pseudo-font-weight: null;--kbq-code-block-font-hljs-selector-tag-font-style: null;--kbq-code-block-font-hljs-selector-tag-font-weight: null;--kbq-code-block-font-hljs-string-font-style: null;--kbq-code-block-font-hljs-string-font-weight: null;--kbq-code-block-font-hljs-strong-font-style: null;--kbq-code-block-font-hljs-strong-font-weight: null;--kbq-code-block-font-hljs-subst-font-style: null;--kbq-code-block-font-hljs-subst-font-weight: null;--kbq-code-block-font-hljs-symbol-font-style: null;--kbq-code-block-font-hljs-symbol-font-weight: null;--kbq-code-block-font-hljs-tag-font-style: null;--kbq-code-block-font-hljs-tag-font-weight: null;--kbq-code-block-font-hljs-template-tag-font-style: null;--kbq-code-block-font-hljs-template-tag-font-weight: null;--kbq-code-block-font-hljs-template-variable-font-style: null;--kbq-code-block-font-hljs-template-variable-font-weight: null;--kbq-code-block-font-hljs-title-font-style: null;--kbq-code-block-font-hljs-title-font-weight: null;--kbq-code-block-font-hljs-title-class-font-style: normal;--kbq-code-block-font-hljs-title-class-font-weight: 500;--kbq-code-block-font-hljs-title-class-inherited-font-style: null;--kbq-code-block-font-hljs-title-class-inherited-font-weight: null;--kbq-code-block-font-hljs-title-function-font-style: null;--kbq-code-block-font-hljs-title-function-font-weight: null;--kbq-code-block-font-hljs-title-function-invoke-font-style: null;--kbq-code-block-font-hljs-title-function-invoke-font-weight: null;--kbq-code-block-font-hljs-type-font-style: null;--kbq-code-block-font-hljs-type-font-weight: null;--kbq-code-block-font-hljs-variable-font-style: null;--kbq-code-block-font-hljs-variable-font-weight: null;--kbq-code-block-font-hljs-variable-constant-font-style: null;--kbq-code-block-font-hljs-variable-constant-font-weight: null;--kbq-code-block-font-hljs-variable-language-font-style: null;--kbq-code-block-font-hljs-variable-language-font-weight: null}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: transparent;--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(225, 15%, 95%, 0%) 0%, hsla(225, 15%, 95%, 100%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(0, 0%, 100%, 0%) 0%, hsla(0, 0%, 100%, 100%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-30);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-35);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-code-block-filled-container-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-container-border-color: var(--kbq-line-contrast-less);--kbq-code-block-filled-header-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-filled-actionbar-fade-gradient: linear-gradient( 90deg, transparent, var(--kbq-background-bg-secondary) );--kbq-code-block-filled-actionbar-background: var(--kbq-background-bg-secondary);--kbq-code-block-filled-collapse-expanded-background: transparent;--kbq-code-block-filled-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 15%, 0%) 0%, hsla(229, 15%, 15%, 1%) 100% );--kbq-code-block-filled-collapse-button-expand-background: var(--kbq-background-bg-secondary);--kbq-code-block-outline-container-background: var(--kbq-background-card);--kbq-code-block-outline-container-border-color: transparent;--kbq-code-block-outline-header-background: var(--kbq-background-card);--kbq-code-block-outline-header-scroll-shadow: var(--kbq-shadow-overflow-normal-bottom);--kbq-code-block-outline-actionbar-fade-gradient: linear-gradient(90deg, transparent, var(--kbq-background-card));--kbq-code-block-outline-actionbar-background: var(--kbq-background-card);--kbq-code-block-outline-collapse-expanded-background: transparent;--kbq-code-block-outline-collapse-collapsed-background: linear-gradient( 180deg, hsla(229, 15%, 12%, 0%) 0%, hsla(229, 15%, 12%, 1%) 100% );--kbq-code-block-outline-collapse-button-expand-background: var(--kbq-background-card);--kbq-code-block-hljs-addition-background: var(--kbq-palette-green-95);--kbq-code-block-hljs-addition-color: var(--kbq-palette-green-25);--kbq-code-block-hljs-attr-background: null;--kbq-code-block-hljs-attr-color: null;--kbq-code-block-hljs-attribute-background: null;--kbq-code-block-hljs-attribute-color: null;--kbq-code-block-hljs-built-in-background: null;--kbq-code-block-hljs-built-in-color: null;--kbq-code-block-hljs-bullet-background: null;--kbq-code-block-hljs-bullet-color: null;--kbq-code-block-hljs-char-escape-background: null;--kbq-code-block-hljs-char-escape-color: null;--kbq-code-block-hljs-class-background: null;--kbq-code-block-hljs-class-color: null;--kbq-code-block-hljs-code-background: null;--kbq-code-block-hljs-code-color: null;--kbq-code-block-hljs-comment-background: null;--kbq-code-block-hljs-comment-color: var(--kbq-palette-grey-60);--kbq-code-block-hljs-deletion-background: var(--kbq-palette-red-95);--kbq-code-block-hljs-deletion-color: var(--kbq-palette-red-35);--kbq-code-block-hljs-doctag-background: null;--kbq-code-block-hljs-doctag-color: null;--kbq-code-block-hljs-emphasis-background: null;--kbq-code-block-hljs-emphasis-color: null;--kbq-code-block-hljs-formula-background: null;--kbq-code-block-hljs-formula-color: null;--kbq-code-block-hljs-function-background: null;--kbq-code-block-hljs-function-color: null;--kbq-code-block-hljs-keyword-background: null;--kbq-code-block-hljs-keyword-color: null;--kbq-code-block-hljs-line-numbers-color: var(--kbq-foreground-contrast-secondary);--kbq-code-block-hljs-link-background: null;--kbq-code-block-hljs-link-color: null;--kbq-code-block-hljs-literal-background: null;--kbq-code-block-hljs-literal-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-meta-background: null;--kbq-code-block-hljs-meta-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-keyword-background: null;--kbq-code-block-hljs-meta-keyword-color: null;--kbq-code-block-hljs-meta-string-background: null;--kbq-code-block-hljs-meta-string-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-meta-prompt-background: null;--kbq-code-block-hljs-meta-prompt-color: null;--kbq-code-block-hljs-name-background: null;--kbq-code-block-hljs-name-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-number-background: null;--kbq-code-block-hljs-number-color: var(--kbq-palette-purple-60);--kbq-code-block-hljs-operator-background: null;--kbq-code-block-hljs-operator-color: null;--kbq-code-block-hljs-params-background: null;--kbq-code-block-hljs-params-color: null;--kbq-code-block-hljs-property-background: null;--kbq-code-block-hljs-property-color: null;--kbq-code-block-hljs-punctuation-background: null;--kbq-code-block-hljs-punctuation-color: null;--kbq-code-block-hljs-quote-background: null;--kbq-code-block-hljs-quote-color: null;--kbq-code-block-hljs-regexp-background: null;--kbq-code-block-hljs-regexp-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-section-background: null;--kbq-code-block-hljs-section-color: null;--kbq-code-block-hljs-selector-attr-background: null;--kbq-code-block-hljs-selector-attr-color: null;--kbq-code-block-hljs-selector-class-background: null;--kbq-code-block-hljs-selector-class-color: null;--kbq-code-block-hljs-selector-id-background: null;--kbq-code-block-hljs-selector-id-color: null;--kbq-code-block-hljs-selector-pseudo-background: null;--kbq-code-block-hljs-selector-pseudo-color: null;--kbq-code-block-hljs-selector-tag-background: null;--kbq-code-block-hljs-selector-tag-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-string-background: null;--kbq-code-block-hljs-string-color: var(--kbq-palette-green-40);--kbq-code-block-hljs-strong-background: null;--kbq-code-block-hljs-strong-color: null;--kbq-code-block-hljs-subst-background: null;--kbq-code-block-hljs-subst-color: null;--kbq-code-block-hljs-symbol-background: null;--kbq-code-block-hljs-symbol-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-tag-background: null;--kbq-code-block-hljs-tag-color: null;--kbq-code-block-hljs-template-tag-background: null;--kbq-code-block-hljs-template-tag-color: null;--kbq-code-block-hljs-template-variable-background: null;--kbq-code-block-hljs-template-variable-color: null;--kbq-code-block-hljs-title-background: null;--kbq-code-block-hljs-title-color: var(--kbq-palette-blue-65);--kbq-code-block-hljs-title-class-background: null;--kbq-code-block-hljs-title-class-color: null;--kbq-code-block-hljs-title-class-inherited-background: null;--kbq-code-block-hljs-title-class-inherited-color: null;--kbq-code-block-hljs-title-function-background: null;--kbq-code-block-hljs-title-function-color: null;--kbq-code-block-hljs-title-function-invoke-background: null;--kbq-code-block-hljs-title-function-invoke-color: null;--kbq-code-block-hljs-type-background: null;--kbq-code-block-hljs-type-color: null;--kbq-code-block-hljs-variable-background: null;--kbq-code-block-hljs-variable-color: null;--kbq-code-block-hljs-variable-constant-background: null;--kbq-code-block-hljs-variable-constant-color: null;--kbq-code-block-hljs-variable-language-background: null;--kbq-code-block-hljs-variable-language-color: null}\n"] }]
247
251
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Clipboard }, { type: i0.Renderer2 }, { type: i2.FocusMonitor }, { type: undefined, decorators: [{
248
252
  type: Optional
249
253
  }, {
250
254
  type: Inject,
251
255
  args: [KBQ_CODE_BLOCK_CONFIGURATION]
256
+ }] }, { type: i8.KbqLocaleService, decorators: [{
257
+ type: Optional
258
+ }, {
259
+ type: Inject,
260
+ args: [KBQ_LOCALE_SERVICE]
252
261
  }] }], propDecorators: { tabGroup: [{
253
262
  type: ViewChild,
254
263
  args: [KbqTabGroup]
@@ -265,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
265
274
  }], codeFiles: [{
266
275
  type: Input
267
276
  }] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBR2pGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsSUFBSSxFQUFFLE1BQU07SUFDWixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVB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aUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztpSUF0UFEscUJBQXFCLDJKQXNETiw0QkFBNEI7cUhBdEQzQyxxQkFBcUIsdXBCQUNuQixXQUFXLDRFQ2xGMUIsa3VGQStEQTs7MkZEa0JhLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCLGNBQWMsUUFHbEI7d0JBQ0YsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsK0JBQStCLEVBQUUsUUFBUTt3QkFDekMsZ0NBQWdDLEVBQUUsU0FBUzt3QkFDM0MsMENBQTBDLEVBQUUsY0FBYzt3QkFDMUQsb0NBQW9DLEVBQUUsWUFBWTt3QkFDbEQsa0NBQWtDLEVBQUUsVUFBVTt3QkFDOUMsMkNBQTJDLEVBQUUsZUFBZTt3QkFDNUQsaUJBQWlCLEVBQUUsMkJBQTJCO3FCQUNqRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBd0RoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDRCQUE0Qjt5Q0FyRDVCLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFFYixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNPLFNBQVM7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxVGFiQ2hhbmdlRXZlbnQsIEticVRhYkdyb3VwIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQsIG1lcmdlLCBwYWlyd2lzZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBLYnFDb2RlQmxvY2tDb25maWd1cmF0aW9uLCBLYnFDb2RlRmlsZSB9IGZyb20gJy4vY29kZS1ibG9jay50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDT1BJRURfTUVTU0FHRV9UT09MVElQX1RJTUVPVVQgPSAxMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFTlNJT04gPSAndHh0JztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRVNfRVhURU5TSU9OUyA9IHtcbiAgICBodG1sOiAnaHRtbCcsXG4gICAgY3NzOiAnY3NzJyxcbiAgICBwaHA6ICdwaHAnLFxuICAgIGphdmE6ICdqYXZhJyxcbiAgICBiYXNoOiAnc2gnLFxuICAgIGphdmFzY3JpcHQ6ICdqcycsXG4gICAgdHlwZXNjcmlwdDogJ3RzJyxcbiAgICBweXRob246ICdweScsXG4gICAgcnVieTogJ3JiJyxcbiAgICBjOiAnYycsXG4gICAgJ2MrKyc6ICdjcHAnLFxuICAgICdjIyc6ICdjcycsXG4gICAgY3NoYXJwOiAnY3MnLFxuICAgIGx1YTogJ2x1YScsXG4gICAgeG1sOiAneG1sJyxcbiAgICBqc29uOiAnanNvbidcbn07XG5cbmV4cG9ydCBjb25zdCBLQlFfQ09ERV9CTE9DS19DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0ticUNvZGVCbG9ja0NvbmZpZ3VyYXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IEtCUV9DT0RFX0JMT0NLX0RFRkFVTFRfQ09ORklHVVJBVElPTiA9IHtcbiAgICBzb2Z0V3JhcE9uVG9vbHRpcDogJ9CS0LrQu9GO0YfQuNGC0Ywg0L/QtdGA0LXQvdC+0YEg0L/QviDRgdC70L7QstCw0LwnLFxuICAgIHNvZnRXcmFwT2ZmVG9vbHRpcDogJ9CS0YvQutC70Y7Rh9C40YLRjCDQv9C10YDQtdC90L7RgSDQv9C+INGB0LvQvtCy0LDQvCcsXG4gICAgZG93bmxvYWRUb29sdGlwOiAn0KHQutCw0YfQsNGC0YwnLFxuICAgIGNvcGllZFRvb2x0aXA6ICfinJMg0KHQutC+0L/QuNGA0L7QstCw0L3QvicsXG4gICAgY29weVRvb2x0aXA6ICfQodC60L7Qv9C40YDQvtCy0LDRgtGMJyxcbiAgICB2aWV3QWxsVGV4dDogJ9Cf0L7QutCw0LfQsNGC0Ywg0LLRgdC1JyxcbiAgICB2aWV3TGVzc1RleHQ6ICfQodCy0LXRgNC90YPRgtGMJyxcbiAgICBvcGVuRXh0ZXJuYWxTeXN0ZW1Ub29sdGlwOiAn0J7RgtC60YDRi9GC0Ywg0LLQviDQstC90LXRiNC90LXQuSDRgdC40YHRgtC10LzQtSdcbn07XG5cbmNvbnN0IGFjdGlvbkJhckJsb2NrTGVmdE1hcmdpbiA9IDI0O1xuXG5jb25zdCBoYXNTY3JvbGwgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgc2Nyb2xsV2lkdGgsIGNsaWVudEhlaWdodCwgY2xpZW50V2lkdGggfSA9IGVsZW1lbnQ7XG4gICAgcmV0dXJuIHNjcm9sbEhlaWdodCA+IGNsaWVudEhlaWdodCB8fCBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgZXhwb3J0QXM6ICdrYnFDb2RlQmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2RlLWJsb2NrLnNjc3MnLCAnLi9jb2RlLWJsb2NrLXRva2Vucy5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1jb2RlLWJsb2NrJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19maWxsZWRdJzogJ2ZpbGxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfb3V0bGluZV0nOiAnIWZpbGxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfaGlkZS1saW5lLW51bWJlcnNdJzogJyFsaW5lTnVtYmVycycsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfc2luZ2xlLWZpbGVdJzogJ3NpbmdsZUZpbGUnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX25vLWhlYWRlcl0nOiAnbm9IZWFkZXInLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2hlYWRlci13aXRoLXNoYWRvd10nOiAnaXNUb3BPdmVyZmxvdycsXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxQ29kZUJsb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBAVmlld0NoaWxkKEticVRhYkdyb3VwKSB0YWJHcm91cDogS2JxVGFiR3JvdXA7XG5cbiAgICBASW5wdXQoKSBsaW5lTnVtYmVycyA9IHRydWU7XG4gICAgQElucHV0KCkgZmlsbGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1heEhlaWdodDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHNvZnRXcmFwOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgY2FuTG9hZDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgZ2V0IGNvZGVGaWxlcygpOiBLYnFDb2RlRmlsZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvZGVGaWxlcztcbiAgICB9XG5cbiAgICBzZXQgY29kZUZpbGVzKGZpbGVzOiBLYnFDb2RlRmlsZVtdKSB7XG4gICAgICAgIHRoaXMuX2NvZGVGaWxlcyA9IGZpbGVzO1xuICAgICAgICB0aGlzLmhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ib3ZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvZGVGaWxlczogS2JxQ29kZUZpbGVbXTtcblxuICAgIC8vIFRPRE86IHJlcGxhY2Ugd2l0aCBwcm9wZXJ0eVxuICAgIGdldCBub0hlYWRlcigpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2RlRmlsZXMubGVuZ3RoID09PSAxICYmICF0aGlzLmNvZGVGaWxlc1swXS5maWxlbmFtZTtcbiAgICB9XG5cbiAgICBnZXQgc2luZ2xlRmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZUZpbGVzLmxlbmd0aCA9PT0gMTtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFRhYkluZGV4ID0gMDtcbiAgICBjb3BpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB2aWV3QWxsOiBib29sZWFuID0gZmFsc2U7XG4gICAgbXVsdGlMaW5lOiBib29sZWFuID0gZmFsc2U7XG4gICAgaXNUb3BPdmVyZmxvdzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGhhc0tleWJvYXJkRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgYWN0aW9uYmFySGlkZGVuPzogYm9vbGVhbjtcblxuICAgIHJlYWRvbmx5IHJlc2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGN1cnJlbnRDb2RlQmxvY2sgPSBuZXcgU3ViamVjdDxIVE1MRWxlbWVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplRGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgY29kZUJsb2NrU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgaG92ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfQ09ERV9CTE9DS19DT05GSUdVUkFUSU9OKSBwdWJsaWMgY29uZmlnOiBLYnFDb2RlQmxvY2tDb25maWd1cmF0aW9uXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gY29uZmlnIHx8IEtCUV9DT0RFX0JMT0NLX0RFRkFVTFRfQ09ORklHVVJBVElPTjtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5yZXNpemVEZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy51cGRhdGVIZWFkZXIpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgLy8gcmVuZGVyIGZvY3VzIGJvcmRlciBpZiBvcmlnaW4gaXMga2V5Ym9hcmRcbiAgICAgICAgdGhpcy5jb2RlQmxvY2tTdWJzY3JpcHRpb24gPSB0aGlzLmN1cnJlbnRDb2RlQmxvY2tcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoW3ByZXYsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyhwcmV2KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKGN1cnJlbnQhKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG9yaWdpbjogRm9jdXNPcmlnaW4pID0+IG9yaWdpbiA9PT0gJ2tleWJvYXJkJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzS2V5Ym9hcmRGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaGlkZUFjdGlvbkJhcklmTm9IZWFkZXIoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0hvdmVyKCk7XG4gICAgICAgIHRoaXMuY3VycmVudENvZGVCbG9jay5uZXh0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuY29kZUJsb2NrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlSGVhZGVyID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjbGllbnRXaWR0aDogbnVtYmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcigna2JxLWFjdGlvbmJhci1ibG9jaycpLmNsaWVudFdpZHRoO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICB0aGlzLnRhYkdyb3VwLnRhYkhlYWRlci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAncGFkZGluZy1yaWdodCcsXG4gICAgICAgICAgICBgJHthY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gKyBjbGllbnRXaWR0aH1weGBcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICB0b2dnbGVTb2Z0V3JhcCgpIHtcbiAgICAgICAgdGhpcy5zb2Z0V3JhcCA9ICF0aGlzLnNvZnRXcmFwO1xuICAgIH1cblxuICAgIHRvZ2dsZVZpZXdBbGwoKSB7XG4gICAgICAgIHRoaXMudmlld0FsbCA9ICF0aGlzLnZpZXdBbGw7XG4gICAgfVxuXG4gICAgZG93bmxvYWRDb2RlKCkge1xuICAgICAgICBjb25zdCBjb2RlRmlsZSA9IHRoaXMuY29kZUZpbGVzW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF07XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbY29kZUZpbGUuY29udGVudF0sIHsgdHlwZTogJ3RleHQvcGxhaW4nIH0pO1xuICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke3RoaXMuZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlKX1gKTtcbiAgICAgICAgbGluay5jbGljaygpO1xuICAgIH1cblxuICAgIGNvcHlDb2RlKCkge1xuICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29kZUZpbGVzW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0uY29udGVudCk7XG4gICAgICAgIHRoaXMuY29waWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvcGVuRXh0ZXJuYWxTeXN0ZW0oKSB7XG4gICAgICAgIGNvbnN0IGV4dGVybmFsTGluayA9IHRoaXMuY29kZUZpbGVzW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0ubGluaztcbiAgICAgICAgd2luZG93Lm9wZW4oZXh0ZXJuYWxMaW5rLCAnX2JsYW5rJyk7XG4gICAgfVxuXG4gICAgb25IaWdobGlnaHRlZCgpIHtcbiAgICAgICAgc2V0VGltZW91dCh0aGlzLnVwZGF0ZU11bHRpbGluZSwgMSk7XG4gICAgfVxuXG4gICAgZ2V0TWF4SGVpZ2h0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heEhlaWdodCA+IDAgJiYgIXRoaXMudmlld0FsbCA/IGAke3RoaXMubWF4SGVpZ2h0fXB4YCA6ICcnO1xuICAgIH1cblxuICAgIG9uU2VsZWN0VGFiKCRldmVudDogS2JxVGFiQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYkluZGV4ID0gJGV2ZW50LmluZGV4O1xuICAgICAgICB0aGlzLnVwZGF0ZU11bHRpbGluZSgpO1xuICAgICAgICB0aGlzLmlzVG9wT3ZlcmZsb3cgPSBmYWxzZTtcblxuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlSGVhZGVyKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmN1cnJlbnRDb2RlQmxvY2submV4dCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJykpKTtcbiAgICB9XG5cbiAgICBjaGVja092ZXJmbG93KGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm5vSGVhZGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1RvcE92ZXJmbG93ID0gY3VycmVudENvZGVDb250ZW50RWxlbWVudC5zY3JvbGxUb3AgPiAwO1xuICAgIH1cblxuICAgIG9uU2hvd01vcmVDbGljayhjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50OiBIVE1MUHJlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnRvZ2dsZVZpZXdBbGwoKTtcblxuICAgICAgICBpZiAodGhpcy52aWV3QWxsKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dBY3Rpb25CYXJJZk5lY2Vzc2FyeSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gU2hvdWxkIGV4cGxpY2l0bHkgc2Nyb2xsIHRvIHRvcCBzbyBjb250ZW50IHdpbGwgYmUgY3JvcHBlZCBmcm9tIHRoZSBib3R0b21cbiAgICAgICAgICAgIGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQ/LnNjcm9sbCh7IHRvcDogMCwgYmVoYXZpb3I6ICdpbnN0YW50JyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IHJlcGxhY2Ugd2l0aCBwcm9wZXJ0eSB0byByZWR1Y2UgY2FsY3VsYXRpb25zXG4gICAgY2FuU2hvd0ZvY3VzKGN1cnJlbnRDb2RlQ29udGVudDogSFRNTFByZUVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY3VycmVudENvZGVCbG9jayA9IGN1cnJlbnRDb2RlQ29udGVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJykhO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoaGFzU2Nyb2xsKGN1cnJlbnRDb2RlQ29udGVudCkgfHwgaGFzU2Nyb2xsKGN1cnJlbnRDb2RlQmxvY2spKSAmJlxuICAgICAgICAgICAgKCghIXRoaXMubWF4SGVpZ2h0ICYmIHRoaXMudmlld0FsbCkgfHwgIXRoaXMubWF4SGVpZ2h0KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uRW50ZXIoY3VycmVudENvZGVCbG9jazogSFRNTFByZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gZGVmZXIgZXhlY3V0aW9uIGFmdGVyIHRvZ2dsZSB2aWV3IG1vZGVcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5jYW5TaG93Rm9jdXMoY3VycmVudENvZGVCbG9jaykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYShjdXJyZW50Q29kZUJsb2NrLnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSEsICdrZXlib2FyZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIHNob3dBY3Rpb25CYXJJZk5lY2Vzc2FyeSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjdGlvbmJhckhpZGRlbikgcmV0dXJuO1xuICAgICAgICB0aGlzLmFjdGlvbmJhckhpZGRlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgaGlkZUFjdGlvbkJhcklmTm9IZWFkZXIoZXZlbnQ/OiBGb2N1c0V2ZW50IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubm9IZWFkZXIpIHJldHVybjtcbiAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbmJhckhpZGRlbiA9ICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aW9uYmFySGlkZGVuID0gdGhpcy5ub0hlYWRlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU11bHRpbGluZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5tdWx0aUxpbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGxqcy1sbi1udW1iZXJzJykubGVuZ3RoID4gMTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUhlYWRlcigpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlOiBLYnFDb2RlRmlsZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gY29kZUZpbGUuZmlsZW5hbWUgfHwgJ2NvZGUnO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBMQU5HVUFHRVNfRVhURU5TSU9OU1tjb2RlRmlsZS5sYW5ndWFnZV0gfHwgREVGQVVMVF9FWFRFTlNJT047XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfS4ke2V4dGVuc2lvbn1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9Ib3ZlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vSGVhZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaG92ZXJTdWJzY3JpcHRpb24pIHJldHVybjtcblxuICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJsdXIgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3Vzb3V0JyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShtYXAoKCkgPT4gbnVsbCkpXG4gICAgICAgICkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNLZXlib2FyZEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlQWN0aW9uQmFySWZOb0hlYWRlcihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbi5hZGQoYmx1cik7XG4gICAgfVxufVxuIiwiPGticS10YWItZ3JvdXBcbiAgICBbY2xhc3Mua2JxLWZvY3VzZWRdPVwiaGFzS2V5Ym9hcmRGb2N1c1wiXG4gICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uU2VsZWN0VGFiKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGNvZGVGaWxlIG9mIGNvZGVGaWxlczsgdHJhY2sgY29kZUZpbGU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxrYnEtdGFiIFtkaXNhYmxlZF09XCJzaW5nbGVGaWxlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2JxLXRhYi1sYWJlbD57eyBjb2RlRmlsZS5maWxlbmFtZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8cHJlXG4gICAgICAgICAgICAgICAgI2NvZGVDb250ZW50XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJrYnEtY29kZS1ibG9ja19fY29kZSBrYnEtc2Nyb2xsYmFyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX2NvZGVfc29mdC13cmFwXT1cInNvZnRXcmFwXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX2NvZGVfdmlldy1hbGxdPVwidmlld0FsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwiZ2V0TWF4SGVpZ2h0KClcIlxuICAgICAgICAgICAgICAgIChzY3JvbGwpPVwiY2hlY2tPdmVyZmxvdyhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgPjxrYnEtYWN0aW9uYmFyLWJsb2NrXG4gICAgICAgIFtjbGFzcy5rYnEtYWN0aW9uYmFyLWJsb2NrX2Zsb2F0aW5nXT1cIm5vSGVhZGVyXCJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICBbY29kZUZpbGVzXT1cImNvZGVGaWxlc1wiXG4gICAgICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gICAgICAgIFtzb2Z0V3JhcF09XCJzb2Z0V3JhcFwiXG4gICAgICAgIFtjYW5Mb2FkXT1cImNhbkxvYWRcIlxuICAgICAgICBbc3R5bGUub3BhY2l0eV09XCJhY3Rpb25iYXJIaWRkZW4gPyAwIDogbnVsbFwiXG4gICAgICAgICh0b2dnbGVTb2Z0V3JhcCk9XCJ0b2dnbGVTb2Z0V3JhcCgpXCJcbiAgICAgICAgKGRvd25sb2FkQ29kZSk9XCJkb3dubG9hZENvZGUoKVwiXG4gICAgICAgIChjb3B5Q29kZSk9XCJjb3B5Q29kZSgpXCJcbiAgICAgICAgKG9wZW5FeHRlcm5hbFN5c3RlbSk9XCJvcGVuRXh0ZXJuYWxTeXN0ZW0oKVwiIC8+PGNvZGUgY2xhc3M9XCJobGpzXCJcbiAgICAgICAgW2lkXT1cImNvZGVGaWxlLmZpbGVuYW1lICsgJ18nICsgaVwiXG4gICAgICAgIFtjbGFzcy5obGpzLWxpbmUtbnVtYmVyc109XCJsaW5lTnVtYmVyc1wiXG4gICAgICAgIFtoaWdobGlnaHRdPVwiY29kZUZpbGVzW2ldLmNvbnRlbnRcIlxuICAgICAgICBbbGluZU51bWJlcnNdPVwidHJ1ZVwiXG4gICAgICAgIFt0YWJJbmRleF09XCJjYW5TaG93Rm9jdXMoY29kZUNvbnRlbnQpID8gMCA6IC0xXCJcbiAgICAgICAgKGhpZ2hsaWdodGVkKT1cIm9uSGlnaGxpZ2h0ZWQoKVwiXG4gICAgICAgIChibHVyKT1cImhhc0tleWJvYXJkRm9jdXMgPSBmYWxzZVwiPlxuICAgICAgPC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgQGlmIChtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2NvbGxhcHNlZF09XCIhdmlld0FsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2V4cGFuZGVkXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIndGhlbWUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd01vcmVDbGljayhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoY29kZUNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCF2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bl8xNlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tdXBfMTZcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZpZXdBbGwgPyBjb25maWcudmlld0xlc3NUZXh0IDogY29uZmlnLnZpZXdBbGxUZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ticS10YWI+XG4gICAgfVxuPC9rYnEtdGFiLWdyb3VwPlxuIl19
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsb0NBQW9DLEVBR3ZDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7QUFFNUIsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFDO0FBQ2xELE1BQU0sQ0FBQyxN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LFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLQlFfTE9DQUxFX1NFUlZJQ0UsIEticUxvY2FsZVNlcnZpY2UgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFUYWJDaGFuZ2VFdmVudCwgS2JxVGFiR3JvdXAgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCwgbWVyZ2UsIHBhaXJ3aXNlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgS0JRX0NPREVfQkxPQ0tfQ09ORklHVVJBVElPTixcbiAgICBLQlFfQ09ERV9CTE9DS19ERUZBVUxUX0NPTkZJR1VSQVRJT04sXG4gICAgS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbixcbiAgICBLYnFDb2RlRmlsZVxufSBmcm9tICcuL2NvZGUtYmxvY2sudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ09QSUVEX01FU1NBR0VfVE9PTFRJUF9USU1FT1VUID0gMTAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhURU5TSU9OID0gJ3R4dCc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VTX0VYVEVOU0lPTlMgPSB7XG4gICAgaHRtbDogJ2h0bWwnLFxuICAgIGNzczogJ2NzcycsXG4gICAgcGhwOiAncGhwJyxcbiAgICBqYXZhOiAnamF2YScsXG4gICAgYmFzaDogJ3NoJyxcbiAgICBqYXZhc2NyaXB0OiAnanMnLFxuICAgIHR5cGVzY3JpcHQ6ICd0cycsXG4gICAgcHl0aG9uOiAncHknLFxuICAgIHJ1Ynk6ICdyYicsXG4gICAgYzogJ2MnLFxuICAgICdjKysnOiAnY3BwJyxcbiAgICAnYyMnOiAnY3MnLFxuICAgIGNzaGFycDogJ2NzJyxcbiAgICBsdWE6ICdsdWEnLFxuICAgIHhtbDogJ3htbCcsXG4gICAganNvbjogJ2pzb24nXG59O1xuXG5jb25zdCBhY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gPSAyNDtcblxuY29uc3QgaGFzU2Nyb2xsID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRoIH0gPSBlbGVtZW50O1xuICAgIHJldHVybiBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHQgfHwgc2Nyb2xsV2lkdGggPiBjbGllbnRXaWR0aDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLWNvZGUtYmxvY2snLFxuICAgIGV4cG9ydEFzOiAna2JxQ29kZUJsb2NrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29kZS1ibG9jay5zY3NzJywgJy4vY29kZS1ibG9jay10b2tlbnMuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX291dGxpbmVdJzogJyFmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2hpZGUtbGluZS1udW1iZXJzXSc6ICchbGluZU51bWJlcnMnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX3NpbmdsZS1maWxlXSc6ICdzaW5nbGVGaWxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19uby1oZWFkZXJdJzogJ25vSGVhZGVyJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19oZWFkZXItd2l0aC1zaGFkb3ddJzogJ2lzVG9wT3ZlcmZsb3cnLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ3Jlc2l6ZVN0cmVhbS5uZXh0KCRldmVudCknXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticUNvZGVCbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChLYnFUYWJHcm91cCkgdGFiR3JvdXA6IEticVRhYkdyb3VwO1xuXG4gICAgQElucHV0KCkgbGluZU51bWJlcnMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZpbGxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBzb2Z0V3JhcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNhbkxvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGdldCBjb2RlRmlsZXMoKTogS2JxQ29kZUZpbGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2RlRmlsZXM7XG4gICAgfVxuXG4gICAgc2V0IGNvZGVGaWxlcyhmaWxlczogS2JxQ29kZUZpbGVbXSkge1xuICAgICAgICB0aGlzLl9jb2RlRmlsZXMgPSBmaWxlcztcbiAgICAgICAgdGhpcy5oaWRlQWN0aW9uQmFySWZOb0hlYWRlcigpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvSG92ZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb2RlRmlsZXM6IEticUNvZGVGaWxlW107XG5cbiAgICAvLyBUT0RPOiByZXBsYWNlIHdpdGggcHJvcGVydHlcbiAgICBnZXQgbm9IZWFkZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZUZpbGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5jb2RlRmlsZXNbMF0uZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHNpbmdsZUZpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvZGVGaWxlcy5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gICAgY29waWVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmlld0FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIG11bHRpTGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzVG9wT3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBoYXNLZXlib2FyZEZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGFjdGlvbmJhckhpZGRlbj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgY29uZmlnOiBLYnFDb2RlQmxvY2tDb25maWd1cmF0aW9uO1xuXG4gICAgcmVhZG9ubHkgcmVzaXplU3RyZWFtID0gbmV3IFN1YmplY3Q8RXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgY3VycmVudENvZGVCbG9jayA9IG5ldyBTdWJqZWN0PEhUTUxFbGVtZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVEZWJvdW5jZUludGVydmFsOiBudW1iZXIgPSAxMDA7XG4gICAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSBjb2RlQmxvY2tTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSBob3ZlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04pIHByb3RlY3RlZCBjb25maWd1cmF0aW9uPzogS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlPzogS2JxTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxlUGFyYW1zKTtcblxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0RGVmYXVsdFBhcmFtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVN0cmVhbVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMucmVzaXplRGVib3VuY2VJbnRlcnZhbCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudXBkYXRlSGVhZGVyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIHJlbmRlciBmb2N1cyBib3JkZXIgaWYgb3JpZ2luIGlzIGtleWJvYXJkXG4gICAgICAgIHRoaXMuY29kZUJsb2NrU3Vic2NyaXB0aW9uID0gdGhpcy5jdXJyZW50Q29kZUJsb2NrXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtwcmV2LCBjdXJyZW50XSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcocHJldik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcihjdXJyZW50ISk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PiBvcmlnaW4gPT09ICdrZXlib2FyZCcpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0tleWJvYXJkRm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ib3ZlcigpO1xuICAgICAgICB0aGlzLmN1cnJlbnRDb2RlQmxvY2submV4dCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJykpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvZGVCbG9ja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhlYWRlciA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGg6IG51bWJlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ticS1hY3Rpb25iYXItYmxvY2snKS5jbGllbnRXaWR0aDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgdGhpcy50YWJHcm91cC50YWJIZWFkZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICAgICAgYCR7YWN0aW9uQmFyQmxvY2tMZWZ0TWFyZ2luICsgY2xpZW50V2lkdGh9cHhgXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgdG9nZ2xlU29mdFdyYXAoKSB7XG4gICAgICAgIHRoaXMuc29mdFdyYXAgPSAhdGhpcy5zb2Z0V3JhcDtcbiAgICB9XG5cbiAgICB0b2dnbGVWaWV3QWxsKCkge1xuICAgICAgICB0aGlzLnZpZXdBbGwgPSAhdGhpcy52aWV3QWxsO1xuICAgIH1cblxuICAgIGRvd25sb2FkQ29kZSgpIHtcbiAgICAgICAgY29uc3QgY29kZUZpbGUgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdO1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NvZGVGaWxlLmNvbnRlbnRdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBgJHt0aGlzLmdldEZ1bGxGaWxlTmFtZShjb2RlRmlsZSl9YCk7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICB9XG5cbiAgICBjb3B5Q29kZSgpIHtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmNvbnRlbnQpO1xuICAgICAgICB0aGlzLmNvcGllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb3BlbkV4dGVybmFsU3lzdGVtKCkge1xuICAgICAgICBjb25zdCBleHRlcm5hbExpbmsgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmxpbms7XG4gICAgICAgIHdpbmRvdy5vcGVuKGV4dGVybmFsTGluaywgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9uSGlnaGxpZ2h0ZWQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGVNdWx0aWxpbmUsIDEpO1xuICAgIH1cblxuICAgIGdldE1heEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIZWlnaHQgPiAwICYmICF0aGlzLnZpZXdBbGwgPyBgJHt0aGlzLm1heEhlaWdodH1weGAgOiAnJztcbiAgICB9XG5cbiAgICBvblNlbGVjdFRhYigkZXZlbnQ6IEticVRhYkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9ICRldmVudC5pbmRleDtcbiAgICAgICAgdGhpcy51cGRhdGVNdWx0aWxpbmUoKTtcbiAgICAgICAgdGhpcy5pc1RvcE92ZXJmbG93ID0gZmFsc2U7XG5cbiAgICAgICAgc2V0VGltZW91dCh0aGlzLnVwZGF0ZUhlYWRlcik7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jdXJyZW50Q29kZUJsb2NrLm5leHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29kZScpKSk7XG4gICAgfVxuXG4gICAgY2hlY2tPdmVyZmxvdyhjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5ub0hlYWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNUb3BPdmVyZmxvdyA9IGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID4gMDtcbiAgICB9XG5cbiAgICBvblNob3dNb3JlQ2xpY2soY3VycmVudENvZGVDb250ZW50RWxlbWVudDogSFRNTFByZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVWaWV3QWxsKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudmlld0FsbCkge1xuICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFNob3VsZCBleHBsaWNpdGx5IHNjcm9sbCB0byB0b3Agc28gY29udGVudCB3aWxsIGJlIGNyb3BwZWQgZnJvbSB0aGUgYm90dG9tXG4gICAgICAgICAgICBjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50Py5zY3JvbGwoeyB0b3A6IDAsIGJlaGF2aW9yOiAnaW5zdGFudCcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiByZXBsYWNlIHdpdGggcHJvcGVydHkgdG8gcmVkdWNlIGNhbGN1bGF0aW9uc1xuICAgIGNhblNob3dGb2N1cyhjdXJyZW50Q29kZUNvbnRlbnQ6IEhUTUxQcmVFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDb2RlQmxvY2sgPSBjdXJyZW50Q29kZUNvbnRlbnQucXVlcnlTZWxlY3RvcignY29kZScpITtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGhhc1Njcm9sbChjdXJyZW50Q29kZUNvbnRlbnQpIHx8IGhhc1Njcm9sbChjdXJyZW50Q29kZUJsb2NrKSkgJiZcbiAgICAgICAgICAgICgoISF0aGlzLm1heEhlaWdodCAmJiB0aGlzLnZpZXdBbGwpIHx8ICF0aGlzLm1heEhlaWdodClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkVudGVyKGN1cnJlbnRDb2RlQmxvY2s6IEhUTUxQcmVFbGVtZW50KSB7XG4gICAgICAgIC8vIGRlZmVyIGV4ZWN1dGlvbiBhZnRlciB0b2dnbGUgdmlldyBtb2RlXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuU2hvd0ZvY3VzKGN1cnJlbnRDb2RlQmxvY2spKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEoY3VycmVudENvZGVCbG9jay5xdWVyeVNlbGVjdG9yKCdjb2RlJykhLCAna2V5Ym9hcmQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hY3Rpb25iYXJIaWRkZW4pIHJldHVybjtcbiAgICAgICAgdGhpcy5hY3Rpb25iYXJIaWRkZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKGV2ZW50PzogRm9jdXNFdmVudCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vSGVhZGVyKSByZXR1cm47XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25iYXJIaWRkZW4gPSAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGlvbmJhckhpZGRlbiA9IHRoaXMubm9IZWFkZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMb2NhbGVQYXJhbXMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uIHx8IHRoaXMubG9jYWxlU2VydmljZT8uZ2V0UGFyYW1zKCdjb2RlQmxvY2snKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGluaXREZWZhdWx0UGFyYW1zKCkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IEtCUV9DT0RFX0JMT0NLX0RFRkFVTFRfQ09ORklHVVJBVElPTjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU11bHRpbGluZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5tdWx0aUxpbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGxqcy1sbi1udW1iZXJzJykubGVuZ3RoID4gMTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUhlYWRlcigpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlOiBLYnFDb2RlRmlsZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gY29kZUZpbGUuZmlsZW5hbWUgfHwgJ2NvZGUnO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBMQU5HVUFHRVNfRVhURU5TSU9OU1tjb2RlRmlsZS5sYW5ndWFnZV0gfHwgREVGQVVMVF9FWFRFTlNJT047XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfS4ke2V4dGVuc2lvbn1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9Ib3ZlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vSGVhZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaG92ZXJTdWJzY3JpcHRpb24pIHJldHVybjtcblxuICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJsdXIgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3Vzb3V0JyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShtYXAoKCkgPT4gbnVsbCkpXG4gICAgICAgICkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNLZXlib2FyZEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlQWN0aW9uQmFySWZOb0hlYWRlcihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbi5hZGQoYmx1cik7XG4gICAgfVxufVxuIiwiPGticS10YWItZ3JvdXBcbiAgICBbY2xhc3Mua2JxLWZvY3VzZWRdPVwiaGFzS2V5Ym9hcmRGb2N1c1wiXG4gICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uU2VsZWN0VGFiKCRldmVudClcIlxuPlxuICAgIEBmb3IgKGNvZGVGaWxlIG9mIGNvZGVGaWxlczsgdHJhY2sgY29kZUZpbGU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxrYnEtdGFiIFtkaXNhYmxlZF09XCJzaW5nbGVGaWxlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2JxLXRhYi1sYWJlbD57eyBjb2RlRmlsZS5maWxlbmFtZSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8cHJlXG4gICAgICAgICAgICAgICAgI2NvZGVDb250ZW50XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJrYnEtY29kZS1ibG9ja19fY29kZSBrYnEtc2Nyb2xsYmFyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX2NvZGVfc29mdC13cmFwXT1cInNvZnRXcmFwXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX2NvZGVfdmlldy1hbGxdPVwidmlld0FsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLm1heC1oZWlnaHRdPVwiZ2V0TWF4SGVpZ2h0KClcIlxuICAgICAgICAgICAgICAgIChzY3JvbGwpPVwiY2hlY2tPdmVyZmxvdyhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgPjxrYnEtYWN0aW9uYmFyLWJsb2NrXG4gICAgICAgIFtjbGFzcy5rYnEtYWN0aW9uYmFyLWJsb2NrX2Zsb2F0aW5nXT1cIm5vSGVhZGVyXCJcbiAgICAgICAgW2NvZGVGaWxlc109XCJjb2RlRmlsZXNcIlxuICAgICAgICBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYkluZGV4XCJcbiAgICAgICAgW211bHRpTGluZV09XCJtdWx0aUxpbmVcIlxuICAgICAgICBbc29mdFdyYXBdPVwic29mdFdyYXBcIlxuICAgICAgICBbY2FuTG9hZF09XCJjYW5Mb2FkXCJcbiAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwiYWN0aW9uYmFySGlkZGVuID8gMCA6IG51bGxcIlxuICAgICAgICAodG9nZ2xlU29mdFdyYXApPVwidG9nZ2xlU29mdFdyYXAoKVwiXG4gICAgICAgIChkb3dubG9hZENvZGUpPVwiZG93bmxvYWRDb2RlKClcIlxuICAgICAgICAoY29weUNvZGUpPVwiY29weUNvZGUoKVwiXG4gICAgICAgIChvcGVuRXh0ZXJuYWxTeXN0ZW0pPVwib3BlbkV4dGVybmFsU3lzdGVtKClcIiAvPjxjb2RlIGNsYXNzPVwiaGxqc1wiXG4gICAgICAgIFtpZF09XCJjb2RlRmlsZS5maWxlbmFtZSArICdfJyArIGlcIlxuICAgICAgICBbY2xhc3MuaGxqcy1saW5lLW51bWJlcnNdPVwibGluZU51bWJlcnNcIlxuICAgICAgICBbaGlnaGxpZ2h0XT1cImNvZGVGaWxlc1tpXS5jb250ZW50XCJcbiAgICAgICAgW2xpbmVOdW1iZXJzXT1cInRydWVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiY2FuU2hvd0ZvY3VzKGNvZGVDb250ZW50KSA/IDAgOiAtMVwiXG4gICAgICAgIChoaWdobGlnaHRlZCk9XCJvbkhpZ2hsaWdodGVkKClcIlxuICAgICAgICAoYmx1cik9XCJoYXNLZXlib2FyZEZvY3VzID0gZmFsc2VcIj5cbiAgICAgIDwvY29kZT48L3ByZT5cbiAgICAgICAgICAgIEBpZiAobWF4SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImticS1jb2RlLWJsb2NrX19zaG93LW1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZV9jb2xsYXBzZWRdPVwiIXZpZXdBbGxcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZV9leHBhbmRlZF09XCJ2aWV3QWxsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmctd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGticS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwiJ3RoZW1lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ticVN0eWxlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNob3dNb3JlQ2xpY2soY29kZUNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKGNvZGVDb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghdmlld0FsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLWRvd25fMTZcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodmlld0FsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cImticS1jaGV2cm9uLXVwXzE2XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB2aWV3QWxsID8gY29uZmlnLnZpZXdMZXNzVGV4dCA6IGNvbmZpZy52aWV3QWxsVGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9rYnEtdGFiPlxuICAgIH1cbjwva2JxLXRhYi1ncm91cD5cbiJdfQ==