carbon-components-angular 5.16.4 → 5.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/documentation/classes/NumberChange.html +2 -2
- package/docs/documentation/components/ComboBox.html +5 -5
- package/docs/documentation/components/DatePickerInput.html +5 -5
- package/docs/documentation/components/Dropdown.html +5 -5
- package/docs/documentation/components/Label.html +5 -5
- package/docs/documentation/components/NumberComponent.html +5 -5
- package/docs/documentation/components/RadioGroup.html +5 -5
- package/docs/documentation/components/Select.html +5 -5
- package/docs/documentation/components/TextInputLabelComponent.html +7 -7
- package/docs/documentation/components/TextareaLabelComponent.html +7 -7
- package/docs/documentation/js/search/search_index.js +2 -2
- package/docs/documentation/modules/ContentSwitcherModule/dependencies.svg +4 -4
- package/docs/documentation/modules/ContentSwitcherModule.html +4 -4
- package/docs/documentation/modules/DatePickerInputModule/dependencies.svg +7 -7
- package/docs/documentation/modules/DatePickerInputModule.html +7 -7
- package/docs/documentation/modules/DatePickerModule/dependencies.svg +53 -57
- package/docs/documentation/modules/DatePickerModule.html +53 -57
- package/docs/documentation/modules/LoadingModule/dependencies.svg +4 -4
- package/docs/documentation/modules/LoadingModule.html +4 -4
- package/docs/documentation/modules/NFormsModule/dependencies.svg +4 -4
- package/docs/documentation/modules/NFormsModule.html +4 -4
- package/docs/documentation/modules/RadioModule/dependencies.svg +60 -56
- package/docs/documentation/modules/RadioModule.html +60 -56
- package/docs/documentation/modules/SearchModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SearchModule.html +4 -4
- package/docs/documentation/modules/SelectModule/dependencies.svg +60 -60
- package/docs/documentation/modules/SelectModule.html +60 -60
- package/docs/documentation/modules/SliderModule/dependencies.svg +4 -4
- package/docs/documentation/modules/SliderModule.html +4 -4
- package/docs/documentation/modules/TableModule/dependencies.svg +216 -216
- package/docs/documentation/modules/TableModule.html +216 -216
- package/docs/documentation/modules/TagModule/dependencies.svg +29 -29
- package/docs/documentation/modules/TagModule.html +29 -29
- package/docs/documentation/modules/ThemeModule/dependencies.svg +13 -13
- package/docs/documentation/modules/ThemeModule.html +13 -13
- package/docs/documentation/modules/TilesModule/dependencies.svg +102 -102
- package/docs/documentation/modules/TilesModule.html +102 -102
- package/docs/documentation/modules/TimePickerModule/dependencies.svg +44 -40
- package/docs/documentation/modules/TimePickerModule.html +44 -40
- package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +50 -46
- package/docs/documentation/modules/TimePickerSelectModule.html +50 -46
- package/docs/documentation/modules/ToggleModule/dependencies.svg +8 -8
- package/docs/documentation/modules/ToggleModule.html +8 -8
- package/docs/documentation/modules/ToggletipModule/dependencies.svg +37 -37
- package/docs/documentation/modules/ToggletipModule.html +37 -37
- package/docs/documentation/modules/TooltipModule/dependencies.svg +4 -4
- package/docs/documentation/modules/TooltipModule.html +4 -4
- package/docs/documentation.json +71 -71
- package/docs/storybook/{1895.a7b85b78.iframe.bundle.js → 1895.0331c090.iframe.bundle.js} +1 -1
- package/docs/storybook/{3224.6fe555ce.iframe.bundle.js → 3224.f7341882.iframe.bundle.js} +1 -1
- package/docs/storybook/{7153.d53e2798.iframe.bundle.js → 7153.5448a01f.iframe.bundle.js} +1 -1
- package/docs/storybook/{9672.655955b8.iframe.bundle.js → 9672.fd8d5d19.iframe.bundle.js} +1 -1
- package/docs/storybook/{combobox-combobox-stories.e58497ad.iframe.bundle.js → combobox-combobox-stories.90794764.iframe.bundle.js} +1 -1
- package/docs/storybook/{datepicker-datepicker-stories.79d4003a.iframe.bundle.js → datepicker-datepicker-stories.c0cecf8f.iframe.bundle.js} +1 -1
- package/docs/storybook/iframe.html +2 -2
- package/docs/storybook/{input-input-stories.ca12a1b9.iframe.bundle.js → input-input-stories.eeb079d9.iframe.bundle.js} +1 -1
- package/docs/storybook/input-textarea-stories.51dab44c.iframe.bundle.js +1 -0
- package/docs/storybook/main.3e40fd8f.iframe.bundle.js +1 -0
- package/docs/storybook/{number-input-number-stories.da139119.iframe.bundle.js → number-input-number-stories.fc6064bd.iframe.bundle.js} +1 -1
- package/docs/storybook/project.json +1 -1
- package/docs/storybook/{radio-radio-stories.92124173.iframe.bundle.js → radio-radio-stories.2ab192da.iframe.bundle.js} +1 -1
- package/docs/storybook/{runtime~main.3910d8ea.iframe.bundle.js → runtime~main.4c92d6b3.iframe.bundle.js} +1 -1
- package/esm2020/combobox/combobox.component.mjs +5 -5
- package/esm2020/datepicker-input/datepicker-input.component.mjs +5 -5
- package/esm2020/dropdown/dropdown.component.mjs +5 -5
- package/esm2020/input/label.component.mjs +5 -5
- package/esm2020/input/text-input-label.component.mjs +7 -7
- package/esm2020/input/textarea-label.component.mjs +7 -7
- package/esm2020/number-input/number.component.mjs +5 -5
- package/esm2020/radio/radio-group.component.mjs +5 -5
- package/esm2020/select/select.component.mjs +5 -5
- package/fesm2015/carbon-components-angular-combobox.mjs +4 -4
- package/fesm2015/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-datepicker-input.mjs +4 -4
- package/fesm2015/carbon-components-angular-datepicker-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-dropdown.mjs +4 -4
- package/fesm2015/carbon-components-angular-dropdown.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-input.mjs +16 -16
- package/fesm2015/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-number-input.mjs +4 -4
- package/fesm2015/carbon-components-angular-number-input.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-radio.mjs +4 -4
- package/fesm2015/carbon-components-angular-radio.mjs.map +1 -1
- package/fesm2015/carbon-components-angular-select.mjs +4 -4
- package/fesm2015/carbon-components-angular-select.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-combobox.mjs +4 -4
- package/fesm2020/carbon-components-angular-combobox.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-datepicker-input.mjs +4 -4
- package/fesm2020/carbon-components-angular-datepicker-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-dropdown.mjs +4 -4
- package/fesm2020/carbon-components-angular-dropdown.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-input.mjs +16 -16
- package/fesm2020/carbon-components-angular-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-number-input.mjs +4 -4
- package/fesm2020/carbon-components-angular-number-input.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-radio.mjs +4 -4
- package/fesm2020/carbon-components-angular-radio.mjs.map +1 -1
- package/fesm2020/carbon-components-angular-select.mjs +4 -4
- package/fesm2020/carbon-components-angular-select.mjs.map +1 -1
- package/input/text-input-label.component.d.ts +1 -1
- package/input/textarea-label.component.d.ts +1 -1
- package/package.json +1 -1
- package/docs/storybook/input-textarea-stories.e9e16201.iframe.bundle.js +0 -1
- package/docs/storybook/main.169a28f2.iframe.bundle.js +0 -1
|
@@ -657,7 +657,7 @@ Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
|
657
657
|
[ngTemplateOutlet]="displayValue">
|
|
658
658
|
</ng-template>
|
|
659
659
|
<svg
|
|
660
|
-
*ngIf="
|
|
660
|
+
*ngIf="invalid"
|
|
661
661
|
class="cds--dropdown__invalid-icon"
|
|
662
662
|
cdsIcon="warning--filled"
|
|
663
663
|
size="16">
|
|
@@ -695,7 +695,7 @@ Dropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
|
695
695
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
696
696
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
697
697
|
</div>
|
|
698
|
-
<div *ngIf="
|
|
698
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
699
699
|
<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
|
|
700
700
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
701
701
|
</div>
|
|
@@ -775,7 +775,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
775
775
|
[ngTemplateOutlet]="displayValue">
|
|
776
776
|
</ng-template>
|
|
777
777
|
<svg
|
|
778
|
-
*ngIf="
|
|
778
|
+
*ngIf="invalid"
|
|
779
779
|
class="cds--dropdown__invalid-icon"
|
|
780
780
|
cdsIcon="warning--filled"
|
|
781
781
|
size="16">
|
|
@@ -813,7 +813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
813
813
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
814
814
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
815
815
|
</div>
|
|
816
|
-
<div *ngIf="
|
|
816
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
817
817
|
<ng-container *ngIf="!isTemplate(invalidText)">{{ invalidText }}</ng-container>
|
|
818
818
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
819
819
|
</div>
|
|
@@ -900,4 +900,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
900
900
|
type: HostListener,
|
|
901
901
|
args: ["keydown", ["$event"]]
|
|
902
902
|
}] } });
|
|
903
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLFlBQVksRUFFWixTQUFTLEVBRVQsWUFBWSxFQUVaLFdBQVcsRUFDWCxXQUFXLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRXpFLHlFQUF5RTtBQUN6RSxPQUFPLEVBRU4sRUFBRSxFQUNGLFlBQVksRUFDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXRFLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBNkhILE1BQU0sT0FBTyxRQUFRO0lBbUtwQjs7T0FFRztJQUNILFlBQ1csVUFBc0IsRUFDdEIsSUFBVSxFQUNWLGVBQWdDLEVBQ2hDLGNBQThCO1FBSDlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF4S2hDLE9BQUUsR0FBRyxZQUFZLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBU3JEOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxpQkFBWSxHQUE4QixFQUFFLENBQUM7UUFDdEQ7O1dBRUc7UUFDTSxjQUFTLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzVEOztXQUVHO1FBQ00sU0FBSSxHQUF1QixJQUFJLENBQUM7UUFDekM7OztXQUdHO1FBQ00sU0FBSSxHQUF1QixRQUFRLENBQUM7UUFDN0M7OztXQUdHO1FBQ00sVUFBSyxHQUFxQixNQUFNLENBQUM7UUFDMUM7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7V0FFRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDeEI7O1dBRUc7UUFDTSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDbEM7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBS3pCOztZQUVJO1FBQ0ssU0FBSSxHQUFHLEtBQUssQ0FBQztRQUt0Qjs7V0FFRztRQUNNLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBVXRDOzs7OztXQUtHO1FBQ00sc0JBQWlCLEdBQXlDLGtCQUFrQixDQUFDO1FBQ3RGOzs7V0FHRztRQUNNLG9CQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pEOzs7V0FHRztRQUNNLGtCQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBSzNEOztXQUVHO1FBQ08sYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3RFOztXQUVHO1FBQ08sWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9EOztXQUVHO1FBQ08sVUFBSyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBZWhCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDOUQ7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQjs7V0FFRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsZ0VBQWdFO1FBQ2hFLHlCQUF5QjtRQUN6QixTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsaUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQywyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVDLHNCQUFpQixHQUFlLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFckQsZ0dBQWdHO1FBQ3hGLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBOEpoQzs7V0FFRztRQUNILG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQS9JVSxDQUFDO0lBakI3QyxJQUFjLFlBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFjLFlBQVksQ0FBQyxHQUFVO1FBQ3BDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO0lBQzFCLENBQUM7SUFXRDs7O09BR0c7SUFDSCxRQUFRO1FBQ1AsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMzQjtJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNmLE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM3RixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUUzQixpRkFBaUY7UUFDakYsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUVsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDcEQ7eUJBQU07d0JBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2pDO2lCQUNEO3FCQUFNO29CQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzNCO2FBQ0Q7WUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM5QywwRUFBMEU7Z0JBQzFFLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDNUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDN0IsdURBQXVEO2lCQUN2RDtxQkFBTTtvQkFDTixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztpQkFDOUM7YUFDRDtZQUNELDhDQUE4QztZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNkLHNEQUFzRDtRQUN0RCw4RUFBOEU7UUFDOUUsc0VBQXNFO1FBQ3RFLHVEQUF1RDtRQUN2RCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdEYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsdUNBQXVDO1NBQ3ZDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtZQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDekI7SUFDRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsS0FBVTtRQUNwQixpRUFBaUU7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQzNCLDBEQUEwRDtZQUMxRCxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDdEIsZ0RBQWdEO29CQUNoRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDN0csUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTTtvQkFDTixrREFBa0Q7b0JBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUNyQzthQUNEO2lCQUFNO2dCQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDdEIsMkVBQTJFO29CQUMzRSw2RkFBNkY7b0JBQzdGLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztvQkFDbkIsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUU7d0JBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTs0QkFDNUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQ0FDbEMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOzZCQUM1RDt5QkFDRDtxQkFDRDtvQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN2QztxQkFBTTtvQkFDTiw2REFBNkQ7b0JBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25DO2FBQ0Q7WUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTTtRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLEVBQU87UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBT0Q7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBRUgsU0FBUyxDQUFDLEtBQW9CO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuRCxLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFFLG1FQUFtRTtTQUN0RztRQUNELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMxQzthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLEVBQUU7WUFDNUcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRixPQUFPO2FBQ1A7WUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsRUFBRTtZQUNoSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDakI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNqQjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFdEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNGLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLO1FBQzdCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUU7WUFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25DLElBQUksSUFBSSxFQUFFO2dCQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQUU7U0FDbkM7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDNUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLElBQUksRUFBRTtnQkFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUFFO1NBQ25DO0lBQ0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxxQkFBcUI7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQyxPQUFPO1NBQ1A7UUFDRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM1QjtpQkFBTTtnQkFDTixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDL0I7U0FDRDthQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDcEQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQXNCLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNiLE9BQU8sT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2YsT0FBTztTQUNQO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsMkRBQTJEO1NBQ3pGO2FBQU07WUFDTixPQUFPLEVBQUUsQ0FBQztTQUNWO0lBQ0YsQ0FBQztJQUVELGdCQUFnQjtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ3RDO0lBQ0YsQ0FBQztJQUVELGFBQWE7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDUDtRQUNELEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1NBQUU7UUFDN0MsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFDWDs7T0FFRztJQUNILGFBQWEsQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN4RCwrREFBK0Q7WUFDL0QsZ0VBQWdFO1lBQ2hFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDakI7SUFDRixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFjLENBQUMsRUFBRTtZQUNoSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDakI7SUFDRixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxZQUFZLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakQsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBRSxvREFBb0Q7U0FDdkY7UUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDMUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRTtZQUNyRCx5RUFBeUU7WUFDekUsMkJBQTJCO1lBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDakI7SUFDRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RSxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFDL0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsVUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWixzQ0FBc0M7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4Ryw4QkFBOEI7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RELElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRTtZQUNyQixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBcUIsRUFBRSxNQUFtQixFQUFFLEVBQUU7Z0JBQzlFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlELE9BQU8sWUFBWSxJQUFJLGFBQWEsQ0FBQztZQUN0QyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDVjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNQLGlFQUFpRTtRQUNqRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQyxPQUFPO1NBQ1A7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixtRUFBbUU7UUFDbkUsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQzdDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsY0FBYztpQkFDL0MsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7aUJBQzFCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztpQkFDakI7WUFDRixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNyQjtRQUVELHlFQUF5RTtRQUN6RSwyREFBMkQ7UUFDM0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3BDO1FBQ0YsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRU4saUZBQWlGO1FBQ2pGLHVFQUF1RTtRQUN2RSxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1IsNkNBQTZDO1FBQzdDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWxCLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUxQywyRkFBMkY7UUFDM0YsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztTQUM3QjtRQUVELCtDQUErQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDekI7UUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEYsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNoQjthQUFNO1lBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2pCO0lBQ0YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ3RCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxlQUFlO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLGtCQUFrQixDQUFDO1FBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNwRixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzVCO0lBQ0YsQ0FBQzs7QUF2bUJNLHNCQUFhLEdBQUcsQ0FBQyxDQUFDO3FHQURiLFFBQVE7eUZBQVIsUUFBUSxtMUJBUlQ7UUFDVjtZQUNDLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFFBQVE7WUFDckIsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELDREQXlIYSxvQkFBb0IsMlNBalB4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpSFQ7MkZBU1csUUFBUTtrQkE1SHBCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlIVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxVQUFVOzRCQUNyQixLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFDRDtpQkFDRDsrS0FHUyxFQUFFO3NCQUFWLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFJRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFJSSxRQUFRO3NCQUFqQixNQUFNO2dCQUlHLE9BQU87c0JBQWhCLE1BQU07Z0JBSUcsS0FBSztzQkFBZCxNQUFNO2dCQUsrQyxJQUFJO3NCQUF6RCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJTCxjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJQSxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsU0FBUztzQkFBckQsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBeU0zQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEVsZW1lbnRSZWYsXG5cdENvbnRlbnRDaGlsZCxcblx0T25Jbml0LFxuXHRWaWV3Q2hpbGQsXG5cdEFmdGVyQ29udGVudEluaXQsXG5cdEhvc3RMaXN0ZW5lcixcblx0T25EZXN0cm95LFxuXHRIb3N0QmluZGluZyxcblx0VGVtcGxhdGVSZWYsXG5cdEFmdGVyVmlld0luaXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG4vLyBPYnNlcnZhYmxlIGltcG9ydCBpcyByZXF1aXJlZCBoZXJlIHNvIHR5cGVzY3JpcHQgY2FuIGNvbXBpbGUgY29ycmVjdGx5XG5pbXBvcnQge1xuXHRPYnNlcnZhYmxlLFxuXHRvZixcblx0U3Vic2NyaXB0aW9uXG59IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IEFic3RyYWN0RHJvcGRvd25WaWV3IH0gZnJvbSBcIi4vYWJzdHJhY3QtZHJvcGRvd24tdmlldy5jbGFzc1wiO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSBcIi4vbGlzdC1pdGVtLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSBcIi4vZHJvcGRvd24uc2VydmljZVwiO1xuaW1wb3J0IHsgRWxlbWVudFNlcnZpY2UsIGdldFNjcm9sbGFibGVQYXJlbnRzIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvdXRpbHNcIjtcbmltcG9ydCB7IGhhc1Njcm9sbGFibGVQYXJlbnRzIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvdXRpbHNcIjtcblxuLyoqXG4gKiBEcm9wLWRvd24gbGlzdHMgZW5hYmxlIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3IgbW9yZSBpdGVtcyBmcm9tIGEgbGlzdC5cbiAqXG4gKiAjIyMjIE9wZW5pbmcgYmVoYXZpb3IvTGlzdCBET00gcGxhY2VtZW50XG4gKiBCeSBkZWZhdWx0IHRoZSBkcm9wZG93biB3aWxsIHRyeSB0byBmaWd1cmUgb3V0IHRoZSBiZXN0IHBsYWNlbWVudCBmb3IgdGhlIGRyb3Bkb3duIGxpc3QuXG4gKlxuICogSWYgaXQncyBub3QgY29udGFpbmVkIHdpdGhpbiBhbnkgc2Nyb2xsaW5nIGVsZW1lbnRzLCBpdCB3aWxsIG9wZW4gaW5saW5lLCBpZiBpdCBfaXNfXG4gKiBjb250YWluZWQgd2l0aGluIGEgc2Nyb2xsaW5nIGNvbnRhaW5lciBpdCB3aWxsIHRyeSB0byBvcGVuIGluIHRoZSBib2R5LCBvciBhbiBgY2RzLXBsYWNlaG9sZGVyYC5cbiAqXG4gKiBUbyBjb250cm9sIHRoaXMgYmVoYXZpb3IgeW91IGNhbiB1c2UgdGhlIGBhcHBlbmRJbmxpbmVgIGlucHV0OlxuICogLSBgW2FwcGVuZElubGluZV09XCJudWxsXCJgIGlzIHRoZSBkZWZhdWx0IChhdXRvIGRldGVjdGlvbilcbiAqIC0gYFthcHBlbmRJbmxpbmVdPVwiZmFsc2VcImAgd2lsbCBhbHdheXMgYXBwZW5kIHRvIHRoZSBib2R5L2BjZHMtcGxhY2Vob2xkZXJgXG4gKiAtIGBbYXBwZW5kSW5saW5lXT1cInRydWVcImAgd2lsbCBhbHdheXMgYXBwZW5kIGlubGluZSAobmV4dCB0byB0aGUgZHJvcGRvd24gYnV0dG9uKVxuICpcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtZHJvcGRvd24tLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLWRyb3Bkb3duLCBpYm0tZHJvcGRvd25cIixcblx0dGVtcGxhdGU6IGBcblx0PGxhYmVsXG5cdFx0Km5nSWY9XCJsYWJlbCAmJiAhc2tlbGV0b25cIlxuXHRcdFtmb3JdPVwiaWRcIlxuXHRcdGNsYXNzPVwiY2RzLS1sYWJlbFwiXG5cdFx0W25nQ2xhc3NdPVwieydjZHMtLWxhYmVsLS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiPlxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShsYWJlbClcIj57e2xhYmVsfX08L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9sYWJlbD5cblx0PGRpdlxuXHRcdGNsYXNzPVwiY2RzLS1saXN0LWJveFwiXG5cdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0J2Nkcy0tZHJvcGRvd24nOiB0eXBlICE9PSAnbXVsdGknLFxuXHRcdFx0J2Nkcy0tbXVsdGlzZWxlY3QnOiB0eXBlID09PSAnbXVsdGknLFxuXHRcdFx0J2Nkcy0tbXVsdGktc2VsZWN0LS1zZWxlY3RlZCc6IHR5cGUgPT09ICdtdWx0aScgJiYgZ2V0U2VsZWN0ZWRDb3VudCgpID4gMCxcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1saWdodCc6IHRoZW1lID09PSAnbGlnaHQnLFxuXHRcdFx0J2Nkcy0tbGlzdC1ib3gtLWxpZ2h0JzogdGhlbWUgPT09ICdsaWdodCcsXG5cdFx0XHQnY2RzLS1saXN0LWJveC0taW5saW5lJzogaW5saW5lLFxuXHRcdFx0J2Nkcy0tc2tlbGV0b24nOiBza2VsZXRvbixcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1kaXNhYmxlZCBjZHMtLWxpc3QtYm94LS1kaXNhYmxlZCc6IGRpc2FibGVkLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLWludmFsaWQnOiBpbnZhbGlkLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLXdhcm5pbmcgY2RzLS1saXN0LWJveC0td2FybmluZyc6IHdhcm4sXG5cdFx0XHQnY2RzLS1kcm9wZG93bi0tc20gY2RzLS1saXN0LWJveC0tc20nOiBzaXplID09PSAnc20nLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLW1kIGNkcy0tbGlzdC1ib3gtLW1kJzogc2l6ZSA9PT0gJ21kJyxcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1sZyBjZHMtLWxpc3QtYm94LS1sZyc6IHNpemUgPT09ICdsZycsXG5cdFx0XHQnY2RzLS1saXN0LWJveC0tZXhwYW5kZWQnOiAhbWVudUlzQ2xvc2VkXG5cdFx0fVwiPlxuXHRcdDxidXR0b25cblx0XHRcdCNkcm9wZG93bkJ1dHRvblxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLWxpc3QtYm94X19maWVsZFwiXG5cdFx0XHRbbmdDbGFzc109XCJ7J2EnOiAhbWVudUlzQ2xvc2VkfVwiXG5cdFx0XHRbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFtZW51SXNDbG9zZWRcIlxuXHRcdFx0W2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG5cdFx0XHQoY2xpY2spPVwiZGlzYWJsZWQgPyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgOiB0b2dnbGVNZW51KClcIlxuXHRcdFx0KGJsdXIpPVwib25CbHVyKClcIlxuXHRcdFx0W2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQoY2xpY2spPVwiY2xlYXJTZWxlY3RlZCgpXCJcblx0XHRcdFx0KGtleWRvd24uZW50ZXIpPVwiY2xlYXJTZWxlY3RlZCgpXCJcblx0XHRcdFx0Km5nSWY9XCJ0eXBlID09PSAnbXVsdGknICYmIGdldFNlbGVjdGVkQ291bnQoKSA+IDBcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tbGlzdC1ib3hfX3NlbGVjdGlvbiBjZHMtLXRhZy0tZmlsdGVyIGNkcy0tbGlzdC1ib3hfX3NlbGVjdGlvbi0tbXVsdGlcIlxuXHRcdFx0XHR0YWJpbmRleD1cIjBcIlxuXHRcdFx0XHRbdGl0bGVdPVwiY2xlYXJUZXh0XCI+XG5cdFx0XHRcdHt7Z2V0U2VsZWN0ZWRDb3VudCgpfX1cblx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdGZvY3VzYWJsZT1cImZhbHNlXCJcblx0XHRcdFx0XHRwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG5cdFx0XHRcdFx0c3R5bGU9XCJ3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1wiXG5cdFx0XHRcdFx0cm9sZT1cImltZ1wiXG5cdFx0XHRcdFx0eG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG5cdFx0XHRcdFx0d2lkdGg9XCIxNlwiXG5cdFx0XHRcdFx0aGVpZ2h0PVwiMTZcIlxuXHRcdFx0XHRcdHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuXHRcdFx0XHRcdGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdDxwYXRoIGQ9XCJNMTIgNC43bC0uNy0uN0w4IDcuMyA0LjcgNGwtLjcuN0w3LjMgOCA0IDExLjNsLjcuN0w4IDguN2wzLjMgMy4zLjctLjdMOC43IDh6XCI+PC9wYXRoPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PHNwYW4gKm5nSWY9XCJpc1JlbmRlclN0cmluZygpXCIgY2xhc3M9XCJjZHMtLWxpc3QtYm94X19sYWJlbFwiPnt7Z2V0RGlzcGxheVN0cmluZ1ZhbHVlKCkgfCBhc3luY319PC9zcGFuPlxuXHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdCpuZ0lmPVwiIWlzUmVuZGVyU3RyaW5nKClcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0UmVuZGVyVGVtcGxhdGVDb250ZXh0KClcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJkaXNwbGF5VmFsdWVcIj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiIXdhcm4gJiYgaW52YWxpZFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1kcm9wZG93bl9faW52YWxpZC1pY29uXCJcblx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdHNpemU9XCIxNlwiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiIWludmFsaWQgJiYgd2FyblwiXG5cdFx0XHRcdGNkc0ljb249XCJ3YXJuaW5nLS1hbHQtLWZpbGxlZFwiXG5cdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1saXN0LWJveF9faW52YWxpZC1pY29uIGNkcy0tbGlzdC1ib3hfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImNkcy0tbGlzdC1ib3hfX21lbnUtaWNvblwiPlxuXHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0Km5nSWY9XCIhc2tlbGV0b25cIlxuXHRcdFx0XHRcdGNkc0ljb249XCJjaGV2cm9uLS1kb3duXCJcblx0XHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwibWVudUJ1dHRvbkxhYmVsXCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJ7J2Nkcy0tbGlzdC1ib3hfX21lbnUtaWNvbi0tb3Blbic6ICFtZW51SXNDbG9zZWQgfVwiPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2J1dHRvbj5cblx0XHQ8ZGl2XG5cdFx0XHQjZHJvcGRvd25NZW51XG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLWxpc3QtYm94LS11cCc6IHRoaXMuZHJvcFVwICE9PSBudWxsICYmIHRoaXMuZHJvcFVwICE9PSB1bmRlZmluZWQgPyBkcm9wVXAgOiBfZHJvcFVwXG5cdFx0XHR9XCI+XG5cdFx0XHQ8bmctY29udGVudCAqbmdJZj1cIiFtZW51SXNDbG9zZWRcIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2XG5cdFx0Km5nSWY9XCJoZWxwZXJUZXh0ICYmICFpbnZhbGlkICYmICF3YXJuICYmICFza2VsZXRvblwiXG5cdFx0Y2xhc3M9XCJjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCJcblx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHQnY2RzLS1mb3JtX19oZWxwZXItdGV4dC0tZGlzYWJsZWQnOiBkaXNhYmxlZFxuXHRcdH1cIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e2hlbHBlclRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoaGVscGVyVGV4dClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWxwZXJUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9kaXY+XG5cdDxkaXYgKm5nSWY9XCIhd2FybiAmJiBpbnZhbGlkXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCI+e3sgaW52YWxpZFRleHQgfX08L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9kaXY+XG5cdDxkaXYgKm5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUod2FyblRleHQpXCI+e3t3YXJuVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNUZW1wbGF0ZSh3YXJuVGV4dClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ3YXJuVGV4dFwiPjwvbmctdGVtcGxhdGU+XG5cdDwvZGl2PlxuXHRgLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBEcm9wZG93bixcblx0XHRcdG11bHRpOiB0cnVlXG5cdFx0fVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0c3RhdGljIGRyb3Bkb3duQ291bnQgPSAwO1xuXHRASW5wdXQoKSBpZCA9IGBkcm9wZG93bi0ke0Ryb3Bkb3duLmRyb3Bkb3duQ291bnQrK31gO1xuXHQvKipcblx0ICogTGFiZWwgZm9yIHRoZSBkcm9wZG93bi5cblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgb3B0aW9uYWwgaGVscGVyIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBoZWxwZXJUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogVmFsdWUgZGlzcGxheWVkIGlmIG5vIGl0ZW0gaXMgc2VsZWN0ZWQuXG5cdCAqL1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XG5cdC8qKlxuXHQgKiBUaGUgc2VsZWN0ZWQgdmFsdWUgZnJvbSB0aGUgYERyb3Bkb3duYC4gQ2FuIGJlIGEgc3RyaW5nIG9yIHRlbXBsYXRlLlxuXHQgKi9cblx0QElucHV0KCkgZGlzcGxheVZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gXCJcIjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIG9wdGlvbmFsIGNsZWFyIGJ1dHRvbiB0b29sdGlwIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBjbGVhclRleHQ6IHN0cmluZyA9IHRoaXMuaTE4bi5nZXQoKS5EUk9QRE9XTi5DTEVBUjtcblx0LyoqXG5cdCAqIFNpemUgdG8gcmVuZGVyIHRoZSBkcm9wZG93biBmaWVsZC5cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwic21cIiB8IFwibWRcIiB8IFwibGdcIiA9IFwibWRcIjtcblx0LyoqXG5cdCAqIERlZmluZXMgd2hldGhlciBvciBub3QgdGhlIGBEcm9wZG93bmAgc3VwcG9ydHMgc2VsZWN0aW5nIG11bHRpcGxlIGl0ZW1zIGFzIG9wcG9zZWQgdG8gc2luZ2xlXG5cdCAqIGl0ZW0gc2VsZWN0aW9uLlxuXHQgKi9cblx0QElucHV0KCkgdHlwZTogXCJzaW5nbGVcIiB8IFwibXVsdGlcIiA9IFwic2luZ2xlXCI7XG5cdC8qKlxuXHQgKiBAZGVwcmVjYXRlZCBzaW5jZSB2NSAtIFVzZSBgY2RzTGF5ZXJgIGRpcmVjdGl2ZSBpbnN0ZWFkXG5cdCAqIGBsaWdodGAgb3IgYGRhcmtgIGRyb3Bkb3duIHRoZW1lXG5cdCAqL1xuXHRASW5wdXQoKSB0aGVtZTogXCJsaWdodFwiIHwgXCJkYXJrXCIgPSBcImRhcmtcIjtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB0aGUgZHJvcGRvd24uXG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBsb2FkaW5nIGRyb3Bkb3duLlxuXHQgKi9cblx0QElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGFuIGlubGluZSBkcm9wZG93bi5cblx0ICovXG5cdEBJbnB1dCgpIGlubGluZSA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBkcm9wZG93biB3aXRob3V0IGFycm93IGtleSBhY3RpdmF0aW9uLlxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZUFycm93S2V5cyA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgaW52YWxpZCBzdGF0ZS5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFZhbHVlIGRpc3BsYXllZCBpZiBkcm9wZG93biBpcyBpbiBpbnZhbGlkIHN0YXRlLlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZFRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuXHQgICovXG5cdEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuXHQgKi9cblx0QElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBzZXQgdG8gYHRydWVgIHRvIHBsYWNlIHRoZSBkcm9wZG93biB2aWV3IGlubGluZSB3aXRoIHRoZSBjb21wb25lbnRcblx0ICovXG5cdEBJbnB1dCgpIGFwcGVuZElubGluZTogYm9vbGVhbiA9IG51bGw7XG5cdC8qKlxuXHQgKiBRdWVyeSBzdHJpbmcgZm9yIHRoZSBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIGBEcm9wZG93bmAuXG5cdCAqIFVzZWQgdG8gdHJpZ2dlciBjbG9zaW5nIHRoZSBkcm9wZG93biBpZiBpdCBzY3JvbGxzIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0IG9mIHRoZSBgc2Nyb2xsYWJsZUNvbnRhaW5lcmAuXG5cdCAqL1xuXHRASW5wdXQoKSBzY3JvbGxhYmxlQ29udGFpbmVyOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIHByb3BlcnR5IHRvIGJlIHVzZWQgYXMgdGhlIHJldHVybiB2YWx1ZSB0byBgbmdNb2RlbGBcblx0ICovXG5cdEBJbnB1dCgpIGl0ZW1WYWx1ZUtleTogc3RyaW5nO1xuXHQvKipcblx0ICogU3BlY2lmeSBmZWVkYmFjayAobW9kZSkgb2YgdGhlIHNlbGVjdGlvbi5cblx0ICogYHRvcGA6IHNlbGVjdGVkIGl0ZW0ganVtcHMgdG8gdG9wXG5cdCAqIGBmaXhlZGA6IHNlbGVjdGVkIGl0ZW0gc3RheXMgYXQgaXQncyBwb3NpdGlvblxuXHQgKiBgdG9wLWFmdGVyLXJlb3BlbmA6IHNlbGVjdGVkIGl0ZW0ganVtcCB0byB0b3AgYWZ0ZXIgcmVvcGVuIGRyb3Bkb3duXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3Rpb25GZWVkYmFjazogXCJ0b3BcIiB8IFwiZml4ZWRcIiB8IFwidG9wLWFmdGVyLXJlb3BlblwiID0gXCJ0b3AtYWZ0ZXItcmVvcGVuXCI7XG5cdC8qKlxuXHQgKiBBY2Nlc3NpYmxlIGxhYmVsIGZvciB0aGUgYnV0dG9uIHRoYXQgb3BlbnMgdGhlIGRyb3Bkb3duIGxpc3QuXG5cdCAqIERlZmF1bHRzIHRvIHRoZSBgRFJPUERPV04uT1BFTmAgdmFsdWUgZnJvbSB0aGUgaTE4biBzZXJ2aWNlLlxuXHQgKi9cblx0QElucHV0KCkgbWVudUJ1dHRvbkxhYmVsID0gdGhpcy5pMThuLmdldCgpLkRST1BET1dOLk9QRU47XG5cdC8qKlxuXHQgKiBQcm92aWRlcyB0aGUgbGFiZWwgZm9yIHRoZSBcIiMgc2VsZWN0ZWRcIiB0ZXh0LlxuXHQgKiBEZWZhdWx0cyB0byB0aGUgYERST1BET1dOLlNFTEVDVEVEYCB2YWx1ZSBmcm9tIHRoZSBpMThuIHNlcnZpY2UuXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3RlZExhYmVsID0gdGhpcy5pMThuLmdldCgpLkRST1BET1dOLlNFTEVDVEVEO1xuXHQvKipcblx0ICogT3ZlcnJpZGVzIHRoZSBhdXRvbWF0aWMgZHJvcFVwLlxuXHQgKi9cblx0QElucHV0KCkgZHJvcFVwOiBib29sZWFuO1xuXHQvKipcblx0ICogRW1pdHMgc2VsZWN0aW9uIGV2ZW50cy5cblx0ICovXG5cdEBPdXRwdXQoKSBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdD4oKTtcblx0LyoqXG5cdCAqIEVtaXRzIGV2ZW50IG5vdGlmeWluZyB0byBvdGhlciBjbGFzc2VzIHRoYXQgdGhlIGBEcm9wZG93bmAgaGFzIGJlZW4gY2xvc2VkIChjb2xsYXBzZWQpLlxuXHQgKi9cblx0QE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cdC8qKlxuXHQgKiBFbWl0cyBldmVudCBub3RpZnlpbmcgdG8gb3RoZXIgY2xhc3NlcyB0aGF0IHRoZSBgRHJvcGRvd25gIGhhcyBiZWVuIGNsb3NlZCAoY29sbGFwc2VkKS5cblx0ICovXG5cdEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuXHQvKipcblx0ICogTWFpbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBgQWJzdHJhY3REcm9wZG93blZpZXdgIG9iamVjdCB3aXRoaW4gdGhlIGNvbnRlbnQgRE9NLlxuXHQgKi9cblx0QENvbnRlbnRDaGlsZChBYnN0cmFjdERyb3Bkb3duVmlldywgeyBzdGF0aWM6IHRydWUgfSkgdmlldzogQWJzdHJhY3REcm9wZG93blZpZXc7XG5cdC8qKlxuXHQgKiBNYWludGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIHZpZXcgRE9NIGVsZW1lbnQgb2YgdGhlIGBEcm9wZG93bmAgYnV0dG9uLlxuXHQgKi9cblx0QFZpZXdDaGlsZChcImRyb3Bkb3duQnV0dG9uXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duQnV0dG9uO1xuXHQvKipcblx0ICogVmlld0NoaWQgb2YgdGhlIGRyb3Bkb3duIHZpZXcuXG5cdCAqL1xuXHRAVmlld0NoaWxkKFwiZHJvcGRvd25NZW51XCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duTWVudTtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWRyb3Bkb3duX193cmFwcGVyXCIpIGhvc3RDbGFzcyA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBkcm9wZG93biBpcyBjbG9zZWQgKG5vdCBleHBhbmRlZCkuXG5cdCAqL1xuXHRtZW51SXNDbG9zZWQgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBjb250cm9scyB3aGV0aGVyIHRoZSBgZHJvcC11cGAgY2xhc3MgaXMgYXBwbGllZFxuXHQgKi9cblx0X2Ryb3BVcCA9IGZhbHNlO1xuXG5cdC8vIC5iaW5kIGNyZWF0ZXMgYSBuZXcgZnVuY3Rpb24sIHNvIHdlIGRlY2xhcmUgdGhlIG1ldGhvZHMgYmVsb3dcblx0Ly8gYnV0IC5iaW5kIHRoZW0gdXAgaGVyZVxuXHRub29wID0gdGhpcy5fbm9vcC5iaW5kKHRoaXMpO1xuXHRvdXRzaWRlQ2xpY2sgPSB0aGlzLl9vdXRzaWRlQ2xpY2suYmluZCh0aGlzKTtcblx0b3V0c2lkZUtleSA9IHRoaXMuX291dHNpZGVLZXkuYmluZCh0aGlzKTtcblx0a2V5Ym9hcmROYXYgPSB0aGlzLl9rZXlib2FyZE5hdi5iaW5kKHRoaXMpO1xuXG5cdHByb3RlY3RlZCB2aXNpYmlsaXR5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG5cdHByb3RlY3RlZCBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IHRoaXMuX25vb3A7XG5cblx0Ly8gcHJpbWFyaWx5IHVzZWQgdG8gY2FwdHVyZSBhbmQgcHJvcGFnYXRlIGlucHV0IHRvIGB3cml0ZVZhbHVlYCBiZWZvcmUgdGhlIGNvbnRlbnQgaXMgYXZhaWxhYmxlXG5cdHByaXZhdGUgX3dyaXR0ZW5WYWx1ZTogYW55ID0gW107XG5cdHByb3RlY3RlZCBnZXQgd3JpdHRlblZhbHVlKCkge1xuXHRcdHJldHVybiB0aGlzLl93cml0dGVuVmFsdWU7XG5cdH1cblx0cHJvdGVjdGVkIHNldCB3cml0dGVuVmFsdWUodmFsOiBhbnlbXSkge1xuXHRcdGlmICh2YWwgJiYgdmFsLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5jbGVhclNlbGVjdGVkKCk7XG5cdFx0fVxuXHRcdHRoaXMuX3dyaXR0ZW5WYWx1ZSA9IHZhbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERyb3Bkb3duLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG5cdFx0cHJvdGVjdGVkIGkxOG46IEkxOG4sXG5cdFx0cHJvdGVjdGVkIGRyb3Bkb3duU2VydmljZTogRHJvcGRvd25TZXJ2aWNlLFxuXHRcdHByb3RlY3RlZCBlbGVtZW50U2VydmljZTogRWxlbWVudFNlcnZpY2UpIHt9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGB0eXBlYCBwcm9wZXJ0eSBpbiB0aGUgYEBDb250ZW50Q2hpbGRgLlxuXHQgKiBUaGUgYHR5cGVgIHByb3BlcnR5IHNwZWNpZmllcyB3aGV0aGVyIHRoZSBgRHJvcGRvd25gIGFsbG93cyBzaW5nbGUgc2VsZWN0aW9uIG9yIG11bHRpIHNlbGVjdGlvbi5cblx0ICovXG5cdG5nT25Jbml0KCkge1xuXHRcdGlmICh0aGlzLnZpZXcpIHtcblx0XHRcdHRoaXMudmlldy50eXBlID0gdGhpcy50eXBlO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWFsaXplcyBjbGFzc2VzIGFuZCBzdWJzY3JpYmVzIHRvIGV2ZW50cyBmb3Igc2luZ2xlIG9yIG11bHRpIHNlbGVjdGlvbi5cblx0ICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHRpZiAoIXRoaXMudmlldykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAoKHRoaXMud3JpdHRlblZhbHVlICYmIHRoaXMud3JpdHRlblZhbHVlLmxlbmd0aCkgfHwgdHlwZW9mIHRoaXMud3JpdHRlblZhbHVlID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHR0aGlzLndyaXRlVmFsdWUodGhpcy53cml0dGVuVmFsdWUpO1xuXHRcdH1cblx0XHR0aGlzLnZpZXcudHlwZSA9IHRoaXMudHlwZTtcblx0XHR0aGlzLnZpZXcuc2l6ZSA9IHRoaXMuc2l6ZTtcblxuXHRcdC8vIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSBldmVudCBpcyBvcmdhbmljIChpc1VwZGF0ZSA9PT0gZmFsc2UpIG9yIHByb2dyYW1tYXRpY1xuXHRcdGNvbnN0IGlzVXBkYXRlID0gZXZlbnQgPT4gZXZlbnQgJiYgZXZlbnQuaXNVcGRhdGU7XG5cblx0XHR0aGlzLnZpZXcuc2VsZWN0LnN1YnNjcmliZShldmVudCA9PiB7XG5cdFx0XHRpZiAodGhpcy50eXBlID09PSBcInNpbmdsZVwiICYmICFpc1VwZGF0ZShldmVudCkgJiYgIUFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHRcdGlmIChldmVudC5pdGVtICYmIGV2ZW50Lml0ZW0uc2VsZWN0ZWQpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5pdGVtVmFsdWVLZXkpIHtcblx0XHRcdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKGV2ZW50Lml0ZW1bdGhpcy5pdGVtVmFsdWVLZXldKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaXRlbSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwibXVsdGlcIiAmJiAhaXNVcGRhdGUoZXZlbnQpKSB7XG5cdFx0XHRcdC8vIGlmIHdlIGhhdmUgYSBgdmFsdWVgIHNlbGVjdG9yIGFuZCBzZWxlY3RlZCBpdGVtcyBtYXAgdGhlbSBhcHByb3ByaWF0ZWx5XG5cdFx0XHRcdGlmICh0aGlzLml0ZW1WYWx1ZUtleSAmJiB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSkge1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlcyA9IHRoaXMudmlldy5nZXRTZWxlY3RlZCgpLm1hcChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldKTtcblx0XHRcdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWx1ZXMpO1xuXHRcdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHBhc3MgdXAgdGhlIHZhbHVlcyBmcm9tIGBnZXRTZWxlY3RlZGBcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIG9ubHkgZW1pdCBzZWxlY3RlZCBmb3IgXCJvcmdhbmljXCIgc2VsZWN0aW9uc1xuXHRcdFx0aWYgKCFpc1VwZGF0ZShldmVudCkpIHtcblx0XHRcdFx0dGhpcy5jaGVja0ZvclJlb3JkZXIoKTtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZC5lbWl0KGV2ZW50KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHQvLyBpZiBhcHBlbmRJbmxpbmUgaXMgZGVmYXVsdCB2YWx1ZWQgKG51bGwpIHdlIHNob3VsZDpcblx0XHQvLyAxLiBpZiB0aGVyZSBhcmUgc2Nyb2xsYWJsZSBwYXJlbnRzIChub3QgaW5jbHVkaW5nIGJvZHkpIGRvbid0IGFwcGVuZCBpbmxpbmVcblx0XHQvLyAgICB0aGlzIHNob3VsZCBhbHNvIGNvdmVyIHRoZSBjYXNlIHdoZXJlIHRoZSBkcm9wZG93biBpcyBpbiBhIG1vZGFsXG5cdFx0Ly8gICAgKHdoZXJlIHdlIF9kb18gd2FudCB0byBhcHBlbmQgdG8gdGhlIHBsYWNlaG9sZGVyKVxuXHRcdGlmICh0aGlzLmFwcGVuZElubGluZSA9PT0gbnVsbCAmJiBoYXNTY3JvbGxhYmxlUGFyZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpIHtcblx0XHRcdHRoaXMuYXBwZW5kSW5saW5lID0gZmFsc2U7XG5cdFx0XHQvLyAyLiBvdGhlcndpc2Ugd2Ugc2hvdWxkIGFwcGVuZCBpbmxpbmVcblx0XHR9IGVsc2UgaWYgKHRoaXMuYXBwZW5kSW5saW5lID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmFwcGVuZElubGluZSA9IHRydWU7XG5cdFx0fVxuXHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZpbmcgdGhlIGBEcm9wZG93bmAgZnJvbSB0aGUgYm9keSBpZiBpdCBpcyBhcHBlbmRlZCB0byB0aGUgYm9keS5cblx0ICovXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICghdGhpcy5hcHBlbmRJbmxpbmUpIHtcblx0XHRcdHRoaXMuX2FwcGVuZFRvRHJvcGRvd24oKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUHJvcGFnYXRlcyB0aGUgaW5qZWN0ZWQgYHZhbHVlYC5cblx0ICovXG5cdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuXHRcdC8vIGNhY2hlIHRoZSB3cml0dGVuIHZhbHVlIHNvIHdlIGNhbiB1c2UgaXQgaW4gYEFmdGVyQ29udGVudEluaXRgXG5cdFx0dGhpcy53cml0dGVuVmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLnZpZXcub25JdGVtc1JlYWR5KCgpID0+IHtcblx0XHRcdC8vIHByb3BhZ2F0ZSBudWxsL2ZhbHNleSBhcyBhbiBhcnJheSAoZGVzZWxlY3QgZXZlcnl0aGluZylcblx0XHRcdGlmICghdmFsdWUpIHtcblx0XHRcdFx0dGhpcy52aWV3LnByb3BhZ2F0ZVNlbGVjdGVkKFt2YWx1ZV0pO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwic2luZ2xlXCIpIHtcblx0XHRcdFx0aWYgKHRoaXMuaXRlbVZhbHVlS2V5KSB7XG5cdFx0XHRcdFx0Ly8gY2xvbmUgdGhlIHNwZWNpZmllZCBpdGVtIGFuZCB1cGRhdGUgaXRzIHN0YXRlXG5cdFx0XHRcdFx0Y29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnZpZXcuZ2V0TGlzdEl0ZW1zKCkuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldID09PSB2YWx1ZSkpO1xuXHRcdFx0XHRcdG5ld1ZhbHVlLnNlbGVjdGVkID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLnZpZXcucHJvcGFnYXRlU2VsZWN0ZWQoW25ld1ZhbHVlXSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gcGFzcyB0aGUgc2luZ3VsYXIgdmFsdWUgYXMgYW4gYXJyYXkgb2YgTGlzdEl0ZW1cblx0XHRcdFx0XHR0aGlzLnZpZXcucHJvcGFnYXRlU2VsZWN0ZWQoW3ZhbHVlXSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLml0ZW1WYWx1ZUtleSkge1xuXHRcdFx0XHRcdC8vIGNsb25lIHRoZSBpdGVtcyBhbmQgdXBkYXRlIHRoZWlyIHN0YXRlIGJhc2VkIG9uIHRoZSByZWNlaXZlZCB2YWx1ZSBhcnJheVxuXHRcdFx0XHRcdC8vIHRoaXMgd2F5IHdlIGRvbid0IGxvc2UgYW55IGFkZGl0aW9uYWwgbWV0YWRhdGEgdGhhdCBtYXkgYmUgcGFzc2VkIGluIHZpYSB0aGUgYGl0ZW1zYCBJbnB1dFxuXHRcdFx0XHRcdGxldCBuZXdWYWx1ZXMgPSBbXTtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IHYgb2YgdmFsdWUpIHtcblx0XHRcdFx0XHRcdGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnZpZXcuZ2V0TGlzdEl0ZW1zKCkpIHtcblx0XHRcdFx0XHRcdFx0aWYgKGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldID09PSB2KSB7XG5cdFx0XHRcdFx0XHRcdFx0bmV3VmFsdWVzLnB1c2goT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyBzZWxlY3RlZDogdHJ1ZSB9KSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy52aWV3LnByb3BhZ2F0ZVNlbGVjdGVkKG5ld1ZhbHVlcyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gd2UgY2FuIHNhZmVseSBhc3N1bWUgd2UncmUgcGFzc2luZyBhbiBhcnJheSBvZiBgTGlzdEl0ZW1gc1xuXHRcdFx0XHRcdHRoaXMudmlldy5wcm9wYWdhdGVTZWxlY3RlZCh2YWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRvbkJsdXIoKSB7XG5cdFx0dGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWdpc3RlcmluZyB0aGUgZnVuY3Rpb24gaW5qZWN0ZWQgdG8gY29udHJvbCB0aGUgdG91Y2ggdXNlIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuXHRcdHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBmdW5jdGlvbiBwYXNzZWQgaW4gYnkgYHJlZ2lzdGVyT25DaGFuZ2VgXG5cdCAqL1xuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG5cblx0LyoqXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgbWV0aG9kIHRvIHByb2dyYW1tYXRpY2FsbHkgZGlzYWJsZSB0aGUgZHJvcGRvd24uXG5cdCAqXG5cdCAqIGV4OiBgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibXlEcm9wZG93blwiKS5kaXNhYmxlKCk7YFxuXHQgKlxuXHQgKiBAcGFyYW0gaXNEaXNhYmxlZCBgdHJ1ZWAgdG8gZGlzYWJsZSB0aGUgaW5wdXRcblx0ICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMga2V5Ym9hcmQgZnVuY3Rpb25hbGl0eSBmb3IgbmF2aWdhdGlvbiwgc2VsZWN0aW9uIGFuZCBjbG9zaW5nIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuXHRvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikgJiYgIXRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsgIC8vIGRvbid0IHVuaW50ZW50aW9uYWxseSBjbG9zZSBvdGhlciB3aWRnZXRzIHRoYXQgbGlzdGVuIGZvciBFc2NhcGVcblx0XHR9XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHR0aGlzLmRyb3Bkb3duQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0XHR9IGVsc2UgaWYgKHRoaXMubWVudUlzQ2xvc2VkICYmIChldmVudC5rZXkgPT09IFwiIFwiIHx8IGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIiB8fCBldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSkge1xuXHRcdFx0aWYgKHRoaXMuZGlzYWJsZUFycm93S2V5cyAmJiAoZXZlbnQua2V5ID09PSBcIkFycm93RG93blwiIHx8IGV2ZW50LmtleSA9PT0gXCJBcnJvd1VwXCIpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLm9wZW5NZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLm1lbnVJc0Nsb3NlZCAmJiBldmVudC5rZXkgPT09IFwiVGFiXCIgJiYgdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLm1lbnVJc0Nsb3NlZCAmJiBldmVudC5rZXkgPT09IFwiVGFiXCIgJiYgZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMudHlwZSA9PT0gXCJtdWx0aVwiKSB7IHJldHVybjsgfVxuXG5cdFx0aWYgKHRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHR0aGlzLmNsb3NlZERyb3Bkb3duTmF2aWdhdGlvbihldmVudCk7XG5cdFx0fVxuXHR9XG5cblx0Y2xvc2VkRHJvcGRvd25OYXZpZ2F0aW9uKGV2ZW50KSB7XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMudmlldy5nZXRDdXJyZW50SXRlbSgpLnNlbGVjdGVkID0gZmFsc2U7XG5cdFx0XHRsZXQgaXRlbSA9IHRoaXMudmlldy5nZXROZXh0SXRlbSgpO1xuXHRcdFx0aWYgKGl0ZW0pIHsgaXRlbS5zZWxlY3RlZCA9IHRydWU7IH1cblx0XHR9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd1VwXCIpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLnZpZXcuZ2V0Q3VycmVudEl0ZW0oKS5zZWxlY3RlZCA9IGZhbHNlO1xuXHRcdFx0bGV0IGl0ZW0gPSB0aGlzLnZpZXcuZ2V0UHJldkl0ZW0oKTtcblx0XHRcdGlmIChpdGVtKSB7IGl0ZW0uc2VsZWN0ZWQgPSB0cnVlOyB9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGRpc3BsYXkgdmFsdWUgaWYgdGhlcmUgaXMgYSBzZWxlY3Rpb24gYW5kIGRpc3BsYXlWYWx1ZSBpcyBzZXQsXG5cdCAqIGlmIHRoZXJlIGlzIGp1c3QgYSBzZWxlY3Rpb24gdGhlIExpc3RJdGVtIGNvbnRlbnQgcHJvcGVydHkgd2lsbCBiZSByZXR1cm5lZCxcblx0ICogb3RoZXJ3aXNlIHRoZSBwbGFjZWhvbGRlciB3aWxsIGJlIHJldHVybmVkLlxuXHQgKi9cblx0Z2V0RGlzcGxheVN0cmluZ1ZhbHVlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cdFx0aWYgKCF0aGlzLnZpZXcgfHwgdGhpcy5za2VsZXRvbikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRsZXQgc2VsZWN0ZWQgPSB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKTtcblx0XHRpZiAoc2VsZWN0ZWQubGVuZ3RoICYmICghdGhpcy5kaXNwbGF5VmFsdWUgfHwgIXRoaXMuaXNSZW5kZXJTdHJpbmcoKSkpIHtcblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwibXVsdGlcIikge1xuXHRcdFx0XHRyZXR1cm4gb2YodGhpcy5wbGFjZWhvbGRlcik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gb2Yoc2VsZWN0ZWRbMF0uY29udGVudCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChzZWxlY3RlZC5sZW5ndGggJiYgdGhpcy5pc1JlbmRlclN0cmluZygpKSB7XG5cdFx0XHRyZXR1cm4gb2YodGhpcy5kaXNwbGF5VmFsdWUgYXMgc3RyaW5nKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9mKHRoaXMucGxhY2Vob2xkZXIpO1xuXHR9XG5cblx0aXNSZW5kZXJTdHJpbmcoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHR5cGVvZiB0aGlzLmRpc3BsYXlWYWx1ZSA9PT0gXCJzdHJpbmdcIjtcblx0fVxuXG5cdGdldFJlbmRlclRlbXBsYXRlQ29udGV4dCgpIHtcblx0XHRpZiAoIXRoaXMudmlldykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRsZXQgc2VsZWN0ZWQgPSB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKTtcblx0XHRpZiAodGhpcy50eXBlID09PSBcIm11bHRpXCIpIHtcblx0XHRcdHJldHVybiB7IGl0ZW1zOiBzZWxlY3RlZCB9O1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWQgJiYgc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuXHRcdFx0cmV0dXJuIHsgaXRlbTogc2VsZWN0ZWRbMF0gfTsgLy8gdGhpcyBpcyB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGRyb3Bkb3duLWxpc3QgdGVtcGxhdGVcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHt9O1xuXHRcdH1cblx0fVxuXG5cdGdldFNlbGVjdGVkQ291bnQoKTogbnVtYmVyIHtcblx0XHRpZiAodGhpcy52aWV3LmdldFNlbGVjdGVkKCkpIHtcblx0XHRcdHJldHVybiB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKS5sZW5ndGg7XG5cdFx0fVxuXHR9XG5cblx0Y2xlYXJTZWxlY3RlZCgpIHtcblx0XHRpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmdldFNlbGVjdGVkQ291bnQoKSA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy52aWV3LmdldExpc3RJdGVtcygpKSB7XG5cdFx0XHRpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG5cdFx0fVxuXHRcdHRoaXMuc2VsZWN0ZWQuZW1pdChbXSk7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoW10pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGlzIGEgdmFsdWUgc2VsZWN0ZWQuXG5cdCAqL1xuXHR2YWx1ZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuXHRcdGlmICh0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdF9ub29wKCkgeyB9XG5cdC8qKlxuXHQgKiBIYW5kbGVzIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0X291dHNpZGVDbGljayhldmVudCkge1xuXHRcdGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuXHRcdFx0Ly8gaWYgd2UncmUgYXBwZW5kVG9Cb2R5IHRoZSBsaXN0IGlzbid0IHdpdGhpbiB0aGUgX2VsZW1lbnRSZWYsXG5cdFx0XHQvLyBzbyB3ZSd2ZSBnb3QgdG8gY2hlY2sgaWYgb3VyIHRhcmdldCBpcyBwb3NzaWJseSBpbiB0aGVyZSB0b28uXG5cdFx0XHQhdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdH1cblx0fVxuXHRfb3V0c2lkZUtleShldmVudCkge1xuXHRcdGlmICghdGhpcy5tZW51SXNDbG9zZWQgJiYgZXZlbnQua2V5ID09PSBcIlRhYlwiICYmIHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdH1cblx0fVxuXHQvKipcblx0ICogSGFuZGxlcyBrZXlib2FyZCBldmVudHMgc28gdXNlcnMgYXJlIGNvbnRyb2xsaW5nIHRoZSBgRHJvcGRvd25gIGluc3RlYWQgb2YgdW5pbnRlbnRpb25hbGx5IGNvbnRyb2xsaW5nIG91dHNpZGUgZWxlbWVudHMuXG5cdCAqL1xuXHRfa2V5Ym9hcmROYXYoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiICYmICF0aGlzLm1lbnVJc0Nsb3NlZCkge1xuXHRcdFx0ZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7ICAvLyBkb24ndCB1bmludGVudGlvbmFsbHkgY2xvc2UgbW9kYWwgaWYgaW5zaWRlIG9mIGl0XG5cdFx0fVxuXHRcdGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5tZW51SXNDbG9zZWQgJiYgZXZlbnQua2V5ID09PSBcIlRhYlwiKSB7XG5cdFx0XHQvLyB0aGlzIHdheSBmb2N1cyB3aWxsIHN0YXJ0IG9uIHRoZSBuZXh0IGZvY3VzYWJsZSBpdGVtIGZyb20gdGhlIGRyb3Bkb3duXG5cdFx0XHQvLyBub3QgdGhlIHRvcCBvZiB0aGUgYm9keSFcblx0XHRcdHRoaXMuZHJvcGRvd25CdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoXCJrZXlkb3duXCIsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5OiBcIlRhYlwiIH0pKTtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGBEcm9wZG93bmAgbGlzdCBhcHBlbmRpbmcgaXQgdG8gdGhlIGRyb3Bkb3duIHBhcmVudCBvYmplY3QgaW5zdGVhZCBvZiB0aGUgYm9keS5cblx0ICovXG5cdF9hcHBlbmRUb0Ryb3Bkb3duKCkge1xuXHRcdHRoaXMuZHJvcGRvd25TZXJ2aWNlLmFwcGVuZFRvRHJvcGRvd24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5rZXlib2FyZE5hdiwgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgYERyb3Bkb3duYCBsaXN0IGFzIGFuIGVsZW1lbnQgdGhhdCBpcyBhcHBlbmRlZCB0byB0aGUgRE9NIGJvZHkuXG5cdCAqL1xuXHRfYXBwZW5kVG9Cb2R5KCkge1xuXHRcdGNvbnN0IGxpZ2h0Q2xhc3MgPSB0aGlzLnRoZW1lID09PSBcImxpZ2h0XCIgPyBcIiBjZHMtLWxpc3QtYm94LS1saWdodFwiIDogXCJcIjtcblx0XHRjb25zdCBleHBhbmRlZENsYXNzID0gIXRoaXMubWVudUlzQ2xvc2VkID8gXCIgY2RzLS1saXN0LWJveC0tZXhwYW5kZWRcIiA6IFwiXCI7XG5cdFx0dGhpcy5kcm9wZG93blNlcnZpY2UuYXBwZW5kVG9Cb2R5KFxuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudCxcblx0XHRcdGAke3RoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZX0ke2xpZ2h0Q2xhc3N9JHtleHBhbmRlZENsYXNzfWApO1xuXHRcdHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5rZXlib2FyZE5hdiwgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGV0ZWN0cyB3aGV0aGVyIG9yIG5vdCB0aGUgYERyb3Bkb3duYCBsaXN0IGlzIHZpc2libGUgd2l0aGluIGFsbCBzY3JvbGxhYmxlIHBhcmVudHMuXG5cdCAqIFRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBpbiBhIHZhbHVlIHRvIHRoZSBgZHJvcFVwYCBpbnB1dC5cblx0ICovXG5cdF9zaG91bGREcm9wVXAoKSB7XG5cdFx0Ly8gY2hlY2sgaWYgZHJvcGRvd25NZW51IGV4aXN0cyBmaXJzdC5cblx0XHRjb25zdCBtZW51ID0gdGhpcy5kcm9wZG93bk1lbnUgJiYgdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNkcy0tbGlzdC1ib3hfX21lbnVcIik7XG5cdFx0Ly8gY2hlY2sgaWYgbWVudSBleGlzdHMgZmlyc3QuXG5cdFx0Y29uc3QgbWVudVJlY3QgPSBtZW51ICYmIG1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0aWYgKG1lbnUgJiYgbWVudVJlY3QpIHtcblx0XHRcdGNvbnN0IHNjcm9sbGFibGVQYXJlbnRzID0gZ2V0U2Nyb2xsYWJsZVBhcmVudHMobWVudSk7XG5cdFx0XHRyZXR1cm4gc2Nyb2xsYWJsZVBhcmVudHMucmVkdWNlKChzaG91bGREcm9wVXA6IGJvb2xlYW4sIHBhcmVudDogSFRNTEVsZW1lbnQpID0+IHtcblx0XHRcdFx0Y29uc3QgcGFyZW50UmVjdCA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0Y29uc3QgaXNCZWxvd1BhcmVudCA9ICEobWVudVJlY3QuYm90dG9tIDw9IHBhcmVudFJlY3QuYm90dG9tKTtcblx0XHRcdFx0cmV0dXJuIHNob3VsZERyb3BVcCB8fCBpc0JlbG93UGFyZW50O1xuXHRcdFx0fSwgZmFsc2UpO1xuXHRcdH1cblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFeHBhbmRzIHRoZSBkcm9wZG93biBtZW51IGluIHRoZSB2aWV3LlxuXHQgKi9cblx0b3Blbk1lbnUoKSB7XG5cdFx0Ly8gcHJldmVudHMgdGhlIGRyb3Bkb3duIGZyb20gb3BlbmluZyB3aGVuIGxpc3Qgb2YgaXRlbXMgaXMgZW1wdHlcblx0XHRpZiAodGhpcy52aWV3LmdldExpc3RJdGVtcygpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuX2Ryb3BVcCA9IGZhbHNlO1xuXHRcdHRoaXMubWVudUlzQ2xvc2VkID0gZmFsc2U7XG5cblx0XHQvLyBtb3ZlIHRoZSBkcm9wZG93biBsaXN0IHRvIHRoZSBib2R5IGlmIHdlJ3JlIG5vdCBhcHBlbmRpbmcgaW5saW5lXG5cdFx0Ly8gYW5kIHBvc2l0aW9uIGl0IHJlbGF0aXZlIHRvIHRoZSBkcm9wZG93biB3cmFwcGVyXG5cdFx0aWYgKCF0aGlzLmFwcGVuZElubGluZSkge1xuXHRcdFx0Y29uc3QgdGFyZ2V0ID0gdGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0Y29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdWJzY3JpcHRpb24gPSB0aGlzLmVsZW1lbnRTZXJ2aWNlXG5cdFx0XHRcdC52aXNpYmlsaXR5KHRhcmdldCwgcGFyZW50KVxuXHRcdFx0XHQuc3Vic2NyaWJlKHZhbHVlID0+IHtcblx0XHRcdFx0XHRpZiAoIXZhbHVlLnZpc2libGUpIHtcblx0XHRcdFx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdHRoaXMuX2FwcGVuZFRvQm9keSgpO1xuXHRcdH1cblxuXHRcdC8vIHNldCB0aGUgZHJvcGRvd24gbWVudSB0byBkcm9wIHVwIGlmIGl0J3MgbmVhciB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW5cblx0XHQvLyBzZXRUaW1lb3V0IGxldHMgdXMgbWVhc3VyZSBhZnRlciBpdCdzIHZpc2libGUgaW4gdGhlIERPTVxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZHJvcFVwID09PSBudWxsIHx8IHRoaXMuZHJvcFVwID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dGhpcy5fZHJvcFVwID0gdGhpcy5fc2hvdWxkRHJvcFVwKCk7XG5cdFx0XHR9XG5cdFx0fSwgMCk7XG5cblx0XHQvLyB3ZSBiaW5kIG5vb3AgdG8gZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZCB0byBhbGxvdyBzYWZhcmkgdG8gZmlyZSBldmVudHNcblx0XHQvLyBmcm9tIGRvY3VtZW50LiBUaGVuIHdlIHVuYmluZCBldmVyeXRoaW5nIGxhdGVyIHRvIGtlZXAgdGhpbmdzIGxpZ2h0LlxuXHRcdGRvY3VtZW50LmJvZHkuZmlyc3RFbGVtZW50Q2hpbGQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMubm9vcCwgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm5vb3AsIHRydWUpO1xuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLm91dHNpZGVDbGljaywgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vdXRzaWRlS2V5LCB0cnVlKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMudmlldy5pbml0Rm9jdXMoKSwgMCk7XG5cdH1cblxuXHQvKipcblx0ICogQ29sbGFwc2luZyB0aGUgZHJvcGRvd24gbWVudSBhbmQgcmVtb3ZpbmcgdW5uZWNlc3NhcnkgYEV2ZW50TGlzdGVuZXJzYC5cblx0ICovXG5cdGNsb3NlTWVudSgpIHtcblx0XHQvLyByZXR1cm4gZWFybHkgaWYgdGhlIG1lbnUgaXMgYWxyZWFkeSBjbG9zZWRcblx0XHRpZiAodGhpcy5tZW51SXNDbG9zZWQpIHsgcmV0dXJuOyB9XG5cdFx0dGhpcy5tZW51SXNDbG9zZWQgPSB0cnVlO1xuXHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdFx0dGhpcy5vbkNsb3NlLmVtaXQoKTtcblx0XHR0aGlzLmNsb3NlLmVtaXQoKTtcblxuXHRcdC8vIGZvY3VzIHRoZSB0cmlnZ2VyIGJ1dHRvbiB3aGVuIHdlIGNsb3NlIC4uLlxuXHRcdHRoaXMuZHJvcGRvd25CdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG5cdFx0Ly8gcmVtb3ZlIHRoZSBjb25kaXRpb25hbCBvbmNlIHRoaXMgYXBpIGlzIHNldHRsZWQgYW5kIHBhcnQgb2YgYWJzdHJhY3QtZHJvcGRvd24tdmlldy5jbGFzc1xuXHRcdGlmICh0aGlzLnZpZXdbXCJkaXNhYmxlU2Nyb2xsXCJdKSB7XG5cdFx0XHR0aGlzLnZpZXdbXCJkaXNhYmxlU2Nyb2xsXCJdKCk7XG5cdFx0fVxuXG5cdFx0Ly8gbW92ZSB0aGUgbGlzdCBiYWNrIGluIHRoZSBjb21wb25lbnQgb24gY2xvc2Vcblx0XHRpZiAoIXRoaXMuYXBwZW5kSW5saW5lKSB7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMuX2FwcGVuZFRvRHJvcGRvd24oKTtcblx0XHR9XG5cdFx0ZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5ub29wLCB0cnVlKTtcblx0XHRkb2N1bWVudC5ib2R5LmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMubm9vcCwgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub3V0c2lkZUNsaWNrLCB0cnVlKTtcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm91dHNpZGVLZXksIHRydWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIHRvZ2dsaW5nIG1lbnUgc3RhdGVzIGJldHdlZW4gb3Blbi9leHBhbmRlZCBhbmQgY2xvc2VkL2NvbGxhcHNlZC5cblx0ICovXG5cdHRvZ2dsZU1lbnUoKSB7XG5cdFx0aWYgKHRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHR0aGlzLm9wZW5NZW51KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb250cm9scyB3aGVuIGl0J3MgbmVlZGVkIHRvIGFwcGx5IHRoZSBzZWxlY3Rpb24gZmVlZGJhY2tcblx0ICovXG5cdHByb3RlY3RlZCBjaGVja0ZvclJlb3JkZXIoKSB7XG5cdFx0Y29uc3QgdG9wQWZ0ZXJSZW9wZW4gPSB0aGlzLm1lbnVJc0Nsb3NlZCAmJiB0aGlzLnNlbGVjdGlvbkZlZWRiYWNrID09PSBcInRvcC1hZnRlci1yZW9wZW5cIjtcblx0XHRpZiAoKHRoaXMudHlwZSA9PT0gXCJtdWx0aVwiKSAmJiAodG9wQWZ0ZXJSZW9wZW4gfHwgdGhpcy5zZWxlY3Rpb25GZWVkYmFjayA9PT0gXCJ0b3BcIikpIHtcblx0XHRcdHRoaXMudmlldy5yZW9yZGVyU2VsZWN0ZWQoKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
|
|
903
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLFlBQVksRUFFWixTQUFTLEVBRVQsWUFBWSxFQUVaLFdBQVcsRUFDWCxXQUFXLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRXpFLHlFQUF5RTtBQUN6RSxPQUFPLEVBRU4sRUFBRSxFQUNGLFlBQVksRUFDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXRFLE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQUV2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBNkhILE1BQU0sT0FBTyxRQUFRO0lBbUtwQjs7T0FFRztJQUNILFlBQ1csVUFBc0IsRUFDdEIsSUFBVSxFQUNWLGVBQWdDLEVBQ2hDLGNBQThCO1FBSDlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF4S2hDLE9BQUUsR0FBRyxZQUFZLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBU3JEOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxpQkFBWSxHQUE4QixFQUFFLENBQUM7UUFDdEQ7O1dBRUc7UUFDTSxjQUFTLEdBQVcsSUFBSSxDQUFD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QkFPRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlHLE1BQU07c0JBQWQsS0FBSztnQkFJSSxRQUFRO3NCQUFqQixNQUFNO2dCQUlHLE9BQU87c0JBQWhCLE1BQU07Z0JBSUcsS0FBSztzQkFBZCxNQUFNO2dCQUsrQyxJQUFJO3NCQUF6RCxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJTCxjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJQSxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsU0FBUztzQkFBckQsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBeU0zQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXIsXG5cdEVsZW1lbnRSZWYsXG5cdENvbnRlbnRDaGlsZCxcblx0T25Jbml0LFxuXHRWaWV3Q2hpbGQsXG5cdEFmdGVyQ29udGVudEluaXQsXG5cdEhvc3RMaXN0ZW5lcixcblx0T25EZXN0cm95LFxuXHRIb3N0QmluZGluZyxcblx0VGVtcGxhdGVSZWYsXG5cdEFmdGVyVmlld0luaXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG4vLyBPYnNlcnZhYmxlIGltcG9ydCBpcyByZXF1aXJlZCBoZXJlIHNvIHR5cGVzY3JpcHQgY2FuIGNvbXBpbGUgY29ycmVjdGx5XG5pbXBvcnQge1xuXHRPYnNlcnZhYmxlLFxuXHRvZixcblx0U3Vic2NyaXB0aW9uXG59IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IEFic3RyYWN0RHJvcGRvd25WaWV3IH0gZnJvbSBcIi4vYWJzdHJhY3QtZHJvcGRvd24tdmlldy5jbGFzc1wiO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSBcIi4vbGlzdC1pdGVtLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSBcIi4vZHJvcGRvd24uc2VydmljZVwiO1xuaW1wb3J0IHsgRWxlbWVudFNlcnZpY2UsIGdldFNjcm9sbGFibGVQYXJlbnRzIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvdXRpbHNcIjtcbmltcG9ydCB7IGhhc1Njcm9sbGFibGVQYXJlbnRzIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvdXRpbHNcIjtcblxuLyoqXG4gKiBEcm9wLWRvd24gbGlzdHMgZW5hYmxlIHVzZXJzIHRvIHNlbGVjdCBvbmUgb3IgbW9yZSBpdGVtcyBmcm9tIGEgbGlzdC5cbiAqXG4gKiAjIyMjIE9wZW5pbmcgYmVoYXZpb3IvTGlzdCBET00gcGxhY2VtZW50XG4gKiBCeSBkZWZhdWx0IHRoZSBkcm9wZG93biB3aWxsIHRyeSB0byBmaWd1cmUgb3V0IHRoZSBiZXN0IHBsYWNlbWVudCBmb3IgdGhlIGRyb3Bkb3duIGxpc3QuXG4gKlxuICogSWYgaXQncyBub3QgY29udGFpbmVkIHdpdGhpbiBhbnkgc2Nyb2xsaW5nIGVsZW1lbnRzLCBpdCB3aWxsIG9wZW4gaW5saW5lLCBpZiBpdCBfaXNfXG4gKiBjb250YWluZWQgd2l0aGluIGEgc2Nyb2xsaW5nIGNvbnRhaW5lciBpdCB3aWxsIHRyeSB0byBvcGVuIGluIHRoZSBib2R5LCBvciBhbiBgY2RzLXBsYWNlaG9sZGVyYC5cbiAqXG4gKiBUbyBjb250cm9sIHRoaXMgYmVoYXZpb3IgeW91IGNhbiB1c2UgdGhlIGBhcHBlbmRJbmxpbmVgIGlucHV0OlxuICogLSBgW2FwcGVuZElubGluZV09XCJudWxsXCJgIGlzIHRoZSBkZWZhdWx0IChhdXRvIGRldGVjdGlvbilcbiAqIC0gYFthcHBlbmRJbmxpbmVdPVwiZmFsc2VcImAgd2lsbCBhbHdheXMgYXBwZW5kIHRvIHRoZSBib2R5L2BjZHMtcGxhY2Vob2xkZXJgXG4gKiAtIGBbYXBwZW5kSW5saW5lXT1cInRydWVcImAgd2lsbCBhbHdheXMgYXBwZW5kIGlubGluZSAobmV4dCB0byB0aGUgZHJvcGRvd24gYnV0dG9uKVxuICpcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtZHJvcGRvd24tLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLWRyb3Bkb3duLCBpYm0tZHJvcGRvd25cIixcblx0dGVtcGxhdGU6IGBcblx0PGxhYmVsXG5cdFx0Km5nSWY9XCJsYWJlbCAmJiAhc2tlbGV0b25cIlxuXHRcdFtmb3JdPVwiaWRcIlxuXHRcdGNsYXNzPVwiY2RzLS1sYWJlbFwiXG5cdFx0W25nQ2xhc3NdPVwieydjZHMtLWxhYmVsLS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiPlxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShsYWJlbClcIj57e2xhYmVsfX08L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9sYWJlbD5cblx0PGRpdlxuXHRcdGNsYXNzPVwiY2RzLS1saXN0LWJveFwiXG5cdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0J2Nkcy0tZHJvcGRvd24nOiB0eXBlICE9PSAnbXVsdGknLFxuXHRcdFx0J2Nkcy0tbXVsdGlzZWxlY3QnOiB0eXBlID09PSAnbXVsdGknLFxuXHRcdFx0J2Nkcy0tbXVsdGktc2VsZWN0LS1zZWxlY3RlZCc6IHR5cGUgPT09ICdtdWx0aScgJiYgZ2V0U2VsZWN0ZWRDb3VudCgpID4gMCxcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1saWdodCc6IHRoZW1lID09PSAnbGlnaHQnLFxuXHRcdFx0J2Nkcy0tbGlzdC1ib3gtLWxpZ2h0JzogdGhlbWUgPT09ICdsaWdodCcsXG5cdFx0XHQnY2RzLS1saXN0LWJveC0taW5saW5lJzogaW5saW5lLFxuXHRcdFx0J2Nkcy0tc2tlbGV0b24nOiBza2VsZXRvbixcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1kaXNhYmxlZCBjZHMtLWxpc3QtYm94LS1kaXNhYmxlZCc6IGRpc2FibGVkLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLWludmFsaWQnOiBpbnZhbGlkLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLXdhcm5pbmcgY2RzLS1saXN0LWJveC0td2FybmluZyc6IHdhcm4sXG5cdFx0XHQnY2RzLS1kcm9wZG93bi0tc20gY2RzLS1saXN0LWJveC0tc20nOiBzaXplID09PSAnc20nLFxuXHRcdFx0J2Nkcy0tZHJvcGRvd24tLW1kIGNkcy0tbGlzdC1ib3gtLW1kJzogc2l6ZSA9PT0gJ21kJyxcblx0XHRcdCdjZHMtLWRyb3Bkb3duLS1sZyBjZHMtLWxpc3QtYm94LS1sZyc6IHNpemUgPT09ICdsZycsXG5cdFx0XHQnY2RzLS1saXN0LWJveC0tZXhwYW5kZWQnOiAhbWVudUlzQ2xvc2VkXG5cdFx0fVwiPlxuXHRcdDxidXR0b25cblx0XHRcdCNkcm9wZG93bkJ1dHRvblxuXHRcdFx0W2lkXT1cImlkXCJcblx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLWxpc3QtYm94X19maWVsZFwiXG5cdFx0XHRbbmdDbGFzc109XCJ7J2EnOiAhbWVudUlzQ2xvc2VkfVwiXG5cdFx0XHRbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFtZW51SXNDbG9zZWRcIlxuXHRcdFx0W2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG5cdFx0XHQoY2xpY2spPVwiZGlzYWJsZWQgPyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgOiB0b2dnbGVNZW51KClcIlxuXHRcdFx0KGJsdXIpPVwib25CbHVyKClcIlxuXHRcdFx0W2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQoY2xpY2spPVwiY2xlYXJTZWxlY3RlZCgpXCJcblx0XHRcdFx0KGtleWRvd24uZW50ZXIpPVwiY2xlYXJTZWxlY3RlZCgpXCJcblx0XHRcdFx0Km5nSWY9XCJ0eXBlID09PSAnbXVsdGknICYmIGdldFNlbGVjdGVkQ291bnQoKSA+IDBcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tbGlzdC1ib3hfX3NlbGVjdGlvbiBjZHMtLXRhZy0tZmlsdGVyIGNkcy0tbGlzdC1ib3hfX3NlbGVjdGlvbi0tbXVsdGlcIlxuXHRcdFx0XHR0YWJpbmRleD1cIjBcIlxuXHRcdFx0XHRbdGl0bGVdPVwiY2xlYXJUZXh0XCI+XG5cdFx0XHRcdHt7Z2V0U2VsZWN0ZWRDb3VudCgpfX1cblx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdGZvY3VzYWJsZT1cImZhbHNlXCJcblx0XHRcdFx0XHRwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG5cdFx0XHRcdFx0c3R5bGU9XCJ3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1wiXG5cdFx0XHRcdFx0cm9sZT1cImltZ1wiXG5cdFx0XHRcdFx0eG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG5cdFx0XHRcdFx0d2lkdGg9XCIxNlwiXG5cdFx0XHRcdFx0aGVpZ2h0PVwiMTZcIlxuXHRcdFx0XHRcdHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuXHRcdFx0XHRcdGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdDxwYXRoIGQ9XCJNMTIgNC43bC0uNy0uN0w4IDcuMyA0LjcgNGwtLjcuN0w3LjMgOCA0IDExLjNsLjcuN0w4IDguN2wzLjMgMy4zLjctLjdMOC43IDh6XCI+PC9wYXRoPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PHNwYW4gKm5nSWY9XCJpc1JlbmRlclN0cmluZygpXCIgY2xhc3M9XCJjZHMtLWxpc3QtYm94X19sYWJlbFwiPnt7Z2V0RGlzcGxheVN0cmluZ1ZhbHVlKCkgfCBhc3luY319PC9zcGFuPlxuXHRcdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHRcdCpuZ0lmPVwiIWlzUmVuZGVyU3RyaW5nKClcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0UmVuZGVyVGVtcGxhdGVDb250ZXh0KClcIlxuXHRcdFx0XHRbbmdUZW1wbGF0ZU91dGxldF09XCJkaXNwbGF5VmFsdWVcIj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiaW52YWxpZFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1kcm9wZG93bl9faW52YWxpZC1pY29uXCJcblx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdHNpemU9XCIxNlwiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiIWludmFsaWQgJiYgd2FyblwiXG5cdFx0XHRcdGNkc0ljb249XCJ3YXJuaW5nLS1hbHQtLWZpbGxlZFwiXG5cdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1saXN0LWJveF9faW52YWxpZC1pY29uIGNkcy0tbGlzdC1ib3hfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8c3BhbiBjbGFzcz1cImNkcy0tbGlzdC1ib3hfX21lbnUtaWNvblwiPlxuXHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0Km5nSWY9XCIhc2tlbGV0b25cIlxuXHRcdFx0XHRcdGNkc0ljb249XCJjaGV2cm9uLS1kb3duXCJcblx0XHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwibWVudUJ1dHRvbkxhYmVsXCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJ7J2Nkcy0tbGlzdC1ib3hfX21lbnUtaWNvbi0tb3Blbic6ICFtZW51SXNDbG9zZWQgfVwiPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2J1dHRvbj5cblx0XHQ8ZGl2XG5cdFx0XHQjZHJvcGRvd25NZW51XG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLWxpc3QtYm94LS11cCc6IHRoaXMuZHJvcFVwICE9PSBudWxsICYmIHRoaXMuZHJvcFVwICE9PSB1bmRlZmluZWQgPyBkcm9wVXAgOiBfZHJvcFVwXG5cdFx0XHR9XCI+XG5cdFx0XHQ8bmctY29udGVudCAqbmdJZj1cIiFtZW51SXNDbG9zZWRcIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2XG5cdFx0Km5nSWY9XCJoZWxwZXJUZXh0ICYmICFpbnZhbGlkICYmICF3YXJuICYmICFza2VsZXRvblwiXG5cdFx0Y2xhc3M9XCJjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCJcblx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHQnY2RzLS1mb3JtX19oZWxwZXItdGV4dC0tZGlzYWJsZWQnOiBkaXNhYmxlZFxuXHRcdH1cIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e2hlbHBlclRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoaGVscGVyVGV4dClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWxwZXJUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9kaXY+XG5cdDxkaXYgKm5nSWY9XCJpbnZhbGlkXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCI+e3sgaW52YWxpZFRleHQgfX08L25nLWNvbnRhaW5lcj5cblx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0PC9kaXY+XG5cdDxkaXYgKm5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUod2FyblRleHQpXCI+e3t3YXJuVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNUZW1wbGF0ZSh3YXJuVGV4dClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ3YXJuVGV4dFwiPjwvbmctdGVtcGxhdGU+XG5cdDwvZGl2PlxuXHRgLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBEcm9wZG93bixcblx0XHRcdG11bHRpOiB0cnVlXG5cdFx0fVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0c3RhdGljIGRyb3Bkb3duQ291bnQgPSAwO1xuXHRASW5wdXQoKSBpZCA9IGBkcm9wZG93bi0ke0Ryb3Bkb3duLmRyb3Bkb3duQ291bnQrK31gO1xuXHQvKipcblx0ICogTGFiZWwgZm9yIHRoZSBkcm9wZG93bi5cblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgb3B0aW9uYWwgaGVscGVyIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBoZWxwZXJUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogVmFsdWUgZGlzcGxheWVkIGlmIG5vIGl0ZW0gaXMgc2VsZWN0ZWQuXG5cdCAqL1xuXHRASW5wdXQoKSBwbGFjZWhvbGRlciA9IFwiXCI7XG5cdC8qKlxuXHQgKiBUaGUgc2VsZWN0ZWQgdmFsdWUgZnJvbSB0aGUgYERyb3Bkb3duYC4gQ2FuIGJlIGEgc3RyaW5nIG9yIHRlbXBsYXRlLlxuXHQgKi9cblx0QElucHV0KCkgZGlzcGxheVZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gXCJcIjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIG9wdGlvbmFsIGNsZWFyIGJ1dHRvbiB0b29sdGlwIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBjbGVhclRleHQ6IHN0cmluZyA9IHRoaXMuaTE4bi5nZXQoKS5EUk9QRE9XTi5DTEVBUjtcblx0LyoqXG5cdCAqIFNpemUgdG8gcmVuZGVyIHRoZSBkcm9wZG93biBmaWVsZC5cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwic21cIiB8IFwibWRcIiB8IFwibGdcIiA9IFwibWRcIjtcblx0LyoqXG5cdCAqIERlZmluZXMgd2hldGhlciBvciBub3QgdGhlIGBEcm9wZG93bmAgc3VwcG9ydHMgc2VsZWN0aW5nIG11bHRpcGxlIGl0ZW1zIGFzIG9wcG9zZWQgdG8gc2luZ2xlXG5cdCAqIGl0ZW0gc2VsZWN0aW9uLlxuXHQgKi9cblx0QElucHV0KCkgdHlwZTogXCJzaW5nbGVcIiB8IFwibXVsdGlcIiA9IFwic2luZ2xlXCI7XG5cdC8qKlxuXHQgKiBAZGVwcmVjYXRlZCBzaW5jZSB2NSAtIFVzZSBgY2RzTGF5ZXJgIGRpcmVjdGl2ZSBpbnN0ZWFkXG5cdCAqIGBsaWdodGAgb3IgYGRhcmtgIGRyb3Bkb3duIHRoZW1lXG5cdCAqL1xuXHRASW5wdXQoKSB0aGVtZTogXCJsaWdodFwiIHwgXCJkYXJrXCIgPSBcImRhcmtcIjtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB0aGUgZHJvcGRvd24uXG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBsb2FkaW5nIGRyb3Bkb3duLlxuXHQgKi9cblx0QElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGFuIGlubGluZSBkcm9wZG93bi5cblx0ICovXG5cdEBJbnB1dCgpIGlubGluZSA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBkcm9wZG93biB3aXRob3V0IGFycm93IGtleSBhY3RpdmF0aW9uLlxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZUFycm93S2V5cyA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgaW52YWxpZCBzdGF0ZS5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFZhbHVlIGRpc3BsYXllZCBpZiBkcm9wZG93biBpcyBpbiBpbnZhbGlkIHN0YXRlLlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZFRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuXHQgICovXG5cdEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuXHQgKi9cblx0QElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBzZXQgdG8gYHRydWVgIHRvIHBsYWNlIHRoZSBkcm9wZG93biB2aWV3IGlubGluZSB3aXRoIHRoZSBjb21wb25lbnRcblx0ICovXG5cdEBJbnB1dCgpIGFwcGVuZElubGluZTogYm9vbGVhbiA9IG51bGw7XG5cdC8qKlxuXHQgKiBRdWVyeSBzdHJpbmcgZm9yIHRoZSBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIGBEcm9wZG93bmAuXG5cdCAqIFVzZWQgdG8gdHJpZ2dlciBjbG9zaW5nIHRoZSBkcm9wZG93biBpZiBpdCBzY3JvbGxzIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0IG9mIHRoZSBgc2Nyb2xsYWJsZUNvbnRhaW5lcmAuXG5cdCAqL1xuXHRASW5wdXQoKSBzY3JvbGxhYmxlQ29udGFpbmVyOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIHByb3BlcnR5IHRvIGJlIHVzZWQgYXMgdGhlIHJldHVybiB2YWx1ZSB0byBgbmdNb2RlbGBcblx0ICovXG5cdEBJbnB1dCgpIGl0ZW1WYWx1ZUtleTogc3RyaW5nO1xuXHQvKipcblx0ICogU3BlY2lmeSBmZWVkYmFjayAobW9kZSkgb2YgdGhlIHNlbGVjdGlvbi5cblx0ICogYHRvcGA6IHNlbGVjdGVkIGl0ZW0ganVtcHMgdG8gdG9wXG5cdCAqIGBmaXhlZGA6IHNlbGVjdGVkIGl0ZW0gc3RheXMgYXQgaXQncyBwb3NpdGlvblxuXHQgKiBgdG9wLWFmdGVyLXJlb3BlbmA6IHNlbGVjdGVkIGl0ZW0ganVtcCB0byB0b3AgYWZ0ZXIgcmVvcGVuIGRyb3Bkb3duXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3Rpb25GZWVkYmFjazogXCJ0b3BcIiB8IFwiZml4ZWRcIiB8IFwidG9wLWFmdGVyLXJlb3BlblwiID0gXCJ0b3AtYWZ0ZXItcmVvcGVuXCI7XG5cdC8qKlxuXHQgKiBBY2Nlc3NpYmxlIGxhYmVsIGZvciB0aGUgYnV0dG9uIHRoYXQgb3BlbnMgdGhlIGRyb3Bkb3duIGxpc3QuXG5cdCAqIERlZmF1bHRzIHRvIHRoZSBgRFJPUERPV04uT1BFTmAgdmFsdWUgZnJvbSB0aGUgaTE4biBzZXJ2aWNlLlxuXHQgKi9cblx0QElucHV0KCkgbWVudUJ1dHRvbkxhYmVsID0gdGhpcy5pMThuLmdldCgpLkRST1BET1dOLk9QRU47XG5cdC8qKlxuXHQgKiBQcm92aWRlcyB0aGUgbGFiZWwgZm9yIHRoZSBcIiMgc2VsZWN0ZWRcIiB0ZXh0LlxuXHQgKiBEZWZhdWx0cyB0byB0aGUgYERST1BET1dOLlNFTEVDVEVEYCB2YWx1ZSBmcm9tIHRoZSBpMThuIHNlcnZpY2UuXG5cdCAqL1xuXHRASW5wdXQoKSBzZWxlY3RlZExhYmVsID0gdGhpcy5pMThuLmdldCgpLkRST1BET1dOLlNFTEVDVEVEO1xuXHQvKipcblx0ICogT3ZlcnJpZGVzIHRoZSBhdXRvbWF0aWMgZHJvcFVwLlxuXHQgKi9cblx0QElucHV0KCkgZHJvcFVwOiBib29sZWFuO1xuXHQvKipcblx0ICogRW1pdHMgc2VsZWN0aW9uIGV2ZW50cy5cblx0ICovXG5cdEBPdXRwdXQoKSBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPE9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPE9iamVjdD4oKTtcblx0LyoqXG5cdCAqIEVtaXRzIGV2ZW50IG5vdGlmeWluZyB0byBvdGhlciBjbGFzc2VzIHRoYXQgdGhlIGBEcm9wZG93bmAgaGFzIGJlZW4gY2xvc2VkIChjb2xsYXBzZWQpLlxuXHQgKi9cblx0QE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cdC8qKlxuXHQgKiBFbWl0cyBldmVudCBub3RpZnlpbmcgdG8gb3RoZXIgY2xhc3NlcyB0aGF0IHRoZSBgRHJvcGRvd25gIGhhcyBiZWVuIGNsb3NlZCAoY29sbGFwc2VkKS5cblx0ICovXG5cdEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuXHQvKipcblx0ICogTWFpbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBgQWJzdHJhY3REcm9wZG93blZpZXdgIG9iamVjdCB3aXRoaW4gdGhlIGNvbnRlbnQgRE9NLlxuXHQgKi9cblx0QENvbnRlbnRDaGlsZChBYnN0cmFjdERyb3Bkb3duVmlldywgeyBzdGF0aWM6IHRydWUgfSkgdmlldzogQWJzdHJhY3REcm9wZG93blZpZXc7XG5cdC8qKlxuXHQgKiBNYWludGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIHZpZXcgRE9NIGVsZW1lbnQgb2YgdGhlIGBEcm9wZG93bmAgYnV0dG9uLlxuXHQgKi9cblx0QFZpZXdDaGlsZChcImRyb3Bkb3duQnV0dG9uXCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duQnV0dG9uO1xuXHQvKipcblx0ICogVmlld0NoaWQgb2YgdGhlIGRyb3Bkb3duIHZpZXcuXG5cdCAqL1xuXHRAVmlld0NoaWxkKFwiZHJvcGRvd25NZW51XCIsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duTWVudTtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWRyb3Bkb3duX193cmFwcGVyXCIpIGhvc3RDbGFzcyA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBkcm9wZG93biBpcyBjbG9zZWQgKG5vdCBleHBhbmRlZCkuXG5cdCAqL1xuXHRtZW51SXNDbG9zZWQgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBjb250cm9scyB3aGV0aGVyIHRoZSBgZHJvcC11cGAgY2xhc3MgaXMgYXBwbGllZFxuXHQgKi9cblx0X2Ryb3BVcCA9IGZhbHNlO1xuXG5cdC8vIC5iaW5kIGNyZWF0ZXMgYSBuZXcgZnVuY3Rpb24sIHNvIHdlIGRlY2xhcmUgdGhlIG1ldGhvZHMgYmVsb3dcblx0Ly8gYnV0IC5iaW5kIHRoZW0gdXAgaGVyZVxuXHRub29wID0gdGhpcy5fbm9vcC5iaW5kKHRoaXMpO1xuXHRvdXRzaWRlQ2xpY2sgPSB0aGlzLl9vdXRzaWRlQ2xpY2suYmluZCh0aGlzKTtcblx0b3V0c2lkZUtleSA9IHRoaXMuX291dHNpZGVLZXkuYmluZCh0aGlzKTtcblx0a2V5Ym9hcmROYXYgPSB0aGlzLl9rZXlib2FyZE5hdi5iaW5kKHRoaXMpO1xuXG5cdHByb3RlY3RlZCB2aXNpYmlsaXR5U3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG5cdHByb3RlY3RlZCBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IHRoaXMuX25vb3A7XG5cblx0Ly8gcHJpbWFyaWx5IHVzZWQgdG8gY2FwdHVyZSBhbmQgcHJvcGFnYXRlIGlucHV0IHRvIGB3cml0ZVZhbHVlYCBiZWZvcmUgdGhlIGNvbnRlbnQgaXMgYXZhaWxhYmxlXG5cdHByaXZhdGUgX3dyaXR0ZW5WYWx1ZTogYW55ID0gW107XG5cdHByb3RlY3RlZCBnZXQgd3JpdHRlblZhbHVlKCkge1xuXHRcdHJldHVybiB0aGlzLl93cml0dGVuVmFsdWU7XG5cdH1cblx0cHJvdGVjdGVkIHNldCB3cml0dGVuVmFsdWUodmFsOiBhbnlbXSkge1xuXHRcdGlmICh2YWwgJiYgdmFsLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhpcy5jbGVhclNlbGVjdGVkKCk7XG5cdFx0fVxuXHRcdHRoaXMuX3dyaXR0ZW5WYWx1ZSA9IHZhbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERyb3Bkb3duLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG5cdFx0cHJvdGVjdGVkIGkxOG46IEkxOG4sXG5cdFx0cHJvdGVjdGVkIGRyb3Bkb3duU2VydmljZTogRHJvcGRvd25TZXJ2aWNlLFxuXHRcdHByb3RlY3RlZCBlbGVtZW50U2VydmljZTogRWxlbWVudFNlcnZpY2UpIHt9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZXMgdGhlIGB0eXBlYCBwcm9wZXJ0eSBpbiB0aGUgYEBDb250ZW50Q2hpbGRgLlxuXHQgKiBUaGUgYHR5cGVgIHByb3BlcnR5IHNwZWNpZmllcyB3aGV0aGVyIHRoZSBgRHJvcGRvd25gIGFsbG93cyBzaW5nbGUgc2VsZWN0aW9uIG9yIG11bHRpIHNlbGVjdGlvbi5cblx0ICovXG5cdG5nT25Jbml0KCkge1xuXHRcdGlmICh0aGlzLnZpZXcpIHtcblx0XHRcdHRoaXMudmlldy50eXBlID0gdGhpcy50eXBlO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBJbml0aWFsaXplcyBjbGFzc2VzIGFuZCBzdWJzY3JpYmVzIHRvIGV2ZW50cyBmb3Igc2luZ2xlIG9yIG11bHRpIHNlbGVjdGlvbi5cblx0ICovXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHRpZiAoIXRoaXMudmlldykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAoKHRoaXMud3JpdHRlblZhbHVlICYmIHRoaXMud3JpdHRlblZhbHVlLmxlbmd0aCkgfHwgdHlwZW9mIHRoaXMud3JpdHRlblZhbHVlID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHR0aGlzLndyaXRlVmFsdWUodGhpcy53cml0dGVuVmFsdWUpO1xuXHRcdH1cblx0XHR0aGlzLnZpZXcudHlwZSA9IHRoaXMudHlwZTtcblx0XHR0aGlzLnZpZXcuc2l6ZSA9IHRoaXMuc2l6ZTtcblxuXHRcdC8vIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZSBldmVudCBpcyBvcmdhbmljIChpc1VwZGF0ZSA9PT0gZmFsc2UpIG9yIHByb2dyYW1tYXRpY1xuXHRcdGNvbnN0IGlzVXBkYXRlID0gZXZlbnQgPT4gZXZlbnQgJiYgZXZlbnQuaXNVcGRhdGU7XG5cblx0XHR0aGlzLnZpZXcuc2VsZWN0LnN1YnNjcmliZShldmVudCA9PiB7XG5cdFx0XHRpZiAodGhpcy50eXBlID09PSBcInNpbmdsZVwiICYmICFpc1VwZGF0ZShldmVudCkgJiYgIUFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHRcdGlmIChldmVudC5pdGVtICYmIGV2ZW50Lml0ZW0uc2VsZWN0ZWQpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5pdGVtVmFsdWVLZXkpIHtcblx0XHRcdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKGV2ZW50Lml0ZW1bdGhpcy5pdGVtVmFsdWVLZXldKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaXRlbSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwibXVsdGlcIiAmJiAhaXNVcGRhdGUoZXZlbnQpKSB7XG5cdFx0XHRcdC8vIGlmIHdlIGhhdmUgYSBgdmFsdWVgIHNlbGVjdG9yIGFuZCBzZWxlY3RlZCBpdGVtcyBtYXAgdGhlbSBhcHByb3ByaWF0ZWx5XG5cdFx0XHRcdGlmICh0aGlzLml0ZW1WYWx1ZUtleSAmJiB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSkge1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlcyA9IHRoaXMudmlldy5nZXRTZWxlY3RlZCgpLm1hcChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldKTtcblx0XHRcdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWx1ZXMpO1xuXHRcdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHBhc3MgdXAgdGhlIHZhbHVlcyBmcm9tIGBnZXRTZWxlY3RlZGBcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIG9ubHkgZW1pdCBzZWxlY3RlZCBmb3IgXCJvcmdhbmljXCIgc2VsZWN0aW9uc1xuXHRcdFx0aWYgKCFpc1VwZGF0ZShldmVudCkpIHtcblx0XHRcdFx0dGhpcy5jaGVja0ZvclJlb3JkZXIoKTtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZC5lbWl0KGV2ZW50KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHQvLyBpZiBhcHBlbmRJbmxpbmUgaXMgZGVmYXVsdCB2YWx1ZWQgKG51bGwpIHdlIHNob3VsZDpcblx0XHQvLyAxLiBpZiB0aGVyZSBhcmUgc2Nyb2xsYWJsZSBwYXJlbnRzIChub3QgaW5jbHVkaW5nIGJvZHkpIGRvbid0IGFwcGVuZCBpbmxpbmVcblx0XHQvLyAgICB0aGlzIHNob3VsZCBhbHNvIGNvdmVyIHRoZSBjYXNlIHdoZXJlIHRoZSBkcm9wZG93biBpcyBpbiBhIG1vZGFsXG5cdFx0Ly8gICAgKHdoZXJlIHdlIF9kb18gd2FudCB0byBhcHBlbmQgdG8gdGhlIHBsYWNlaG9sZGVyKVxuXHRcdGlmICh0aGlzLmFwcGVuZElubGluZSA9PT0gbnVsbCAmJiBoYXNTY3JvbGxhYmxlUGFyZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpIHtcblx0XHRcdHRoaXMuYXBwZW5kSW5saW5lID0gZmFsc2U7XG5cdFx0XHQvLyAyLiBvdGhlcndpc2Ugd2Ugc2hvdWxkIGFwcGVuZCBpbmxpbmVcblx0XHR9IGVsc2UgaWYgKHRoaXMuYXBwZW5kSW5saW5lID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmFwcGVuZElubGluZSA9IHRydWU7XG5cdFx0fVxuXHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZpbmcgdGhlIGBEcm9wZG93bmAgZnJvbSB0aGUgYm9keSBpZiBpdCBpcyBhcHBlbmRlZCB0byB0aGUgYm9keS5cblx0ICovXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICghdGhpcy5hcHBlbmRJbmxpbmUpIHtcblx0XHRcdHRoaXMuX2FwcGVuZFRvRHJvcGRvd24oKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUHJvcGFnYXRlcyB0aGUgaW5qZWN0ZWQgYHZhbHVlYC5cblx0ICovXG5cdHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuXHRcdC8vIGNhY2hlIHRoZSB3cml0dGVuIHZhbHVlIHNvIHdlIGNhbiB1c2UgaXQgaW4gYEFmdGVyQ29udGVudEluaXRgXG5cdFx0dGhpcy53cml0dGVuVmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLnZpZXcub25JdGVtc1JlYWR5KCgpID0+IHtcblx0XHRcdC8vIHByb3BhZ2F0ZSBudWxsL2ZhbHNleSBhcyBhbiBhcnJheSAoZGVzZWxlY3QgZXZlcnl0aGluZylcblx0XHRcdGlmICghdmFsdWUpIHtcblx0XHRcdFx0dGhpcy52aWV3LnByb3BhZ2F0ZVNlbGVjdGVkKFt2YWx1ZV0pO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwic2luZ2xlXCIpIHtcblx0XHRcdFx0aWYgKHRoaXMuaXRlbVZhbHVlS2V5KSB7XG5cdFx0XHRcdFx0Ly8gY2xvbmUgdGhlIHNwZWNpZmllZCBpdGVtIGFuZCB1cGRhdGUgaXRzIHN0YXRlXG5cdFx0XHRcdFx0Y29uc3QgbmV3VmFsdWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnZpZXcuZ2V0TGlzdEl0ZW1zKCkuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldID09PSB2YWx1ZSkpO1xuXHRcdFx0XHRcdG5ld1ZhbHVlLnNlbGVjdGVkID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLnZpZXcucHJvcGFnYXRlU2VsZWN0ZWQoW25ld1ZhbHVlXSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gcGFzcyB0aGUgc2luZ3VsYXIgdmFsdWUgYXMgYW4gYXJyYXkgb2YgTGlzdEl0ZW1cblx0XHRcdFx0XHR0aGlzLnZpZXcucHJvcGFnYXRlU2VsZWN0ZWQoW3ZhbHVlXSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLml0ZW1WYWx1ZUtleSkge1xuXHRcdFx0XHRcdC8vIGNsb25lIHRoZSBpdGVtcyBhbmQgdXBkYXRlIHRoZWlyIHN0YXRlIGJhc2VkIG9uIHRoZSByZWNlaXZlZCB2YWx1ZSBhcnJheVxuXHRcdFx0XHRcdC8vIHRoaXMgd2F5IHdlIGRvbid0IGxvc2UgYW55IGFkZGl0aW9uYWwgbWV0YWRhdGEgdGhhdCBtYXkgYmUgcGFzc2VkIGluIHZpYSB0aGUgYGl0ZW1zYCBJbnB1dFxuXHRcdFx0XHRcdGxldCBuZXdWYWx1ZXMgPSBbXTtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IHYgb2YgdmFsdWUpIHtcblx0XHRcdFx0XHRcdGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnZpZXcuZ2V0TGlzdEl0ZW1zKCkpIHtcblx0XHRcdFx0XHRcdFx0aWYgKGl0ZW1bdGhpcy5pdGVtVmFsdWVLZXldID09PSB2KSB7XG5cdFx0XHRcdFx0XHRcdFx0bmV3VmFsdWVzLnB1c2goT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyBzZWxlY3RlZDogdHJ1ZSB9KSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy52aWV3LnByb3BhZ2F0ZVNlbGVjdGVkKG5ld1ZhbHVlcyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gd2UgY2FuIHNhZmVseSBhc3N1bWUgd2UncmUgcGFzc2luZyBhbiBhcnJheSBvZiBgTGlzdEl0ZW1gc1xuXHRcdFx0XHRcdHRoaXMudmlldy5wcm9wYWdhdGVTZWxlY3RlZCh2YWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRvbkJsdXIoKSB7XG5cdFx0dGhpcy5vblRvdWNoZWRDYWxsYmFjaygpO1xuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWdpc3RlcmluZyB0aGUgZnVuY3Rpb24gaW5qZWN0ZWQgdG8gY29udHJvbCB0aGUgdG91Y2ggdXNlIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuXHRcdHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBmdW5jdGlvbiBwYXNzZWQgaW4gYnkgYHJlZ2lzdGVyT25DaGFuZ2VgXG5cdCAqL1xuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG5cblx0LyoqXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgbWV0aG9kIHRvIHByb2dyYW1tYXRpY2FsbHkgZGlzYWJsZSB0aGUgZHJvcGRvd24uXG5cdCAqXG5cdCAqIGV4OiBgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibXlEcm9wZG93blwiKS5kaXNhYmxlKCk7YFxuXHQgKlxuXHQgKiBAcGFyYW0gaXNEaXNhYmxlZCBgdHJ1ZWAgdG8gZGlzYWJsZSB0aGUgaW5wdXRcblx0ICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMga2V5Ym9hcmQgZnVuY3Rpb25hbGl0eSBmb3IgbmF2aWdhdGlvbiwgc2VsZWN0aW9uIGFuZCBjbG9zaW5nIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuXHRvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikgJiYgIXRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsgIC8vIGRvbid0IHVuaW50ZW50aW9uYWxseSBjbG9zZSBvdGhlciB3aWRnZXRzIHRoYXQgbGlzdGVuIGZvciBFc2NhcGVcblx0XHR9XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJFc2NhcGVcIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHR0aGlzLmRyb3Bkb3duQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcblx0XHR9IGVsc2UgaWYgKHRoaXMubWVudUlzQ2xvc2VkICYmIChldmVudC5rZXkgPT09IFwiIFwiIHx8IGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIiB8fCBldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSkge1xuXHRcdFx0aWYgKHRoaXMuZGlzYWJsZUFycm93S2V5cyAmJiAoZXZlbnQua2V5ID09PSBcIkFycm93RG93blwiIHx8IGV2ZW50LmtleSA9PT0gXCJBcnJvd1VwXCIpKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLm9wZW5NZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLm1lbnVJc0Nsb3NlZCAmJiBldmVudC5rZXkgPT09IFwiVGFiXCIgJiYgdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgTm9kZSkpIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLm1lbnVJc0Nsb3NlZCAmJiBldmVudC5rZXkgPT09IFwiVGFiXCIgJiYgZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMudHlwZSA9PT0gXCJtdWx0aVwiKSB7IHJldHVybjsgfVxuXG5cdFx0aWYgKHRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHR0aGlzLmNsb3NlZERyb3Bkb3duTmF2aWdhdGlvbihldmVudCk7XG5cdFx0fVxuXHR9XG5cblx0Y2xvc2VkRHJvcGRvd25OYXZpZ2F0aW9uKGV2ZW50KSB7XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMudmlldy5nZXRDdXJyZW50SXRlbSgpLnNlbGVjdGVkID0gZmFsc2U7XG5cdFx0XHRsZXQgaXRlbSA9IHRoaXMudmlldy5nZXROZXh0SXRlbSgpO1xuXHRcdFx0aWYgKGl0ZW0pIHsgaXRlbS5zZWxlY3RlZCA9IHRydWU7IH1cblx0XHR9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd1VwXCIpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLnZpZXcuZ2V0Q3VycmVudEl0ZW0oKS5zZWxlY3RlZCA9IGZhbHNlO1xuXHRcdFx0bGV0IGl0ZW0gPSB0aGlzLnZpZXcuZ2V0UHJldkl0ZW0oKTtcblx0XHRcdGlmIChpdGVtKSB7IGl0ZW0uc2VsZWN0ZWQgPSB0cnVlOyB9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGRpc3BsYXkgdmFsdWUgaWYgdGhlcmUgaXMgYSBzZWxlY3Rpb24gYW5kIGRpc3BsYXlWYWx1ZSBpcyBzZXQsXG5cdCAqIGlmIHRoZXJlIGlzIGp1c3QgYSBzZWxlY3Rpb24gdGhlIExpc3RJdGVtIGNvbnRlbnQgcHJvcGVydHkgd2lsbCBiZSByZXR1cm5lZCxcblx0ICogb3RoZXJ3aXNlIHRoZSBwbGFjZWhvbGRlciB3aWxsIGJlIHJldHVybmVkLlxuXHQgKi9cblx0Z2V0RGlzcGxheVN0cmluZ1ZhbHVlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cdFx0aWYgKCF0aGlzLnZpZXcgfHwgdGhpcy5za2VsZXRvbikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRsZXQgc2VsZWN0ZWQgPSB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKTtcblx0XHRpZiAoc2VsZWN0ZWQubGVuZ3RoICYmICghdGhpcy5kaXNwbGF5VmFsdWUgfHwgIXRoaXMuaXNSZW5kZXJTdHJpbmcoKSkpIHtcblx0XHRcdGlmICh0aGlzLnR5cGUgPT09IFwibXVsdGlcIikge1xuXHRcdFx0XHRyZXR1cm4gb2YodGhpcy5wbGFjZWhvbGRlcik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gb2Yoc2VsZWN0ZWRbMF0uY29udGVudCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChzZWxlY3RlZC5sZW5ndGggJiYgdGhpcy5pc1JlbmRlclN0cmluZygpKSB7XG5cdFx0XHRyZXR1cm4gb2YodGhpcy5kaXNwbGF5VmFsdWUgYXMgc3RyaW5nKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9mKHRoaXMucGxhY2Vob2xkZXIpO1xuXHR9XG5cblx0aXNSZW5kZXJTdHJpbmcoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHR5cGVvZiB0aGlzLmRpc3BsYXlWYWx1ZSA9PT0gXCJzdHJpbmdcIjtcblx0fVxuXG5cdGdldFJlbmRlclRlbXBsYXRlQ29udGV4dCgpIHtcblx0XHRpZiAoIXRoaXMudmlldykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRsZXQgc2VsZWN0ZWQgPSB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKTtcblx0XHRpZiAodGhpcy50eXBlID09PSBcIm11bHRpXCIpIHtcblx0XHRcdHJldHVybiB7IGl0ZW1zOiBzZWxlY3RlZCB9O1xuXHRcdH0gZWxzZSBpZiAoc2VsZWN0ZWQgJiYgc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuXHRcdFx0cmV0dXJuIHsgaXRlbTogc2VsZWN0ZWRbMF0gfTsgLy8gdGhpcyBpcyB0byBiZSBjb21wYXRpYmxlIHdpdGggdGhlIGRyb3Bkb3duLWxpc3QgdGVtcGxhdGVcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHt9O1xuXHRcdH1cblx0fVxuXG5cdGdldFNlbGVjdGVkQ291bnQoKTogbnVtYmVyIHtcblx0XHRpZiAodGhpcy52aWV3LmdldFNlbGVjdGVkKCkpIHtcblx0XHRcdHJldHVybiB0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKS5sZW5ndGg7XG5cdFx0fVxuXHR9XG5cblx0Y2xlYXJTZWxlY3RlZCgpIHtcblx0XHRpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmdldFNlbGVjdGVkQ291bnQoKSA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy52aWV3LmdldExpc3RJdGVtcygpKSB7XG5cdFx0XHRpdGVtLnNlbGVjdGVkID0gZmFsc2U7XG5cdFx0fVxuXHRcdHRoaXMuc2VsZWN0ZWQuZW1pdChbXSk7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UoW10pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGlzIGEgdmFsdWUgc2VsZWN0ZWQuXG5cdCAqL1xuXHR2YWx1ZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuXHRcdGlmICh0aGlzLnZpZXcuZ2V0U2VsZWN0ZWQoKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdF9ub29wKCkgeyB9XG5cdC8qKlxuXHQgKiBIYW5kbGVzIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBgRHJvcGRvd25gLlxuXHQgKi9cblx0X291dHNpZGVDbGljayhldmVudCkge1xuXHRcdGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuXHRcdFx0Ly8gaWYgd2UncmUgYXBwZW5kVG9Cb2R5IHRoZSBsaXN0IGlzbid0IHdpdGhpbiB0aGUgX2VsZW1lbnRSZWYsXG5cdFx0XHQvLyBzbyB3ZSd2ZSBnb3QgdG8gY2hlY2sgaWYgb3VyIHRhcmdldCBpcyBwb3NzaWJseSBpbiB0aGVyZSB0b28uXG5cdFx0XHQhdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdH1cblx0fVxuXHRfb3V0c2lkZUtleShldmVudCkge1xuXHRcdGlmICghdGhpcy5tZW51SXNDbG9zZWQgJiYgZXZlbnQua2V5ID09PSBcIlRhYlwiICYmIHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdH1cblx0fVxuXHQvKipcblx0ICogSGFuZGxlcyBrZXlib2FyZCBldmVudHMgc28gdXNlcnMgYXJlIGNvbnRyb2xsaW5nIHRoZSBgRHJvcGRvd25gIGluc3RlYWQgb2YgdW5pbnRlbnRpb25hbGx5IGNvbnRyb2xsaW5nIG91dHNpZGUgZWxlbWVudHMuXG5cdCAqL1xuXHRfa2V5Ym9hcmROYXYoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiICYmICF0aGlzLm1lbnVJc0Nsb3NlZCkge1xuXHRcdFx0ZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7ICAvLyBkb24ndCB1bmludGVudGlvbmFsbHkgY2xvc2UgbW9kYWwgaWYgaW5zaWRlIG9mIGl0XG5cdFx0fVxuXHRcdGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHR0aGlzLmNsb3NlTWVudSgpO1xuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0fSBlbHNlIGlmICghdGhpcy5tZW51SXNDbG9zZWQgJiYgZXZlbnQua2V5ID09PSBcIlRhYlwiKSB7XG5cdFx0XHQvLyB0aGlzIHdheSBmb2N1cyB3aWxsIHN0YXJ0IG9uIHRoZSBuZXh0IGZvY3VzYWJsZSBpdGVtIGZyb20gdGhlIGRyb3Bkb3duXG5cdFx0XHQvLyBub3QgdGhlIHRvcCBvZiB0aGUgYm9keSFcblx0XHRcdHRoaXMuZHJvcGRvd25CdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoXCJrZXlkb3duXCIsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwga2V5OiBcIlRhYlwiIH0pKTtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGBEcm9wZG93bmAgbGlzdCBhcHBlbmRpbmcgaXQgdG8gdGhlIGRyb3Bkb3duIHBhcmVudCBvYmplY3QgaW5zdGVhZCBvZiB0aGUgYm9keS5cblx0ICovXG5cdF9hcHBlbmRUb0Ryb3Bkb3duKCkge1xuXHRcdHRoaXMuZHJvcGRvd25TZXJ2aWNlLmFwcGVuZFRvRHJvcGRvd24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5rZXlib2FyZE5hdiwgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgYERyb3Bkb3duYCBsaXN0IGFzIGFuIGVsZW1lbnQgdGhhdCBpcyBhcHBlbmRlZCB0byB0aGUgRE9NIGJvZHkuXG5cdCAqL1xuXHRfYXBwZW5kVG9Cb2R5KCkge1xuXHRcdGNvbnN0IGxpZ2h0Q2xhc3MgPSB0aGlzLnRoZW1lID09PSBcImxpZ2h0XCIgPyBcIiBjZHMtLWxpc3QtYm94LS1saWdodFwiIDogXCJcIjtcblx0XHRjb25zdCBleHBhbmRlZENsYXNzID0gIXRoaXMubWVudUlzQ2xvc2VkID8gXCIgY2RzLS1saXN0LWJveC0tZXhwYW5kZWRcIiA6IFwiXCI7XG5cdFx0dGhpcy5kcm9wZG93blNlcnZpY2UuYXBwZW5kVG9Cb2R5KFxuXHRcdFx0dGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudCxcblx0XHRcdGAke3RoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZX0ke2xpZ2h0Q2xhc3N9JHtleHBhbmRlZENsYXNzfWApO1xuXHRcdHRoaXMuZHJvcGRvd25NZW51Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5rZXlib2FyZE5hdiwgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGV0ZWN0cyB3aGV0aGVyIG9yIG5vdCB0aGUgYERyb3Bkb3duYCBsaXN0IGlzIHZpc2libGUgd2l0aGluIGFsbCBzY3JvbGxhYmxlIHBhcmVudHMuXG5cdCAqIFRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBpbiBhIHZhbHVlIHRvIHRoZSBgZHJvcFVwYCBpbnB1dC5cblx0ICovXG5cdF9zaG91bGREcm9wVXAoKSB7XG5cdFx0Ly8gY2hlY2sgaWYgZHJvcGRvd25NZW51IGV4aXN0cyBmaXJzdC5cblx0XHRjb25zdCBtZW51ID0gdGhpcy5kcm9wZG93bk1lbnUgJiYgdGhpcy5kcm9wZG93bk1lbnUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNkcy0tbGlzdC1ib3hfX21lbnVcIik7XG5cdFx0Ly8gY2hlY2sgaWYgbWVudSBleGlzdHMgZmlyc3QuXG5cdFx0Y29uc3QgbWVudVJlY3QgPSBtZW51ICYmIG1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0aWYgKG1lbnUgJiYgbWVudVJlY3QpIHtcblx0XHRcdGNvbnN0IHNjcm9sbGFibGVQYXJlbnRzID0gZ2V0U2Nyb2xsYWJsZVBhcmVudHMobWVudSk7XG5cdFx0XHRyZXR1cm4gc2Nyb2xsYWJsZVBhcmVudHMucmVkdWNlKChzaG91bGREcm9wVXA6IGJvb2xlYW4sIHBhcmVudDogSFRNTEVsZW1lbnQpID0+IHtcblx0XHRcdFx0Y29uc3QgcGFyZW50UmVjdCA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRcdFx0Y29uc3QgaXNCZWxvd1BhcmVudCA9ICEobWVudVJlY3QuYm90dG9tIDw9IHBhcmVudFJlY3QuYm90dG9tKTtcblx0XHRcdFx0cmV0dXJuIHNob3VsZERyb3BVcCB8fCBpc0JlbG93UGFyZW50O1xuXHRcdFx0fSwgZmFsc2UpO1xuXHRcdH1cblxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFeHBhbmRzIHRoZSBkcm9wZG93biBtZW51IGluIHRoZSB2aWV3LlxuXHQgKi9cblx0b3Blbk1lbnUoKSB7XG5cdFx0Ly8gcHJldmVudHMgdGhlIGRyb3Bkb3duIGZyb20gb3BlbmluZyB3aGVuIGxpc3Qgb2YgaXRlbXMgaXMgZW1wdHlcblx0XHRpZiAodGhpcy52aWV3LmdldExpc3RJdGVtcygpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuX2Ryb3BVcCA9IGZhbHNlO1xuXHRcdHRoaXMubWVudUlzQ2xvc2VkID0gZmFsc2U7XG5cblx0XHQvLyBtb3ZlIHRoZSBkcm9wZG93biBsaXN0IHRvIHRoZSBib2R5IGlmIHdlJ3JlIG5vdCBhcHBlbmRpbmcgaW5saW5lXG5cdFx0Ly8gYW5kIHBvc2l0aW9uIGl0IHJlbGF0aXZlIHRvIHRoZSBkcm9wZG93biB3cmFwcGVyXG5cdFx0aWYgKCF0aGlzLmFwcGVuZElubGluZSkge1xuXHRcdFx0Y29uc3QgdGFyZ2V0ID0gdGhpcy5kcm9wZG93bkJ1dHRvbi5uYXRpdmVFbGVtZW50O1xuXHRcdFx0Y29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdWJzY3JpcHRpb24gPSB0aGlzLmVsZW1lbnRTZXJ2aWNlXG5cdFx0XHRcdC52aXNpYmlsaXR5KHRhcmdldCwgcGFyZW50KVxuXHRcdFx0XHQuc3Vic2NyaWJlKHZhbHVlID0+IHtcblx0XHRcdFx0XHRpZiAoIXZhbHVlLnZpc2libGUpIHtcblx0XHRcdFx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdHRoaXMuX2FwcGVuZFRvQm9keSgpO1xuXHRcdH1cblxuXHRcdC8vIHNldCB0aGUgZHJvcGRvd24gbWVudSB0byBkcm9wIHVwIGlmIGl0J3MgbmVhciB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW5cblx0XHQvLyBzZXRUaW1lb3V0IGxldHMgdXMgbWVhc3VyZSBhZnRlciBpdCdzIHZpc2libGUgaW4gdGhlIERPTVxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZHJvcFVwID09PSBudWxsIHx8IHRoaXMuZHJvcFVwID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dGhpcy5fZHJvcFVwID0gdGhpcy5fc2hvdWxkRHJvcFVwKCk7XG5cdFx0XHR9XG5cdFx0fSwgMCk7XG5cblx0XHQvLyB3ZSBiaW5kIG5vb3AgdG8gZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZCB0byBhbGxvdyBzYWZhcmkgdG8gZmlyZSBldmVudHNcblx0XHQvLyBmcm9tIGRvY3VtZW50LiBUaGVuIHdlIHVuYmluZCBldmVyeXRoaW5nIGxhdGVyIHRvIGtlZXAgdGhpbmdzIGxpZ2h0LlxuXHRcdGRvY3VtZW50LmJvZHkuZmlyc3RFbGVtZW50Q2hpbGQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMubm9vcCwgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm5vb3AsIHRydWUpO1xuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLm91dHNpZGVDbGljaywgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vdXRzaWRlS2V5LCB0cnVlKTtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMudmlldy5pbml0Rm9jdXMoKSwgMCk7XG5cdH1cblxuXHQvKipcblx0ICogQ29sbGFwc2luZyB0aGUgZHJvcGRvd24gbWVudSBhbmQgcmVtb3ZpbmcgdW5uZWNlc3NhcnkgYEV2ZW50TGlzdGVuZXJzYC5cblx0ICovXG5cdGNsb3NlTWVudSgpIHtcblx0XHQvLyByZXR1cm4gZWFybHkgaWYgdGhlIG1lbnUgaXMgYWxyZWFkeSBjbG9zZWRcblx0XHRpZiAodGhpcy5tZW51SXNDbG9zZWQpIHsgcmV0dXJuOyB9XG5cdFx0dGhpcy5tZW51SXNDbG9zZWQgPSB0cnVlO1xuXHRcdHRoaXMuY2hlY2tGb3JSZW9yZGVyKCk7XG5cdFx0dGhpcy5vbkNsb3NlLmVtaXQoKTtcblx0XHR0aGlzLmNsb3NlLmVtaXQoKTtcblxuXHRcdC8vIGZvY3VzIHRoZSB0cmlnZ2VyIGJ1dHRvbiB3aGVuIHdlIGNsb3NlIC4uLlxuXHRcdHRoaXMuZHJvcGRvd25CdXR0b24ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG5cdFx0Ly8gcmVtb3ZlIHRoZSBjb25kaXRpb25hbCBvbmNlIHRoaXMgYXBpIGlzIHNldHRsZWQgYW5kIHBhcnQgb2YgYWJzdHJhY3QtZHJvcGRvd24tdmlldy5jbGFzc1xuXHRcdGlmICh0aGlzLnZpZXdbXCJkaXNhYmxlU2Nyb2xsXCJdKSB7XG5cdFx0XHR0aGlzLnZpZXdbXCJkaXNhYmxlU2Nyb2xsXCJdKCk7XG5cdFx0fVxuXG5cdFx0Ly8gbW92ZSB0aGUgbGlzdCBiYWNrIGluIHRoZSBjb21wb25lbnQgb24gY2xvc2Vcblx0XHRpZiAoIXRoaXMuYXBwZW5kSW5saW5lKSB7XG5cdFx0XHR0aGlzLnZpc2liaWxpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHRcdHRoaXMuX2FwcGVuZFRvRHJvcGRvd24oKTtcblx0XHR9XG5cdFx0ZG9jdW1lbnQuYm9keS5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5ub29wLCB0cnVlKTtcblx0XHRkb2N1bWVudC5ib2R5LmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMubm9vcCwgdHJ1ZSk7XG5cdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMub3V0c2lkZUNsaWNrLCB0cnVlKTtcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCB0aGlzLm91dHNpZGVLZXksIHRydWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbnRyb2xzIHRvZ2dsaW5nIG1lbnUgc3RhdGVzIGJldHdlZW4gb3Blbi9leHBhbmRlZCBhbmQgY2xvc2VkL2NvbGxhcHNlZC5cblx0ICovXG5cdHRvZ2dsZU1lbnUoKSB7XG5cdFx0aWYgKHRoaXMubWVudUlzQ2xvc2VkKSB7XG5cdFx0XHR0aGlzLm9wZW5NZW51KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2xvc2VNZW51KCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb250cm9scyB3aGVuIGl0J3MgbmVlZGVkIHRvIGFwcGx5IHRoZSBzZWxlY3Rpb24gZmVlZGJhY2tcblx0ICovXG5cdHByb3RlY3RlZCBjaGVja0ZvclJlb3JkZXIoKSB7XG5cdFx0Y29uc3QgdG9wQWZ0ZXJSZW9wZW4gPSB0aGlzLm1lbnVJc0Nsb3NlZCAmJiB0aGlzLnNlbGVjdGlvbkZlZWRiYWNrID09PSBcInRvcC1hZnRlci1yZW9wZW5cIjtcblx0XHRpZiAoKHRoaXMudHlwZSA9PT0gXCJtdWx0aVwiKSAmJiAodG9wQWZ0ZXJSZW9wZW4gfHwgdGhpcy5zZWxlY3Rpb25GZWVkYmFjayA9PT0gXCJ0b3BcIikpIHtcblx0XHRcdHRoaXMudmlldy5yZW9yZGVyU2VsZWN0ZWQoKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
|
|
@@ -166,7 +166,7 @@ Label.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
|
|
|
166
166
|
[attr.data-invalid]="(invalid ? true : null)"
|
|
167
167
|
#wrapper>
|
|
168
168
|
<svg
|
|
169
|
-
*ngIf="
|
|
169
|
+
*ngIf="invalid"
|
|
170
170
|
cdsIcon="warning--filled"
|
|
171
171
|
size="16"
|
|
172
172
|
class="cds--text-input__invalid-icon">
|
|
@@ -186,7 +186,7 @@ Label.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0
|
|
|
186
186
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
187
187
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
188
188
|
</div>
|
|
189
|
-
<div *ngIf="
|
|
189
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
190
190
|
<ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
|
|
191
191
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
192
192
|
</div>
|
|
@@ -264,7 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
264
264
|
[attr.data-invalid]="(invalid ? true : null)"
|
|
265
265
|
#wrapper>
|
|
266
266
|
<svg
|
|
267
|
-
*ngIf="
|
|
267
|
+
*ngIf="invalid"
|
|
268
268
|
cdsIcon="warning--filled"
|
|
269
269
|
size="16"
|
|
270
270
|
class="cds--text-input__invalid-icon">
|
|
@@ -284,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
284
284
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
285
285
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
286
286
|
</div>
|
|
287
|
-
<div *ngIf="
|
|
287
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
288
288
|
<ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
|
|
289
289
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
290
290
|
</div>
|
|
@@ -326,4 +326,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
326
326
|
type: HostBinding,
|
|
327
327
|
args: ["class.cds--form-item"]
|
|
328
328
|
}] } });
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2xhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFHTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBRTlDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQWtHSCxNQUFNLE9BQU8sS0FBSztJQXdEakI7O09BRUc7SUFDSCxZQUFzQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXREMUQ7OztVQUdFO1FBQ08saUJBQVksR0FBRyxhQUFhLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBQzVEOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztZQUVJO1FBQ0ssU0FBSSxHQUFHLEtBQUssQ0FBQztJQTBCdUMsQ0FBQztJQVQ5RCxJQUF5QyxVQUFVO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQVNEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUN2QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDZCw0REFBNEQ7UUFDNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLHlEQUF5RDtZQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNoRixJQUFJLFlBQVksRUFBRTtnQkFDakIsZ0VBQWdFO2dCQUNoRSxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN2QztnQkFDRCxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ25ELE9BQU87YUFDUDtZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxJQUFJLFVBQVUsRUFBRTtnQkFDZixJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN2QztnQkFDRCxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakQ7U0FDRDtJQUNGLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSztRQUN0QixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDckMsQ0FBQzs7QUF0R0Q7O0dBRUc7QUFDSSxrQkFBWSxHQUFHLENBQUMsQ0FBQztrR0FKWixLQUFLO3NGQUFMLEtBQUssbVlBNkNILFFBQVEsNEVBR1IsU0FBUyxvSkEvSWI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZGVDsyRkFFVyxLQUFLO2tCQWpHakIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZGVDtpQkFDRDt3R0FVUyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFSSxRQUFRO3NCQUEvQixZQUFZO3VCQUFDLFFBQVE7Z0JBR3NCLFNBQVM7c0JBQXBELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFRCxVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdEFmdGVyVmlld0luaXQsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RCaW5kaW5nLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRDb250ZW50Q2hpbGQsXG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRleHRBcmVhIH0gZnJvbSBcIi4vdGV4dC1hcmVhLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVGV4dElucHV0IH0gZnJvbSBcIi4vaW5wdXQuZGlyZWN0aXZlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBJbnB1dE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogVG8gcHJldmVudCBhdHRyaWJ1dGUgZHJpbGxpbmcsIHVzZSBgaWJtLXRleHQtbGFiZWxgIG9yIGBpYm0tdGV4dGFyZWEtbGFiZWxgIGNvbXBvbmVudHNcbiAqXG4gKiBgYGBodG1sXG4gKiA8Y2RzLWxhYmVsPlxuICogXHRMYWJlbFxuICogXHQ8aW5wdXQgY2RzVGV4dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAqIDwvY2RzLWxhYmVsPlxuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1pbnB1dC0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtbGFiZWwsIGlibS1sYWJlbFwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSAjaW5wdXRDb250ZW50VGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dCx0ZXh0YXJlYSxkaXZcIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblxuXHRcdDxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50VGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblxuXHRcdDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidUZXh0QXJlYSdcIj5cblx0XHRcdFx0PGNkcy10ZXh0YXJlYS1sYWJlbFxuXHRcdFx0XHRcdFtsYWJlbElucHV0SURdPVwibGFiZWxJbnB1dElEXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFtza2VsZXRvbl09XCJza2VsZXRvblwiXG5cdFx0XHRcdFx0W2hlbHBlclRleHRdPVwiaGVscGVyVGV4dFwiXG5cdFx0XHRcdFx0W2ludmFsaWRdPVwiaW52YWxpZFwiXG5cdFx0XHRcdFx0W2ludmFsaWRUZXh0XT1cImludmFsaWRUZXh0XCJcblx0XHRcdFx0XHRbd2Fybl09XCJ3YXJuXCJcblx0XHRcdFx0XHRbd2FyblRleHRdPVwid2FyblRleHRcIlxuXHRcdFx0XHRcdFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbbGFiZWxUZW1wbGF0ZV09XCJsYWJlbENvbnRlbnRUZW1wbGF0ZVwiXG5cdFx0XHRcdFx0W3RleHRBcmVhVGVtcGxhdGVdPVwiaW5wdXRDb250ZW50VGVtcGxhdGVcIj5cblx0XHRcdFx0PC9jZHMtdGV4dGFyZWEtbGFiZWw+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidUZXh0SW5wdXQnXCI+XG5cdFx0XHRcdDxjZHMtdGV4dC1sYWJlbFxuXHRcdFx0XHRcdFtsYWJlbElucHV0SURdPVwibGFiZWxJbnB1dElEXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFtza2VsZXRvbl09XCJza2VsZXRvblwiXG5cdFx0XHRcdFx0W2hlbHBlclRleHRdPVwiaGVscGVyVGV4dFwiXG5cdFx0XHRcdFx0W2ludmFsaWRdPVwiaW52YWxpZFwiXG5cdFx0XHRcdFx0W2ludmFsaWRUZXh0XT1cImludmFsaWRUZXh0XCJcblx0XHRcdFx0XHRbd2Fybl09XCJ3YXJuXCJcblx0XHRcdFx0XHRbd2FyblRleHRdPVwid2FyblRleHRcIlxuXHRcdFx0XHRcdFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbbGFiZWxUZW1wbGF0ZV09XCJsYWJlbENvbnRlbnRUZW1wbGF0ZVwiXG5cdFx0XHRcdFx0W3RleHRJbnB1dFRlbXBsYXRlXT1cImlucHV0Q29udGVudFRlbXBsYXRlXCI+XG5cdFx0XHRcdDwvY2RzLXRleHQtbGFiZWw+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG5cdFx0XHQ8bGFiZWxcblx0XHRcdFx0W2Zvcl09XCJsYWJlbElucHV0SURcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1sYWJlbFwiXG5cdFx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdFx0XHQnY2RzLS1sYWJlbC0tZGlzYWJsZWQnOiBkaXNhYmxlZCxcblx0XHRcdFx0XHQnY2RzLS1za2VsZXRvbic6IHNrZWxldG9uXG5cdFx0XHRcdH1cIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsQ29udGVudFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbGFiZWw+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCJcblx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdCdjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXItLXdhcm5pbmcnOiB3YXJuXG5cdFx0XHRcdH1cIlxuXHRcdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0XHQjd3JhcHBlcj5cblx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdCpuZ0lmPVwiIXdhcm4gJiYgaW52YWxpZFwiXG5cdFx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9faW52YWxpZC1pY29uXCI+XG5cdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0Km5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCJcblx0XHRcdFx0XHRjZHNJY29uPVwid2FybmluZy0tYWx0LS1maWxsZWRcIlxuXHRcdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbiBjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0Q29udGVudFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQqbmdJZj1cIiFza2VsZXRvbiAmJiBoZWxwZXJUZXh0ICYmICFpbnZhbGlkICYmICF3YXJuXCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCJcblx0XHRcdFx0W25nQ2xhc3NdPVwieydjZHMtLWZvcm1fX2hlbHBlci10ZXh0LS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e2hlbHBlclRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGhlbHBlclRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgKm5nSWY9XCIhd2FybiAmJiBpbnZhbGlkXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiPnt7aW52YWxpZFRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiAqbmdJZj1cIiFpbnZhbGlkICYmIHdhcm5cIiBjbGFzcz1cImNkcy0tZm9ybS1yZXF1aXJlbWVudFwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUod2FyblRleHQpXCI+e3t3YXJuVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUod2FyblRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuXHQvKipcblx0ICogVXNlZCB0byBidWlsZCB0aGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsQ291bnRlciA9IDA7XG5cdC8qKlxuXHQgKiBUaGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLiBUaGlzIHZhbHVlIGlzIGFsc28gdXNlZCB0byBhc3NvY2lhdGUgdGhlIGBMYWJlbGAgd2l0aFxuXHQgKiBpdHMgaW5wdXQgY291bnRlcnBhcnQgdGhyb3VnaCB0aGUgJ2ZvcicgYXR0cmlidXRlLlxuXHQqL1xuXHRASW5wdXQoKSBsYWJlbElucHV0SUQgPSBgY2RzLWxhYmVsLSR7TGFiZWwubGFiZWxDb3VudGVyKyt9YDtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGRpc2FibGVkIHN0YXRlLlxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGEgbG9hZGluZyBsYWJlbC5cblx0ICovXG5cdEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBPcHRpb25hbCBoZWxwZXIgdGV4dCB0aGF0IGFwcGVhcnMgdW5kZXIgdGhlIGxhYmVsLlxuXHQgKi9cblx0QElucHV0KCkgaGVscGVyVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIGludmFsaWQgdGV4dC5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWRUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYW4gaW52YWxpZCBsYWJlbCBjb21wb25lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG5cdC8qKlxuXHQgICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuXHQgICovXG5cdEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuXHQgKi9cblx0QElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBTZXQgdGhlIGFyaWFsYWJlbCBmb3IgbGFiZWxcblx0ICovXG5cdEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG5cdEBWaWV3Q2hpbGQoXCJ3cmFwcGVyXCIpIHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdEBDb250ZW50Q2hpbGQoVGV4dEFyZWEpIHRleHRBcmVhOiBUZXh0QXJlYTtcblxuXHQvLyBAdHMtaWdub3JlXG5cdEBDb250ZW50Q2hpbGQoVGV4dElucHV0LCB7IHN0YXRpYzogZmFsc2UgfSkgdGV4dElucHV0OiBUZXh0SW5wdXQ7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1mb3JtLWl0ZW1cIikgZ2V0IGxhYmVsQ2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHlwZSA9PT0gdW5kZWZpbmVkO1xuXHR9XG5cblx0dHlwZTogXCJUZXh0QXJlYVwiIHwgXCJUZXh0SW5wdXRcIjtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBMYWJlbC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZSB3cmFwcGVyIGNsYXNzIGlmIGEgdGV4dGFyZWEgaXMgaG9zdGVkLlxuXHQgKi9cblx0bmdBZnRlckNvbnRlbnRJbml0KCkge1xuXHRcdGlmICh0aGlzLnRleHRBcmVhKSB7XG5cdFx0XHR0aGlzLnR5cGUgPSBcIlRleHRBcmVhXCI7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnRleHRJbnB1dCkge1xuXHRcdFx0dGhpcy50eXBlID0gXCJUZXh0SW5wdXRcIjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgaWQgb24gdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuXHQgKi9cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdC8vIFdpbGwgb25seSBiZSBjYWxsZWQgd2hlbiBgZGVmYXVsdGAgdGVtcGxhdGUgaXMgYmVpbmcgdXNlZFxuXHRcdGlmICh0aGlzLndyYXBwZXIpIHtcblx0XHRcdC8vIFByaW9yaXRpemUgc2V0dGluZyBpZCB0byBgaW5wdXRgICYgYHRleHRhcmVhYCBvdmVyIGRpdlxuXHRcdFx0Y29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0LHRleHRhcmVhXCIpO1xuXHRcdFx0aWYgKGlucHV0RWxlbWVudCkge1xuXHRcdFx0XHQvLyBhdm9pZCBvdmVycmlkaW5nIGlkcyBhbHJlYWR5IHNldCBieSB0aGUgdXNlciByZXVzZSBpdCBpbnN0ZWFkXG5cdFx0XHRcdGlmIChpbnB1dEVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGlucHV0RWxlbWVudC5pZDtcblx0XHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaWRcIiwgdGhpcy5sYWJlbElucHV0SUQpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGRpdkVsZW1lbnQgPSB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiZGl2XCIpO1xuXHRcdFx0aWYgKGRpdkVsZW1lbnQpIHtcblx0XHRcdFx0aWYgKGRpdkVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGRpdkVsZW1lbnQuaWQ7XG5cdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGl2RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCB0aGlzLmxhYmVsSW5wdXRJRCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblx0fVxufVxuIl19
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lucHV0L2xhYmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFHTCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFNBQVMsRUFDVCxZQUFZLEVBR1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7O0FBRTlDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQWtHSCxNQUFNLE9BQU8sS0FBSztJQXdEakI7O09BRUc7SUFDSCxZQUFzQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXREMUQ7OztVQUdFO1FBQ08saUJBQVksR0FBRyxhQUFhLEtBQUssQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1FBQzVEOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUMxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztZQUVJO1FBQ0ssU0FBSSxHQUFHLEtBQUssQ0FBQztJQTBCdUMsQ0FBQztJQVQ5RCxJQUF5QyxVQUFVO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQVNEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztTQUN2QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztTQUN4QjtJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDZCw0REFBNEQ7UUFDNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLHlEQUF5RDtZQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNoRixJQUFJLFlBQVksRUFBRTtnQkFDakIsZ0VBQWdFO2dCQUNoRSxJQUFJLFlBQVksQ0FBQyxFQUFFLEVBQUU7b0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN2QztnQkFDRCxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ25ELE9BQU87YUFDUDtZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxJQUFJLFVBQVUsRUFBRTtnQkFDZixJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN2QztnQkFDRCxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDakQ7U0FDRDtJQUNGLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSztRQUN0QixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDckMsQ0FBQzs7QUF0R0Q7O0dBRUc7QUFDSSxrQkFBWSxHQUFHLENBQUMsQ0FBQztrR0FKWixLQUFLO3NGQUFMLEtBQUssbVlBNkNILFFBQVEsNEVBR1IsU0FBUyxvSkEvSWI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZGVDsyRkFFVyxLQUFLO2tCQWpHakIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTZGVDtpQkFDRDt3R0FVUyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsT0FBTztzQkFBZixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFSSxRQUFRO3NCQUEvQixZQUFZO3VCQUFDLFFBQVE7Z0JBR3NCLFNBQVM7c0JBQXBELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFRCxVQUFVO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdEFmdGVyVmlld0luaXQsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RCaW5kaW5nLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRDb250ZW50Q2hpbGQsXG5cdEFmdGVyQ29udGVudEluaXQsXG5cdENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRleHRBcmVhIH0gZnJvbSBcIi4vdGV4dC1hcmVhLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVGV4dElucHV0IH0gZnJvbSBcIi4vaW5wdXQuZGlyZWN0aXZlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBJbnB1dE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogVG8gcHJldmVudCBhdHRyaWJ1dGUgZHJpbGxpbmcsIHVzZSBgaWJtLXRleHQtbGFiZWxgIG9yIGBpYm0tdGV4dGFyZWEtbGFiZWxgIGNvbXBvbmVudHNcbiAqXG4gKiBgYGBodG1sXG4gKiA8Y2RzLWxhYmVsPlxuICogXHRMYWJlbFxuICogXHQ8aW5wdXQgY2RzVGV4dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAqIDwvY2RzLWxhYmVsPlxuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1pbnB1dC0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtbGFiZWwsIGlibS1sYWJlbFwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy10ZW1wbGF0ZSAjaW5wdXRDb250ZW50VGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dCx0ZXh0YXJlYSxkaXZcIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblxuXHRcdDxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50VGVtcGxhdGU+XG5cdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblxuXHRcdDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidUZXh0QXJlYSdcIj5cblx0XHRcdFx0PGNkcy10ZXh0YXJlYS1sYWJlbFxuXHRcdFx0XHRcdFtsYWJlbElucHV0SURdPVwibGFiZWxJbnB1dElEXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFtza2VsZXRvbl09XCJza2VsZXRvblwiXG5cdFx0XHRcdFx0W2hlbHBlclRleHRdPVwiaGVscGVyVGV4dFwiXG5cdFx0XHRcdFx0W2ludmFsaWRdPVwiaW52YWxpZFwiXG5cdFx0XHRcdFx0W2ludmFsaWRUZXh0XT1cImludmFsaWRUZXh0XCJcblx0XHRcdFx0XHRbd2Fybl09XCJ3YXJuXCJcblx0XHRcdFx0XHRbd2FyblRleHRdPVwid2FyblRleHRcIlxuXHRcdFx0XHRcdFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbbGFiZWxUZW1wbGF0ZV09XCJsYWJlbENvbnRlbnRUZW1wbGF0ZVwiXG5cdFx0XHRcdFx0W3RleHRBcmVhVGVtcGxhdGVdPVwiaW5wdXRDb250ZW50VGVtcGxhdGVcIj5cblx0XHRcdFx0PC9jZHMtdGV4dGFyZWEtbGFiZWw+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidUZXh0SW5wdXQnXCI+XG5cdFx0XHRcdDxjZHMtdGV4dC1sYWJlbFxuXHRcdFx0XHRcdFtsYWJlbElucHV0SURdPVwibGFiZWxJbnB1dElEXCJcblx0XHRcdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFtza2VsZXRvbl09XCJza2VsZXRvblwiXG5cdFx0XHRcdFx0W2hlbHBlclRleHRdPVwiaGVscGVyVGV4dFwiXG5cdFx0XHRcdFx0W2ludmFsaWRdPVwiaW52YWxpZFwiXG5cdFx0XHRcdFx0W2ludmFsaWRUZXh0XT1cImludmFsaWRUZXh0XCJcblx0XHRcdFx0XHRbd2Fybl09XCJ3YXJuXCJcblx0XHRcdFx0XHRbd2FyblRleHRdPVwid2FyblRleHRcIlxuXHRcdFx0XHRcdFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbbGFiZWxUZW1wbGF0ZV09XCJsYWJlbENvbnRlbnRUZW1wbGF0ZVwiXG5cdFx0XHRcdFx0W3RleHRJbnB1dFRlbXBsYXRlXT1cImlucHV0Q29udGVudFRlbXBsYXRlXCI+XG5cdFx0XHRcdDwvY2RzLXRleHQtbGFiZWw+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG5cdFx0XHQ8bGFiZWxcblx0XHRcdFx0W2Zvcl09XCJsYWJlbElucHV0SURcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1sYWJlbFwiXG5cdFx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdFx0XHQnY2RzLS1sYWJlbC0tZGlzYWJsZWQnOiBkaXNhYmxlZCxcblx0XHRcdFx0XHQnY2RzLS1za2VsZXRvbic6IHNrZWxldG9uXG5cdFx0XHRcdH1cIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsQ29udGVudFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbGFiZWw+XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCJcblx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdCdjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXItLXdhcm5pbmcnOiB3YXJuXG5cdFx0XHRcdH1cIlxuXHRcdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0XHQjd3JhcHBlcj5cblx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdCpuZ0lmPVwiaW52YWxpZFwiXG5cdFx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9faW52YWxpZC1pY29uXCI+XG5cdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHQ8c3ZnXG5cdFx0XHRcdFx0Km5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCJcblx0XHRcdFx0XHRjZHNJY29uPVwid2FybmluZy0tYWx0LS1maWxsZWRcIlxuXHRcdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbiBjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0Q29udGVudFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQqbmdJZj1cIiFza2VsZXRvbiAmJiBoZWxwZXJUZXh0ICYmICFpbnZhbGlkICYmICF3YXJuXCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLWZvcm1fX2hlbHBlci10ZXh0XCJcblx0XHRcdFx0W25nQ2xhc3NdPVwieydjZHMtLWZvcm1fX2hlbHBlci10ZXh0LS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e2hlbHBlclRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGhlbHBlclRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiPjwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgKm5nSWY9XCJpbnZhbGlkXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiPnt7aW52YWxpZFRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiAqbmdJZj1cIiFpbnZhbGlkICYmIHdhcm5cIiBjbGFzcz1cImNkcy0tZm9ybS1yZXF1aXJlbWVudFwiPlxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUod2FyblRleHQpXCI+e3t3YXJuVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUod2FyblRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuXHQvKipcblx0ICogVXNlZCB0byBidWlsZCB0aGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsQ291bnRlciA9IDA7XG5cdC8qKlxuXHQgKiBUaGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLiBUaGlzIHZhbHVlIGlzIGFsc28gdXNlZCB0byBhc3NvY2lhdGUgdGhlIGBMYWJlbGAgd2l0aFxuXHQgKiBpdHMgaW5wdXQgY291bnRlcnBhcnQgdGhyb3VnaCB0aGUgJ2ZvcicgYXR0cmlidXRlLlxuXHQqL1xuXHRASW5wdXQoKSBsYWJlbElucHV0SUQgPSBgY2RzLWxhYmVsLSR7TGFiZWwubGFiZWxDb3VudGVyKyt9YDtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGRpc2FibGVkIHN0YXRlLlxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGEgbG9hZGluZyBsYWJlbC5cblx0ICovXG5cdEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBPcHRpb25hbCBoZWxwZXIgdGV4dCB0aGF0IGFwcGVhcnMgdW5kZXIgdGhlIGxhYmVsLlxuXHQgKi9cblx0QElucHV0KCkgaGVscGVyVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIGludmFsaWQgdGV4dC5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWRUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYW4gaW52YWxpZCBsYWJlbCBjb21wb25lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG5cdC8qKlxuXHQgICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuXHQgICovXG5cdEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuXHQgKi9cblx0QElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBTZXQgdGhlIGFyaWFsYWJlbCBmb3IgbGFiZWxcblx0ICovXG5cdEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG5cdEBWaWV3Q2hpbGQoXCJ3cmFwcGVyXCIpIHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG5cdEBDb250ZW50Q2hpbGQoVGV4dEFyZWEpIHRleHRBcmVhOiBUZXh0QXJlYTtcblxuXHQvLyBAdHMtaWdub3JlXG5cdEBDb250ZW50Q2hpbGQoVGV4dElucHV0LCB7IHN0YXRpYzogZmFsc2UgfSkgdGV4dElucHV0OiBUZXh0SW5wdXQ7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1mb3JtLWl0ZW1cIikgZ2V0IGxhYmVsQ2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHlwZSA9PT0gdW5kZWZpbmVkO1xuXHR9XG5cblx0dHlwZTogXCJUZXh0QXJlYVwiIHwgXCJUZXh0SW5wdXRcIjtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBMYWJlbC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZSB3cmFwcGVyIGNsYXNzIGlmIGEgdGV4dGFyZWEgaXMgaG9zdGVkLlxuXHQgKi9cblx0bmdBZnRlckNvbnRlbnRJbml0KCkge1xuXHRcdGlmICh0aGlzLnRleHRBcmVhKSB7XG5cdFx0XHR0aGlzLnR5cGUgPSBcIlRleHRBcmVhXCI7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnRleHRJbnB1dCkge1xuXHRcdFx0dGhpcy50eXBlID0gXCJUZXh0SW5wdXRcIjtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgaWQgb24gdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuXHQgKi9cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdC8vIFdpbGwgb25seSBiZSBjYWxsZWQgd2hlbiBgZGVmYXVsdGAgdGVtcGxhdGUgaXMgYmVpbmcgdXNlZFxuXHRcdGlmICh0aGlzLndyYXBwZXIpIHtcblx0XHRcdC8vIFByaW9yaXRpemUgc2V0dGluZyBpZCB0byBgaW5wdXRgICYgYHRleHRhcmVhYCBvdmVyIGRpdlxuXHRcdFx0Y29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0LHRleHRhcmVhXCIpO1xuXHRcdFx0aWYgKGlucHV0RWxlbWVudCkge1xuXHRcdFx0XHQvLyBhdm9pZCBvdmVycmlkaW5nIGlkcyBhbHJlYWR5IHNldCBieSB0aGUgdXNlciByZXVzZSBpdCBpbnN0ZWFkXG5cdFx0XHRcdGlmIChpbnB1dEVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGlucHV0RWxlbWVudC5pZDtcblx0XHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaWRcIiwgdGhpcy5sYWJlbElucHV0SUQpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGRpdkVsZW1lbnQgPSB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiZGl2XCIpO1xuXHRcdFx0aWYgKGRpdkVsZW1lbnQpIHtcblx0XHRcdFx0aWYgKGRpdkVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGRpdkVsZW1lbnQuaWQ7XG5cdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGl2RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCB0aGlzLmxhYmVsSW5wdXRJRCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblx0fVxufVxuIl19
|
|
@@ -104,7 +104,7 @@ TextInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
104
104
|
[attr.data-invalid]="(invalid ? true : null)"
|
|
105
105
|
#wrapper>
|
|
106
106
|
<svg
|
|
107
|
-
*ngIf="
|
|
107
|
+
*ngIf="invalid"
|
|
108
108
|
cdsIcon="warning--filled"
|
|
109
109
|
size="16"
|
|
110
110
|
class="cds--text-input__invalid-icon">
|
|
@@ -117,7 +117,7 @@ TextInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
117
117
|
</svg>
|
|
118
118
|
<ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
|
|
119
119
|
<ng-template #textInputContent>
|
|
120
|
-
<ng-content select="input[type=text],div"></ng-content>
|
|
120
|
+
<ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
|
|
121
121
|
</ng-template>
|
|
122
122
|
</div>
|
|
123
123
|
<div
|
|
@@ -127,7 +127,7 @@ TextInputLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
127
127
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
128
128
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
129
129
|
</div>
|
|
130
|
-
<div *ngIf="
|
|
130
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
131
131
|
<ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
|
|
132
132
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
133
133
|
</div>
|
|
@@ -162,7 +162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
162
162
|
[attr.data-invalid]="(invalid ? true : null)"
|
|
163
163
|
#wrapper>
|
|
164
164
|
<svg
|
|
165
|
-
*ngIf="
|
|
165
|
+
*ngIf="invalid"
|
|
166
166
|
cdsIcon="warning--filled"
|
|
167
167
|
size="16"
|
|
168
168
|
class="cds--text-input__invalid-icon">
|
|
@@ -175,7 +175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
175
175
|
</svg>
|
|
176
176
|
<ng-template *ngIf="textInputTemplate; else textInputContent" [ngTemplateOutlet]="textInputTemplate"></ng-template>
|
|
177
177
|
<ng-template #textInputContent>
|
|
178
|
-
<ng-content select="input[type=text],div"></ng-content>
|
|
178
|
+
<ng-content select="[cdsText],[ibmText],input[type=text],div"></ng-content>
|
|
179
179
|
</ng-template>
|
|
180
180
|
</div>
|
|
181
181
|
<div
|
|
@@ -185,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
185
185
|
<ng-container *ngIf="!isTemplate(helperText)">{{helperText}}</ng-container>
|
|
186
186
|
<ng-template *ngIf="isTemplate(helperText)" [ngTemplateOutlet]="helperText"></ng-template>
|
|
187
187
|
</div>
|
|
188
|
-
<div *ngIf="
|
|
188
|
+
<div *ngIf="invalid" class="cds--form-requirement">
|
|
189
189
|
<ng-container *ngIf="!isTemplate(invalidText)">{{invalidText}}</ng-container>
|
|
190
190
|
<ng-template *ngIf="isTemplate(invalidText)" [ngTemplateOutlet]="invalidText"></ng-template>
|
|
191
191
|
</div>
|
|
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
224
224
|
type: HostBinding,
|
|
225
225
|
args: ["class.cds--form-item"]
|
|
226
226
|
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5wdXQvdGV4dC1pbnB1dC1sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBRVQsTUFBTSxlQUFlLENBQUM7Ozs7QUFFdkI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBMERILE1BQU0sT0FBTyx1QkFBdUI7SUF3RG5DOztPQUVHO0lBQ0gsWUFBc0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF0RDFEOzs7VUFHRTtRQUNPLGlCQUFZLEdBQUcsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkY7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQWdCMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztZQUVJO1FBQ0ssU0FBSSxHQUFHLEtBQUssQ0FBQztRQWFlLGVBQVUsR0FBRyxJQUFJLENBQUM7SUFLTSxDQUFDO0lBRTlEOztPQUVHO0lBQ0gsZUFBZTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQiw0Q0FBNEM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLElBQUksWUFBWSxFQUFFO2dCQUNqQixnRUFBZ0U7Z0JBQ2hFLElBQUksWUFBWSxDQUFDLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQ3ZDO2dCQUNELFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkQsT0FBTzthQUNQO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLElBQUksVUFBVSxFQUFFO2dCQUNmLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQ3ZDO2dCQUNELFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqRDtTQUNEO0lBQ0YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ3RCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztJQUNyQyxDQUFDOztBQTFGRDs7R0FFRztBQUNJLG9DQUFZLEdBQUcsQ0FBQyxDQUFDO29IQUpaLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1oQkF2RHpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFEVDsyRkFFVyx1QkFBdUI7a0JBekRuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxRFQ7aUJBQ0Q7d0dBVVMsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdtQyxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRUYsVUFBVTtzQkFBOUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRBZnRlclZpZXdJbml0LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Q2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBgYGBodG1sXG4gKiA8Y2RzLXRleHQtbGFiZWw+XG4gKiBcdExhYmVsXG4gKiBcdDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJpbnB1dC1maWVsZFwiPlxuICogPC9jZHMtdGV4dC1sYWJlbD5cbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtaW5wdXQtLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXRleHQtbGFiZWwsIGlibS10ZXh0LWxhYmVsXCIsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGxhYmVsXG5cdFx0XHRbZm9yXT1cImxhYmVsSW5wdXRJRFwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRjbGFzcz1cImNkcy0tbGFiZWxcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS1sYWJlbC0tZGlzYWJsZWQnOiBkaXNhYmxlZCxcblx0XHRcdFx0J2Nkcy0tc2tlbGV0b24nOiBza2VsZXRvblxuXHRcdFx0fVwiPlxuXHRcdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wbGF0ZTsgZWxzZSBsYWJlbENvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50PlxuXHRcdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvbGFiZWw+XG5cdFx0PGRpdlxuXHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyLS13YXJuaW5nJzogd2FyblxuXHRcdFx0fVwiXG5cdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0I3dyYXBwZXI+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiIXdhcm4gJiYgaW52YWxpZFwiXG5cdFx0XHRcdGNkc0ljb249XCJ3YXJuaW5nLS1maWxsZWRcIlxuXHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9faW52YWxpZC1pY29uXCI+XG5cdFx0XHQ8L3N2Zz5cblx0XHRcdDxzdmdcblx0XHRcdFx0Km5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCJcblx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWFsdC0tZmlsbGVkXCJcblx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbiBjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJ0ZXh0SW5wdXRUZW1wbGF0ZTsgZWxzZSB0ZXh0SW5wdXRDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGV4dElucHV0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlICN0ZXh0SW5wdXRDb250ZW50PlxuXHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFt0eXBlPXRleHRdLGRpdlwiPjwvbmctY29udGVudD5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdlxuXHRcdFx0Km5nSWY9XCIhc2tlbGV0b24gJiYgaGVscGVyVGV4dCAmJiAhaW52YWxpZCAmJiAhd2FyblwiXG5cdFx0XHRjbGFzcz1cImNkcy0tZm9ybV9faGVscGVyLXRleHRcIlxuXHRcdFx0W25nQ2xhc3NdPVwieydjZHMtLWZvcm1fX2hlbHBlci10ZXh0LS1kaXNhYmxlZCc6IGRpc2FibGVkfVwiPlxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKGhlbHBlclRleHQpXCI+e3toZWxwZXJUZXh0fX08L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoaGVscGVyVGV4dClcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWxwZXJUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIXdhcm4gJiYgaW52YWxpZFwiIGNsYXNzPVwiY2RzLS1mb3JtLXJlcXVpcmVtZW50XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCI+e3tpbnZhbGlkVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIWludmFsaWQgJiYgd2FyblwiIGNsYXNzPVwiY2RzLS1mb3JtLXJlcXVpcmVtZW50XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUod2FyblRleHQpXCI+e3t3YXJuVGV4dH19PC9uZy1jb250YWluZXI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJpc1RlbXBsYXRlKHdhcm5UZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIndhcm5UZXh0XCI+PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0SW5wdXRMYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXHQvKipcblx0ICogVXNlZCB0byBidWlsZCB0aGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuXHQgKi9cblx0c3RhdGljIGxhYmVsQ291bnRlciA9IDA7XG5cdC8qKlxuXHQgKiBUaGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLiBUaGlzIHZhbHVlIGlzIGFsc28gdXNlZCB0byBhc3NvY2lhdGUgdGhlIGBMYWJlbGAgd2l0aFxuXHQgKiBpdHMgaW5wdXQgY291bnRlcnBhcnQgdGhyb3VnaCB0aGUgJ2ZvcicgYXR0cmlidXRlLlxuXHQqL1xuXHRASW5wdXQoKSBsYWJlbElucHV0SUQgPSBcImlibS10ZXh0LWlucHV0LVwiICsgVGV4dElucHV0TGFiZWxDb21wb25lbnQubGFiZWxDb3VudGVyKys7XG5cblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGEgZGlzYWJsZWQgbGFiZWwuXG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBsb2FkaW5nIGxhYmVsLlxuXHQgKi9cblx0QElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblxuXHQvKipcblx0ICogSGVscGVyIGlucHV0IHByb3BlcnR5IGZvciBlYXNlIG9mIG1pZ3JhdGlvblxuXHQgKiBTaW5jZSB3ZSBjYW5ub3QgcGFzcyBuZy1jb250ZW50IGRvd24gZWFzaWx5IGZyb20gbGFiZWwgY29tcG9uZW50LCB3ZSB3aWxsIGFjY2VwdCB0aGUgdGVtcGxhdGVzXG5cdCAqL1xuXHRASW5wdXQoKSBsYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXHRASW5wdXQoKSB0ZXh0SW5wdXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIE9wdGlvbmFsIGhlbHBlciB0ZXh0IHRoYXQgYXBwZWFycyB1bmRlciB0aGUgbGFiZWwuXG5cdCAqL1xuXHRASW5wdXQoKSBoZWxwZXJUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgaW52YWxpZCB0ZXh0LlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZFRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIGZvciBhbiBpbnZhbGlkIGxhYmVsIGNvbXBvbmVudC5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcblx0LyoqXG5cdCAgKiBTZXQgdG8gYHRydWVgIHRvIHNob3cgYSB3YXJuaW5nIChjb250ZW50cyBzZXQgYnkgd2FybmluZ1RleHQpXG5cdCAgKi9cblx0QElucHV0KCkgd2FybiA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0cyB0aGUgd2FybmluZyB0ZXh0XG5cdCAqL1xuXHRASW5wdXQoKSB3YXJuVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldCB0aGUgYXJpYWxhYmVsIGZvciBsYWJlbFxuXHQgKi9cblx0QElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cblx0Ly8gQHRzLWlnbm9yZVxuXHRAVmlld0NoaWxkKFwid3JhcHBlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgd3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1mb3JtLWl0ZW1cIikgbGFiZWxDbGFzcyA9IHRydWU7XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGFiZWwuXG5cdCAqL1xuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBpZCBvbiB0aGUgaW5wdXQgaXRlbSBhc3NvY2lhdGVkIHdpdGggdGhlIGBMYWJlbGAuXG5cdCAqL1xuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0aWYgKHRoaXMud3JhcHBlcikge1xuXHRcdFx0Ly8gUHJpb3JpdGl6ZSBzZXR0aW5nIGlkIHRvIGBpbnB1dGAgb3ZlciBkaXZcblx0XHRcdGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMud3JhcHBlci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbnB1dFwiKTtcblx0XHRcdGlmIChpbnB1dEVsZW1lbnQpIHtcblx0XHRcdFx0Ly8gYXZvaWQgb3ZlcnJpZGluZyBpZHMgYWxyZWFkeSBzZXQgYnkgdGhlIHVzZXIgcmV1c2UgaXQgaW5zdGVhZFxuXHRcdFx0XHRpZiAoaW5wdXRFbGVtZW50LmlkKSB7XG5cdFx0XHRcdFx0dGhpcy5sYWJlbElucHV0SUQgPSBpbnB1dEVsZW1lbnQuaWQ7XG5cdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcImlkXCIsIHRoaXMubGFiZWxJbnB1dElEKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBkaXZFbGVtZW50ID0gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcImRpdlwiKTtcblx0XHRcdGlmIChkaXZFbGVtZW50KSB7XG5cdFx0XHRcdGlmIChkaXZFbGVtZW50LmlkKSB7XG5cdFx0XHRcdFx0dGhpcy5sYWJlbElucHV0SUQgPSBkaXZFbGVtZW50LmlkO1xuXHRcdFx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGRpdkVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaWRcIiwgdGhpcy5sYWJlbElucHV0SUQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cbn1cbiJdfQ==
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5wdXQvdGV4dC1pbnB1dC1sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBRVQsTUFBTSxlQUFlLENBQUM7Ozs7QUFFdkI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBMERILE1BQU0sT0FBTyx1QkFBdUI7SUF3RG5DOztPQUVHO0lBQ0gsWUFBc0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF0RDFEOzs7VUFHRTtRQUNPLGlCQUFZLEdBQUcsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkY7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQWdCMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztZQUVJO1FBQ0ssU0FBSSxHQUFHLEtBQUssQ0FBQztRQWFlLGVBQVUsR0FBRyxJQUFJLENBQUM7SUFLTSxDQUFDO0lBRTlEOztPQUVHO0lBQ0gsZUFBZTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQiw0Q0FBNEM7WUFDNUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLElBQUksWUFBWSxFQUFFO2dCQUNqQixnRUFBZ0U7Z0JBQ2hFLElBQUksWUFBWSxDQUFDLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQ3ZDO2dCQUNELFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkQsT0FBTzthQUNQO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLElBQUksVUFBVSxFQUFFO2dCQUNmLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQ3ZDO2dCQUNELFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNqRDtTQUNEO0lBQ0YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ3RCLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztJQUNyQyxDQUFDOztBQTFGRDs7R0FFRztBQUNJLG9DQUFZLEdBQUcsQ0FBQyxDQUFDO29IQUpaLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1oQkF2RHpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXFEVDsyRkFFVyx1QkFBdUI7a0JBekRuQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFxRFQ7aUJBQ0Q7d0dBVVMsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLE9BQU87c0JBQWYsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdtQyxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRUYsVUFBVTtzQkFBOUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRBZnRlclZpZXdJbml0LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZCxcblx0Q2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBgYGBodG1sXG4gKiA8Y2RzLXRleHQtbGFiZWw+XG4gKiBcdExhYmVsXG4gKiBcdDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJpbnB1dC1maWVsZFwiPlxuICogPC9jZHMtdGV4dC1sYWJlbD5cbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtaW5wdXQtLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXRleHQtbGFiZWwsIGlibS10ZXh0LWxhYmVsXCIsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGxhYmVsXG5cdFx0XHRbZm9yXT1cImxhYmVsSW5wdXRJRFwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRjbGFzcz1cImNkcy0tbGFiZWxcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS1sYWJlbC0tZGlzYWJsZWQnOiBkaXNhYmxlZCxcblx0XHRcdFx0J2Nkcy0tc2tlbGV0b24nOiBza2VsZXRvblxuXHRcdFx0fVwiPlxuXHRcdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wbGF0ZTsgZWxzZSBsYWJlbENvbnRlbnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSAjbGFiZWxDb250ZW50PlxuXHRcdFx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvbGFiZWw+XG5cdFx0PGRpdlxuXHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyLS13YXJuaW5nJzogd2FyblxuXHRcdFx0fVwiXG5cdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0I3dyYXBwZXI+XG5cdFx0XHQ8c3ZnXG5cdFx0XHRcdCpuZ0lmPVwiaW52YWxpZFwiXG5cdFx0XHRcdGNkc0ljb249XCJ3YXJuaW5nLS1maWxsZWRcIlxuXHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9faW52YWxpZC1pY29uXCI+XG5cdFx0XHQ8L3N2Zz5cblx0XHRcdDxzdmdcblx0XHRcdFx0Km5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCJcblx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWFsdC0tZmlsbGVkXCJcblx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbiBjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvbi0td2FybmluZ1wiPlxuXHRcdFx0PC9zdmc+XG5cdFx0XHQ8bmctdGVtcGxhdGUgKm5nSWY9XCJ0ZXh0SW5wdXRUZW1wbGF0ZTsgZWxzZSB0ZXh0SW5wdXRDb250ZW50XCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGV4dElucHV0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlICN0ZXh0SW5wdXRDb250ZW50PlxuXHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbY2RzVGV4dF0sW2libVRleHRdLGlucHV0W3R5cGU9dGV4dF0sZGl2XCI+PC9uZy1jb250ZW50PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2XG5cdFx0XHQqbmdJZj1cIiFza2VsZXRvbiAmJiBoZWxwZXJUZXh0ICYmICFpbnZhbGlkICYmICF3YXJuXCJcblx0XHRcdGNsYXNzPVwiY2RzLS1mb3JtX19oZWxwZXItdGV4dFwiXG5cdFx0XHRbbmdDbGFzc109XCJ7J2Nkcy0tZm9ybV9faGVscGVyLXRleHQtLWRpc2FibGVkJzogZGlzYWJsZWR9XCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e2hlbHBlclRleHR9fTwvbmctY29udGFpbmVyPlxuXHRcdFx0PG5nLXRlbXBsYXRlICpuZ0lmPVwiaXNUZW1wbGF0ZShoZWxwZXJUZXh0KVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlbHBlclRleHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJpbnZhbGlkXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShpbnZhbGlkVGV4dClcIj57e2ludmFsaWRUZXh0fX08L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW52YWxpZFRleHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZSh3YXJuVGV4dClcIj57e3dhcm5UZXh0fX08L25nLWNvbnRhaW5lcj5cblx0XHRcdDxuZy10ZW1wbGF0ZSAqbmdJZj1cImlzVGVtcGxhdGUod2FyblRleHQpXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIj48L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHRgXG59KVxuZXhwb3J0IGNsYXNzIFRleHRJbnB1dExhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdC8qKlxuXHQgKiBVc2VkIHRvIGJ1aWxkIHRoZSBpZCBvZiB0aGUgaW5wdXQgaXRlbSBhc3NvY2lhdGVkIHdpdGggdGhlIGBMYWJlbGAuXG5cdCAqL1xuXHRzdGF0aWMgbGFiZWxDb3VudGVyID0gMDtcblx0LyoqXG5cdCAqIFRoZSBpZCBvZiB0aGUgaW5wdXQgaXRlbSBhc3NvY2lhdGVkIHdpdGggdGhlIGBMYWJlbGAuIFRoaXMgdmFsdWUgaXMgYWxzbyB1c2VkIHRvIGFzc29jaWF0ZSB0aGUgYExhYmVsYCB3aXRoXG5cdCAqIGl0cyBpbnB1dCBjb3VudGVycGFydCB0aHJvdWdoIHRoZSAnZm9yJyBhdHRyaWJ1dGUuXG5cdCovXG5cdEBJbnB1dCgpIGxhYmVsSW5wdXRJRCA9IFwiaWJtLXRleHQtaW5wdXQtXCIgKyBUZXh0SW5wdXRMYWJlbENvbXBvbmVudC5sYWJlbENvdW50ZXIrKztcblxuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBkaXNhYmxlZCBsYWJlbC5cblx0ICovXG5cdEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIGZvciBhIGxvYWRpbmcgbGFiZWwuXG5cdCAqL1xuXHRASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBIZWxwZXIgaW5wdXQgcHJvcGVydHkgZm9yIGVhc2Ugb2YgbWlncmF0aW9uXG5cdCAqIFNpbmNlIHdlIGNhbm5vdCBwYXNzIG5nLWNvbnRlbnQgZG93biBlYXNpbHkgZnJvbSBsYWJlbCBjb21wb25lbnQsIHdlIHdpbGwgYWNjZXB0IHRoZSB0ZW1wbGF0ZXNcblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cdEBJbnB1dCgpIHRleHRJbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogT3B0aW9uYWwgaGVscGVyIHRleHQgdGhhdCBhcHBlYXJzIHVuZGVyIHRoZSBsYWJlbC5cblx0ICovXG5cdEBJbnB1dCgpIGhlbHBlclRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBpbnZhbGlkIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBpbnZhbGlkVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGFuIGludmFsaWQgbGFiZWwgY29tcG9uZW50LlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHQvKipcblx0ICAqIFNldCB0byBgdHJ1ZWAgdG8gc2hvdyBhIHdhcm5pbmcgKGNvbnRlbnRzIHNldCBieSB3YXJuaW5nVGV4dClcblx0ICAqL1xuXHRASW5wdXQoKSB3YXJuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB3YXJuaW5nIHRleHRcblx0ICovXG5cdEBJbnB1dCgpIHdhcm5UZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0IHRoZSBhcmlhbGFiZWwgZm9yIGxhYmVsXG5cdCAqL1xuXHRASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuXHQvLyBAdHMtaWdub3JlXG5cdEBWaWV3Q2hpbGQoXCJ3cmFwcGVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB3cmFwcGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWZvcm0taXRlbVwiKSBsYWJlbENsYXNzID0gdHJ1ZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBMYWJlbC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGlkIG9uIHRoZSBpbnB1dCBpdGVtIGFzc29jaWF0ZWQgd2l0aCB0aGUgYExhYmVsYC5cblx0ICovXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHRpZiAodGhpcy53cmFwcGVyKSB7XG5cdFx0XHQvLyBQcmlvcml0aXplIHNldHRpbmcgaWQgdG8gYGlucHV0YCBvdmVyIGRpdlxuXHRcdFx0Y29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcImlucHV0XCIpO1xuXHRcdFx0aWYgKGlucHV0RWxlbWVudCkge1xuXHRcdFx0XHQvLyBhdm9pZCBvdmVycmlkaW5nIGlkcyBhbHJlYWR5IHNldCBieSB0aGUgdXNlciByZXVzZSBpdCBpbnN0ZWFkXG5cdFx0XHRcdGlmIChpbnB1dEVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGlucHV0RWxlbWVudC5pZDtcblx0XHRcdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaWRcIiwgdGhpcy5sYWJlbElucHV0SUQpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGRpdkVsZW1lbnQgPSB0aGlzLndyYXBwZXIubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiZGl2XCIpO1xuXHRcdFx0aWYgKGRpdkVsZW1lbnQpIHtcblx0XHRcdFx0aWYgKGRpdkVsZW1lbnQuaWQpIHtcblx0XHRcdFx0XHR0aGlzLmxhYmVsSW5wdXRJRCA9IGRpdkVsZW1lbnQuaWQ7XG5cdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGl2RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCB0aGlzLmxhYmVsSW5wdXRJRCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGlzVGVtcGxhdGUodmFsdWUpIHtcblx0XHRyZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcblx0fVxufVxuIl19
|