@koobiq/components 18.9.0 → 18.10.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 (117) hide show
  1. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -3
  2. package/badge/_badge-theme.scss +1 -1
  3. package/code-block/code-block-content.d.ts +4 -4
  4. package/code-block/code-block.component.d.ts +3 -0
  5. package/core/common-behaviors/common-module.d.ts +2 -2
  6. package/core/forms/forms-tokens.scss +1 -1
  7. package/core/services/measure-scrollbar.service.d.ts +2 -2
  8. package/core/services/theme.service.d.ts +4 -3
  9. package/datepicker/datepicker.component.d.ts +3 -3
  10. package/dl/dl.scss +1 -1
  11. package/dropdown/dropdown-content.directive.d.ts +2 -2
  12. package/dropdown/dropdown-trigger.directive.d.ts +1 -0
  13. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +13 -17
  14. package/esm2022/badge/badge.component.mjs +2 -2
  15. package/esm2022/code-block/code-block-content.mjs +22 -11
  16. package/esm2022/code-block/code-block.component.mjs +12 -6
  17. package/esm2022/core/common-behaviors/common-module.mjs +14 -12
  18. package/esm2022/core/services/measure-scrollbar.service.mjs +7 -12
  19. package/esm2022/core/services/theme.service.mjs +10 -8
  20. package/esm2022/core/version.mjs +2 -2
  21. package/esm2022/datepicker/datepicker.component.mjs +6 -11
  22. package/esm2022/dl/dl.component.mjs +2 -2
  23. package/esm2022/dropdown/dropdown-content.directive.mjs +6 -9
  24. package/esm2022/dropdown/dropdown-trigger.directive.mjs +8 -5
  25. package/esm2022/file-upload/multiple-file-upload.component.mjs +3 -3
  26. package/esm2022/file-upload/single-file-upload.component.mjs +3 -3
  27. package/esm2022/form-field/cleaner.mjs +3 -3
  28. package/esm2022/form-field/form-field.mjs +2 -2
  29. package/esm2022/form-field/password-hint.mjs +3 -3
  30. package/esm2022/form-field/password-toggle.mjs +3 -3
  31. package/esm2022/form-field/stepper.mjs +5 -1
  32. package/esm2022/icon/icon-button.component.mjs +3 -3
  33. package/esm2022/icon/icon-item.component.mjs +4 -4
  34. package/esm2022/icon/icon.component.mjs +5 -5
  35. package/esm2022/markdown/markdown.component.mjs +2 -2
  36. package/esm2022/modal/modal.component.mjs +8 -11
  37. package/esm2022/navbar/navbar-item.component.mjs +31 -32
  38. package/esm2022/popover/popover-confirm.component.mjs +3 -3
  39. package/esm2022/popover/popover.component.mjs +3 -3
  40. package/esm2022/select/select.component.mjs +5 -4
  41. package/esm2022/sidebar/sidebar.component.mjs +8 -7
  42. package/esm2022/sidepanel/sidepanel-config.mjs +1 -1
  43. package/esm2022/sidepanel/sidepanel-container.component.mjs +6 -3
  44. package/esm2022/tags/tag-input.mjs +2 -3
  45. package/esm2022/textarea/textarea.component.mjs +8 -5
  46. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  47. package/esm2022/tree/toggle.mjs +6 -5
  48. package/esm2022/tree/tree-selection.component.mjs +2 -2
  49. package/esm2022/tree/tree.mjs +2 -2
  50. package/esm2022/tree-select/tree-select.component.mjs +7 -7
  51. package/fesm2022/koobiq-components-autocomplete.mjs +12 -16
  52. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  53. package/fesm2022/koobiq-components-badge.mjs +2 -2
  54. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  55. package/fesm2022/koobiq-components-code-block.mjs +29 -13
  56. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  57. package/fesm2022/koobiq-components-core.mjs +26 -29
  58. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  59. package/fesm2022/koobiq-components-datepicker.mjs +4 -9
  60. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  61. package/fesm2022/koobiq-components-dl.mjs +2 -2
  62. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  63. package/fesm2022/koobiq-components-dropdown.mjs +10 -10
  64. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  65. package/fesm2022/koobiq-components-file-upload.mjs +4 -4
  66. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  67. package/fesm2022/koobiq-components-form-field.mjs +12 -8
  68. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  69. package/fesm2022/koobiq-components-icon.mjs +9 -9
  70. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  71. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  72. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  73. package/fesm2022/koobiq-components-modal.mjs +7 -10
  74. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  75. package/fesm2022/koobiq-components-navbar.mjs +30 -32
  76. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  77. package/fesm2022/koobiq-components-popover.mjs +4 -4
  78. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  79. package/fesm2022/koobiq-components-select.mjs +4 -3
  80. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  81. package/fesm2022/koobiq-components-sidebar.mjs +6 -6
  82. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  83. package/fesm2022/koobiq-components-sidepanel.mjs +5 -2
  84. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  85. package/fesm2022/koobiq-components-tags.mjs +1 -2
  86. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  87. package/fesm2022/koobiq-components-textarea.mjs +7 -4
  88. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  89. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  90. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  91. package/fesm2022/koobiq-components-tree-select.mjs +6 -6
  92. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  93. package/fesm2022/koobiq-components-tree.mjs +9 -8
  94. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  95. package/file-upload/_file-upload-theme.scss +2 -2
  96. package/form-field/_form-field-theme.scss +7 -0
  97. package/form-field/form-field-tokens.scss +3 -1
  98. package/icon/_icon-item-theme.scss +3 -0
  99. package/icon/_icon-theme.scss +3 -1
  100. package/markdown/_markdown-theme.scss +15 -3
  101. package/markdown/markdown-tokens.scss +1 -2
  102. package/markdown/markdown.scss +3 -4
  103. package/modal/modal.component.d.ts +2 -2
  104. package/navbar/navbar-item.component.d.ts +7 -7
  105. package/package.json +4 -4
  106. package/popover/popover.scss +4 -0
  107. package/prebuilt-themes/dark-theme.css +1 -1
  108. package/prebuilt-themes/light-theme.css +1 -1
  109. package/prebuilt-themes/theme.css +1 -1
  110. package/schematics/ng-add/index.js +3 -3
  111. package/select/select.component.d.ts +1 -0
  112. package/sidebar/sidebar.component.d.ts +1 -0
  113. package/sidepanel/sidepanel-config.d.ts +2 -0
  114. package/sidepanel/sidepanel-container.component.d.ts +1 -0
  115. package/textarea/textarea.component.d.ts +1 -0
  116. package/tree/_tree-theme.scss +2 -1
  117. package/tree-select/tree-select.component.d.ts +1 -0
@@ -1,10 +1,11 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
2
  import { Clipboard } from '@angular/cdk/clipboard';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { DOCUMENT } from '@angular/common';
4
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, inject, Inject, Input, Optional, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
4
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { KBQ_LOCALE_SERVICE, KbqLocaleService } from '@koobiq/components/core';
6
7
  import { KbqTabGroup } from '@koobiq/components/tabs';
7
- import { Subject, Subscription, fromEvent, merge, pairwise } from 'rxjs';
8
+ import { fromEvent, merge, pairwise, Subject, Subscription } from 'rxjs';
8
9
  import { debounceTime, filter, map, startWith, switchMap } from 'rxjs/operators';
9
10
  import { KBQ_CODE_BLOCK_CONFIGURATION, KBQ_CODE_BLOCK_DEFAULT_CONFIGURATION } from './code-block.types';
10
11
  import * as i0 from "@angular/core";
@@ -65,6 +66,7 @@ export class KbqCodeBlockComponent {
65
66
  this.focusMonitor = focusMonitor;
66
67
  this.configuration = configuration;
67
68
  this.localeService = localeService;
69
+ this.document = inject(DOCUMENT);
68
70
  this.lineNumbers = true;
69
71
  this.softWrap = false;
70
72
  this.canLoad = true;
@@ -132,8 +134,8 @@ export class KbqCodeBlockComponent {
132
134
  downloadCode() {
133
135
  const codeFile = this.codeFiles[this.selectedTabIndex];
134
136
  const blob = new Blob([codeFile.content], { type: 'text/plain' });
135
- const url = window.URL.createObjectURL(blob);
136
- const link = document.createElement('a');
137
+ const url = URL.createObjectURL(blob);
138
+ const link = this.document.createElement('a');
137
139
  link.setAttribute('href', url);
138
140
  link.setAttribute('download', `${this.getFullFileName(codeFile)}`);
139
141
  link.click();
@@ -144,7 +146,7 @@ export class KbqCodeBlockComponent {
144
146
  }
145
147
  openExternalSystem() {
146
148
  const externalLink = this.codeFiles[this.selectedTabIndex].link;
147
- window.open(externalLink, '_blank');
149
+ this.getWindow()?.open(externalLink, '_blank');
148
150
  }
149
151
  onHighlighted() {
150
152
  setTimeout(this.updateMultiline, 1);
@@ -233,6 +235,10 @@ export class KbqCodeBlockComponent {
233
235
  });
234
236
  this.hoverSubscription.add(blur);
235
237
  }
238
+ /** Use defaultView of injected document if available or fallback to global window reference */
239
+ getWindow() {
240
+ return this.document?.defaultView || window;
241
+ }
236
242
  /** @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
243
  /** @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 [class.kbq-focused]=\"hasKeyboardFocus\" (selectedTabChange)=\"onSelectTab($event)\">\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 [canLoad]=\"canLoad\"\n [class.kbq-actionbar-block_floating]=\"noHeader\"\n [codeFiles]=\"codeFiles\"\n [multiLine]=\"multiLine\"\n [selectedTabIndex]=\"selectedTabIndex\"\n [softWrap]=\"softWrap\"\n [style.opacity]=\"actionbarHidden ? 0 : null\"\n (copyCode)=\"copyCode()\"\n (downloadCode)=\"downloadCode()\"\n (openExternalSystem)=\"openExternalSystem()\"\n (toggleSoftWrap)=\"toggleSoftWrap()\"\n /><code\n kbqCodeBlockContent\n [file]=\"codeFiles[selectedTabIndex]\"\n [tabIndex]=\"canShowFocus(codeContent) ? 0 : -1\"\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-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-line-focus-theme)}.kbq-code-block .kbq-tab-group.kbq-focused .kbq-tab-body__wrapper{border-color:var(--kbq-states-line-focus-theme);box-shadow:inset 0 0 .1 1px var(--kbq-states-line-focus-theme)}.kbq-code-block{font-size:var(--kbq-typography-mono-codeblock-font-size);font-weight:var(--kbq-typography-mono-codeblock-font-weight);line-height:var(--kbq-typography-mono-codeblock-line-height);font-family:var(--kbq-typography-mono-codeblock-font-family);text-transform:var(--kbq-typography-mono-codeblock-text-transform);font-feature-settings:var(--kbq-typography-mono-codeblock-font-feature-settings);letter-spacing:var(--kbq-typography-mono-codeblock-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-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;--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-divider-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}\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: "component", type: i5.KbqTabGroup, selector: "kbq-tab-group", inputs: ["disabled", "transparent", "onSurface", "underlined", "vertical", "dynamicHeight", "selectedIndex", "activeTab", "headerPosition", "animationDuration"], outputs: ["selectedIndexChange", "activeTabChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["kbqTabGroup"] }, { kind: "directive", type: i5.KbqTabLabel, selector: "[kbq-tab-label], [kbqTabLabel]" }, { kind: "component", type: i5.KbqTab, selector: "kbq-tab", inputs: ["disabled", "tooltipTitle", "tooltipPlacement", "label", "empty", "tabId"], exportAs: ["kbqTab"] }, { kind: "directive", type: i6.KbqCodeBlockContent, selector: "[kbqCodeBlockContent]", inputs: ["file", "startFrom", "singleLine"] }, { 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 }); }
238
244
  }
@@ -274,4 +280,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
274
280
  }], codeFiles: [{
275
281
  type: Input
276
282
  }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsb0NBQW9DLEVBR3ZDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7QUFFNUIsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFDO0FBQ2xELE1BQU0sQ0FBQyxN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YixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNPLFNBQVM7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS0JRX0xPQ0FMRV9TRVJWSUNFLCBLYnFMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgS2JxVGFiQ2hhbmdlRXZlbnQsIEticVRhYkdyb3VwIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQsIG1lcmdlLCBwYWlyd2lzZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04sXG4gICAgS0JRX0NPREVfQkxPQ0tfREVGQVVMVF9DT05GSUdVUkFUSU9OLFxuICAgIEticUNvZGVCbG9ja0NvbmZpZ3VyYXRpb24sXG4gICAgS2JxQ29kZUJsb2NrRmlsZVxufSBmcm9tICcuL2NvZGUtYmxvY2sudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ09QSUVEX01FU1NBR0VfVE9PTFRJUF9USU1FT1VUID0gMTAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhURU5TSU9OID0gJ3R4dCc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VTX0VYVEVOU0lPTlMgPSB7XG4gICAgaHRtbDogJ2h0bWwnLFxuICAgIGNzczogJ2NzcycsXG4gICAgcGhwOiAncGhwJyxcbiAgICBqYXZhOiAnamF2YScsXG4gICAgYmFzaDogJ3NoJyxcbiAgICBqYXZhc2NyaXB0OiAnanMnLFxuICAgIHR5cGVzY3JpcHQ6ICd0cycsXG4gICAgcHl0aG9uOiAncHknLFxuICAgIHJ1Ynk6ICdyYicsXG4gICAgYzogJ2MnLFxuICAgICdjKysnOiAnY3BwJyxcbiAgICAnYyMnOiAnY3MnLFxuICAgIGNzaGFycDogJ2NzJyxcbiAgICBsdWE6ICdsdWEnLFxuICAgIHhtbDogJ3htbCcsXG4gICAganNvbjogJ2pzb24nXG59O1xuXG5jb25zdCBhY3Rpb25CYXJCbG9ja0xlZnRNYXJnaW4gPSAyNDtcblxuY29uc3QgaGFzU2Nyb2xsID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzY3JvbGxIZWlnaHQsIHNjcm9sbFdpZHRoLCBjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRoIH0gPSBlbGVtZW50O1xuICAgIHJldHVybiBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHQgfHwgc2Nyb2xsV2lkdGggPiBjbGllbnRXaWR0aDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLWNvZGUtYmxvY2snLFxuICAgIGV4cG9ydEFzOiAna2JxQ29kZUJsb2NrJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29kZS1ibG9jay5zY3NzJywgJy4vY29kZS1ibG9jay10b2tlbnMuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfZmlsbGVkXSc6ICdmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX291dGxpbmVdJzogJyFmaWxsZWQnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2hpZGUtbGluZS1udW1iZXJzXSc6ICchbGluZU51bWJlcnMnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX3NpbmdsZS1maWxlXSc6ICdzaW5nbGVGaWxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19uby1oZWFkZXJdJzogJ25vSGVhZGVyJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19oZWFkZXItd2l0aC1zaGFkb3ddJzogJ2lzVG9wT3ZlcmZsb3cnLFxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ3Jlc2l6ZVN0cmVhbS5uZXh0KCRldmVudCknXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticUNvZGVCbG9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChLYnFUYWJHcm91cCkgdGFiR3JvdXA6IEticVRhYkdyb3VwO1xuXG4gICAgQElucHV0KCkgbGluZU51bWJlcnMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGZpbGxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBzb2Z0V3JhcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNhbkxvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGdldCBjb2RlRmlsZXMoKTogS2JxQ29kZUJsb2NrRmlsZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvZGVGaWxlcztcbiAgICB9XG5cbiAgICBzZXQgY29kZUZpbGVzKGZpbGVzOiBLYnFDb2RlQmxvY2tGaWxlW10pIHtcbiAgICAgICAgdGhpcy5fY29kZUZpbGVzID0gZmlsZXM7XG4gICAgICAgIHRoaXMuaGlkZUFjdGlvbkJhcklmTm9IZWFkZXIoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb0hvdmVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY29kZUZpbGVzOiBLYnFDb2RlQmxvY2tGaWxlW107XG5cbiAgICAvLyBUT0RPOiByZXBsYWNlIHdpdGggcHJvcGVydHlcbiAgICBnZXQgbm9IZWFkZXIoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29kZUZpbGVzLmxlbmd0aCA9PT0gMSAmJiAhdGhpcy5jb2RlRmlsZXNbMF0uZmlsZW5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHNpbmdsZUZpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvZGVGaWxlcy5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRUYWJJbmRleCA9IDA7XG4gICAgY29waWVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgdmlld0FsbDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIG11bHRpTGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzVG9wT3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBoYXNLZXlib2FyZEZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGFjdGlvbmJhckhpZGRlbj86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgY29uZmlnOiBLYnFDb2RlQmxvY2tDb25maWd1cmF0aW9uO1xuXG4gICAgcmVhZG9ubHkgcmVzaXplU3RyZWFtID0gbmV3IFN1YmplY3Q8RXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgY3VycmVudENvZGVCbG9jayA9IG5ldyBTdWJqZWN0PEhUTUxFbGVtZW50PigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemVEZWJvdW5jZUludGVydmFsOiBudW1iZXIgPSAxMDA7XG4gICAgcHJpdmF0ZSByZXNpemVTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSBjb2RlQmxvY2tTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgcHJpdmF0ZSBob3ZlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9DT0RFX0JMT0NLX0NPTkZJR1VSQVRJT04pIHByb3RlY3RlZCBjb25maWd1cmF0aW9uPzogS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlPzogS2JxTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxlUGFyYW1zKTtcblxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0RGVmYXVsdFBhcmFtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24gPSB0aGlzLnJlc2l6ZVN0cmVhbVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMucmVzaXplRGVib3VuY2VJbnRlcnZhbCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudXBkYXRlSGVhZGVyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIC8vIHJlbmRlciBmb2N1cyBib3JkZXIgaWYgb3JpZ2luIGlzIGtleWJvYXJkXG4gICAgICAgIHRoaXMuY29kZUJsb2NrU3Vic2NyaXB0aW9uID0gdGhpcy5jdXJyZW50Q29kZUJsb2NrXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtwcmV2LCBjdXJyZW50XSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcocHJldik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2N1c01vbml0b3IubW9uaXRvcihjdXJyZW50ISk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChvcmlnaW46IEZvY3VzT3JpZ2luKSA9PiBvcmlnaW4gPT09ICdrZXlib2FyZCcpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0tleWJvYXJkRm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ib3ZlcigpO1xuICAgICAgICB0aGlzLmN1cnJlbnRDb2RlQmxvY2submV4dCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdjb2RlJykpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvZGVCbG9ja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhlYWRlciA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY2xpZW50V2lkdGg6IG51bWJlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ticS1hY3Rpb25iYXItYmxvY2snKS5jbGllbnRXaWR0aDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgdGhpcy50YWJHcm91cC50YWJIZWFkZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3BhZGRpbmctcmlnaHQnLFxuICAgICAgICAgICAgYCR7YWN0aW9uQmFyQmxvY2tMZWZ0TWFyZ2luICsgY2xpZW50V2lkdGh9cHhgXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgdG9nZ2xlU29mdFdyYXAoKSB7XG4gICAgICAgIHRoaXMuc29mdFdyYXAgPSAhdGhpcy5zb2Z0V3JhcDtcbiAgICB9XG5cbiAgICB0b2dnbGVWaWV3QWxsKCkge1xuICAgICAgICB0aGlzLnZpZXdBbGwgPSAhdGhpcy52aWV3QWxsO1xuICAgIH1cblxuICAgIGRvd25sb2FkQ29kZSgpIHtcbiAgICAgICAgY29uc3QgY29kZUZpbGUgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdO1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NvZGVGaWxlLmNvbnRlbnRdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBgJHt0aGlzLmdldEZ1bGxGaWxlTmFtZShjb2RlRmlsZSl9YCk7XG4gICAgICAgIGxpbmsuY2xpY2soKTtcbiAgICB9XG5cbiAgICBjb3B5Q29kZSgpIHtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmNvbnRlbnQpO1xuICAgICAgICB0aGlzLmNvcGllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb3BlbkV4dGVybmFsU3lzdGVtKCkge1xuICAgICAgICBjb25zdCBleHRlcm5hbExpbmsgPSB0aGlzLmNvZGVGaWxlc1t0aGlzLnNlbGVjdGVkVGFiSW5kZXhdLmxpbms7XG4gICAgICAgIHdpbmRvdy5vcGVuKGV4dGVybmFsTGluaywgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9uSGlnaGxpZ2h0ZWQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGVNdWx0aWxpbmUsIDEpO1xuICAgIH1cblxuICAgIGdldE1heEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhIZWlnaHQgPiAwICYmICF0aGlzLnZpZXdBbGwgPyBgJHt0aGlzLm1heEhlaWdodH1weGAgOiAnJztcbiAgICB9XG5cbiAgICBvblNlbGVjdFRhYigkZXZlbnQ6IEticVRhYkNoYW5nZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9ICRldmVudC5pbmRleDtcbiAgICAgICAgdGhpcy51cGRhdGVNdWx0aWxpbmUoKTtcbiAgICAgICAgdGhpcy5pc1RvcE92ZXJmbG93ID0gZmFsc2U7XG5cbiAgICAgICAgc2V0VGltZW91dCh0aGlzLnVwZGF0ZUhlYWRlcik7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jdXJyZW50Q29kZUJsb2NrLm5leHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29kZScpKSk7XG4gICAgfVxuXG4gICAgY2hlY2tPdmVyZmxvdyhjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5ub0hlYWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNUb3BPdmVyZmxvdyA9IGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID4gMDtcbiAgICB9XG5cbiAgICBvblNob3dNb3JlQ2xpY2soY3VycmVudENvZGVDb250ZW50RWxlbWVudDogSFRNTFByZUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVWaWV3QWxsKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudmlld0FsbCkge1xuICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFNob3VsZCBleHBsaWNpdGx5IHNjcm9sbCB0byB0b3Agc28gY29udGVudCB3aWxsIGJlIGNyb3BwZWQgZnJvbSB0aGUgYm90dG9tXG4gICAgICAgICAgICBjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50Py5zY3JvbGwoeyB0b3A6IDAsIGJlaGF2aW9yOiAnaW5zdGFudCcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiByZXBsYWNlIHdpdGggcHJvcGVydHkgdG8gcmVkdWNlIGNhbGN1bGF0aW9uc1xuICAgIGNhblNob3dGb2N1cyhjdXJyZW50Q29kZUNvbnRlbnQ6IEhUTUxQcmVFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDb2RlQmxvY2sgPSBjdXJyZW50Q29kZUNvbnRlbnQucXVlcnlTZWxlY3RvcignY29kZScpITtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGhhc1Njcm9sbChjdXJyZW50Q29kZUNvbnRlbnQpIHx8IGhhc1Njcm9sbChjdXJyZW50Q29kZUJsb2NrKSkgJiZcbiAgICAgICAgICAgICgoISF0aGlzLm1heEhlaWdodCAmJiB0aGlzLnZpZXdBbGwpIHx8ICF0aGlzLm1heEhlaWdodClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkVudGVyKGN1cnJlbnRDb2RlQmxvY2s6IEhUTUxQcmVFbGVtZW50KSB7XG4gICAgICAgIC8vIGRlZmVyIGV4ZWN1dGlvbiBhZnRlciB0b2dnbGUgdmlldyBtb2RlXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuU2hvd0ZvY3VzKGN1cnJlbnRDb2RlQmxvY2spKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEoY3VycmVudENvZGVCbG9jay5xdWVyeVNlbGVjdG9yKCdjb2RlJykhLCAna2V5Ym9hcmQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBzaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hY3Rpb25iYXJIaWRkZW4pIHJldHVybjtcbiAgICAgICAgdGhpcy5hY3Rpb25iYXJIaWRkZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGRvY3MtcHJpdmF0ZSAqL1xuICAgIGhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKGV2ZW50PzogRm9jdXNFdmVudCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vSGVhZGVyKSByZXR1cm47XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25iYXJIaWRkZW4gPSAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGlvbmJhckhpZGRlbiA9IHRoaXMubm9IZWFkZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMb2NhbGVQYXJhbXMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uIHx8IHRoaXMubG9jYWxlU2VydmljZT8uZ2V0UGFyYW1zKCdjb2RlQmxvY2snKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGluaXREZWZhdWx0UGFyYW1zKCkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IEtCUV9DT0RFX0JMT0NLX0RFRkFVTFRfQ09ORklHVVJBVElPTjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU11bHRpbGluZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5tdWx0aUxpbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGxqcy1sbi1udW1iZXJzJykubGVuZ3RoID4gMTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUhlYWRlcigpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlOiBLYnFDb2RlQmxvY2tGaWxlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBjb2RlRmlsZS5maWxlbmFtZSB8fCAnY29kZSc7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IExBTkdVQUdFU19FWFRFTlNJT05TW2NvZGVGaWxlLmxhbmd1YWdlXSB8fCBERUZBVUxUX0VYVEVOU0lPTjtcblxuICAgICAgICByZXR1cm4gYCR7ZmlsZU5hbWV9LiR7ZXh0ZW5zaW9ufWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVUb0hvdmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMubm9IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ob3ZlclN1YnNjcmlwdGlvbikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuaG92ZXJTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzaW4nKSxcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dBY3Rpb25CYXJJZk5lY2Vzc2FyeSgpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYmx1ciA9IG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXNvdXQnKSxcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKS5waXBlKG1hcCgoKSA9PiBudWxsKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKGV2ZW50OiBGb2N1c0V2ZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0tleWJvYXJkRm9jdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uLmFkZChibHVyKTtcbiAgICB9XG59XG4iLCI8a2JxLXRhYi1ncm91cCBbY2xhc3Mua2JxLWZvY3VzZWRdPVwiaGFzS2V5Ym9hcmRGb2N1c1wiIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdFRhYigkZXZlbnQpXCI+XG4gICAgQGZvciAoY29kZUZpbGUgb2YgY29kZUZpbGVzOyB0cmFjayBjb2RlRmlsZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGticS10YWIgW2Rpc2FibGVkXT1cInNpbmdsZUZpbGVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrYnEtdGFiLWxhYmVsPnt7IGNvZGVGaWxlLmZpbGVuYW1lIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgICAjY29kZUNvbnRlbnRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImticS1jb2RlLWJsb2NrX19jb2RlIGticS1zY3JvbGxiYXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fY29kZV9zb2Z0LXdyYXBdPVwic29mdFdyYXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fY29kZV92aWV3LWFsbF09XCJ2aWV3QWxsXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJnZXRNYXhIZWlnaHQoKVwiXG4gICAgICAgICAgICAgICAgKHNjcm9sbCk9XCJjaGVja092ZXJmbG93KGNvZGVDb250ZW50KVwiXG4gICAgICAgICAgICA+PGticS1hY3Rpb25iYXItYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgW2NhbkxvYWRdPVwiY2FuTG9hZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtYWN0aW9uYmFyLWJsb2NrX2Zsb2F0aW5nXT1cIm5vSGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvZGVGaWxlc109XCJjb2RlRmlsZXNcIlxuICAgICAgICAgICAgICAgICAgICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbc29mdFdyYXBdPVwic29mdFdyYXBcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUub3BhY2l0eV09XCJhY3Rpb25iYXJIaWRkZW4gPyAwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjb3B5Q29kZSk9XCJjb3B5Q29kZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGRvd25sb2FkQ29kZSk9XCJkb3dubG9hZENvZGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIChvcGVuRXh0ZXJuYWxTeXN0ZW0pPVwib3BlbkV4dGVybmFsU3lzdGVtKClcIlxuICAgICAgICAgICAgICAgICAgICAodG9nZ2xlU29mdFdyYXApPVwidG9nZ2xlU29mdFdyYXAoKVwiXG4gICAgICAgICAgICAgICAgLz48Y29kZVxuICAgICAgICAgICAgICAgICAgICBrYnFDb2RlQmxvY2tDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImNvZGVGaWxlc1tzZWxlY3RlZFRhYkluZGV4XVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJjYW5TaG93Rm9jdXMoY29kZUNvbnRlbnQpID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiaGFzS2V5Ym9hcmRGb2N1cyA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgQGlmIChtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2NvbGxhcHNlZF09XCIhdmlld0FsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2V4cGFuZGVkXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIndGhlbWUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd01vcmVDbGljayhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoY29kZUNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCF2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bl8xNlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tdXBfMTZcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZpZXdBbGwgPyBjb25maWcudmlld0xlc3NUZXh0IDogY29uZmlnLnZpZXdBbGxUZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ticS10YWI+XG4gICAgfVxuPC9rYnEtdGFiLWdyb3VwPlxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvZGUtYmxvY2svY29kZS1ibG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQXFCLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUNILDRCQUE0QixFQUM1QixvQ0FBb0MsRUFHdkMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7OztBQUU1QixN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RCxpQkFBaUIsRUFBRSwyQkFBMkI7cUJBQ2pELG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkErRGhDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNEJBQTRCOzswQkFDL0MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7eUNBM0RsQixRQUFRO3NCQUEvQixTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDTyxTQUFTO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLQlFfTE9DQUxFX1NFUlZJQ0UsIEticUxvY2FsZVNlcnZpY2UgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvY29yZSc7XG5pbXBvcnQgeyBLYnFUYWJDaGFuZ2VFdmVudCwgS2JxVGFiR3JvdXAgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBwYWlyd2lzZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgS0JRX0NPREVfQkxPQ0tfQ09ORklHVVJBVElPTixcbiAgICBLQlFfQ09ERV9CTE9DS19ERUZBVUxUX0NPTkZJR1VSQVRJT04sXG4gICAgS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbixcbiAgICBLYnFDb2RlQmxvY2tGaWxlXG59IGZyb20gJy4vY29kZS1ibG9jay50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDT1BJRURfTUVTU0FHRV9UT09MVElQX1RJTUVPVVQgPSAxMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFTlNJT04gPSAndHh0JztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRVNfRVhURU5TSU9OUyA9IHtcbiAgICBodG1sOiAnaHRtbCcsXG4gICAgY3NzOiAnY3NzJyxcbiAgICBwaHA6ICdwaHAnLFxuICAgIGphdmE6ICdqYXZhJyxcbiAgICBiYXNoOiAnc2gnLFxuICAgIGphdmFzY3JpcHQ6ICdqcycsXG4gICAgdHlwZXNjcmlwdDogJ3RzJyxcbiAgICBweXRob246ICdweScsXG4gICAgcnVieTogJ3JiJyxcbiAgICBjOiAnYycsXG4gICAgJ2MrKyc6ICdjcHAnLFxuICAgICdjIyc6ICdjcycsXG4gICAgY3NoYXJwOiAnY3MnLFxuICAgIGx1YTogJ2x1YScsXG4gICAgeG1sOiAneG1sJyxcbiAgICBqc29uOiAnanNvbidcbn07XG5cbmNvbnN0IGFjdGlvbkJhckJsb2NrTGVmdE1hcmdpbiA9IDI0O1xuXG5jb25zdCBoYXNTY3JvbGwgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB7IHNjcm9sbEhlaWdodCwgc2Nyb2xsV2lkdGgsIGNsaWVudEhlaWdodCwgY2xpZW50V2lkdGggfSA9IGVsZW1lbnQ7XG4gICAgcmV0dXJuIHNjcm9sbEhlaWdodCA+IGNsaWVudEhlaWdodCB8fCBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtY29kZS1ibG9jaycsXG4gICAgZXhwb3J0QXM6ICdrYnFDb2RlQmxvY2snLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2RlLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2RlLWJsb2NrLnNjc3MnLCAnLi9jb2RlLWJsb2NrLXRva2Vucy5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1jb2RlLWJsb2NrJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtY29kZS1ibG9ja19maWxsZWRdJzogJ2ZpbGxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfb3V0bGluZV0nOiAnIWZpbGxlZCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfaGlkZS1saW5lLW51bWJlcnNdJzogJyFsaW5lTnVtYmVycycsXG4gICAgICAgICdbY2xhc3Mua2JxLWNvZGUtYmxvY2tfc2luZ2xlLWZpbGVdJzogJ3NpbmdsZUZpbGUnLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX25vLWhlYWRlcl0nOiAnbm9IZWFkZXInLFxuICAgICAgICAnW2NsYXNzLmticS1jb2RlLWJsb2NrX2hlYWRlci13aXRoLXNoYWRvd10nOiAnaXNUb3BPdmVyZmxvdycsXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxQ29kZUJsb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcblxuICAgIEBWaWV3Q2hpbGQoS2JxVGFiR3JvdXApIHRhYkdyb3VwOiBLYnFUYWJHcm91cDtcblxuICAgIEBJbnB1dCgpIGxpbmVOdW1iZXJzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBmaWxsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4SGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgc29mdFdyYXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBjYW5Mb2FkOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBnZXQgY29kZUZpbGVzKCk6IEticUNvZGVCbG9ja0ZpbGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2RlRmlsZXM7XG4gICAgfVxuXG4gICAgc2V0IGNvZGVGaWxlcyhmaWxlczogS2JxQ29kZUJsb2NrRmlsZVtdKSB7XG4gICAgICAgIHRoaXMuX2NvZGVGaWxlcyA9IGZpbGVzO1xuICAgICAgICB0aGlzLmhpZGVBY3Rpb25CYXJJZk5vSGVhZGVyKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Ib3ZlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvZGVGaWxlczogS2JxQ29kZUJsb2NrRmlsZVtdO1xuXG4gICAgLy8gVE9ETzogcmVwbGFjZSB3aXRoIHByb3BlcnR5XG4gICAgZ2V0IG5vSGVhZGVyKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvZGVGaWxlcy5sZW5ndGggPT09IDEgJiYgIXRoaXMuY29kZUZpbGVzWzBdLmZpbGVuYW1lO1xuICAgIH1cblxuICAgIGdldCBzaW5nbGVGaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2RlRmlsZXMubGVuZ3RoID09PSAxO1xuICAgIH1cblxuICAgIHNlbGVjdGVkVGFiSW5kZXggPSAwO1xuICAgIGNvcGllZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHZpZXdBbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBtdWx0aUxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBpc1RvcE92ZXJmbG93OiBib29sZWFuID0gZmFsc2U7XG4gICAgaGFzS2V5Ym9hcmRGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEBkb2NzLXByaXZhdGVcbiAgICAgKi9cbiAgICBhY3Rpb25iYXJIaWRkZW4/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRvY3MtcHJpdmF0ZVxuICAgICAqL1xuICAgIGNvbmZpZzogS2JxQ29kZUJsb2NrQ29uZmlndXJhdGlvbjtcblxuICAgIHJlYWRvbmx5IHJlc2l6ZVN0cmVhbSA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGN1cnJlbnRDb2RlQmxvY2sgPSBuZXcgU3ViamVjdDxIVE1MRWxlbWVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplRGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgY29kZUJsb2NrU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgaG92ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfQ09ERV9CTE9DS19DT05GSUdVUkFUSU9OKSBwcm90ZWN0ZWQgY29uZmlndXJhdGlvbj86IEticUNvZGVCbG9ja0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFKSBwcm90ZWN0ZWQgbG9jYWxlU2VydmljZT86IEticUxvY2FsZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUxvY2FsZVBhcmFtcyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmxvY2FsZVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdERlZmF1bHRQYXJhbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyByZW5kZXIgZm9jdXMgYm9yZGVyIGlmIG9yaWdpbiBpcyBrZXlib2FyZFxuICAgICAgICB0aGlzLmNvZGVCbG9ja1N1YnNjcmlwdGlvbiA9IHRoaXMuY3VycmVudENvZGVCbG9ja1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgY3VycmVudF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHByZXYpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IoY3VycmVudCEpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcigob3JpZ2luOiBGb2N1c09yaWdpbikgPT4gb3JpZ2luID09PSAna2V5Ym9hcmQnKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNLZXlib2FyZEZvY3VzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oaWRlQWN0aW9uQmFySWZOb0hlYWRlcigpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvSG92ZXIoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29kZUJsb2NrLm5leHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignY29kZScpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5jb2RlQmxvY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVIZWFkZXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsaWVudFdpZHRoOiBudW1iZXIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdrYnEtYWN0aW9uYmFyLWJsb2NrJykuY2xpZW50V2lkdGg7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgIHRoaXMudGFiR3JvdXAudGFiSGVhZGVyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdwYWRkaW5nLXJpZ2h0JyxcbiAgICAgICAgICAgIGAke2FjdGlvbkJhckJsb2NrTGVmdE1hcmdpbiArIGNsaWVudFdpZHRofXB4YFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHRvZ2dsZVNvZnRXcmFwKCkge1xuICAgICAgICB0aGlzLnNvZnRXcmFwID0gIXRoaXMuc29mdFdyYXA7XG4gICAgfVxuXG4gICAgdG9nZ2xlVmlld0FsbCgpIHtcbiAgICAgICAgdGhpcy52aWV3QWxsID0gIXRoaXMudmlld0FsbDtcbiAgICB9XG5cbiAgICBkb3dubG9hZENvZGUoKSB7XG4gICAgICAgIGNvbnN0IGNvZGVGaWxlID0gdGhpcy5jb2RlRmlsZXNbdGhpcy5zZWxlY3RlZFRhYkluZGV4XTtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtjb2RlRmlsZS5jb250ZW50XSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7XG4gICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgIGNvbnN0IGxpbmsgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke3RoaXMuZ2V0RnVsbEZpbGVOYW1lKGNvZGVGaWxlKX1gKTtcbiAgICAgICAgbGluay5jbGljaygpO1xuICAgIH1cblxuICAgIGNvcHlDb2RlKCkge1xuICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuY29kZUZpbGVzW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0uY29udGVudCk7XG4gICAgICAgIHRoaXMuY29waWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvcGVuRXh0ZXJuYWxTeXN0ZW0oKSB7XG4gICAgICAgIGNvbnN0IGV4dGVybmFsTGluayA9IHRoaXMuY29kZUZpbGVzW3RoaXMuc2VsZWN0ZWRUYWJJbmRleF0ubGluaztcbiAgICAgICAgdGhpcy5nZXRXaW5kb3coKT8ub3BlbihleHRlcm5hbExpbmssICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBvbkhpZ2hsaWdodGVkKCkge1xuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlTXVsdGlsaW5lLCAxKTtcbiAgICB9XG5cbiAgICBnZXRNYXhIZWlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4SGVpZ2h0ID4gMCAmJiAhdGhpcy52aWV3QWxsID8gYCR7dGhpcy5tYXhIZWlnaHR9cHhgIDogJyc7XG4gICAgfVxuXG4gICAgb25TZWxlY3RUYWIoJGV2ZW50OiBLYnFUYWJDaGFuZ2VFdmVudCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFiSW5kZXggPSAkZXZlbnQuaW5kZXg7XG4gICAgICAgIHRoaXMudXBkYXRlTXVsdGlsaW5lKCk7XG4gICAgICAgIHRoaXMuaXNUb3BPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgICAgIHNldFRpbWVvdXQodGhpcy51cGRhdGVIZWFkZXIpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY3VycmVudENvZGVCbG9jay5uZXh0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSkpO1xuICAgIH1cblxuICAgIGNoZWNrT3ZlcmZsb3coY3VycmVudENvZGVDb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMubm9IZWFkZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzVG9wT3ZlcmZsb3cgPSBjdXJyZW50Q29kZUNvbnRlbnRFbGVtZW50LnNjcm9sbFRvcCA+IDA7XG4gICAgfVxuXG4gICAgb25TaG93TW9yZUNsaWNrKGN1cnJlbnRDb2RlQ29udGVudEVsZW1lbnQ6IEhUTUxQcmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlVmlld0FsbCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnZpZXdBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FjdGlvbkJhcklmTmVjZXNzYXJ5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBTaG91bGQgZXhwbGljaXRseSBzY3JvbGwgdG8gdG9wIHNvIGNvbnRlbnQgd2lsbCBiZSBjcm9wcGVkIGZyb20gdGhlIGJvdHRvbVxuICAgICAgICAgICAgY3VycmVudENvZGVDb250ZW50RWxlbWVudD8uc2Nyb2xsKHsgdG9wOiAwLCBiZWhhdmlvcjogJ2luc3RhbnQnIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVwbGFjZSB3aXRoIHByb3BlcnR5IHRvIHJlZHVjZSBjYWxjdWxhdGlvbnNcbiAgICBjYW5TaG93Rm9jdXMoY3VycmVudENvZGVDb250ZW50OiBIVE1MUHJlRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjdXJyZW50Q29kZUJsb2NrID0gY3VycmVudENvZGVDb250ZW50LnF1ZXJ5U2VsZWN0b3IoJ2NvZGUnKSE7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChoYXNTY3JvbGwoY3VycmVudENvZGVDb250ZW50KSB8fCBoYXNTY3JvbGwoY3VycmVudENvZGVCbG9jaykpICYmXG4gICAgICAgICAgICAoKCEhdGhpcy5tYXhIZWlnaHQgJiYgdGhpcy52aWV3QWxsKSB8fCAhdGhpcy5tYXhIZWlnaHQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25FbnRlcihjdXJyZW50Q29kZUJsb2NrOiBIVE1MUHJlRWxlbWVudCkge1xuICAgICAgICAvLyBkZWZlciBleGVjdXRpb24gYWZ0ZXIgdG9nZ2xlIHZpZXcgbW9kZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNhblNob3dGb2N1cyhjdXJyZW50Q29kZUJsb2NrKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKGN1cnJlbnRDb2RlQmxvY2sucXVlcnlTZWxlY3RvcignY29kZScpISwgJ2tleWJvYXJkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgc2hvd0FjdGlvbkJhcklmTmVjZXNzYXJ5KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYWN0aW9uYmFySGlkZGVuKSByZXR1cm47XG4gICAgICAgIHRoaXMuYWN0aW9uYmFySGlkZGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqIEBkb2NzLXByaXZhdGUgKi9cbiAgICBoaWRlQWN0aW9uQmFySWZOb0hlYWRlcihldmVudD86IEZvY3VzRXZlbnQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ub0hlYWRlcikgcmV0dXJuO1xuICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uYmFySGlkZGVuID0gIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3Rpb25iYXJIaWRkZW4gPSB0aGlzLm5vSGVhZGVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9jYWxlUGFyYW1zID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbiB8fCB0aGlzLmxvY2FsZVNlcnZpY2U/LmdldFBhcmFtcygnY29kZUJsb2NrJyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpbml0RGVmYXVsdFBhcmFtcygpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBLQlFfQ09ERV9CTE9DS19ERUZBVUxUX0NPTkZJR1VSQVRJT047XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNdWx0aWxpbmUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubXVsdGlMaW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmhsanMtbG4tbnVtYmVycycpLmxlbmd0aCA+IDE7XG5cbiAgICAgICAgdGhpcy51cGRhdGVIZWFkZXIoKTtcblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGdldEZ1bGxGaWxlTmFtZShjb2RlRmlsZTogS2JxQ29kZUJsb2NrRmlsZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gY29kZUZpbGUuZmlsZW5hbWUgfHwgJ2NvZGUnO1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBMQU5HVUFHRVNfRVhURU5TSU9OU1tjb2RlRmlsZS5sYW5ndWFnZV0gfHwgREVGQVVMVF9FWFRFTlNJT047XG5cbiAgICAgICAgcmV0dXJuIGAke2ZpbGVOYW1lfS4ke2V4dGVuc2lvbn1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVG9Ib3ZlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vSGVhZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaG92ZXJTdWJzY3JpcHRpb24pIHJldHVybjtcblxuICAgICAgICB0aGlzLmhvdmVyU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93QWN0aW9uQmFySWZOZWNlc3NhcnkoKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJsdXIgPSBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3Vzb3V0JyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8Rm9jdXNFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShtYXAoKCkgPT4gbnVsbCkpXG4gICAgICAgICkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNLZXlib2FyZEZvY3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlQWN0aW9uQmFySWZOb0hlYWRlcihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ob3ZlclN1YnNjcmlwdGlvbi5hZGQoYmx1cik7XG4gICAgfVxuXG4gICAgLyoqIFVzZSBkZWZhdWx0VmlldyBvZiBpbmplY3RlZCBkb2N1bWVudCBpZiBhdmFpbGFibGUgb3IgZmFsbGJhY2sgdG8gZ2xvYmFsIHdpbmRvdyByZWZlcmVuY2UgKi9cbiAgICBwcml2YXRlIGdldFdpbmRvdygpOiBXaW5kb3cgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQ/LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB9XG59XG4iLCI8a2JxLXRhYi1ncm91cCBbY2xhc3Mua2JxLWZvY3VzZWRdPVwiaGFzS2V5Ym9hcmRGb2N1c1wiIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblNlbGVjdFRhYigkZXZlbnQpXCI+XG4gICAgQGZvciAoY29kZUZpbGUgb2YgY29kZUZpbGVzOyB0cmFjayBjb2RlRmlsZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPGticS10YWIgW2Rpc2FibGVkXT1cInNpbmdsZUZpbGVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrYnEtdGFiLWxhYmVsPnt7IGNvZGVGaWxlLmZpbGVuYW1lIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxwcmVcbiAgICAgICAgICAgICAgICAjY29kZUNvbnRlbnRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImticS1jb2RlLWJsb2NrX19jb2RlIGticS1zY3JvbGxiYXJcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fY29kZV9zb2Z0LXdyYXBdPVwic29mdFdyYXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fY29kZV92aWV3LWFsbF09XCJ2aWV3QWxsXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJnZXRNYXhIZWlnaHQoKVwiXG4gICAgICAgICAgICAgICAgKHNjcm9sbCk9XCJjaGVja092ZXJmbG93KGNvZGVDb250ZW50KVwiXG4gICAgICAgICAgICA+PGticS1hY3Rpb25iYXItYmxvY2tcbiAgICAgICAgICAgICAgICAgICAgW2NhbkxvYWRdPVwiY2FuTG9hZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtYWN0aW9uYmFyLWJsb2NrX2Zsb2F0aW5nXT1cIm5vSGVhZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvZGVGaWxlc109XCJjb2RlRmlsZXNcIlxuICAgICAgICAgICAgICAgICAgICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFRhYkluZGV4XT1cInNlbGVjdGVkVGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbc29mdFdyYXBdPVwic29mdFdyYXBcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUub3BhY2l0eV09XCJhY3Rpb25iYXJIaWRkZW4gPyAwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIChjb3B5Q29kZSk9XCJjb3B5Q29kZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGRvd25sb2FkQ29kZSk9XCJkb3dubG9hZENvZGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIChvcGVuRXh0ZXJuYWxTeXN0ZW0pPVwib3BlbkV4dGVybmFsU3lzdGVtKClcIlxuICAgICAgICAgICAgICAgICAgICAodG9nZ2xlU29mdFdyYXApPVwidG9nZ2xlU29mdFdyYXAoKVwiXG4gICAgICAgICAgICAgICAgLz48Y29kZVxuICAgICAgICAgICAgICAgICAgICBrYnFDb2RlQmxvY2tDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImNvZGVGaWxlc1tzZWxlY3RlZFRhYkluZGV4XVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJjYW5TaG93Rm9jdXMoY29kZUNvbnRlbnQpID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiaGFzS2V5Ym9hcmRGb2N1cyA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+PC9jb2RlPjwvcHJlPlxuICAgICAgICAgICAgQGlmIChtYXhIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwia2JxLWNvZGUtYmxvY2tfX3Nob3ctbW9yZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2NvbGxhcHNlZF09XCIhdmlld0FsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5rYnEtY29kZS1ibG9ja19fc2hvdy1tb3JlX2V4cGFuZGVkXT1cInZpZXdBbGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2JxLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCIndGhlbWUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2JxU3R5bGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd01vcmVDbGljayhjb2RlQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoY29kZUNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCF2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tZG93bl8xNlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh2aWV3QWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwia2JxLWNoZXZyb24tdXBfMTZcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHZpZXdBbGwgPyBjb25maWcudmlld0xlc3NUZXh0IDogY29uZmlnLnZpZXdBbGxUZXh0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ticS10YWI+XG4gICAgfVxuPC9rYnEtdGFiLWdyb3VwPlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { BidiModule } from '@angular/cdk/bidi';
2
- import { Inject, InjectionToken, isDevMode, NgModule, Optional } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { inject, Inject, InjectionToken, isDevMode, NgModule, Optional } from '@angular/core';
3
4
  import * as i0 from "@angular/core";
4
5
  // Injection token that configures whether the koobiq sanity checks are enabled.
5
6
  export const KBQ_SANITY_CHECKS = new InjectionToken('kbq-sanity-checks', {
@@ -18,12 +19,9 @@ export function mcSanityChecksFactory() {
18
19
  export class KbqCommonModule {
19
20
  constructor(_sanityChecksEnabled) {
20
21
  this._sanityChecksEnabled = _sanityChecksEnabled;
22
+ this.document = inject(DOCUMENT);
21
23
  // Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).
22
24
  this.hasDoneGlobalChecks = false;
23
- // Reference to the global `document` object.
24
- this._document = typeof document === 'object' && document ? document : null;
25
- // Reference to the global 'window' object.
26
- this._window = typeof window === 'object' && window ? window : null;
27
25
  if (this.areChecksEnabled() && !this.hasDoneGlobalChecks) {
28
26
  this.checkDoctypeIsDefined();
29
27
  this.checkThemeIsPresent();
@@ -36,19 +34,20 @@ export class KbqCommonModule {
36
34
  }
37
35
  // Whether the code is running in tests.
38
36
  isTestEnv() {
39
- return this._window && (this._window['__karma__'] || this._window['jasmine'] || this._window['__jest__']);
37
+ const window = this.getWindow();
38
+ return !!(window && (window['__karma__'] || window['jasmine'] || window['__jest__']));
40
39
  }
41
40
  checkDoctypeIsDefined() {
42
- if (this._document && !this._document.doctype) {
41
+ if (this.document && !this.document.doctype) {
43
42
  console.warn('Current document does not have a doctype. This may cause ' +
44
43
  'some koobiq components not to behave as expected.');
45
44
  }
46
45
  }
47
46
  checkThemeIsPresent() {
48
- if (this._document && typeof getComputedStyle === 'function') {
49
- const testElement = this._document.createElement('div');
47
+ if (this.document && typeof getComputedStyle === 'function') {
48
+ const testElement = this.document.createElement('div');
50
49
  testElement.classList.add('kbq-theme-loaded-marker');
51
- this._document.body.appendChild(testElement);
50
+ this.document.body.appendChild(testElement);
52
51
  const computedStyle = getComputedStyle(testElement);
53
52
  // In some situations, the computed style of the test element can be null. For example in
54
53
  // Firefox, the computed style is null if an application is running inside of a hidden iframe.
@@ -58,9 +57,12 @@ export class KbqCommonModule {
58
57
  'components may not work as expected. For more info refer ' +
59
58
  'to the theming guide: https://koobiq.io/main/theming/overview');
60
59
  }
61
- this._document.body.removeChild(testElement);
60
+ this.document.body.removeChild(testElement);
62
61
  }
63
62
  }
63
+ getWindow() {
64
+ return this.document?.defaultView || window;
65
+ }
64
66
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCommonModule, deps: [{ token: KBQ_SANITY_CHECKS, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
65
67
  /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: KbqCommonModule, imports: [BidiModule], exports: [BidiModule] }); }
66
68
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqCommonModule, imports: [BidiModule, BidiModule] }); }
@@ -77,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
77
79
  type: Inject,
78
80
  args: [KBQ_SANITY_CHECKS]
79
81
  }] }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9jb21tb24tYmVoYXZpb3JzL2NvbW1vbi1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV0RixnRkFBZ0Y7QUFDaEYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVUsbUJBQW1CLEVBQUU7SUFDOUUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHFCQUFxQjtDQUNqQyxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBVXhCLFlBQTJELG9CQUE2QjtRQUE3Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVM7UUFUeEYsNEZBQTRGO1FBQ3BGLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUVwQyw2Q0FBNkM7UUFDckMsY0FBUyxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRS9FLDJDQUEyQztRQUNuQyxZQUFPLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFHbkUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsZ0JBQWdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixJQUFJLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxJQUFJLENBQ1IsMkRBQTJEO2dCQUN2RCxtREFBbUQsQ0FDMUQsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTdDLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXBELHlGQUF5RjtZQUN6Riw4RkFBOEY7WUFDOUYsMkRBQTJEO1lBQzNELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQ1IsZ0RBQWdEO29CQUM1QywyREFBMkQ7b0JBQzNELCtEQUErRCxDQUN0RSxDQUFDO1lBQ04sQ0FBQztZQUVELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQztpSUEzRFEsZUFBZSxrQkFVUSxpQkFBaUI7a0lBVnhDLGVBQWUsWUFIZCxVQUFVLGFBQ1YsVUFBVTtrSUFFWCxlQUFlLFlBSGQsVUFBVSxFQUNWLFVBQVU7OzJGQUVYLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3hCOzswQkFXZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaWRpTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgaXNEZXZNb2RlLCBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gSW5qZWN0aW9uIHRva2VuIHRoYXQgY29uZmlndXJlcyB3aGV0aGVyIHRoZSBrb29iaXEgc2FuaXR5IGNoZWNrcyBhcmUgZW5hYmxlZC5cbmV4cG9ydCBjb25zdCBLQlFfU0FOSVRZX0NIRUNLUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPigna2JxLXNhbml0eS1jaGVja3MnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IG1jU2FuaXR5Q2hlY2tzRmFjdG9yeVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtY1Nhbml0eUNoZWNrc0ZhY3RvcnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogTW9kdWxlIHRoYXQgY2FwdHVyZXMgYW55dGhpbmcgdGhhdCBzaG91bGQgYmUgbG9hZGVkIGFuZC9vciBydW4gZm9yICphbGwqIEtvb2JpcVxuICogY29tcG9uZW50cy4gVGhpcyBpbmNsdWRlcyBCaWRpLCBldGMuXG4gKlxuICogVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGltcG9ydGVkIHRvIGVhY2ggdG9wLWxldmVsIGNvbXBvbmVudCBtb2R1bGUgKGUuZy4sIEticVRhYnNNb2R1bGUpLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtCaWRpTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQmlkaU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQ29tbW9uTW9kdWxlIHtcbiAgICAvLyBXaGV0aGVyIHdlJ3ZlIGRvbmUgdGhlIGdsb2JhbCBzYW5pdHkgY2hlY2tzIChlLmcuIGEgdGhlbWUgaXMgbG9hZGVkLCB0aGVyZSBpcyBhIGRvY3R5cGUpLlxuICAgIHByaXZhdGUgaGFzRG9uZUdsb2JhbENoZWNrcyA9IGZhbHNlO1xuXG4gICAgLy8gUmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgYGRvY3VtZW50YCBvYmplY3QuXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnQgPSB0eXBlb2YgZG9jdW1lbnQgPT09ICdvYmplY3QnICYmIGRvY3VtZW50ID8gZG9jdW1lbnQgOiBudWxsO1xuXG4gICAgLy8gUmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgJ3dpbmRvdycgb2JqZWN0LlxuICAgIHByaXZhdGUgX3dpbmRvdyA9IHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnICYmIHdpbmRvdyA/IHdpbmRvdyA6IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9TQU5JVFlfQ0hFQ0tTKSBwcml2YXRlIF9zYW5pdHlDaGVja3NFbmFibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmFyZUNoZWNrc0VuYWJsZWQoKSAmJiAhdGhpcy5oYXNEb25lR2xvYmFsQ2hlY2tzKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrRG9jdHlwZUlzRGVmaW5lZCgpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1RoZW1lSXNQcmVzZW50KCk7XG4gICAgICAgICAgICB0aGlzLmhhc0RvbmVHbG9iYWxDaGVja3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gV2hldGhlciBhbnkgc2FuaXR5IGNoZWNrcyBhcmUgZW5hYmxlZFxuICAgIHByaXZhdGUgYXJlQ2hlY2tzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nhbml0eUNoZWNrc0VuYWJsZWQgJiYgaXNEZXZNb2RlKCkgJiYgIXRoaXMuaXNUZXN0RW52KCk7XG4gICAgfVxuXG4gICAgLy8gV2hldGhlciB0aGUgY29kZSBpcyBydW5uaW5nIGluIHRlc3RzLlxuICAgIHByaXZhdGUgaXNUZXN0RW52KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2luZG93ICYmICh0aGlzLl93aW5kb3dbJ19fa2FybWFfXyddIHx8IHRoaXMuX3dpbmRvd1snamFzbWluZSddIHx8IHRoaXMuX3dpbmRvd1snX19qZXN0X18nXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0RvY3R5cGVJc0RlZmluZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9kb2N1bWVudCAmJiAhdGhpcy5fZG9jdW1lbnQuZG9jdHlwZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICdDdXJyZW50IGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYSBkb2N0eXBlLiBUaGlzIG1heSBjYXVzZSAnICtcbiAgICAgICAgICAgICAgICAgICAgJ3NvbWUga29vYmlxIGNvbXBvbmVudHMgbm90IHRvIGJlaGF2ZSBhcyBleHBlY3RlZC4nXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1RoZW1lSXNQcmVzZW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQgJiYgdHlwZW9mIGdldENvbXB1dGVkU3R5bGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgICAgIHRlc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ticS10aGVtZS1sb2FkZWQtbWFya2VyJyk7XG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRlc3RFbGVtZW50KTtcblxuICAgICAgICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGVzdEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAvLyBJbiBzb21lIHNpdHVhdGlvbnMsIHRoZSBjb21wdXRlZCBzdHlsZSBvZiB0aGUgdGVzdCBlbGVtZW50IGNhbiBiZSBudWxsLiBGb3IgZXhhbXBsZSBpblxuICAgICAgICAgICAgLy8gRmlyZWZveCwgdGhlIGNvbXB1dGVkIHN0eWxlIGlzIG51bGwgaWYgYW4gYXBwbGljYXRpb24gaXMgcnVubmluZyBpbnNpZGUgb2YgYSBoaWRkZW4gaWZyYW1lLlxuICAgICAgICAgICAgLy8gU2VlOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01NDgzOTdcbiAgICAgICAgICAgIGlmIChjb21wdXRlZFN0eWxlICYmIGNvbXB1dGVkU3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQga29vYmlxIGNvcmUgdGhlbWUuIE1vc3Qga29vYmlxICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBvbmVudHMgbWF5IG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBGb3IgbW9yZSBpbmZvIHJlZmVyICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3RvIHRoZSB0aGVtaW5nIGd1aWRlOiBodHRwczovL2tvb2JpcS5pby9tYWluL3RoZW1pbmcvb3ZlcnZpZXcnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9jb21tb24tYmVoYXZpb3JzL2NvbW1vbi1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTlGLGdGQUFnRjtBQUNoRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBVSxtQkFBbUIsRUFBRTtJQUM5RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUscUJBQXFCO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFNeEIsWUFBMkQsb0JBQTZCO1FBQTdCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUztRQUxyRSxhQUFRLEdBQUcsTUFBTSxDQUFXLFFBQVEsQ0FBQyxDQUFDO1FBRXpELDRGQUE0RjtRQUNwRix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFHaEMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsZ0JBQWdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixJQUFJLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCx3Q0FBd0M7SUFDaEMsU0FBUztRQUNiLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUMsT0FBTyxDQUFDLElBQUksQ0FDUiwyREFBMkQ7Z0JBQ3ZELG1EQUFtRCxDQUMxRCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFdkQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFNUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFcEQseUZBQXlGO1lBQ3pGLDhGQUE4RjtZQUM5RiwyREFBMkQ7WUFDM0QsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxDQUFDLElBQUksQ0FDUixnREFBZ0Q7b0JBQzVDLDJEQUEyRDtvQkFDM0QsK0RBQStELENBQ3RFLENBQUM7WUFDTixDQUFDO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLElBQUksTUFBTSxDQUFDO0lBQ2hELENBQUM7aUlBN0RRLGVBQWUsa0JBTVEsaUJBQWlCO2tJQU54QyxlQUFlLFlBSGQsVUFBVSxhQUNWLFVBQVU7a0lBRVgsZUFBZSxZQUhkLFVBQVUsRUFDVixVQUFVOzsyRkFFWCxlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN4Qjs7MEJBT2dCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmlkaU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgaXNEZXZNb2RlLCBOZ01vZHVsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gSW5qZWN0aW9uIHRva2VuIHRoYXQgY29uZmlndXJlcyB3aGV0aGVyIHRoZSBrb29iaXEgc2FuaXR5IGNoZWNrcyBhcmUgZW5hYmxlZC5cbmV4cG9ydCBjb25zdCBLQlFfU0FOSVRZX0NIRUNLUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPigna2JxLXNhbml0eS1jaGVja3MnLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IG1jU2FuaXR5Q2hlY2tzRmFjdG9yeVxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtY1Nhbml0eUNoZWNrc0ZhY3RvcnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogTW9kdWxlIHRoYXQgY2FwdHVyZXMgYW55dGhpbmcgdGhhdCBzaG91bGQgYmUgbG9hZGVkIGFuZC9vciBydW4gZm9yICphbGwqIEtvb2JpcVxuICogY29tcG9uZW50cy4gVGhpcyBpbmNsdWRlcyBCaWRpLCBldGMuXG4gKlxuICogVGhpcyBtb2R1bGUgc2hvdWxkIGJlIGltcG9ydGVkIHRvIGVhY2ggdG9wLWxldmVsIGNvbXBvbmVudCBtb2R1bGUgKGUuZy4sIEticVRhYnNNb2R1bGUpLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtCaWRpTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQmlkaU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgS2JxQ29tbW9uTW9kdWxlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3Q8RG9jdW1lbnQ+KERPQ1VNRU5UKTtcblxuICAgIC8vIFdoZXRoZXIgd2UndmUgZG9uZSB0aGUgZ2xvYmFsIHNhbml0eSBjaGVja3MgKGUuZy4gYSB0aGVtZSBpcyBsb2FkZWQsIHRoZXJlIGlzIGEgZG9jdHlwZSkuXG4gICAgcHJpdmF0ZSBoYXNEb25lR2xvYmFsQ2hlY2tzID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9TQU5JVFlfQ0hFQ0tTKSBwcml2YXRlIF9zYW5pdHlDaGVja3NFbmFibGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLmFyZUNoZWNrc0VuYWJsZWQoKSAmJiAhdGhpcy5oYXNEb25lR2xvYmFsQ2hlY2tzKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrRG9jdHlwZUlzRGVmaW5lZCgpO1xuICAgICAgICAgICAgdGhpcy5jaGVja1RoZW1lSXNQcmVzZW50KCk7XG4gICAgICAgICAgICB0aGlzLmhhc0RvbmVHbG9iYWxDaGVja3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gV2hldGhlciBhbnkgc2FuaXR5IGNoZWNrcyBhcmUgZW5hYmxlZFxuICAgIHByaXZhdGUgYXJlQ2hlY2tzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nhbml0eUNoZWNrc0VuYWJsZWQgJiYgaXNEZXZNb2RlKCkgJiYgIXRoaXMuaXNUZXN0RW52KCk7XG4gICAgfVxuXG4gICAgLy8gV2hldGhlciB0aGUgY29kZSBpcyBydW5uaW5nIGluIHRlc3RzLlxuICAgIHByaXZhdGUgaXNUZXN0RW52KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB3aW5kb3cgPSB0aGlzLmdldFdpbmRvdygpO1xuXG4gICAgICAgIHJldHVybiAhISh3aW5kb3cgJiYgKHdpbmRvd1snX19rYXJtYV9fJ10gfHwgd2luZG93WydqYXNtaW5lJ10gfHwgd2luZG93WydfX2plc3RfXyddKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0RvY3R5cGVJc0RlZmluZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50ICYmICF0aGlzLmRvY3VtZW50LmRvY3R5cGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnQ3VycmVudCBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGEgZG9jdHlwZS4gVGhpcyBtYXkgY2F1c2UgJyArXG4gICAgICAgICAgICAgICAgICAgICdzb21lIGtvb2JpcSBjb21wb25lbnRzIG5vdCB0byBiZWhhdmUgYXMgZXhwZWN0ZWQuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tUaGVtZUlzUHJlc2VudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQgJiYgdHlwZW9mIGdldENvbXB1dGVkU3R5bGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnN0IHRlc3RFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgICAgICAgdGVzdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgna2JxLXRoZW1lLWxvYWRlZC1tYXJrZXInKTtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0RWxlbWVudCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRlc3RFbGVtZW50KTtcblxuICAgICAgICAgICAgLy8gSW4gc29tZSBzaXR1YXRpb25zLCB0aGUgY29tcHV0ZWQgc3R5bGUgb2YgdGhlIHRlc3QgZWxlbWVudCBjYW4gYmUgbnVsbC4gRm9yIGV4YW1wbGUgaW5cbiAgICAgICAgICAgIC8vIEZpcmVmb3gsIHRoZSBjb21wdXRlZCBzdHlsZSBpcyBudWxsIGlmIGFuIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgaW5zaWRlIG9mIGEgaGlkZGVuIGlmcmFtZS5cbiAgICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ4Mzk3XG4gICAgICAgICAgICBpZiAoY29tcHV0ZWRTdHlsZSAmJiBjb21wdXRlZFN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIGtvb2JpcSBjb3JlIHRoZW1lLiBNb3N0IGtvb2JpcSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb21wb25lbnRzIG1heSBub3Qgd29yayBhcyBleHBlY3RlZC4gRm9yIG1vcmUgaW5mbyByZWZlciAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICd0byB0aGUgdGhlbWluZyBndWlkZTogaHR0cHM6Ly9rb29iaXEuaW8vbWFpbi90aGVtaW5nL292ZXJ2aWV3J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFdpbmRvdygpOiBXaW5kb3cgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQ/LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class KbqMeasureScrollbarService {
5
5
  get scrollBarWidth() {
@@ -9,8 +9,8 @@ export class KbqMeasureScrollbarService {
9
9
  this.initScrollBarWidth();
10
10
  return this._scrollBarWidth;
11
11
  }
12
- constructor(document) {
13
- this.document = document;
12
+ constructor() {
13
+ this.document = inject(DOCUMENT);
14
14
  this.scrollbarMeasure = {
15
15
  position: 'absolute',
16
16
  top: '-9999px',
@@ -32,16 +32,11 @@ export class KbqMeasureScrollbarService {
32
32
  this.document.body.removeChild(scrollDiv);
33
33
  this._scrollBarWidth = width;
34
34
  }
35
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqMeasureScrollbarService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqMeasureScrollbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
36
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqMeasureScrollbarService, providedIn: 'root' }); }
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqMeasureScrollbarService, decorators: [{
39
39
  type: Injectable,
40
- args: [{
41
- providedIn: 'root'
42
- }]
43
- }], ctorParameters: () => [{ type: undefined, decorators: [{
44
- type: Inject,
45
- args: [DOCUMENT]
46
- }] }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS1zY3JvbGxiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9zZXJ2aWNlcy9tZWFzdXJlLXNjcm9sbGJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxJQUFJLGNBQWM7UUFDZCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBV0QsWUFBc0MsUUFBYTtRQUFiLGFBQVEsR0FBUixRQUFRLENBQUs7UUFSM0MscUJBQWdCLEdBQUc7WUFDdkIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRyxFQUFFLFNBQVM7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLFFBQVE7U0FDckIsQ0FBQztRQUdFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFFNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7aUlBdENRLDBCQUEwQixrQkFtQmYsUUFBUTtxSUFuQm5CLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFvQmdCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEticU1lYXN1cmVTY3JvbGxiYXJTZXJ2aWNlIHtcbiAgICBnZXQgc2Nyb2xsQmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbEJhcldpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQmFyV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsQmFyV2lkdGgoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQmFyV2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2Nyb2xsQmFyV2lkdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIHNjcm9sbGJhck1lYXN1cmUgPSB7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB0b3A6ICctOTk5OXB4JyxcbiAgICAgICAgd2lkdGg6ICc1MHB4JyxcbiAgICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgICAgIG92ZXJmbG93OiAnc2Nyb2xsJ1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsQmFyV2lkdGgoKTtcbiAgICB9XG5cbiAgICBpbml0U2Nyb2xsQmFyV2lkdGgoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbERpdiA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBzY3JvbGxQcm9wIGluIHRoaXMuc2Nyb2xsYmFyTWVhc3VyZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsYmFyTWVhc3VyZS5oYXNPd25Qcm9wZXJ0eShzY3JvbGxQcm9wKSkge1xuICAgICAgICAgICAgICAgIHNjcm9sbERpdi5zdHlsZVtzY3JvbGxQcm9wXSA9IHRoaXMuc2Nyb2xsYmFyTWVhc3VyZVtzY3JvbGxQcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JvbGxEaXYpO1xuXG4gICAgICAgIGNvbnN0IHdpZHRoID0gc2Nyb2xsRGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoO1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpO1xuICAgICAgICB0aGlzLl9zY3JvbGxCYXJXaWR0aCA9IHdpZHRoO1xuICAgIH1cbn1cbiJdfQ==
40
+ args: [{ providedIn: 'root' }]
41
+ }], ctorParameters: () => [] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVhc3VyZS1zY3JvbGxiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9zZXJ2aWNlcy9tZWFzdXJlLXNjcm9sbGJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHbkQsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxJQUFJLGNBQWM7UUFDZCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBV0Q7UUFwQm1CLGFBQVEsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFZakQscUJBQWdCLEdBQUc7WUFDdkIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsR0FBRyxFQUFFLFNBQVM7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLFFBQVE7U0FDckIsQ0FBQztRQUdFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRSxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFFNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7aUlBeENRLDBCQUEwQjtxSUFBMUIsMEJBQTBCLGNBRGIsTUFBTTs7MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBLYnFNZWFzdXJlU2Nyb2xsYmFyU2VydmljZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0PERvY3VtZW50PihET0NVTUVOVCk7XG5cbiAgICBnZXQgc2Nyb2xsQmFyV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbEJhcldpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQmFyV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsQmFyV2lkdGgoKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fc2Nyb2xsQmFyV2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2Nyb2xsQmFyV2lkdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIHNjcm9sbGJhck1lYXN1cmUgPSB7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICB0b3A6ICctOTk5OXB4JyxcbiAgICAgICAgd2lkdGg6ICc1MHB4JyxcbiAgICAgICAgaGVpZ2h0OiAnNTBweCcsXG4gICAgICAgIG92ZXJmbG93OiAnc2Nyb2xsJ1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsQmFyV2lkdGgoKTtcbiAgICB9XG5cbiAgICBpbml0U2Nyb2xsQmFyV2lkdGgoKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbERpdiA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgZm9yIChjb25zdCBzY3JvbGxQcm9wIGluIHRoaXMuc2Nyb2xsYmFyTWVhc3VyZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsYmFyTWVhc3VyZS5oYXNPd25Qcm9wZXJ0eShzY3JvbGxQcm9wKSkge1xuICAgICAgICAgICAgICAgIHNjcm9sbERpdi5zdHlsZVtzY3JvbGxQcm9wXSA9IHRoaXMuc2Nyb2xsYmFyTWVhc3VyZVtzY3JvbGxQcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JvbGxEaXYpO1xuXG4gICAgICAgIGNvbnN0IHdpZHRoID0gc2Nyb2xsRGl2Lm9mZnNldFdpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoO1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpO1xuICAgICAgICB0aGlzLl9zY3JvbGxCYXJXaWR0aCA9IHdpZHRoO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { Injectable, RendererFactory2 } from '@angular/core';
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { inject, Injectable, RendererFactory2 } from '@angular/core';
2
3
  import { BehaviorSubject, pairwise } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
@@ -31,17 +32,18 @@ export const KbqDefaultThemes = [
31
32
  }
32
33
  ];
33
34
  export class ThemeService {
34
- constructor(rendererFactory) {
35
- this.rendererFactory = rendererFactory;
35
+ constructor() {
36
+ this.document = inject(DOCUMENT);
37
+ this.rendererFactory = inject(RendererFactory2);
36
38
  this.current = new BehaviorSubject(null);
37
39
  this.themes = KbqDefaultThemes;
38
40
  this.update = ([prev, current]) => {
39
41
  if (prev) {
40
42
  prev.selected = false;
41
- this.renderer.removeClass(document.body, prev.className);
43
+ this.renderer.removeClass(this.document.body, prev.className);
42
44
  }
43
45
  if (current) {
44
- this.renderer.addClass(document.body, current.className);
46
+ this.renderer.addClass(this.document.body, current.className);
45
47
  current.selected = true;
46
48
  }
47
49
  };
@@ -68,11 +70,11 @@ export class ThemeService {
68
70
  getTheme() {
69
71
  return this.current.value;
70
72
  }
71
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ThemeService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72
74
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
73
75
  }
74
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ThemeService, decorators: [{
75
77
  type: Injectable,
76
78
  args: [{ providedIn: 'root' }]
77
- }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXdCLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQWdCLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRL0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFOLElBQVksZ0JBV1g7QUFYRCxXQUFZLGdCQUFnQjtJQUN4Qjs7OztPQUlHO0lBQ0gseUNBQXFCLENBQUE7SUFDckI7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBWFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVczQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFlO0lBQ3hDO1FBQ0ksSUFBSSxFQUFFLE9BQU87UUFDYixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsT0FBTztRQUNuQyxRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNEO1FBQ0ksSUFBSSxFQUFFLE1BQU07UUFDWixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtRQUNoQyxRQUFRLEVBQUUsS0FBSztLQUNsQjtDQUNKLENBQUM7QUFHRixNQUFNLE9BQU8sWUFBWTtJQVFyQixZQUFvQixlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFQckQsWUFBTyxHQUF1QixJQUFJLGVBQWUsQ0FBQyxJQUFTLENBQUMsQ0FBQztRQUU3RCxXQUFNLEdBQVEsZ0JBQXVCLENBQUM7UUFpQzVCLFdBQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBTSxFQUFFLEVBQUU7WUFDeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUVELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3pELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDLENBQUM7UUFyQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7YUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxLQUFLLENBQUMsK0JBQStCLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7aUlBbENRLFlBQVk7cUlBQVosWUFBWSxjQURDLE1BQU07OzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFUaGVtZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBhdmFpbGFibGUgdGhlbWVzIGZvciB0aGUgS29vYmlxIGRlc2lnbiBzeXN0ZW0uXG4gKiBUaGlzIGVudW0gaXMgdXNlZCB0byBtYW5hZ2UgYW5kIHN3aXRjaCBiZXR3ZWVuIGRpZmZlcmVudCB2aXN1YWwgdGhlbWVzLlxuICovXG5leHBvcnQgZW51bSBLYnFUaGVtZVNlbGVjdG9yIHtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBkZWZhdWx0IGxpZ2h0IHRoZW1lLlxuICAgICAqIFRoaXMgaXMgdGhlIHN0YW5kYXJkIHRoZW1lIHRoYXQgaXMgYXBwbGllZFxuICAgICAqIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGZpcnN0IGxvYWRlZCBpZiBub3RoaW5nIGVsc2UgcHJvdmlkZWRcbiAgICAgKi9cbiAgICBEZWZhdWx0ID0gJ2ticS1saWdodCcsXG4gICAgLyoqXG4gICAgICogVGhpcyB0aGVtZSBpcyB1c2VkIHRvIHByb3ZpZGUgYSBkYXJrZXIgdmlzdWFsIGV4cGVyaWVuY2UsIG9mdGVuIHByZWZlcnJlZCBpbiBsb3ctbGlnaHQgZW52aXJvbm1lbnRzLlxuICAgICAqL1xuICAgIERhcmsgPSAna2JxLWRhcmsnXG59XG5cbmV4cG9ydCBjb25zdCBLYnFEZWZhdWx0VGhlbWVzOiBLYnFUaGVtZVtdID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ2xpZ2h0JyxcbiAgICAgICAgY2xhc3NOYW1lOiBLYnFUaGVtZVNlbGVjdG9yLkRlZmF1bHQsXG4gICAgICAgIHNlbGVjdGVkOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdkYXJrJyxcbiAgICAgICAgY2xhc3NOYW1lOiBLYnFUaGVtZVNlbGVjdG9yLkRhcmssXG4gICAgICAgIHNlbGVjdGVkOiBmYWxzZVxuICAgIH1cbl07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlPFQgZXh0ZW5kcyBLYnFUaGVtZSB8IG51bGwgPSBLYnFUaGVtZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIGN1cnJlbnQ6IEJlaGF2aW9yU3ViamVjdDxUPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCBhcyBUKTtcblxuICAgIHRoZW1lczogVFtdID0gS2JxRGVmYXVsdFRoZW1lcyBhcyBUW107XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmN1cnJlbnQucGlwZShwYWlyd2lzZSgpKS5zdWJzY3JpYmUodGhpcy51cGRhdGUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHNldFRoZW1lcyhpdGVtczogVFtdKSB7XG4gICAgICAgIHRoaXMudGhlbWVzID0gaXRlbXM7XG4gICAgfVxuXG4gICAgc2V0VGhlbWUodmFsdWU6IFQgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudC5uZXh0KHRoaXMudGhlbWVzW3ZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB0aGlzLnRoZW1lcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudC5uZXh0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGB2YWx1ZSBoYXMgdW5zdXBwb3J0ZWQgdHlwZTogJHt0eXBlb2YgdmFsdWV9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUaGVtZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlID0gKFtwcmV2LCBjdXJyZW50XTogVFtdKSA9PiB7XG4gICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICBwcmV2LnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksIHByZXYuY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksIGN1cnJlbnQuY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIGN1cnJlbnQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
79
+ }], ctorParameters: () => [] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBd0IsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLE1BQU0sTUFBTSxDQUFDOztBQVEvRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxnQkFXWDtBQVhELFdBQVksZ0JBQWdCO0lBQ3hCOzs7O09BSUc7SUFDSCx5Q0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILHFDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFYVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBVzNCO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWU7SUFDeEM7UUFDSSxJQUFJLEVBQUUsT0FBTztRQUNiLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPO1FBQ25DLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1FBQ2hDLFFBQVEsRUFBRSxLQUFLO0tBQ2xCO0NBQ0osQ0FBQztBQUdGLE1BQU0sT0FBTyxZQUFZO0lBV3JCO1FBVm1CLGFBQVEsR0FBRyxNQUFNLENBQVcsUUFBUSxDQUFDLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUc5RCxZQUFPLEdBQXVCLElBQUksZUFBZSxDQUFDLElBQVMsQ0FBQyxDQUFDO1FBRTdELFdBQU0sR0FBUSxnQkFBdUIsQ0FBQztRQWdDNUIsV0FBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFNLEVBQUUsRUFBRTtZQUN4QyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEUsQ0FBQztZQUVELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM5RCxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBckNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQjtRQUN0QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sS0FBSyxDQUFDLCtCQUErQixPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO2lJQXJDUSxZQUFZO3FJQUFaLFlBQVksY0FEQyxNQUFNOzsyRkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHBhaXJ3aXNlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFUaGVtZSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBhdmFpbGFibGUgdGhlbWVzIGZvciB0aGUgS29vYmlxIGRlc2lnbiBzeXN0ZW0uXG4gKiBUaGlzIGVudW0gaXMgdXNlZCB0byBtYW5hZ2UgYW5kIHN3aXRjaCBiZXR3ZWVuIGRpZmZlcmVudCB2aXN1YWwgdGhlbWVzLlxuICovXG5leHBvcnQgZW51bSBLYnFUaGVtZVNlbGVjdG9yIHtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBkZWZhdWx0IGxpZ2h0IHRoZW1lLlxuICAgICAqIFRoaXMgaXMgdGhlIHN0YW5kYXJkIHRoZW1lIHRoYXQgaXMgYXBwbGllZFxuICAgICAqIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIGZpcnN0IGxvYWRlZCBpZiBub3RoaW5nIGVsc2UgcHJvdmlkZWRcbiAgICAgKi9cbiAgICBEZWZhdWx0ID0gJ2ticS1saWdodCcsXG4gICAgLyoqXG4gICAgICogVGhpcyB0aGVtZSBpcyB1c2VkIHRvIHByb3ZpZGUgYSBkYXJrZXIgdmlzdWFsIGV4cGVyaWVuY2UsIG9mdGVuIHByZWZlcnJlZCBpbiBsb3ctbGlnaHQgZW52aXJvbm1lbnRzLlxuICAgICAqL1xuICAgIERhcmsgPSAna2JxLWRhcmsnXG59XG5cbmV4cG9ydCBjb25zdCBLYnFEZWZhdWx0VGhlbWVzOiBLYnFUaGVtZVtdID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ2xpZ2h0JyxcbiAgICAgICAgY2xhc3NOYW1lOiBLYnFUaGVtZVNlbGVjdG9yLkRlZmF1bHQsXG4gICAgICAgIHNlbGVjdGVkOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdkYXJrJyxcbiAgICAgICAgY2xhc3NOYW1lOiBLYnFUaGVtZVNlbGVjdG9yLkRhcmssXG4gICAgICAgIHNlbGVjdGVkOiBmYWxzZVxuICAgIH1cbl07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlPFQgZXh0ZW5kcyBLYnFUaGVtZSB8IG51bGwgPSBLYnFUaGVtZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudCA9IGluamVjdDxEb2N1bWVudD4oRE9DVU1FTlQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlckZhY3RvcnkgPSBpbmplY3QoUmVuZGVyZXJGYWN0b3J5Mik7XG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgICBjdXJyZW50OiBCZWhhdmlvclN1YmplY3Q8VD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwgYXMgVCk7XG5cbiAgICB0aGVtZXM6IFRbXSA9IEticURlZmF1bHRUaGVtZXMgYXMgVFtdO1xuXG4gICAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY3VycmVudC5waXBlKHBhaXJ3aXNlKCkpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgc2V0VGhlbWVzKGl0ZW1zOiBUW10pIHtcbiAgICAgICAgdGhpcy50aGVtZXMgPSBpdGVtcztcbiAgICB9XG5cbiAgICBzZXRUaGVtZSh2YWx1ZTogVCB8IG51bWJlcikge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Lm5leHQodGhpcy50aGVtZXNbdmFsdWVdKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHRoaXMudGhlbWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Lm5leHQodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHZhbHVlIGhhcyB1bnN1cHBvcnRlZCB0eXBlOiAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRoZW1lKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50LnZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGUgPSAoW3ByZXYsIGN1cnJlbnRdOiBUW10pID0+IHtcbiAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICAgIHByZXYuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCBwcmV2LmNsYXNzTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIGN1cnJlbnQuY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIGN1cnJlbnQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('18.9.0+sha-985106c');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjkuMCtzaGEtOTg1MTA2YycpO1xuIl19
2
+ export const VERSION = new Version('18.10.0+sha-d875aa1');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZXJzaW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzE4LjEwLjArc2hhLWQ4NzVhYTEnKTtcbiJdfQ==