@libs-ui/components-list 0.2.357-14 → 0.2.357-16

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.
@@ -6,7 +6,7 @@ import { LibsUiComponentsListRadioComponent } from '../templates/radio/radio.com
6
6
  import { LibsUiComponentsListTagComponent } from '../templates/tag/tag.component';
7
7
  import { LibsUiComponentsListTextComponent } from '../templates/text/text.component';
8
8
  import { ALLOWED_GROUP_OVERRIDES_TYPE, CONFIG_LIST_GROUP_TYPE, IListConfigItem, IListConfigItemGroup } from './../interfaces/config-item.interface';
9
- export declare const getComponentByType: (typeTemplate: TYPE_TEMPLATE) => typeof LibsUiComponentsListCheckboxComponent | typeof LibsUiComponentsListGroupComponent | typeof LibsUiComponentsListRadioComponent | typeof LibsUiComponentsListTagComponent | typeof LibsUiComponentsListTextComponent;
9
+ export declare const getComponentByType: (typeTemplate: TYPE_TEMPLATE) => typeof LibsUiComponentsListTextComponent | typeof LibsUiComponentsListCheckboxComponent | typeof LibsUiComponentsListGroupComponent | typeof LibsUiComponentsListRadioComponent | typeof LibsUiComponentsListTagComponent;
10
10
  export declare const getFieldKeyByType: (config: IListConfigItem | undefined, fieldKeyDefault: string) => string;
11
11
  export declare const initConfig: (config: IListConfigItem) => void;
12
12
  /**
@@ -1,16 +1,27 @@
1
- import { Directive, ElementRef, inject, input } from '@angular/core';
1
+ import { DestroyRef, Directive, ElementRef, effect, inject, input, untracked } from '@angular/core';
2
2
  import { deleteUnicode } from '@libs-ui/utils';
3
3
  import * as i0 from "@angular/core";
4
4
  export class LibsUiComponentsListHighlightKeySearchDirective {
5
+ // Theo dõi nội dung item vì label của rows được gán qua [innerHtml] + async pipe,
6
+ // thời điểm ngAfterViewInit text chưa có nên chỉ tô 1 lần sẽ không highlight được gì.
7
+ observer;
8
+ isApplying = false;
5
9
  isHighlight = input(undefined);
6
10
  keySearch = input(undefined);
7
11
  classHighlight = input('libs-ui-list-highlight-text-search');
8
12
  elementRef = inject(ElementRef);
13
+ destroyRef = inject(DestroyRef);
14
+ constructor() {
15
+ // Đổi từ khoá hoặc bật/tắt highlight → xoá highlight cũ rồi tô lại theo từ khoá mới.
16
+ effect(() => {
17
+ this.isHighlight();
18
+ this.keySearch();
19
+ untracked(() => this.applyHighlight());
20
+ });
21
+ this.destroyRef.onDestroy(() => this.observer?.disconnect());
22
+ }
9
23
  ngAfterViewInit() {
10
- if (!this.elementRef || !this.isHighlight() || !this.keySearch()) {
11
- return;
12
- }
13
- this.handlerHighlight(this.elementRef.nativeElement);
24
+ this.applyHighlight();
14
25
  }
15
26
  handlerHighlight(element) {
16
27
  if (!element || element === null) {
@@ -38,6 +49,10 @@ export class LibsUiComponentsListHighlightKeySearchDirective {
38
49
  return;
39
50
  }
40
51
  const textToHighlight = deleteUnicode(this.keySearch()?.trim() || '').toLowerCase();
52
+ // Từ khoá rỗng (hoặc chỉ có khoảng trắng) làm indexOf luôn trả 0 → vòng while không bao giờ kết thúc.
53
+ if (!textToHighlight) {
54
+ return;
55
+ }
41
56
  let isFirst = true;
42
57
  while (true) {
43
58
  const foundIndex = deleteUnicode(nodeVal).toLowerCase().indexOf(textToHighlight);
@@ -68,6 +83,55 @@ export class LibsUiComponentsListHighlightKeySearchDirective {
68
83
  nodeVal = nodeVal.substring(foundIndex + textToHighlight.length);
69
84
  }
70
85
  }
86
+ /** Xoá highlight cũ rồi tô lại — gọi được nhiều lần, không nhân bản span. */
87
+ applyHighlight() {
88
+ const element = this.elementRef?.nativeElement;
89
+ if (!element || typeof element.querySelectorAll !== 'function') {
90
+ return;
91
+ }
92
+ this.isApplying = true;
93
+ this.observer?.disconnect();
94
+ this.clearHighlight(element);
95
+ if (this.isHighlight() && this.keySearch()?.trim()) {
96
+ this.handlerHighlight(element);
97
+ }
98
+ this.isApplying = false;
99
+ this.syncObserver(element);
100
+ }
101
+ /** Gỡ span highlight đã chèn, gộp lại text node ban đầu. */
102
+ clearHighlight(element) {
103
+ const className = this.classHighlight().split(' ')[0];
104
+ if (!className) {
105
+ return;
106
+ }
107
+ const highlighted = Array.from(element.querySelectorAll(`.${className}`));
108
+ if (!highlighted.length) {
109
+ return;
110
+ }
111
+ highlighted.forEach((span) => {
112
+ span.replaceWith(document.createTextNode(span.textContent ?? ''));
113
+ });
114
+ element.normalize();
115
+ }
116
+ /** Chỉ theo dõi DOM khi thực sự bật highlight để không tốn tài nguyên cho list thường. */
117
+ syncObserver(element) {
118
+ if (!this.isHighlight()) {
119
+ this.observer?.disconnect();
120
+ return;
121
+ }
122
+ if (typeof MutationObserver === 'undefined') {
123
+ return;
124
+ }
125
+ if (!this.observer) {
126
+ this.observer = new MutationObserver(() => {
127
+ if (this.isApplying) {
128
+ return;
129
+ }
130
+ this.applyHighlight();
131
+ });
132
+ }
133
+ this.observer.observe(element, { childList: true, subtree: true, characterData: true });
134
+ }
71
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsListHighlightKeySearchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
72
136
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: LibsUiComponentsListHighlightKeySearchDirective, isStandalone: true, selector: "[LibsUiComponentsListHighlightKeySearchDirective]", inputs: { isHighlight: { classPropertyName: "isHighlight", publicName: "isHighlight", isSignal: true, isRequired: false, transformFunction: null }, keySearch: { classPropertyName: "keySearch", publicName: "keySearch", isSignal: true, isRequired: false, transformFunction: null }, classHighlight: { classPropertyName: "classHighlight", publicName: "classHighlight", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
73
137
  }
@@ -78,5 +142,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
78
142
  selector: '[LibsUiComponentsListHighlightKeySearchDirective]',
79
143
  standalone: true,
80
144
  }]
81
- }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWtleS1zZWFyY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2xpc3Qvc3JjL2hpZ2hsaWdodC1rZXktc2VhcmNoL2hpZ2hsaWdodC1rZXktc2VhcmNoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTy9DLE1BQU0sT0FBTywrQ0FBK0M7SUFDakQsV0FBVyxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDcEQsU0FBUyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFDakQsY0FBYyxHQUFHLEtBQUssQ0FBUyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRTdELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDakUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBYTtRQUN0QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7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LE1BQU0sQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO3dHQTdFVSwrQ0FBK0M7NEZBQS9DLCtDQUErQzs7NEZBQS9DLCtDQUErQztrQkFMM0QsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxtREFBbUQ7b0JBQzdELFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVsZXRlVW5pY29kZSB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW0xpYnNVaUNvbXBvbmVudHNMaXN0SGlnaGxpZ2h0S2V5U2VhcmNoRGlyZWN0aXZlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNMaXN0SGlnaGxpZ2h0S2V5U2VhcmNoRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHJlYWRvbmx5IGlzSGlnaGxpZ2h0ID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkga2V5U2VhcmNoID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBjbGFzc0hpZ2hsaWdodCA9IGlucHV0PHN0cmluZz4oJ2xpYnMtdWktbGlzdC1oaWdobGlnaHQtdGV4dC1zZWFyY2gnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50UmVmIHx8ICF0aGlzLmlzSGlnaGxpZ2h0KCkgfHwgIXRoaXMua2V5U2VhcmNoKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oYW5kbGVySGlnaGxpZ2h0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVySGlnaGxpZ2h0KGVsZW1lbnQ6IE5vZGUpIHtcbiAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbjogTm9kZVtdID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZWxlbWVudC5jaGlsZE5vZGVzKTtcblxuICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNoaWxkcmVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICB0aGlzLmNoZWNrQW5kUmVwbGFjZShpdGVtKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVySGlnaGxpZ2h0KGl0ZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQW5kUmVwbGFjZShub2RlOiBOb2RlKSB7XG4gICAgbGV0IG5vZGVWYWwgPSBub2RlLm5vZGVWYWx1ZTtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICAgIGxldCB0ZXh0Tm9kZSA9IG51bGw7XG5cbiAgICBpZiAoIXBhcmVudE5vZGUgfHwgIW5vZGVWYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGV4dFRvSGlnaGxpZ2h0ID0gZGVsZXRlVW5pY29kZSh0aGlzLmtleVNlYXJjaCgpPy50cmltKCkgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgbGV0IGlzRmlyc3QgPSB0cnVlO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IGZvdW5kSW5kZXggPSBkZWxldGVVbmljb2RlKG5vZGVWYWwpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXh0VG9IaWdobGlnaHQpO1xuXG4gICAgICBpZiAoZm91bmRJbmRleCA8IDApIHtcbiAgICAgICAgaWYgKGlzRmlyc3QpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZVZhbCkge1xuICAgICAgICAgIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobm9kZVZhbCk7XG4gICAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGV4dE5vZGUsIG5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaXNGaXJzdCA9IGZhbHNlO1xuICAgICAgY29uc3Qgc3RhcnQgPSBub2RlVmFsLnN1YnN0cmluZygwLCBmb3VuZEluZGV4KTtcbiAgICAgIGNvbnN0IG1hdGNoZWQgPSBub2RlVmFsLnN1YnN0cmluZyhmb3VuZEluZGV4LCBmb3VuZEluZGV4ICsgdGV4dFRvSGlnaGxpZ2h0Lmxlbmd0aCk7XG5cbiAgICAgIGlmIChzdGFydCkge1xuICAgICAgICB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0YXJ0KTtcbiAgICAgICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGV4dE5vZGUsIG5vZGUpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgaWYgKCFzcGFuLmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmNsYXNzSGlnaGxpZ2h0KCkpKSB7XG4gICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzSGlnaGxpZ2h0KCkpO1xuICAgICAgfVxuICAgICAgc3Bhbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtYXRjaGVkKSk7XG4gICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZShzcGFuLCBub2RlKTtcbiAgICAgIG5vZGVWYWwgPSBub2RlVmFsLnN1YnN0cmluZyhmb3VuZEluZGV4ICsgdGV4dFRvSGlnaGxpZ2h0Lmxlbmd0aCk7XG4gICAgfVxuICB9XG59XG4iXX0=
145
+ }], ctorParameters: () => [] });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LWtleS1zZWFyY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2xpc3Qvc3JjL2hpZ2hsaWdodC1rZXktc2VhcmNoL2hpZ2hsaWdodC1rZXktc2VhcmNoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTy9DLE1BQU0sT0FBTywrQ0FBK0M7SUFDMUQsa0ZBQWtGO0lBQ2xGLHNGQUFzRjtJQUM5RSxRQUFRLENBQW9CO0lBQzVCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbEIsV0FBVyxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDcEQsU0FBUyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFDakQsY0FBYyxHQUFHLEtBQUssQ0FBUyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRTdELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqRDtRQUNFLHFGQUFxRjtRQUNyRixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENB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LENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7d0dBdkpVLCtDQUErQzs0RkFBL0MsK0NBQStDOzs0RkFBL0MsK0NBQStDO2tCQUwzRCxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLG1EQUFtRDtvQkFDN0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVsZXRlVW5pY29kZSB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW0xpYnNVaUNvbXBvbmVudHNMaXN0SGlnaGxpZ2h0S2V5U2VhcmNoRGlyZWN0aXZlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbXBvbmVudHNMaXN0SGlnaGxpZ2h0S2V5U2VhcmNoRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8vIFRoZW8gZMO1aSBu4buZaSBkdW5nIGl0ZW0gdsOsIGxhYmVsIGPhu6dhIHJvd3MgxJHGsOG7o2MgZ8OhbiBxdWEgW2lubmVySHRtbF0gKyBhc3luYyBwaXBlLFxuICAvLyB0aOG7nWkgxJFp4buDbSBuZ0FmdGVyVmlld0luaXQgdGV4dCBjaMawYSBjw7MgbsOqbiBjaOG7iSB0w7QgMSBs4bqnbiBz4bq9IGtow7RuZyBoaWdobGlnaHQgxJHGsOG7o2MgZ8OsLlxuICBwcml2YXRlIG9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcbiAgcHJpdmF0ZSBpc0FwcGx5aW5nID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgaXNIaWdobGlnaHQgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBrZXlTZWFyY2ggPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNsYXNzSGlnaGxpZ2h0ID0gaW5wdXQ8c3RyaW5nPignbGlicy11aS1saXN0LWhpZ2hsaWdodC10ZXh0LXNlYXJjaCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIMSQ4buVaSB04burIGtob8OhIGhv4bq3YyBi4bqtdC904bqvdCBoaWdobGlnaHQg4oaSIHhvw6EgaGlnaGxpZ2h0IGPFqSBy4buTaSB0w7QgbOG6oWkgdGhlbyB04burIGtob8OhIG3hu5tpLlxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmlzSGlnaGxpZ2h0KCk7XG4gICAgICB0aGlzLmtleVNlYXJjaCgpO1xuICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMuYXBwbHlIaWdobGlnaHQoKSk7XG4gICAgfSk7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXBwbHlIaWdobGlnaHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVySGlnaGxpZ2h0KGVsZW1lbnQ6IE5vZGUpIHtcbiAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjaGlsZHJlbjogTm9kZVtdID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZWxlbWVudC5jaGlsZE5vZGVzKTtcblxuICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNoaWxkcmVuLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICB0aGlzLmNoZWNrQW5kUmVwbGFjZShpdGVtKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVySGlnaGxpZ2h0KGl0ZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQW5kUmVwbGFjZShub2RlOiBOb2RlKSB7XG4gICAgbGV0IG5vZGVWYWwgPSBub2RlLm5vZGVWYWx1ZTtcbiAgICBjb25zdCBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICAgIGxldCB0ZXh0Tm9kZSA9IG51bGw7XG5cbiAgICBpZiAoIXBhcmVudE5vZGUgfHwgIW5vZGVWYWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGV4dFRvSGlnaGxpZ2h0ID0gZGVsZXRlVW5pY29kZSh0aGlzLmtleVNlYXJjaCgpPy50cmltKCkgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAvLyBU4burIGtob8OhIHLhu5duZyAoaG/hurdjIGNo4buJIGPDsyBraG/huqNuZyB0cuG6r25nKSBsw6BtIGluZGV4T2YgbHXDtG4gdHLhuqMgMCDihpIgdsOybmcgd2hpbGUga2jDtG5nIGJhbyBnaeG7nSBr4bq/dCB0aMO6Yy5cbiAgICBpZiAoIXRleHRUb0hpZ2hsaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaXNGaXJzdCA9IHRydWU7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgZm91bmRJbmRleCA9IGRlbGV0ZVVuaWNvZGUobm9kZVZhbCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHRleHRUb0hpZ2hsaWdodCk7XG5cbiAgICAgIGlmIChmb3VuZEluZGV4IDwgMCkge1xuICAgICAgICBpZiAoaXNGaXJzdCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlVmFsKSB7XG4gICAgICAgICAgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShub2RlVmFsKTtcbiAgICAgICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZSh0ZXh0Tm9kZSwgbm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZChub2RlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgICBjb25zdCBzdGFydCA9IG5vZGVWYWwuc3Vic3RyaW5nKDAsIGZvdW5kSW5kZXgpO1xuICAgICAgY29uc3QgbWF0Y2hlZCA9IG5vZGVWYWwuc3Vic3RyaW5nKGZvdW5kSW5kZXgsIGZvdW5kSW5kZXggKyB0ZXh0VG9IaWdobGlnaHQubGVuZ3RoKTtcblxuICAgICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RhcnQpO1xuICAgICAgICBwYXJlbnROb2RlLmluc2VydEJlZm9yZSh0ZXh0Tm9kZSwgbm9kZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICBpZiAoIXNwYW4uY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMuY2xhc3NIaWdobGlnaHQoKSkpIHtcbiAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NIaWdobGlnaHQoKSk7XG4gICAgICB9XG4gICAgICBzcGFuLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1hdGNoZWQpKTtcbiAgICAgIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHNwYW4sIG5vZGUpO1xuICAgICAgbm9kZVZhbCA9IG5vZGVWYWwuc3Vic3RyaW5nKGZvdW5kSW5kZXggKyB0ZXh0VG9IaWdobGlnaHQubGVuZ3RoKTtcbiAgICB9XG4gIH1cblxuICAvKiogWG/DoSBoaWdobGlnaHQgY8WpIHLhu5NpIHTDtCBs4bqhaSDigJQgZ+G7jWkgxJHGsOG7o2Mgbmhp4buBdSBs4bqnbiwga2jDtG5nIG5ow6JuIGLhuqNuIHNwYW4uICovXG4gIHByaXZhdGUgYXBwbHlIaWdobGlnaHQoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghZWxlbWVudCB8fCB0eXBlb2YgZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNBcHBseWluZyA9IHRydWU7XG4gICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuY2xlYXJIaWdobGlnaHQoZWxlbWVudCk7XG4gICAgaWYgKHRoaXMuaXNIaWdobGlnaHQoKSAmJiB0aGlzLmtleVNlYXJjaCgpPy50cmltKCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlckhpZ2hsaWdodChlbGVtZW50KTtcbiAgICB9XG4gICAgdGhpcy5pc0FwcGx5aW5nID0gZmFsc2U7XG4gICAgdGhpcy5zeW5jT2JzZXJ2ZXIoZWxlbWVudCk7XG4gIH1cblxuICAvKiogR+G7oSBzcGFuIGhpZ2hsaWdodCDEkcOjIGNow6huLCBn4buZcCBs4bqhaSB0ZXh0IG5vZGUgYmFuIMSR4bqndS4gKi9cbiAgcHJpdmF0ZSBjbGVhckhpZ2hsaWdodChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NIaWdobGlnaHQoKS5zcGxpdCgnICcpWzBdO1xuXG4gICAgaWYgKCFjbGFzc05hbWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaGlnaGxpZ2h0ZWQgPSBBcnJheS5mcm9tKGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7Y2xhc3NOYW1lfWApKTtcblxuICAgIGlmICghaGlnaGxpZ2h0ZWQubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhpZ2hsaWdodGVkLmZvckVhY2goKHNwYW4pID0+IHtcbiAgICAgIHNwYW4ucmVwbGFjZVdpdGgoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3Bhbi50ZXh0Q29udGVudCA/PyAnJykpO1xuICAgIH0pO1xuICAgIGVsZW1lbnQubm9ybWFsaXplKCk7XG4gIH1cblxuICAvKiogQ2jhu4kgdGhlbyBkw7VpIERPTSBraGkgdGjhu7FjIHPhu7EgYuG6rXQgaGlnaGxpZ2h0IMSR4buDIGtow7RuZyB04buRbiB0w6BpIG5ndXnDqm4gY2hvIGxpc3QgdGjGsOG7nW5nLiAqL1xuICBwcml2YXRlIHN5bmNPYnNlcnZlcihlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5pc0hpZ2hsaWdodCgpKSB7XG4gICAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQXBwbHlpbmcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcHBseUhpZ2hsaWdodCgpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KTtcbiAgfVxufVxuIl19
@@ -12,4 +12,4 @@ export const CONFIG_LIST_GROUP_RELATIONSHIP_PARENT_CHILD_TYPES = [
12
12
  'child_selection_triggers_parent_selection',
13
13
  'parent_selection_triggers_all_children',
14
14
  ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWl0ZW0uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2xpc3Qvc3JjL2ludGVyZmFjZXMvY29uZmlnLWl0ZW0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9SQSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCx1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsb0JBQW9CO0NBQ1osQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLGlEQUFpRCxHQUFHO0lBQy9ELDJDQUEyQztJQUMzQyx3Q0FBd0M7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQXZhdGFyQ29uZmlnIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1hdmF0YXInO1xuaW1wb3J0IHsgSUJhZGdlIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1iYWRnZSc7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbic7XG5pbXBvcnQgeyBJU29ydCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtYnV0dG9ucy1zb3J0JztcbmltcG9ydCB7IElDaGVja2JveEl0ZW0gfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWNoZWNrYm94LWdyb3VwJztcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWNvbXBvbmVudC1vdXRsZXQnO1xuaW1wb3J0IHsgSUxhYmVsIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1sYWJlbCc7XG5pbXBvcnQgeyBJUG9wb3ZlciwgSVBvcG92ZXJPdmVybGF5LCBUWVBFX1BPUE9WRVJfRVZFTlQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXInO1xuaW1wb3J0IHsgVFlQRV9GVU5DVElPTiwgVFlQRV9PQkpFQ1QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IElIdHRwUmVxdWVzdENvbmZpZyB9IGZyb20gJ0BsaWJzLXVpL3NlcnZpY2VzLWh0dHAtcmVxdWVzdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUWVBFX1RFTVBMQVRFIH0gZnJvbSAnLi90ZW1wbGF0ZXMtdHlwZS50eXBlJztcblxuZXhwb3J0IHR5cGUgVFlQRV9MSVNUX0lURU0gPSBXcml0YWJsZVNpZ25hbDxUWVBFX09CSkVDVD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RDb25maWdJdGVtIHtcbiAgdHlwZTogVFlQRV9URU1QTEFURTtcbiAgaHR0cFJlcXVlc3REYXRhPzogV3JpdGFibGVTaWduYWw8SUh0dHBSZXF1ZXN0Q29uZmlnPjtcbiAgY29uZmlnVGVtcGxhdGVUZXh0PzogV3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtVGV4dD47XG4gIGNvbmZpZ1RlbXBsYXRlUmFkaW8/OiBXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1SYWRpbz47XG4gIGNvbmZpZ1RlbXBsYXRlQ2hlY2tib3g/OiBXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1DaGVja2JveD47XG4gIGNvbmZpZ1RlbXBsYXRlR3JvdXA/OiBXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1Hcm91cD47XG4gIGNvbmZpZ1RlbXBsYXRlVGFnPzogV3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtVGFnPjtcbiAgY29uZmlnRGVzY3JpcHRpb25Hcm91cD86IFdyaXRhYmxlU2lnbmFsPElDb25maWdEZXNjcmlwdGlvbkdyb3VwPjtcbiAgdGV4dE5vRGF0YT86IHN0cmluZztcbiAgdGV4dE5vRGF0YUNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgdGV4dFNlYXJjaE5vRGF0YT86IHN0cmluZztcbiAgYXV0b1NlbGVjdEZpcnN0SXRlbT86IGJvb2xlYW47IC8vIG7hur91IG5oxrAgY8OzIGThu68gbGnhu4d1IG3DoCBjaMawYSBjw7Mga2V5U2VsZWN0ZWQgdGjDrCBz4bq9IHThu7EgxJHhu5luZyBjaOG7jW4gcGjhuqduIHThu6sgxJHhuqd1IHRpw6puO1xuICBiYWNrZ3JvdW5kTGlzdEN1c3RvbT86IHN0cmluZztcbiAgcGFkZGluZ0xlZnRJdGVtPzogYm9vbGVhbjtcbiAgc29ydD86IChpdGVtczogQXJyYXk8YW55PikgPT4gdm9pZDtcbiAgaGFzSWNvbk5vRGF0YT86IGJvb2xlYW47XG4gIGlnbm9yZVNob3dEYXRhV2hlbk5vdFNlYXJjaD86IGJvb2xlYW47XG4gIGlnbm9yZUZpeEhlaWdodFNob3dEYXRhV2hlbk5vdFNlYXJjaD86IGJvb2xlYW47XG4gIGhpZ2hsaWdodFRleHRTZWFyY2hJblJlc3VsdD86IGJvb2xlYW47XG4gIGhlaWdodEl0ZW0/OiBudW1iZXI7XG4gIG1pbkhlaWdodEl0ZW0/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RDb25maWdJdGVtVGV4dCB7XG4gIGZpZWxkS2V5OiBzdHJpbmc7XG4gIGdldFZhbHVlPzogKGl0ZW06IGFueSwgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSkgPT4gc3RyaW5nO1xuICBnZXRMYWJlbFNlYXJjaD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gSMOgbSB0w7l5IGNo4buJbmggZ2nDoSB0cuG7iyB0w6xtIGtp4bq/bTogYuG6r3QgYnXhu5ljIGtoaSBz4butIGThu6VuZyBjb25maWcgcm93cyDEkeG7gyB4w6J5IGThu7FuZyBjaHXhu5dpIHTDrG0ga2nhur9tLCBob+G6t2Mga2hpIG114buRbiB0w6xtIGtp4bq/bSB0aGVvIG5oaeG7gXUgdHLGsOG7nW5nIG5oxrBuZyBjaOG7iSBoaeG7g24gdGjhu4sgbeG7mXQgdHLGsOG7nW5nICh2w60gZOG7pTogdMOsbSBraeG6v20gY+G6oyBtw6MgdsOgIHTDqm4gbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyB0w6puKVxuICBmaWVsZEdldEltYWdlPzogc3RyaW5nOyAvLyBUw6puIHRyxrDhu51uZyBjaOG7qWEgxJHGsOG7nW5nIGThuqtuIGjDrG5oIOG6o25oIHRyb25nIGThu68gbGnhu4d1IGl0ZW1cbiAgY2xhc3NJbmNsdWRlSW1hZ2U/OiBzdHJpbmc7XG4gIGdldEltYWdlPzogKGRhdGE6IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0SW1hZ2VFcnJvcj86IChkYXRhOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGltZ1R5cGVJY29uPzogYm9vbGVhbjtcbiAgaWdub3JlSWNvblNlbGVjdGVkPzogYm9vbGVhbjtcbiAgY2xhc3NJbmNsdWRlSWNvblNlbGVjdGVkPzogc3RyaW5nO1xuICBpZ25vcmVTaG93RmllbGRMYWJlbD86IGJvb2xlYW47XG4gIGdldEhyZWZCdXR0b24/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIGdldENsYXNzSXRlbT86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgZ2V0Q2xhc3NJbmNsdWRlUG9wb3Zlcj86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgZ2V0Q29uZmlnQnV0dG9uTGVmdD86IChpdGVtOiBhbnkpID0+IElCdXR0b247XG4gIGdldENsYXNzSWNvbkxlZnQ/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIGdldENvbmZpZ0hvdmVyRGFuZ2VyPzogKGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcbiAgZ2V0UG9wb3Zlcj86IChpdGVtOiBhbnkpID0+IElQb3BvdmVyIHwgdW5kZWZpbmVkO1xuICByb3dzPzogV3JpdGFibGVTaWduYWw8QXJyYXk8V3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtVGV4dFJvdz4+PjtcbiAgY2xhc3NSb3dzV3JhcHBlcj86IHN0cmluZztcbiAgY2xhc3NSb3dzPzogc3RyaW5nO1xuICBjb25maWdMYWJlbFBvcG92ZXI/OiBXcml0YWJsZVNpZ25hbDxJUG9wb3Zlck92ZXJsYXk+O1xuICBhdXRvU2Nyb2xsVG9JdGVtU2VsZWN0ZWQ/OiBib29sZWFuO1xuICBpdGVtU29ydD86IFdyaXRhYmxlU2lnbmFsPElTb3J0PjsgLy8gYmnhur9uIGzGsHUgdHLhu68gaXRlbSBzb3J0XG4gIGFjdGlvblNvcnQ/OiAoaXRlbVNvcnQ6IElTb3J0KSA9PiB2b2lkOyAvLyBzZXQgaMOgbSBuw6B5IG7hur91IG114buRbiBi4bqtdCBzb3J0IHRyw6puIGxpc3RcbiAgbm90VXNlVmlydHVhbFNjcm9sbD86IGJvb2xlYW47IC8vIHPhu60gZOG7pW5nIGNobyB0csaw4budbmcgaOG7o3AgY29uZmlnIGJhZGdlIHRyb25nIHRhYmxlXG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENvbmZpZ0FsaWduU3RhcnQ/OiAoaXRlbTogYW55KSA9PiBib29sZWFuO1xuICBzdHlsZVBhZGRpbmdSaWdodEl0ZW1PdGhlcj86IGJvb2xlYW47XG5cbiAgZ2V0Q29tcG9uZW50T3V0bGV0PzogKCkgPT4gT2JzZXJ2YWJsZTxMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IHwgYW55PjtcbiAgZ2V0RGF0YUNvbXBvbmVudE91dGxldD86IFRZUEVfRlVOQ1RJT047XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RDb25maWdJdGVtVGFnIGV4dGVuZHMgSUxpc3RDb25maWdJdGVtVGV4dCB7XG4gIGZpZWxkS2V5OiBzdHJpbmc7XG4gIGlnbm9yZUl0ZW1GbGV4V3JhcD86IGJvb2xlYW47XG4gIGNsYXNzSW5jbHVkZUNvbnRhaW5lcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdENvbmZpZ0l0ZW1SYWRpbyB7XG4gIGZpZWxkS2V5OiBzdHJpbmc7XG4gIGZpZWxkR2V0SW1hZ2U/OiBzdHJpbmc7XG4gIGNsYXNzSW5jbHVkZUltYWdlPzogc3RyaW5nO1xuICBoYXNBdmF0YXJQYWdlc1NvY2lhbD86IGJvb2xlYW47XG4gIGhhc0F2YXRhckdyb3VwU29jaWFsPzogYm9vbGVhbjtcbiAgZ2V0VmFsdWU/OiAoaXRlbTogYW55LCBpdGVtVmlld0luTGlzdD86IFRZUEVfTElTVF9JVEVNKSA9PiBzdHJpbmc7XG4gIGdldExhYmVsU2VhcmNoPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nOyAvLyBIw6BtIHTDuXkgY2jhu4luaCBnacOhIHRy4buLIHTDrG0ga2nhur9tOiBi4bqvdCBideG7mWMga2hpIHPhu60gZOG7pW5nIGNvbmZpZyByb3dzIMSR4buDIHjDonkgZOG7sW5nIGNodeG7l2kgdMOsbSBraeG6v20sIGhv4bq3YyBraGkgbXXhu5FuIHTDrG0ga2nhur9tIHRoZW8gbmhp4buBdSB0csaw4budbmcgbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0csaw4budbmcgKHbDrSBk4bulOiB0w6xtIGtp4bq/bSBj4bqjIG3DoyB2w6AgdMOqbiBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4pXG4gIGdldFBvcG92ZXI/OiAoaXRlbTogYW55KSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgcm93U2FtZUxpbmVSYWRpbz86IGJvb2xlYW47IC8vIG7hur91IGLhuq10IHRow6wgcmFkaW8gdsOgIGxhYmVsIHPhur0gaGnhu4NuIHRo4buLIGPDuW5nIDEgaMOgbmdcbiAgcm93cz86IFdyaXRhYmxlU2lnbmFsPEFycmF5PFdyaXRhYmxlU2lnbmFsPElMaXN0Q29uZmlnSXRlbVRleHRSb3c+Pj47XG4gIGNsYXNzUm93c1dyYXBwZXI/OiBzdHJpbmc7XG4gIGNsYXNzUm93cz86IHN0cmluZztcbiAgYXV0b1Njcm9sbFRvSXRlbVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgekluZGV4UG9wb3Zlcj86IG51bWJlcjtcbiAgZ2V0QXZhdGFyQ29uZmlnPzogKGl0ZW06IGFueSkgPT4gSUF2YXRhckNvbmZpZztcbiAgZ2V0Q2xhc3NJdGVtPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuICBjbGFzc0l0ZW1JbmNsdWRlPzogc3RyaW5nO1xuICBnZXRJbWFnZT86IChkYXRhOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlRXJyb3I/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRDb21wb25lbnRPdXRsZXQ/OiAoKSA9PiBPYnNlcnZhYmxlPExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfCBhbnk+O1xuICBnZXREYXRhQ29tcG9uZW50T3V0bGV0PzogVFlQRV9GVU5DVElPTjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdENvbmZpZ0l0ZW1DaGVja2JveCB7XG4gIGF1dG9TZWxlY3RBbGxJdGVtPzogYm9vbGVhbjsgLy8gZHJvcGRvd24gbuG6v3UgbmjGsCBjw7MgZOG7ryBsaeG7h3UgbcOgIGNoxrBhIGPDsyBtdWx0aUtleVNlbGVjdGVkIHRow6wgc+G6vSB04buxIMSR4buZbmcgY2jhu41uIHBo4bqnbiB04burIMSR4bqndSB0acOqbjtcbiAgY2xhc3NMaXN0SW5jbHVkZT86IHN0cmluZztcbiAgaHR0cFJlcXVlc3RBbGxJZFNlbGVjdE9yVW5TZWxlY3Q/OiBXcml0YWJsZVNpZ25hbDxJSHR0cFJlcXVlc3RDb25maWc+O1xuICBjb25maWdCdXR0b25TZWxlY3RBbmRVbmRTZWxlY3RJdGVtPzogV3JpdGFibGVTaWduYWw8e1xuICAgIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgICBidXR0b25DaGVja0FsbD86IElCdXR0b247XG4gICAgYnV0dG9uVW5jaGVja0FsbD86IElCdXR0b247XG4gIH0+O1xuICBjb25maWdDaGVja2JveENoZWNrQWxsPzogV3JpdGFibGVTaWduYWw8SUNoZWNrYm94SXRlbT47XG4gIGNsYXNzSW5jbHVkZUhhc0NvbmZpZ0NoZWNrQm94QWxsPzogc3RyaW5nO1xuICBmaWVsZEtleTogc3RyaW5nO1xuICBnZXRWYWx1ZT86IChpdGVtOiBhbnksIGl0ZW1WaWV3SW5MaXN0PzogVFlQRV9MSVNUX0lURU0pID0+IHN0cmluZztcbiAgZ2V0TGFiZWxTZWFyY2g/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7IC8vIEjDoG0gdMO5eSBjaOG7iW5oIGdpw6EgdHLhu4sgdMOsbSBraeG6v206IGLhuq90IGJ14buZYyBraGkgc+G7rSBk4bulbmcgY29uZmlnIHJvd3MgxJHhu4MgeMOieSBk4buxbmcgY2h14buXaSB0w6xtIGtp4bq/bSwgaG/hurdjIGtoaSBtdeG7kW4gdMOsbSBraeG6v20gdGhlbyBuaGnhu4F1IHRyxrDhu51uZyBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIG3hu5l0IHRyxrDhu51uZyAodsOtIGThu6U6IHTDrG0ga2nhur9tIGPhuqMgbcOjIHbDoCB0w6puIG5oxrBuZyBjaOG7iSBoaeG7g24gdGjhu4sgdMOqbilcbiAgZ2V0UG9wb3Zlcj86IChpdGVtOiBhbnkpID0+IElQb3BvdmVyO1xuICBnZXRDbGFzc0l0ZW0/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIGdldEltYWdlPzogKGRhdGE6IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0SW1hZ2VFcnJvcj86IChkYXRhOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGZpZWxkR2V0SW1hZ2U/OiBzdHJpbmc7XG4gIGhhc0F2YXRhclBhZ2VzU29jaWFsPzogYm9vbGVhbjtcbiAgaGFzQXZhdGFyR3JvdXBTb2NpYWw/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGVJbWFnZT86IHN0cmluZztcbiAgcm93U2FtZUxpbmVDaGVja2JveD86IGJvb2xlYW47IC8vIG7hur91IGLhuq10IHRow6wgY2hlY2tib3ggdsOgIGxhYmVsIHPhur0gaGnhu4NuIHRo4buLIGPDuW5nIDEgaMOgbmdcbiAgcm93cz86IFdyaXRhYmxlU2lnbmFsPEFycmF5PFdyaXRhYmxlU2lnbmFsPElMaXN0Q29uZmlnSXRlbVRleHRSb3c+Pj47XG4gIGNsYXNzUm93c1dyYXBwZXI/OiBzdHJpbmc7XG4gIGNsYXNzUm93cz86IHN0cmluZztcbiAgaWdub3JlQ2xpY2tJdGVtVW5DaGVja2VkPzogYm9vbGVhbjtcbiAgY2xhc3NMYWJlbEluY2x1ZGU/OiBzdHJpbmc7XG4gIGZpZWxkR2V0TGlua0ltYWdlRXJyb3I/OiBzdHJpbmc7XG4gIHpJbmRleFBvcG92ZXI/OiBudW1iZXI7XG4gIGNsYXNzSXRlbUluY2x1ZGU/OiBzdHJpbmc7XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGNsYXNzQ2hlY2tib3hJdGVtSW5jbHVkZT86IHN0cmluZztcbiAgaWdub3JlSXRlbVdpZHRoMTAwPzogYm9vbGVhbjtcbiAgY2xhc3NJbmNsdWRlTGFzdFZpZXdJdGVtPzogc3RyaW5nO1xuICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIGF1dG9TY3JvbGxUb0l0ZW1TZWxlY3RlZD86IGJvb2xlYW47XG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbVRleHRSb3cge1xuICBjbGFzc1Jvdz86IHN0cmluZztcbiAgY2xhc3NJdGVtU2VsZWN0ZWQ/OiBzdHJpbmc7XG4gIGdldFZhbHVlPzogKGl0ZW06IGFueSwgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSkgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjbGFzc0dldFZhbHVlPzogc3RyaW5nO1xuICBjbGFzc0NvbHM/OiBzdHJpbmc7XG4gIGNvbHM/OiBXcml0YWJsZVNpZ25hbDxBcnJheTxXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1UZXh0Q29sPj4+O1xuICBnZXRSb3dTdHlsZXNEeW5hbWljQ29scz86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgYWN0aW9uPzogKGl0ZW06IGFueSkgPT4gdm9pZDtcbiAgZ2V0SW1hZ2U/OiAoaXRlbTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRDbGFzc0ltYWdlPzogKGl0ZW06IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0SW1hZ2VFcnJvcj86IChpdGVtOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldFBvcG92ZXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPElQb3BvdmVyT3ZlcmxheT47XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcge1xuICB2YWx1ZT86IGFueTtcbiAgaXRlbT86IGFueTtcbiAgb3RoZXJEYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbVRleHRDb2wge1xuICBnZXRDbGFzc0NvbD86IChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZ2V0VmFsdWU/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZywgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSwgaW5kZXhSb3c/OiBudW1iZXIsIGluZGV4Q29sPzogbnVtYmVyKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldFBvcG92ZXI/OiAoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgYWN0aW9uPzogKGl0ZW06IGFueSkgPT4gdm9pZDtcbiAgZ2V0SW1hZ2U/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldENsYXNzSW1hZ2U/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlRXJyb3I/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldENvbmZpZ0JhZGdlPzogKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gSUJhZGdlIHwgdW5kZWZpbmVkO1xuICBnZXRTdHlsZXNEeW5hbWljQ29sPzogKGRhdGE6IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0QnV0dG9uPzogKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gSUJ1dHRvbiB8IHVuZGVmaW5lZDtcbiAgZ2V0TGFiZWxTd2l0Y2g/OiAoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBJTGFiZWwgfCB1bmRlZmluZWQ7XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbUdyb3VwIHtcbiAgZmxhdEl0ZW1zU3VwcG9ydEF1dG9TZWxlY3Q/OiAoZGF0YTogQXJyYXk8YW55PikgPT4gQXJyYXk8YW55PjsgLy8gc+G7rSBk4bulbmcga2hpIG114buRbiBt4bq3YyDEkeG7i25oIHNlbGVjdGVkIHThuqV0IGPhuqMgY8OhYyBrZXkgdHJvbmcgZ3JvdXBcbiAgZmllbGRLZXk/OiBzdHJpbmc7XG4gIGlzVmlld1JhZGlvPzogYm9vbGVhbjtcbiAgdGltZUludGVydmFsQ2FsY3VsYXRvckhlaWdodD86IG51bWJlcjsgLy8gdHLGsMahzIBuZyBoxqHMo3AgdHJvbmcgcGFnZSBuaGnDqsyAdSBsaXN0IHRoYW0gc8O0zIEgbmHMgHkgc2XMgyB0aGF5IMSRw7TMiWkgdHXMgHkgdMawzIBuZyB0csawxqHMgG5nIGjGocyjcFxuICBjb25maWdCdXR0b25TZWxlY3RBbmRVbmRTZWxlY3RJdGVtPzogV3JpdGFibGVTaWduYWw8e1xuICAgIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgICBidXR0b25DaGVja0FsbD86IElCdXR0b247XG4gICAgYnV0dG9uVW5jaGVja0FsbD86IElCdXR0b247XG4gIH0+O1xuICBjb25maWdDaGVja2JveENoZWNrQWxsPzogV3JpdGFibGVTaWduYWw8SUNoZWNrYm94SXRlbT47XG4gIGNsYXNzSW5jbHVkZUhhc0NvbmZpZ0NoZWNrQm94QWxsPzogc3RyaW5nO1xuICBnZXRMYWJlbFNlYXJjaD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gSMOgbSB0w7l5IGNo4buJbmggZ2nDoSB0cuG7iyB0w6xtIGtp4bq/bTpraGkgbXXhu5FuIHTDrG0ga2nhur9tIHRoZW8gbmhp4buBdSB0csaw4budbmcgbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0csaw4budbmcgKHbDrSBk4bulOiB0w6xtIGtp4bq/bSBj4bqjIG3DoyB2w6AgdMOqbiBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4pXG4gIGdldExhYmVsR3JvdXA6IChncm91cDogYW55KSA9PiBzdHJpbmc7XG4gIGdldEV4cGFuZEdyb3VwPzogKGdyb3VwOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldFBvcG92ZXJHcm91cD86IChncm91cDogYW55KSA9PiBzdHJpbmc7XG4gIGdldE1heExldmVsR3JvdXA6IChncm91cDogYW55KSA9PiBudW1iZXI7XG4gIGdldERlc2NyaXB0aW9uR3JvdXBXaGVuTm9EYXRhPzogKGdyb3VwOiBhbnkpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZ2V0QnV0dG9uR3JvdXA/OiAoZ3JvdXA6IGFueSkgPT4gSUJ1dHRvbjtcbiAgZ2V0SWNvbkVtcHR5RGF0YUluR3JvdXA/OiAoZ3JvdXA6IGFueSkgPT4gYm9vbGVhbjsgLy8gaGnhu4NuIHRo4buLIGltYWdlIGVtcHR5IHRyb25nIHThu6tuZyBncm91cFxuICBnZXRDb21wb25lbnRPdXRsZXRHcm91cD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXRHcm91cD86IFRZUEVfRlVOQ1RJT047XG4gIGlnbm9yZUNoZWNrYm94R3JvdXA/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGVOb2RhdGE/OiBzdHJpbmc7XG4gIGNsYXNzSW5jbHVkZUdyb3VwPzogc3RyaW5nO1xuICBpZ25vcmVSYWRpb0dyb3VwPzogYm9vbGVhbjtcbiAgaWdub3JlVGV4dFVwcGVyY2FzZUxhYmVsR3JvdXA/OiBib29sZWFuO1xuICBpZ25vcmVHcm91cExpbmU/OiBib29sZWFuO1xuICBtYXJnaW5Ub3BIYXNMaW5lPzogbnVtYmVyO1xuICBpZ25vcmVDbGlja0xhYmVsR3JvdXA/OiBib29sZWFuO1xuXG4gIGZpZWxkR2V0SXRlbXM6IHN0cmluZztcbiAgZmllbGRHZXRBdmF0YXJJdGVtPzogc3RyaW5nO1xuICBpbWdUeXBlSWNvbj86IGJvb2xlYW47XG4gIGNsYXNzSW1hZ2VJbmNsdWRlPzogc3RyaW5nO1xuICBpc1ZpZXdUcmVlPzogYm9vbGVhbjtcbiAgaXNWaWV3VHJlZUpzb24/OiBib29sZWFuO1xuICBnZXRMYWJlbEl0ZW06IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgZ2V0UG9wb3Zlckl0ZW0/OiAoaXRlbTogYW55KSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgYWN0aW9uUG9wb3ZlckJ5SXRlbT86IChpdGVtOiBhbnksIGV2ZW50OiBUWVBFX1BPUE9WRVJfRVZFTlQpID0+IHZvaWQ7XG4gIGdldEV4cGFuZEl0ZW0/OiAoZ3JvdXA6IGFueSkgPT4gYm9vbGVhbjtcbiAgZ2V0Qm9udXNQYWRkaW5nTGVmdEl0ZW0/OiAoaXRlbTogYW55LCBwYXJlbnRJdGVtPzogYW55KSA9PiBudW1iZXI7XG4gIGdldENsYXNzSW5jbHVkZUl0ZW1Ob0RhdGE/OiAoaXRlbTogYW55LCBwYXJlbnRJdGVtPzogYW55KSA9PiBzdHJpbmc7XG4gIGdldENvbXBvbmVudE91dGxldEl0ZW0/OiAoKSA9PiBPYnNlcnZhYmxlPExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfCBhbnk+O1xuICBnZXREYXRhQ29tcG9uZW50T3V0bGV0SXRlbT86IFRZUEVfRlVOQ1RJT047XG4gIGdldElzQWNjZXB0U2VsZWN0SXRlbT86IChpdGVtOiBhbnksIHBhcmVudEl0ZW0/OiBhbnkpID0+IGJvb2xlYW47XG4gIGlnbm9yZUNoZWNrYm94SXRlbT86IGJvb2xlYW47XG4gIGlnbm9yZVJhZGlvSXRlbT86IGJvb2xlYW47XG4gIG5vdENoYW5nZVN0YXRlSXRlbUNoZWNrT3RoZXI/OiBib29sZWFuOyAvLyBz4butIGThu6VuZyBjaG8gdHLGsOG7nW5nIGjhu6NwIGRhbmggbeG7pWMgc+G6o24gcGjhuqltIGtoaSBi4buPIGNo4buNbiAxIG5vZGUgdGjDrCBjw6FjIG5vZGUgY2hhIHbDoCBjb24ga2jDtG5nIOG6o25oIGjGsOG7n25nXG4gIHNlYXJjaEFsbExldmVsPzogYm9vbGVhbjsgLy8gbuG6v3UgYuG6rXQgc2VhcmNoIGFsbCBsZXZlbCB0aMOsIGtoaSB0w6xtIHThuqV0IGPhuqMgY8OhYyBncm91cCBraMO0bmcgcGjDuSBo4bujcCB24bubaSBrZXkgc2VhcmNoIHPhur0gYuG7iyDhuqluLCBrbyBwaMOibiBiaeG7h3QgY+G6pXAgYuG6rWNcbiAgZW1pdEFsbEl0ZW1DaGVja2VkPzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGRhbmggbeG7pWMgc+G6o24gcGjhuqltXG4gIHNpbmdsZVNlbGVjdEl0ZW0/OiBib29sZWFuOyAvLyBz4butIGThu6VuZyBraGkgY2jhu4kgbXXhu5FuIGNo4buNbiBub2RlIOG7nyBsZXZlbCBjdeG7kWkgY8O5bmdcbiAgc2luZ2xlU2VsZWN0SXRlbUJ5VHJlZT86IGJvb2xlYW47IC8vdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGhhc0ljb25DaGVja1NpbmdsZVNlbGVjdEl0ZW0/OiBib29sZWFuO1xuICBjb2xvckJsdWVXaGVuSXRlbVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgaGFzQmFja2dyb3VuZENvbG9yV2hlbkl0ZW1TZWxlY3RlZD86IGJvb2xlYW47XG4gIGljb25FeHBhbmQ6ICcnIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgaWdub3JlSWNvbkV4cGFuZE1hcmdpblJpZ2h0PzogYm9vbGVhbjtcbiAgb25seVNlbGVjdEZpcnN0SXRlbT86IGJvb2xlYW47XG4gIGlnbm9yZUNob29zZVBhcmVudFRoZW5BdXRvQ2hvb3NlQ2hpbGRyZW4/OiBib29sZWFuOyAvLyB0aGFtIGto4bqjbyB0csaw4budbmcgaOG7o3AgZMOybmcgc+G6o24gcGjhuqltIGPhu6dhIGJhbmtcbiAgY2hvb3NlQ2hpbGRUaGVuQXV0b0Nob29zZVBhcmVudD86IGJvb2xlYW47IC8vIHRoYW0ga2jhuqNvIHRyxrDhu51uZyBo4bujcCBkw7JuZyBz4bqjbiBwaOG6qW0gY+G7p2EgYmFua1xuICBpZ25vcmVVbnNlbGVjdENoaWxkcmVuUmVtb3ZlU2VsZWN0UGFyZW50PzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGlnbm9yZUVtaXRBbGxJdGVtQ2hlY2tlZFdoZW5DaG9vc2VDaGlsZFRoZW5BdXRvQ2hvb3NlUGFyZW50PzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGRpc2FibGVJdGVtTm90TGFzdExldmVsPzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGNsYXNzTGFiZWxJdGVtPzogc3RyaW5nO1xuICBhbGxvd0Rpc2FibGVMYWJlbD86IGJvb2xlYW47XG4gIHpJbmRleExhYmVsPzogbnVtYmVyO1xuICBleHBhbmRGaXJzdEl0ZW0/OiBib29sZWFuO1xuICB3aWR0aExhYmVsU3ViMjRXaGVuTm90VHJlZVZpZXc/OiBib29sZWFuOyAvLyB3aWR0aCBsYWJlbCBpdGVtIHRy4burIDI0cHgga2hpIGtow7RuZyBwaOG6o2kgZOG6oW5nIHRyZWV2aWV3LFxuICBjbGFzc0luY2x1ZGVJdGVtPzogc3RyaW5nO1xuICBnZXRDbGFzc0luY2x1ZGVJdGVtQ29udGVudD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gdHJ1eeG7gW4gY2xhc3MgY2hvIGl0ZW1cbiAgZ2V0TGlua0ltYWdlRXJyb3I/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlPzogKGl0ZW06IGFueSkgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRBdmF0YXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBJQXZhdGFyQ29uZmlnO1xuICBnZXRJY29uSW1hZ2VDbGFzcz86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlTGFzdEl0ZW0/OiBzdHJpbmc7XG4gIGF1dG9Db3VudFdoZW5Hcm91cEVtcHR5SXRlbUxldmVsMT86IGJvb2xlYW47IC8vIFRyxrDhu51uZyBo4bujcCBjaOG7iSBjw7MgMSBncm91cCBpdGVtIHbDoCBzdWJfaXRlbSBlbXB0eSwgc2V0ID0gdHJ1ZSB0xINuZyBjaGnhu4F1IGNhbyBwb3B1cCDEkeG7gyBuaMOsbiB0aOG6pXkgZW1wdHkgdGV4dCAoVGhhbSBraOG6o28gZHJvcGRvd24gY2jhu41uIGxv4bqhaSBz4bqjbiBwaOG6qW0gYmFuayBraGkgZ+G6r24gZMOybmcvIGxv4bqhaSBz4bqjbiBwaOG6qW0pXG4gIGlnbm9yZUNoYW5nZUNoaWxkcmVuRGlzYWJsZVdoZW5DaGFuZ2VQYXJlbnQ/OiBib29sZWFuO1xuICBpZ25vcmVGaXhIZWlnaHRJdGVtPzogYm9vbGVhbjsgLy8gbuG6v3UgYuG6rXQgdGjDrCBraMO0bmcgZml4IGNoaeG7gXUgY2FvIGl0ZW1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnRGVzY3JpcHRpb25Hcm91cCB7XG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgdG9vbHRpcERlc2NyaXB0aW9uPzogV3JpdGFibGVTaWduYWw8SVBvcG92ZXJPdmVybGF5PjtcbiAgdGV4dERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNsYXNzVGV4dERlc2NyaXB0aW9uSW5jbHVkZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEVOVU1fT1BUSU9OU19HRVRfTElTVF9HUk9VUF9DT05GSUcgPSBbXG4gICdncm91cF90cmVlX2NoZWNrYm94XzEnLFxuICAnZ3JvdXBfdHJlZV9jaGVja2JveF8yJyxcbiAgJ2dyb3VwX3RyZWVfcmFkaW9fMScsXG4gICdncm91cF90cmVlX3JhZGlvXzInLFxuICAnZ3JvdXBfdHJlZV90ZXh0XzEnLFxuICAnZ3JvdXBfdHJlZV90ZXh0XzInLFxuICAnZ3JvdXBfbGFiZWxfY2hlY2tib3hfMScsXG4gICdncm91cF9sYWJlbF90ZXh0XzEnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ09ORklHX0xJU1RfR1JPVVBfVFlQRSA9IHR5cGVvZiBFTlVNX09QVElPTlNfR0VUX0xJU1RfR1JPVVBfQ09ORklHW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfTElTVF9HUk9VUF9SRUxBVElPTlNISVBfUEFSRU5UX0NISUxEX1RZUEVTID0gW1xuICAnY2hpbGRfc2VsZWN0aW9uX3RyaWdnZXJzX3BhcmVudF9zZWxlY3Rpb24nLFxuICAncGFyZW50X3NlbGVjdGlvbl90cmlnZ2Vyc19hbGxfY2hpbGRyZW4nLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ09ORklHX0xJU1RfR1JPVVBfUkVMQVRJT05TSElQX1BBUkVOVF9DSElMRF9UWVBFID0gdHlwZW9mIENPTkZJR19MSVNUX0dST1VQX1JFTEFUSU9OU0hJUF9QQVJFTlRfQ0hJTERfVFlQRVNbbnVtYmVyXTtcblxuLy8gQ8OhYyBmaWVsZCDEkcaw4bujYyBjaG8gcGjDqXAgb3ZlcnJpZGVcbmV4cG9ydCB0eXBlIEFMTE9XRURfR1JPVVBfT1ZFUlJJREVTX1RZUEUgPSBQaWNrPFxuICBJTGlzdENvbmZpZ0l0ZW1Hcm91cCxcbiAgfCAnZmllbGRLZXknXG4gIHwgJ2ZpZWxkR2V0SXRlbXMnXG4gIHwgJ2dldExhYmVsR3JvdXAnXG4gIHwgJ2dldExhYmVsSXRlbSdcbiAgfCAnZ2V0TWF4TGV2ZWxHcm91cCdcbj47Il19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWl0ZW0uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2xpc3Qvc3JjL2ludGVyZmFjZXMvY29uZmlnLWl0ZW0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNSQSxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCx1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsb0JBQW9CO0NBQ1osQ0FBQztBQUlYLE1BQU0sQ0FBQyxNQUFNLGlEQUFpRCxHQUFHO0lBQy9ELDJDQUEyQztJQUMzQyx3Q0FBd0M7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQXZhdGFyQ29uZmlnIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1hdmF0YXInO1xuaW1wb3J0IHsgSUJhZGdlIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1iYWRnZSc7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1idXR0b25zLWJ1dHRvbic7XG5pbXBvcnQgeyBJU29ydCB9IGZyb20gJ0BsaWJzLXVpL2NvbXBvbmVudHMtYnV0dG9ucy1zb3J0JztcbmltcG9ydCB7IElDaGVja2JveEl0ZW0gfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWNoZWNrYm94LWdyb3VwJztcbmltcG9ydCB7IExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLWNvbXBvbmVudC1vdXRsZXQnO1xuaW1wb3J0IHsgSUxhYmVsIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1sYWJlbCc7XG5pbXBvcnQgeyBJUG9wb3ZlciwgSVBvcG92ZXJPdmVybGF5LCBUWVBFX1BPUE9WRVJfRVZFTlQsIFRZUEVfUE9QT1ZFUl9UWVBFIH0gZnJvbSAnQGxpYnMtdWkvY29tcG9uZW50cy1wb3BvdmVyJztcbmltcG9ydCB7IFRZUEVfRlVOQ1RJT04sIFRZUEVfT0JKRUNUIH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgeyBJSHR0cFJlcXVlc3RDb25maWcgfSBmcm9tICdAbGlicy11aS9zZXJ2aWNlcy1odHRwLXJlcXVlc3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVFlQRV9URU1QTEFURSB9IGZyb20gJy4vdGVtcGxhdGVzLXR5cGUudHlwZSc7XG5cbmV4cG9ydCB0eXBlIFRZUEVfTElTVF9JVEVNID0gV3JpdGFibGVTaWduYWw8VFlQRV9PQkpFQ1Q+O1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbSB7XG4gIHR5cGU6IFRZUEVfVEVNUExBVEU7XG4gIGh0dHBSZXF1ZXN0RGF0YT86IFdyaXRhYmxlU2lnbmFsPElIdHRwUmVxdWVzdENvbmZpZz47XG4gIGNvbmZpZ1RlbXBsYXRlVGV4dD86IFdyaXRhYmxlU2lnbmFsPElMaXN0Q29uZmlnSXRlbVRleHQ+O1xuICBjb25maWdUZW1wbGF0ZVJhZGlvPzogV3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtUmFkaW8+O1xuICBjb25maWdUZW1wbGF0ZUNoZWNrYm94PzogV3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtQ2hlY2tib3g+O1xuICBjb25maWdUZW1wbGF0ZUdyb3VwPzogV3JpdGFibGVTaWduYWw8SUxpc3RDb25maWdJdGVtR3JvdXA+O1xuICBjb25maWdUZW1wbGF0ZVRhZz86IFdyaXRhYmxlU2lnbmFsPElMaXN0Q29uZmlnSXRlbVRhZz47XG4gIGNvbmZpZ0Rlc2NyaXB0aW9uR3JvdXA/OiBXcml0YWJsZVNpZ25hbDxJQ29uZmlnRGVzY3JpcHRpb25Hcm91cD47XG4gIHRleHROb0RhdGE/OiBzdHJpbmc7XG4gIHRleHROb0RhdGFDbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gIHRleHRTZWFyY2hOb0RhdGE/OiBzdHJpbmc7XG4gIGF1dG9TZWxlY3RGaXJzdEl0ZW0/OiBib29sZWFuOyAvLyBu4bq/dSBuaMawIGPDsyBk4buvIGxp4buHdSBtw6AgY2jGsGEgY8OzIGtleVNlbGVjdGVkIHRow6wgc+G6vSB04buxIMSR4buZbmcgY2jhu41uIHBo4bqnbiB04burIMSR4bqndSB0acOqbjtcbiAgYmFja2dyb3VuZExpc3RDdXN0b20/OiBzdHJpbmc7XG4gIHBhZGRpbmdMZWZ0SXRlbT86IGJvb2xlYW47XG4gIHNvcnQ/OiAoaXRlbXM6IEFycmF5PGFueT4pID0+IHZvaWQ7XG4gIGhhc0ljb25Ob0RhdGE/OiBib29sZWFuO1xuICBpZ25vcmVTaG93RGF0YVdoZW5Ob3RTZWFyY2g/OiBib29sZWFuO1xuICBpZ25vcmVGaXhIZWlnaHRTaG93RGF0YVdoZW5Ob3RTZWFyY2g/OiBib29sZWFuO1xuICBoaWdobGlnaHRUZXh0U2VhcmNoSW5SZXN1bHQ/OiBib29sZWFuO1xuICBoZWlnaHRJdGVtPzogbnVtYmVyO1xuICBtaW5IZWlnaHRJdGVtPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbVRleHQge1xuICBmaWVsZEtleTogc3RyaW5nO1xuICBnZXRWYWx1ZT86IChpdGVtOiBhbnksIGl0ZW1WaWV3SW5MaXN0PzogVFlQRV9MSVNUX0lURU0pID0+IHN0cmluZztcbiAgZ2V0TGFiZWxTZWFyY2g/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7IC8vIEjDoG0gdMO5eSBjaOG7iW5oIGdpw6EgdHLhu4sgdMOsbSBraeG6v206IGLhuq90IGJ14buZYyBraGkgc+G7rSBk4bulbmcgY29uZmlnIHJvd3MgxJHhu4MgeMOieSBk4buxbmcgY2h14buXaSB0w6xtIGtp4bq/bSwgaG/hurdjIGtoaSBtdeG7kW4gdMOsbSBraeG6v20gdGhlbyBuaGnhu4F1IHRyxrDhu51uZyBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIG3hu5l0IHRyxrDhu51uZyAodsOtIGThu6U6IHTDrG0ga2nhur9tIGPhuqMgbcOjIHbDoCB0w6puIG5oxrBuZyBjaOG7iSBoaeG7g24gdGjhu4sgdMOqbilcbiAgZmllbGRHZXRJbWFnZT86IHN0cmluZzsgLy8gVMOqbiB0csaw4budbmcgY2jhu6lhIMSRxrDhu51uZyBk4bqrbiBow6xuaCDhuqNuaCB0cm9uZyBk4buvIGxp4buHdSBpdGVtXG4gIGNsYXNzSW5jbHVkZUltYWdlPzogc3RyaW5nO1xuICBnZXRJbWFnZT86IChkYXRhOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlRXJyb3I/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBpbWdUeXBlSWNvbj86IGJvb2xlYW47XG4gIGlnbm9yZUljb25TZWxlY3RlZD86IGJvb2xlYW47XG4gIGNsYXNzSW5jbHVkZUljb25TZWxlY3RlZD86IHN0cmluZztcbiAgaWdub3JlU2hvd0ZpZWxkTGFiZWw/OiBib29sZWFuO1xuICBnZXRIcmVmQnV0dG9uPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuICBnZXRDbGFzc0l0ZW0/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIGdldENsYXNzSW5jbHVkZVBvcG92ZXI/OiAoaXRlbTogYW55KSA9PiBzdHJpbmc7XG4gIGdldENvbmZpZ0J1dHRvbkxlZnQ/OiAoaXRlbTogYW55KSA9PiBJQnV0dG9uO1xuICBnZXRDbGFzc0ljb25MZWZ0PzogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuICBnZXRDb25maWdIb3ZlckRhbmdlcj86IChpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldFBvcG92ZXI/OiAoaXRlbTogYW55KSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgcm93cz86IFdyaXRhYmxlU2lnbmFsPEFycmF5PFdyaXRhYmxlU2lnbmFsPElMaXN0Q29uZmlnSXRlbVRleHRSb3c+Pj47XG4gIGNsYXNzUm93c1dyYXBwZXI/OiBzdHJpbmc7XG4gIGNsYXNzUm93cz86IHN0cmluZztcbiAgY29uZmlnTGFiZWxQb3BvdmVyPzogV3JpdGFibGVTaWduYWw8SVBvcG92ZXJPdmVybGF5PjtcbiAgYXV0b1Njcm9sbFRvSXRlbVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgaXRlbVNvcnQ/OiBXcml0YWJsZVNpZ25hbDxJU29ydD47IC8vIGJp4bq/biBsxrB1IHRy4buvIGl0ZW0gc29ydFxuICBhY3Rpb25Tb3J0PzogKGl0ZW1Tb3J0OiBJU29ydCkgPT4gdm9pZDsgLy8gc2V0IGjDoG0gbsOgeSBu4bq/dSBtdeG7kW4gYuG6rXQgc29ydCB0csOqbiBsaXN0XG4gIG5vdFVzZVZpcnR1YWxTY3JvbGw/OiBib29sZWFuOyAvLyBz4butIGThu6VuZyBjaG8gdHLGsOG7nW5nIGjhu6NwIGNvbmZpZyBiYWRnZSB0cm9uZyB0YWJsZVxuICBnZXRBdmF0YXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBJQXZhdGFyQ29uZmlnO1xuICBnZXRDb25maWdBbGlnblN0YXJ0PzogKGl0ZW06IGFueSkgPT4gYm9vbGVhbjtcbiAgc3R5bGVQYWRkaW5nUmlnaHRJdGVtT3RoZXI/OiBib29sZWFuO1xuXG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbVRhZyBleHRlbmRzIElMaXN0Q29uZmlnSXRlbVRleHQge1xuICBmaWVsZEtleTogc3RyaW5nO1xuICBpZ25vcmVJdGVtRmxleFdyYXA/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGVDb250YWluZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RDb25maWdJdGVtUmFkaW8ge1xuICBmaWVsZEtleTogc3RyaW5nO1xuICBmaWVsZEdldEltYWdlPzogc3RyaW5nO1xuICBjbGFzc0luY2x1ZGVJbWFnZT86IHN0cmluZztcbiAgaGFzQXZhdGFyUGFnZXNTb2NpYWw/OiBib29sZWFuO1xuICBoYXNBdmF0YXJHcm91cFNvY2lhbD86IGJvb2xlYW47XG4gIGdldFZhbHVlPzogKGl0ZW06IGFueSwgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSkgPT4gc3RyaW5nO1xuICBnZXRMYWJlbFNlYXJjaD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gSMOgbSB0w7l5IGNo4buJbmggZ2nDoSB0cuG7iyB0w6xtIGtp4bq/bTogYuG6r3QgYnXhu5ljIGtoaSBz4butIGThu6VuZyBjb25maWcgcm93cyDEkeG7gyB4w6J5IGThu7FuZyBjaHXhu5dpIHTDrG0ga2nhur9tLCBob+G6t2Mga2hpIG114buRbiB0w6xtIGtp4bq/bSB0aGVvIG5oaeG7gXUgdHLGsOG7nW5nIG5oxrBuZyBjaOG7iSBoaeG7g24gdGjhu4sgbeG7mXQgdHLGsOG7nW5nICh2w60gZOG7pTogdMOsbSBraeG6v20gY+G6oyBtw6MgdsOgIHTDqm4gbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyB0w6puKVxuICBnZXRQb3BvdmVyPzogKGl0ZW06IGFueSkgPT4gSVBvcG92ZXIgfCB1bmRlZmluZWQ7XG4gIHJvd1NhbWVMaW5lUmFkaW8/OiBib29sZWFuOyAvLyBu4bq/dSBi4bqtdCB0aMOsIHJhZGlvIHbDoCBsYWJlbCBz4bq9IGhp4buDbiB0aOG7iyBjw7luZyAxIGjDoG5nXG4gIHJvd3M/OiBXcml0YWJsZVNpZ25hbDxBcnJheTxXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1UZXh0Um93Pj4+O1xuICBjbGFzc1Jvd3NXcmFwcGVyPzogc3RyaW5nO1xuICBjbGFzc1Jvd3M/OiBzdHJpbmc7XG4gIGF1dG9TY3JvbGxUb0l0ZW1TZWxlY3RlZD86IGJvb2xlYW47XG4gIHpJbmRleFBvcG92ZXI/OiBudW1iZXI7XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENsYXNzSXRlbT86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgY2xhc3NJdGVtSW5jbHVkZT86IHN0cmluZztcbiAgZ2V0SW1hZ2U/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRJbWFnZUVycm9yPzogKGRhdGE6IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0Q29tcG9uZW50T3V0bGV0PzogKCkgPT4gT2JzZXJ2YWJsZTxMaWJzVWlDb21wb25lbnRzQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IHwgYW55PjtcbiAgZ2V0RGF0YUNvbXBvbmVudE91dGxldD86IFRZUEVfRlVOQ1RJT047XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RDb25maWdJdGVtQ2hlY2tib3gge1xuICBhdXRvU2VsZWN0QWxsSXRlbT86IGJvb2xlYW47IC8vIGRyb3Bkb3duIG7hur91IG5oxrAgY8OzIGThu68gbGnhu4d1IG3DoCBjaMawYSBjw7MgbXVsdGlLZXlTZWxlY3RlZCB0aMOsIHPhur0gdOG7sSDEkeG7mW5nIGNo4buNbiBwaOG6p24gdOG7qyDEkeG6p3UgdGnDqm47XG4gIGNsYXNzTGlzdEluY2x1ZGU/OiBzdHJpbmc7XG4gIGh0dHBSZXF1ZXN0QWxsSWRTZWxlY3RPclVuU2VsZWN0PzogV3JpdGFibGVTaWduYWw8SUh0dHBSZXF1ZXN0Q29uZmlnPjtcbiAgY29uZmlnQnV0dG9uU2VsZWN0QW5kVW5kU2VsZWN0SXRlbT86IFdyaXRhYmxlU2lnbmFsPHtcbiAgICBjbGFzc0luY2x1ZGU/OiBzdHJpbmc7XG4gICAgYnV0dG9uQ2hlY2tBbGw/OiBJQnV0dG9uO1xuICAgIGJ1dHRvblVuY2hlY2tBbGw/OiBJQnV0dG9uO1xuICB9PjtcbiAgY29uZmlnQ2hlY2tib3hDaGVja0FsbD86IFdyaXRhYmxlU2lnbmFsPElDaGVja2JveEl0ZW0+O1xuICBjbGFzc0luY2x1ZGVIYXNDb25maWdDaGVja0JveEFsbD86IHN0cmluZztcbiAgZmllbGRLZXk6IHN0cmluZztcbiAgZ2V0VmFsdWU/OiAoaXRlbTogYW55LCBpdGVtVmlld0luTGlzdD86IFRZUEVfTElTVF9JVEVNKSA9PiBzdHJpbmc7XG4gIGdldExhYmVsU2VhcmNoPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nOyAvLyBIw6BtIHTDuXkgY2jhu4luaCBnacOhIHRy4buLIHTDrG0ga2nhur9tOiBi4bqvdCBideG7mWMga2hpIHPhu60gZOG7pW5nIGNvbmZpZyByb3dzIMSR4buDIHjDonkgZOG7sW5nIGNodeG7l2kgdMOsbSBraeG6v20sIGhv4bq3YyBraGkgbXXhu5FuIHTDrG0ga2nhur9tIHRoZW8gbmhp4buBdSB0csaw4budbmcgbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0csaw4budbmcgKHbDrSBk4bulOiB0w6xtIGtp4bq/bSBj4bqjIG3DoyB2w6AgdMOqbiBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4pXG4gIGdldFBvcG92ZXI/OiAoaXRlbTogYW55KSA9PiBJUG9wb3ZlcjtcbiAgZ2V0Q2xhc3NJdGVtPzogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuICBnZXRJbWFnZT86IChkYXRhOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlRXJyb3I/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBmaWVsZEdldEltYWdlPzogc3RyaW5nO1xuICBoYXNBdmF0YXJQYWdlc1NvY2lhbD86IGJvb2xlYW47XG4gIGhhc0F2YXRhckdyb3VwU29jaWFsPzogYm9vbGVhbjtcbiAgY2xhc3NJbmNsdWRlSW1hZ2U/OiBzdHJpbmc7XG4gIHJvd1NhbWVMaW5lQ2hlY2tib3g/OiBib29sZWFuOyAvLyBu4bq/dSBi4bqtdCB0aMOsIGNoZWNrYm94IHbDoCBsYWJlbCBz4bq9IGhp4buDbiB0aOG7iyBjw7luZyAxIGjDoG5nXG4gIHJvd3M/OiBXcml0YWJsZVNpZ25hbDxBcnJheTxXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1UZXh0Um93Pj4+O1xuICBjbGFzc1Jvd3NXcmFwcGVyPzogc3RyaW5nO1xuICBjbGFzc1Jvd3M/OiBzdHJpbmc7XG4gIGlnbm9yZUNsaWNrSXRlbVVuQ2hlY2tlZD86IGJvb2xlYW47XG4gIGNsYXNzTGFiZWxJbmNsdWRlPzogc3RyaW5nO1xuICBmaWVsZEdldExpbmtJbWFnZUVycm9yPzogc3RyaW5nO1xuICB6SW5kZXhQb3BvdmVyPzogbnVtYmVyO1xuICBjbGFzc0l0ZW1JbmNsdWRlPzogc3RyaW5nO1xuICBnZXRBdmF0YXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBJQXZhdGFyQ29uZmlnO1xuICBjbGFzc0NoZWNrYm94SXRlbUluY2x1ZGU/OiBzdHJpbmc7XG4gIGlnbm9yZUl0ZW1XaWR0aDEwMD86IGJvb2xlYW47XG4gIGNsYXNzSW5jbHVkZUxhc3RWaWV3SXRlbT86IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlPzogc3RyaW5nO1xuICBhdXRvU2Nyb2xsVG9JdGVtU2VsZWN0ZWQ/OiBib29sZWFuO1xuICBnZXRDb21wb25lbnRPdXRsZXQ/OiAoKSA9PiBPYnNlcnZhYmxlPExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfCBhbnk+O1xuICBnZXREYXRhQ29tcG9uZW50T3V0bGV0PzogVFlQRV9GVU5DVElPTjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGlzdENvbmZpZ0l0ZW1UZXh0Um93IHtcbiAgY2xhc3NSb3c/OiBzdHJpbmc7XG4gIGNsYXNzTGFiZWxSb3c/OiBzdHJpbmc7XG4gIHR5cGVQb3BvdmVyTGFiZWw/OiBUWVBFX1BPUE9WRVJfVFlQRTtcbiAgY2xhc3NJdGVtU2VsZWN0ZWQ/OiBzdHJpbmc7XG4gIGdldFZhbHVlPzogKGl0ZW06IGFueSwgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSkgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjbGFzc0dldFZhbHVlPzogc3RyaW5nO1xuICBjbGFzc0NvbHM/OiBzdHJpbmc7XG4gIGNvbHM/OiBXcml0YWJsZVNpZ25hbDxBcnJheTxXcml0YWJsZVNpZ25hbDxJTGlzdENvbmZpZ0l0ZW1UZXh0Q29sPj4+O1xuICBnZXRSb3dTdHlsZXNEeW5hbWljQ29scz86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgYWN0aW9uPzogKGl0ZW06IGFueSkgPT4gdm9pZDtcbiAgZ2V0SW1hZ2U/OiAoaXRlbTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRDbGFzc0ltYWdlPzogKGl0ZW06IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0SW1hZ2VFcnJvcj86IChpdGVtOiBJRGF0YUZ1bmN0aW9uQ2FsbEluQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldFBvcG92ZXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPElQb3BvdmVyT3ZlcmxheT47XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcge1xuICB2YWx1ZT86IGFueTtcbiAgaXRlbT86IGFueTtcbiAgb3RoZXJEYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbVRleHRDb2wge1xuICBnZXRDbGFzc0NvbD86IChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZ2V0VmFsdWU/OiAoZGF0YTogSURhdGFGdW5jdGlvbkNhbGxJbkNvbmZpZywgaXRlbVZpZXdJbkxpc3Q/OiBUWVBFX0xJU1RfSVRFTSwgaW5kZXhSb3c/OiBudW1iZXIsIGluZGV4Q29sPzogbnVtYmVyKSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldFBvcG92ZXI/OiAoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgYWN0aW9uPzogKGl0ZW06IGFueSkgPT4gdm9pZDtcbiAgZ2V0SW1hZ2U/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldENsYXNzSW1hZ2U/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlRXJyb3I/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldENvbmZpZ0JhZGdlPzogKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gSUJhZGdlIHwgdW5kZWZpbmVkO1xuICBnZXRTdHlsZXNEeW5hbWljQ29sPzogKGRhdGE6IElEYXRhRnVuY3Rpb25DYWxsSW5Db25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0QnV0dG9uPzogKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gSUJ1dHRvbiB8IHVuZGVmaW5lZDtcbiAgZ2V0TGFiZWxTd2l0Y2g/OiAoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiBJTGFiZWwgfCB1bmRlZmluZWQ7XG4gIGdldEF2YXRhckNvbmZpZz86IChpdGVtOiBhbnkpID0+IElBdmF0YXJDb25maWc7XG4gIGdldENvbXBvbmVudE91dGxldD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXQ/OiBUWVBFX0ZVTkNUSU9OO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaXN0Q29uZmlnSXRlbUdyb3VwIHtcbiAgZmxhdEl0ZW1zU3VwcG9ydEF1dG9TZWxlY3Q/OiAoZGF0YTogQXJyYXk8YW55PikgPT4gQXJyYXk8YW55PjsgLy8gc+G7rSBk4bulbmcga2hpIG114buRbiBt4bq3YyDEkeG7i25oIHNlbGVjdGVkIHThuqV0IGPhuqMgY8OhYyBrZXkgdHJvbmcgZ3JvdXBcbiAgZmllbGRLZXk/OiBzdHJpbmc7XG4gIGlzVmlld1JhZGlvPzogYm9vbGVhbjtcbiAgdGltZUludGVydmFsQ2FsY3VsYXRvckhlaWdodD86IG51bWJlcjsgLy8gdHLGsMahzIBuZyBoxqHMo3AgdHJvbmcgcGFnZSBuaGnDqsyAdSBsaXN0IHRoYW0gc8O0zIEgbmHMgHkgc2XMgyB0aGF5IMSRw7TMiWkgdHXMgHkgdMawzIBuZyB0csawxqHMgG5nIGjGocyjcFxuICBjb25maWdCdXR0b25TZWxlY3RBbmRVbmRTZWxlY3RJdGVtPzogV3JpdGFibGVTaWduYWw8e1xuICAgIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgICBidXR0b25DaGVja0FsbD86IElCdXR0b247XG4gICAgYnV0dG9uVW5jaGVja0FsbD86IElCdXR0b247XG4gIH0+O1xuICBjb25maWdDaGVja2JveENoZWNrQWxsPzogV3JpdGFibGVTaWduYWw8SUNoZWNrYm94SXRlbT47XG4gIGNsYXNzSW5jbHVkZUhhc0NvbmZpZ0NoZWNrQm94QWxsPzogc3RyaW5nO1xuICBnZXRMYWJlbFNlYXJjaD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gSMOgbSB0w7l5IGNo4buJbmggZ2nDoSB0cuG7iyB0w6xtIGtp4bq/bTpraGkgbXXhu5FuIHTDrG0ga2nhur9tIHRoZW8gbmhp4buBdSB0csaw4budbmcgbmjGsG5nIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0csaw4budbmcgKHbDrSBk4bulOiB0w6xtIGtp4bq/bSBj4bqjIG3DoyB2w6AgdMOqbiBuaMawbmcgY2jhu4kgaGnhu4NuIHRo4buLIHTDqm4pXG4gIGdldExhYmVsR3JvdXA6IChncm91cDogYW55KSA9PiBzdHJpbmc7XG4gIGdldEV4cGFuZEdyb3VwPzogKGdyb3VwOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldFBvcG92ZXJHcm91cD86IChncm91cDogYW55KSA9PiBzdHJpbmc7XG4gIGdldE1heExldmVsR3JvdXA6IChncm91cDogYW55KSA9PiBudW1iZXI7XG4gIGdldERlc2NyaXB0aW9uR3JvdXBXaGVuTm9EYXRhPzogKGdyb3VwOiBhbnkpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgZ2V0QnV0dG9uR3JvdXA/OiAoZ3JvdXA6IGFueSkgPT4gSUJ1dHRvbjtcbiAgZ2V0SWNvbkVtcHR5RGF0YUluR3JvdXA/OiAoZ3JvdXA6IGFueSkgPT4gYm9vbGVhbjsgLy8gaGnhu4NuIHRo4buLIGltYWdlIGVtcHR5IHRyb25nIHThu6tuZyBncm91cFxuICBnZXRDb21wb25lbnRPdXRsZXRHcm91cD86ICgpID0+IE9ic2VydmFibGU8TGlic1VpQ29tcG9uZW50c0NvbXBvbmVudE91dGxldENvbXBvbmVudCB8IGFueT47XG4gIGdldERhdGFDb21wb25lbnRPdXRsZXRHcm91cD86IFRZUEVfRlVOQ1RJT047XG4gIGlnbm9yZUNoZWNrYm94R3JvdXA/OiBib29sZWFuO1xuICBjbGFzc0luY2x1ZGVOb2RhdGE/OiBzdHJpbmc7XG4gIGNsYXNzSW5jbHVkZUdyb3VwPzogc3RyaW5nO1xuICBpZ25vcmVSYWRpb0dyb3VwPzogYm9vbGVhbjtcbiAgaWdub3JlVGV4dFVwcGVyY2FzZUxhYmVsR3JvdXA/OiBib29sZWFuO1xuICBpZ25vcmVHcm91cExpbmU/OiBib29sZWFuO1xuICBtYXJnaW5Ub3BIYXNMaW5lPzogbnVtYmVyO1xuICBpZ25vcmVDbGlja0xhYmVsR3JvdXA/OiBib29sZWFuO1xuXG4gIGZpZWxkR2V0SXRlbXM6IHN0cmluZztcbiAgZmllbGRHZXRBdmF0YXJJdGVtPzogc3RyaW5nO1xuICBpbWdUeXBlSWNvbj86IGJvb2xlYW47XG4gIGNsYXNzSW1hZ2VJbmNsdWRlPzogc3RyaW5nO1xuICBpc1ZpZXdUcmVlPzogYm9vbGVhbjtcbiAgaXNWaWV3VHJlZUpzb24/OiBib29sZWFuO1xuICBnZXRMYWJlbEl0ZW06IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgZ2V0UG9wb3Zlckl0ZW0/OiAoaXRlbTogYW55KSA9PiBJUG9wb3ZlciB8IHVuZGVmaW5lZDtcbiAgYWN0aW9uUG9wb3ZlckJ5SXRlbT86IChpdGVtOiBhbnksIGV2ZW50OiBUWVBFX1BPUE9WRVJfRVZFTlQpID0+IHZvaWQ7XG4gIGdldEV4cGFuZEl0ZW0/OiAoZ3JvdXA6IGFueSkgPT4gYm9vbGVhbjtcbiAgZ2V0Qm9udXNQYWRkaW5nTGVmdEl0ZW0/OiAoaXRlbTogYW55LCBwYXJlbnRJdGVtPzogYW55KSA9PiBudW1iZXI7XG4gIGdldENsYXNzSW5jbHVkZUl0ZW1Ob0RhdGE/OiAoaXRlbTogYW55LCBwYXJlbnRJdGVtPzogYW55KSA9PiBzdHJpbmc7XG4gIGdldENvbXBvbmVudE91dGxldEl0ZW0/OiAoKSA9PiBPYnNlcnZhYmxlPExpYnNVaUNvbXBvbmVudHNDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfCBhbnk+O1xuICBnZXREYXRhQ29tcG9uZW50T3V0bGV0SXRlbT86IFRZUEVfRlVOQ1RJT047XG4gIGdldElzQWNjZXB0U2VsZWN0SXRlbT86IChpdGVtOiBhbnksIHBhcmVudEl0ZW0/OiBhbnkpID0+IGJvb2xlYW47XG4gIGlnbm9yZUNoZWNrYm94SXRlbT86IGJvb2xlYW47XG4gIGlnbm9yZVJhZGlvSXRlbT86IGJvb2xlYW47XG4gIG5vdENoYW5nZVN0YXRlSXRlbUNoZWNrT3RoZXI/OiBib29sZWFuOyAvLyBz4butIGThu6VuZyBjaG8gdHLGsOG7nW5nIGjhu6NwIGRhbmggbeG7pWMgc+G6o24gcGjhuqltIGtoaSBi4buPIGNo4buNbiAxIG5vZGUgdGjDrCBjw6FjIG5vZGUgY2hhIHbDoCBjb24ga2jDtG5nIOG6o25oIGjGsOG7n25nXG4gIHNlYXJjaEFsbExldmVsPzogYm9vbGVhbjsgLy8gbuG6v3UgYuG6rXQgc2VhcmNoIGFsbCBsZXZlbCB0aMOsIGtoaSB0w6xtIHThuqV0IGPhuqMgY8OhYyBncm91cCBraMO0bmcgcGjDuSBo4bujcCB24bubaSBrZXkgc2VhcmNoIHPhur0gYuG7iyDhuqluLCBrbyBwaMOibiBiaeG7h3QgY+G6pXAgYuG6rWNcbiAgZW1pdEFsbEl0ZW1DaGVja2VkPzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGRhbmggbeG7pWMgc+G6o24gcGjhuqltXG4gIHNpbmdsZVNlbGVjdEl0ZW0/OiBib29sZWFuOyAvLyBz4butIGThu6VuZyBraGkgY2jhu4kgbXXhu5FuIGNo4buNbiBub2RlIOG7nyBsZXZlbCBjdeG7kWkgY8O5bmdcbiAgc2luZ2xlU2VsZWN0SXRlbUJ5VHJlZT86IGJvb2xlYW47IC8vdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGhhc0ljb25DaGVja1NpbmdsZVNlbGVjdEl0ZW0/OiBib29sZWFuO1xuICBjb2xvckJsdWVXaGVuSXRlbVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgaGFzQmFja2dyb3VuZENvbG9yV2hlbkl0ZW1TZWxlY3RlZD86IGJvb2xlYW47XG4gIGljb25FeHBhbmQ6ICcnIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgaWdub3JlSWNvbkV4cGFuZE1hcmdpblJpZ2h0PzogYm9vbGVhbjtcbiAgb25seVNlbGVjdEZpcnN0SXRlbT86IGJvb2xlYW47XG4gIGlnbm9yZUNob29zZVBhcmVudFRoZW5BdXRvQ2hvb3NlQ2hpbGRyZW4/OiBib29sZWFuOyAvLyB0aGFtIGto4bqjbyB0csaw4budbmcgaOG7o3AgZMOybmcgc+G6o24gcGjhuqltIGPhu6dhIGJhbmtcbiAgY2hvb3NlQ2hpbGRUaGVuQXV0b0Nob29zZVBhcmVudD86IGJvb2xlYW47IC8vIHRoYW0ga2jhuqNvIHRyxrDhu51uZyBo4bujcCBkw7JuZyBz4bqjbiBwaOG6qW0gY+G7p2EgYmFua1xuICBpZ25vcmVVbnNlbGVjdENoaWxkcmVuUmVtb3ZlU2VsZWN0UGFyZW50PzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGlnbm9yZUVtaXRBbGxJdGVtQ2hlY2tlZFdoZW5DaG9vc2VDaGlsZFRoZW5BdXRvQ2hvb3NlUGFyZW50PzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGRpc2FibGVJdGVtTm90TGFzdExldmVsPzogYm9vbGVhbjsgLy8gdGhhbSBraOG6o28gdHLGsOG7nW5nIGjhu6NwIGTDsm5nIHPhuqNuIHBo4bqpbSBj4bunYSBiYW5rXG4gIGNsYXNzTGFiZWxJdGVtPzogc3RyaW5nO1xuICBhbGxvd0Rpc2FibGVMYWJlbD86IGJvb2xlYW47XG4gIHpJbmRleExhYmVsPzogbnVtYmVyO1xuICBleHBhbmRGaXJzdEl0ZW0/OiBib29sZWFuO1xuICB3aWR0aExhYmVsU3ViMjRXaGVuTm90VHJlZVZpZXc/OiBib29sZWFuOyAvLyB3aWR0aCBsYWJlbCBpdGVtIHRy4burIDI0cHgga2hpIGtow7RuZyBwaOG6o2kgZOG6oW5nIHRyZWV2aWV3LFxuICBjbGFzc0luY2x1ZGVJdGVtPzogc3RyaW5nO1xuICBnZXRDbGFzc0luY2x1ZGVJdGVtQ29udGVudD86IChpdGVtOiBhbnkpID0+IHN0cmluZzsgLy8gdHJ1eeG7gW4gY2xhc3MgY2hvIGl0ZW1cbiAgZ2V0TGlua0ltYWdlRXJyb3I/OiAoaXRlbTogYW55KSA9PiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGdldEltYWdlPzogKGl0ZW06IGFueSkgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBnZXRBdmF0YXJDb25maWc/OiAoaXRlbTogYW55KSA9PiBJQXZhdGFyQ29uZmlnO1xuICBnZXRJY29uSW1hZ2VDbGFzcz86IChpdGVtOiBhbnkpID0+IHN0cmluZztcbiAgY2xhc3NJbmNsdWRlTGFzdEl0ZW0/OiBzdHJpbmc7XG4gIGF1dG9Db3VudFdoZW5Hcm91cEVtcHR5SXRlbUxldmVsMT86IGJvb2xlYW47IC8vIFRyxrDhu51uZyBo4bujcCBjaOG7iSBjw7MgMSBncm91cCBpdGVtIHbDoCBzdWJfaXRlbSBlbXB0eSwgc2V0ID0gdHJ1ZSB0xINuZyBjaGnhu4F1IGNhbyBwb3B1cCDEkeG7gyBuaMOsbiB0aOG6pXkgZW1wdHkgdGV4dCAoVGhhbSBraOG6o28gZHJvcGRvd24gY2jhu41uIGxv4bqhaSBz4bqjbiBwaOG6qW0gYmFuayBraGkgZ+G6r24gZMOybmcvIGxv4bqhaSBz4bqjbiBwaOG6qW0pXG4gIGlnbm9yZUNoYW5nZUNoaWxkcmVuRGlzYWJsZVdoZW5DaGFuZ2VQYXJlbnQ/OiBib29sZWFuO1xuICBpZ25vcmVGaXhIZWlnaHRJdGVtPzogYm9vbGVhbjsgLy8gbuG6v3UgYuG6rXQgdGjDrCBraMO0bmcgZml4IGNoaeG7gXUgY2FvIGl0ZW1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnRGVzY3JpcHRpb25Hcm91cCB7XG4gIGNsYXNzSW5jbHVkZT86IHN0cmluZztcbiAgdG9vbHRpcERlc2NyaXB0aW9uPzogV3JpdGFibGVTaWduYWw8SVBvcG92ZXJPdmVybGF5PjtcbiAgdGV4dERlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNsYXNzVGV4dERlc2NyaXB0aW9uSW5jbHVkZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEVOVU1fT1BUSU9OU19HRVRfTElTVF9HUk9VUF9DT05GSUcgPSBbXG4gICdncm91cF90cmVlX2NoZWNrYm94XzEnLFxuICAnZ3JvdXBfdHJlZV9jaGVja2JveF8yJyxcbiAgJ2dyb3VwX3RyZWVfcmFkaW9fMScsXG4gICdncm91cF90cmVlX3JhZGlvXzInLFxuICAnZ3JvdXBfdHJlZV90ZXh0XzEnLFxuICAnZ3JvdXBfdHJlZV90ZXh0XzInLFxuICAnZ3JvdXBfbGFiZWxfY2hlY2tib3hfMScsXG4gICdncm91cF9sYWJlbF90ZXh0XzEnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ09ORklHX0xJU1RfR1JPVVBfVFlQRSA9IHR5cGVvZiBFTlVNX09QVElPTlNfR0VUX0xJU1RfR1JPVVBfQ09ORklHW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfTElTVF9HUk9VUF9SRUxBVElPTlNISVBfUEFSRU5UX0NISUxEX1RZUEVTID0gW1xuICAnY2hpbGRfc2VsZWN0aW9uX3RyaWdnZXJzX3BhcmVudF9zZWxlY3Rpb24nLFxuICAncGFyZW50X3NlbGVjdGlvbl90cmlnZ2Vyc19hbGxfY2hpbGRyZW4nLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ09ORklHX0xJU1RfR1JPVVBfUkVMQVRJT05TSElQX1BBUkVOVF9DSElMRF9UWVBFID0gdHlwZW9mIENPTkZJR19MSVNUX0dST1VQX1JFTEFUSU9OU0hJUF9QQVJFTlRfQ0hJTERfVFlQRVNbbnVtYmVyXTtcblxuLy8gQ8OhYyBmaWVsZCDEkcaw4bujYyBjaG8gcGjDqXAgb3ZlcnJpZGVcbmV4cG9ydCB0eXBlIEFMTE9XRURfR1JPVVBfT1ZFUlJJREVTX1RZUEUgPSBQaWNrPFxuICBJTGlzdENvbmZpZ0l0ZW1Hcm91cCxcbiAgfCAnZmllbGRLZXknXG4gIHwgJ2ZpZWxkR2V0SXRlbXMnXG4gIHwgJ2dldExhYmVsR3JvdXAnXG4gIHwgJ2dldExhYmVsSXRlbSdcbiAgfCAnZ2V0TWF4TGV2ZWxHcm91cCdcbj47Il19