@tet/tet-components-angular 1.3.90-testing → 1.3.92-staging
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/esm2022/lib/stencil-generated/components.mjs +51 -1
- package/esm2022/lib/stencil-generated/index.mjs +3 -1
- package/esm2022/lib/tet-components-angular.module.mjs +1 -1
- package/fesm2022/tet-tet-components-angular.mjs +54 -2
- package/fesm2022/tet-tet-components-angular.mjs.map +1 -1
- package/lib/stencil-generated/components.d.ts +27 -0
- package/lib/stencil-generated/index.d.ts +1 -1
- package/lib/tet-components-angular.module.d.ts +1 -1
- package/package.json +2 -2
|
@@ -708,6 +708,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
708
708
|
inputs: ['allowMultiple', 'buttonLabel', 'closeOnSelection', 'disabled', 'flexLayout', 'label', 'labelLogo', 'labelLogoGrayscale', 'labelRight', 'labelRightColor', 'labelSubText', 'options', 'theme'],
|
|
709
709
|
}]
|
|
710
710
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
711
|
+
export let TetDynamicCard = class TetDynamicCard {
|
|
712
|
+
constructor(c, r, z) {
|
|
713
|
+
this.z = z;
|
|
714
|
+
c.detach();
|
|
715
|
+
this.el = r.nativeElement;
|
|
716
|
+
proxyOutputs(this, this.el, ['tetDynamicCardClickEvent']);
|
|
717
|
+
}
|
|
718
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetDynamicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
719
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetDynamicCard, selector: "tet-dynamic-card", inputs: { cardTitle: "cardTitle", dateTag: "dateTag", dateTagColorDark: "dateTagColorDark", dateTagColorLight: "dateTagColorLight", index: "index", isInCarousel: "isInCarousel", linkHref: "linkHref", linkNewTab: "linkNewTab", linkText: "linkText", linkType: "linkType", modalId: "modalId", pictureLayoutShiftPosition: "pictureLayoutShiftPosition", priceTagOptions: "priceTagOptions", size: "size", sizeChangeBreakpoint: "sizeChangeBreakpoint", subtitle: "subtitle", tags: "tags", theme: "theme" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
720
|
+
};
|
|
721
|
+
TetDynamicCard = __decorate([
|
|
722
|
+
ProxyCmp({
|
|
723
|
+
inputs: ['cardTitle', 'dateTag', 'dateTagColorDark', 'dateTagColorLight', 'index', 'isInCarousel', 'linkHref', 'linkNewTab', 'linkText', 'linkType', 'modalId', 'pictureLayoutShiftPosition', 'priceTagOptions', 'size', 'sizeChangeBreakpoint', 'subtitle', 'tags', 'theme']
|
|
724
|
+
})
|
|
725
|
+
], TetDynamicCard);
|
|
726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetDynamicCard, decorators: [{
|
|
727
|
+
type: Component,
|
|
728
|
+
args: [{
|
|
729
|
+
selector: 'tet-dynamic-card',
|
|
730
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
731
|
+
template: '<ng-content></ng-content>',
|
|
732
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
733
|
+
inputs: ['cardTitle', 'dateTag', 'dateTagColorDark', 'dateTagColorLight', 'index', 'isInCarousel', 'linkHref', 'linkNewTab', 'linkText', 'linkType', 'modalId', 'pictureLayoutShiftPosition', 'priceTagOptions', 'size', 'sizeChangeBreakpoint', 'subtitle', 'tags', 'theme'],
|
|
734
|
+
}]
|
|
735
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
711
736
|
export let TetExpandableInput = class TetExpandableInput {
|
|
712
737
|
constructor(c, r, z) {
|
|
713
738
|
this.z = z;
|
|
@@ -759,6 +784,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
759
784
|
inputs: ['initialState', 'toggleElement'],
|
|
760
785
|
}]
|
|
761
786
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
787
|
+
export let TetFilter = class TetFilter {
|
|
788
|
+
constructor(c, r, z) {
|
|
789
|
+
this.z = z;
|
|
790
|
+
c.detach();
|
|
791
|
+
this.el = r.nativeElement;
|
|
792
|
+
proxyOutputs(this, this.el, ['filterChange']);
|
|
793
|
+
}
|
|
794
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetFilter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
795
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TetFilter, selector: "tet-filter", inputs: { clearFilterButtonTitle: "clearFilterButtonTitle", showClearFilterButton: "showClearFilterButton", tags: "tags", theme: "theme" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
796
|
+
};
|
|
797
|
+
TetFilter = __decorate([
|
|
798
|
+
ProxyCmp({
|
|
799
|
+
inputs: ['clearFilterButtonTitle', 'showClearFilterButton', 'tags', 'theme']
|
|
800
|
+
})
|
|
801
|
+
], TetFilter);
|
|
802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TetFilter, decorators: [{
|
|
803
|
+
type: Component,
|
|
804
|
+
args: [{
|
|
805
|
+
selector: 'tet-filter',
|
|
806
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
807
|
+
template: '<ng-content></ng-content>',
|
|
808
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
809
|
+
inputs: ['clearFilterButtonTitle', 'showClearFilterButton', 'tags', 'theme'],
|
|
810
|
+
}]
|
|
811
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
762
812
|
export let TetIcon = class TetIcon {
|
|
763
813
|
constructor(c, r, z) {
|
|
764
814
|
this.z = z;
|
|
@@ -1622,4 +1672,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
1622
1672
|
inputs: ['doNotShowOnHover', 'hoverElement', 'position', 'targetElementSelector', 'theme'],
|
|
1623
1673
|
}]
|
|
1624
1674
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1625
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5VkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDOUosT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVB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QUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2lCQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJywgJ2dldFN0YXRlJywgJ3NldFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldEFjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXRhbG9nJywgJ2NhdGVnb3J5JywgJ2NsZWFyRmlsdGVyQnV0dG9uJywgJ2xhbmd1YWdlJywgJ3Byb2R1Y3RDb2RlcycsICdzdWJjYXRlZ29yeUlkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1vZmZlcnMtZmlsdGVycy1wcm9kdWN0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2F0YWxvZycsICdjYXRlZ29yeScsICdjbGVhckZpbHRlckJ1dHRvbicsICdsYW5ndWFnZScsICdwcm9kdWN0Q29kZXMnLCAnc3ViY2F0ZWdvcnlJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzT2ZmZXJzRmlsdGVyc1Byb2R1Y3RzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aXZlRmlsdGVyc0NoYW5nZWQnLCAnZmlsdGVyZWRQcm9kdWN0c0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYWN0aXZlIGZpbHRlcnMgY2hhbmdlLCBzZW5kaW5nIGFycmF5IG9mIGFjdGl2ZSBmaWx0ZXIgSURzLlxuICAgKi9cbiAgYWN0aXZlRmlsdGVyc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGZpbHRlcmVkIHByb2R1Y3RzIGNoYW5nZSwgc2VuZGluZyBzdWJjYXRlZ29yeSBJRCBhbmQgYXJyYXkgb2YgZmlsdGVyZWQgcHJvZHVjdCBJRHMuXG4gICAqL1xuICBmaWx0ZXJlZFByb2R1Y3RzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc3ViY2F0ZWdvcnlJZDogc3RyaW5nOyBmaWx0ZXJlZFByb2R1Y3RJZHM6IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnY2xvc2VCdXR0b25UZXh0JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICdyZWRlc2lnbmVkU3R5bGUnLCAnc2VhcmNoQnV0dG9uVGV4dCcsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0SW5wdXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFkZHJlc3Mtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYWRkcmVzc0tleScsICdjbG9zZUJ1dHRvblRleHQnLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3JlZGVzaWduZWRTdHlsZScsICdzZWFyY2hCdXR0b25UZXh0JywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEFkZHJlc3NTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZGRyZXNzU2VsZWN0ZWQnLCAnY2xlYXJJbnB1dEZpZWxkJywgJ21hbnVhbEFkZHJlc3NJbnB1dCcsICdzZWFyY2hTdWJtaXR0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlYXJjaCBidXR0b24uXG4gICAqL1xuICBzZWFyY2hTdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAncmVkZXNpZ25lZFN0eWxlJywgJ3Nob3dPcHRpb25zT25Fc2NhcGVDbGVhcicsICd0eXBpbmdEZWJvdW5jZVRpbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdmb2N1c09uTmF0aXZlSW5wdXQnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXV0b2NvbXBsZXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhckNhbGxiYWNrJywgJ2RhcmtUaGVtZScsICdkZWZhdWx0T3B0aW9ucycsICdmaW5pc2hlZExvYWRpbmcnLCAnaGlnaGxpZ2h0T3B0aW9uc0tleXdvcmQnLCAnbmV3U3R5bGUnLCAnbm9PcHRpb25zTWVzc2FnZScsICdub09wdGlvbnNSZW5kZXJGdW5jdGlvbicsICdvcHRpb25zRmlsdGVyQWN0aW9uJywgJ29wdGlvbnNJY29uJywgJ3JlZGVzaWduZWRTdHlsZScsICdzaG93T3B0aW9uc09uRXNjYXBlQ2xlYXInLCAndHlwaW5nRGVib3VuY2VUaW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2FjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgT3B0aW9uSW50ZXJmYWNlIGFzIElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZSBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRvY29tcGxldGUgb3B0aW9uIHNlbGVjdGlvbiBldmVudC5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEF1dG9jb21wbGV0ZU9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRW1pdHMgXCJ0ZXQtYXV0b2NvbXBsZXRlXCIgdW5pcXVlIGlkLCB3aGVuIGFuIGF0dGVtcHQgdG8gb3BlbiBzZWxlY3Rpb24gb3B0aW9ucyBpcyBpZGVudGlmaWVkLlxuICAgKi9cbiAgYWN0aXZlQ29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgbnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0T3B0aW9uJywgJ2Vycm9yTWVzc2FnZScsICdoYXNFcnJvcicsICdsYWJlbCcsICdub09wdGlvbnNNZXNzYWdlJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcklucHV0JywgJ2ZvY3VzT25OYXRpdmVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWF1dG9jb21wbGV0ZS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnaW5wdXRWYWx1ZUNsZWFyZWQnLCAnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVEcm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGlzIGNsZWFyZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBvcHRpb24gaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0nLCAnc2hvd0lucHV0TGFiZWwnLCAnc2hvd1RpdGxlJywgJ3N1Ym1pdEJ1dHRvblByb3BzJywgJ3N1YnRpdGxlJywgJ3N1Y2Nlc3MnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdmFpbGFiaWxpdHktY29udGFjdC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFza0NyZWF0aW9uU3VjY2VzcycsICd0YXNrQ3JlYXRpb25GYWlsZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLlRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uU3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gZmFpbGVkLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uRmFpbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkdXJhdGlvbicsICdsYW5ndWFnZScsICdtb2JpbGVMYXlvdXQnLCAncGF1c2VkJywgJ3NsaWRlcycsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3BhdXNlJywgJ3BsYXknLCAnZ29UbycsICduZXh0JywgJ3ByZXZpb3VzJywgJ2dldEN1cnJlbnRTbGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJhbm5lci1uYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2xhbmd1YWdlJywgJ21vYmlsZUxheW91dCcsICdwYXVzZWQnLCAnc2xpZGVzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJhbm5lck5hdiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NsaWRlQ2hhbmdlJywgJ3BhdXNlU3RhdGVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QmFubmVyTmF2IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCYW5uZXJOYXYge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHNsaWRlIGNoYW5nZXNcbiAgICovXG4gIHNsaWRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBpbmRleDogbnVtYmVyOyBwcmV2aW91c0luZGV4OiBudW1iZXIgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHBhdXNlIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHBhdXNlU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHBhdXNlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYXItZ3JhcGgnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QmFyR3JhcGgge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRCYXJHcmFwaCBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFyR3JhcGgge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXNpbmVzcy1saW5lcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnVzaW5lc3NMaW5lcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2J1c2luZXNzTGluZVNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBCdXNpbmVzc0xpbmUgYXMgSVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzTGluZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzTGluZXMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGJ1c2luZXNzIGxpbmUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBidXNpbmVzc0xpbmVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCdXNpbmVzc0xpbmVzQnVzaW5lc3NMaW5lPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0QnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2Fyb3VzZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldENhcm91c2VsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCcsICdzZXRJbmRldGVybWluYXRlJywgJ3NldEVycm9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDaGVja2JveCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENoZWNrYm94Q2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtYXBwbGljYXRpb24tZm9ybS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdWJtaXR0ZWQnLCAnY2xvc2VEaWFsb2cnLCAnb3BlbkRpYWxvZyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgYXMgSVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFwcGxpY2F0aW9uIGZvcm0gaXMgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZC5cbiAgICovXG4gIHN1Ym1pdHRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZ1RldEFwcGxpY2F0aW9uRm9ybURpYWxvZ1N1Ym1pc3Npb25EYXRhPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGNsb3NlYCBpY29uIGNsaWNrLCBvdmVybGF5IGNsaWNrIG9yIHRoZSBgZXNjYCBrZXkgcHJlc3MuXG4gICAqL1xuICBjbG9zZURpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtY29uZmlndXJhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvdWRDYWxjdWxhdG9yU3VibWl0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQ29uZmlndXJhdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZENvbmZpZ3VyYXRvciB7XG4gIC8qKlxuICAgKiBUaGUgc3VibWl0IGV2ZW50IG9mIHRoZSBmb3JtLlxuICAgKi9cbiAgY2xvdWRDYWxjdWxhdG9yU3VibWl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWN0LWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFjdEZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YXNrQ3JlYXRpb25TdWNjZXNzJywgJ3Rhc2tDcmVhdGlvbkZhaWxlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDb250YWN0Rm9ybSBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFjdEZvcm0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gd2FzIHN1Y2Nlc3NmdWwuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25TdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiBmYWlsZWQuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25GYWlsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtaW5mbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0SW5mbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RJbmZvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0SW5mbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY3VzdG9tZXItYXNzZXRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NUb2tlbicsICdkYXJrVGhlbWUnLCAnZ3JvdXBCeUFkZHJlc3MnLCAnaGlkZUFzc2V0cycsICdsb2FkZXJFbGVtZW50c0NvdW50JywgJ3BpZCcsICdzYWxlc2ZvcmNlQWNjb3VudElkJywgJ3NpbmdsZUxvYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDdXN0b21lckFzc2V0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0U2VsZWN0ZWQnLCAnYXNzZXRzVXBkYXRlZCcsICdjdXN0b21lck5vdEZvdW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21lckFzc2V0IGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tZXJOb3RGb3VuZCBhcyBJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDdXN0b21lckFzc2V0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0Q3VzdG9tZXJBc3NldHMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHVzZXIgc2VsZWN0cyBhbiBhc3NldC5cbiAgICovXG4gIGFzc2V0U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFzc2V0cyBjaGFuZ2UuXG4gICAqL1xuICBhc3NldHNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldFtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUlzT3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZGF0ZUNoYW5nZWQnLCAncmFuZ2VEYXRlc0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gYXQgbGVhc3Qgb25lIG9mIHRoZSByYW5nZSBkYXRlcyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIHJhbmdlRGF0ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlckhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VySGVhZGVyRGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbW9udGgtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTW9udGhWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyQ2xvc2VkJywgJ3JhbmdlRGF0ZVNldCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclJhbmdlU2V0RGF0YSBhcyBJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJNb250aFZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgaW50ZXJuYWwgZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgd2lsbCBiZSBjbG9zZWQuXG4gICAqL1xuICBkYXRlcGlja2VyQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgYmUgc2V0LlxuICAgKi9cbiAgcmFuZ2VEYXRlU2V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNb250aFZpZXdEYXRlcGlja2VyUmFuZ2VTZXREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLW11bHRpLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXdEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEludGVybmFsIGRhdGUgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIHZpZXcgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyWWVhclZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyWWVhclZpZXdEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VPbkVzY2FwZScsICdjbG9zZU9uT3ZlcmxheUNsaWNrJywgJ2Zvb3RlckRpc3BsYXknLCAnaGVhZGVyVGl0bGUnLCAnaGlkZUNsb3NlQnV0dG9uJywgJ2hpZGVIZWFkZXInLCAnaXNPcGVuJywgJ3ByZXZlbnREZWZhdWx0Q2xvc2UnLCAnc2hvd0hlYWRlckRpdmlkZXInLCAndGhlbWUnLCAndGl0bGVJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLlxuICAgKi9cbiAgb3BlbkRpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnRUeXBlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRPcHRpb25zJywgJ3NlbGVjdE9wdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnb3B0aW9uQ2hlY2tlZCcsICdvcHRpb25zQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREcm9wZG93biB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciBhIHNpbmdsZSBvcHRpb24gaXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIG9wdGlvbi5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgbXVsdGktc2VsZWN0YWJsZSBvcHRpb24gaXMgY2hlY2tlZC91bmNoZWNrZWQuXG4gICAqL1xuICBvcHRpb25DaGVja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBjaGFuZ2VkIGFuZCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICovXG4gIG9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2VbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnY2xhc3MnLCAnY2xvc2VJbnB1dFRleHQnLCAnY2xvc2VkV2lkdGgnLCAnZGFya01vZGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaWNvbkNsb3NlZCcsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnbGFiZWwnLCAnbWFudWFsVmFsaWRhdGlvbicsICdtb2RlJywgJ3BsYWNlaG9sZGVyJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd2YWxpZGF0b3JzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRIdG1sRWxlbWVudCcsICdnZXRFcnJvcnMnLCAndmFsaWRhdGVJbnB1dCcsICdzZXRTdGF0ZScsICdjbGVhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWV4cGFuZGFibGUtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAnc2l6ZScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RXhwYW5kYWJsZUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmVmb3JlLXN0YXRlLWNoYW5nZScsICdhZnRlci1zdGF0ZS1jaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0YXRlQ2hhbmdlSW50ZXJmYWNlIGFzIElUZXRFeHBhbmRhYmxlSW5wdXRTdGF0ZUNoYW5nZUludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RXhwYW5kYWJsZUlucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRFeHBhbmRhYmxlSW5wdXQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgZXhwYW5kaW5nIG9yIHNocmlua2luZyBhbmltYXRpb24gb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgJ2JlZm9yZS1zdGF0ZS1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEV4cGFuZGFibGVJbnB1dFN0YXRlQ2hhbmdlSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBleHBhbmRpbmcgb3Igc2hyaW5raW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICAnYWZ0ZXItc3RhdGUtY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRFeHBhbmRhYmxlSW5wdXRTdGF0ZUNoYW5nZUludGVyZmFjZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbml0aWFsU3RhdGUnLCAndG9nZ2xlRWxlbWVudCddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJywgJ2dldFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZXhwYW5zaW9uLXBhbmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbml0aWFsU3RhdGUnLCAndG9nZ2xlRWxlbWVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRFeHBhbnNpb25QYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEV4cGFuc2lvblBhbmVsIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRFeHBhbnNpb25QYW5lbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnZm9jdXNhYmxlJywgJ25hbWUnLCAndGhlbWUnLCAndHlwZScsICd1c2VEZWZhdWx0Q29sb3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnZm9jdXNhYmxlJywgJ25hbWUnLCAndGhlbWUnLCAndHlwZScsICd1c2VEZWZhdWx0Q29sb3InXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEljb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGhlbWUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWlubGluZS1tZXNzYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0aGVtZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldElubGluZU1lc3NhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJbmxpbmVNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJbmxpbmVNZXNzYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhdXRvY29tcGxldGUnLCAnY2xhc3MnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaWNvbkxlZnQnLCAnaWNvbkxlZnRDbGlja0NhbGxiYWNrJywgJ2ljb25SaWdodCcsICdpY29uUmlnaHRDbGlja0NhbGxiYWNrJywgJ2lucHV0VGFiaW5kZXgnLCAnaXNQaG9uZU51bWJlcicsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21heGxlbmd0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRJbnB1dEh0bWxFbGVtZW50JywgJ2dldEVycm9ycycsICdjbGVhckVycm9ycycsICd2YWxpZGF0ZUlucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhdXRvY29tcGxldGUnLCAnY2xhc3MnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaWNvbkxlZnQnLCAnaWNvbkxlZnRDbGlja0NhbGxiYWNrJywgJ2ljb25SaWdodCcsICdpY29uUmlnaHRDbGlja0NhbGxiYWNrJywgJ2lucHV0VGFiaW5kZXgnLCAnaXNQaG9uZU51bWJlcicsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21heGxlbmd0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVGV0SW5wdXQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2xhYmVsVGl0bGUnLCAnc2hvd0ljb24nLCAndGhlbWUnLCAndHJhbnNsYXRlVGl0bGUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnbGFiZWxUaXRsZScsICdzaG93SWNvbicsICd0aGVtZScsICd0cmFuc2xhdGVUaXRsZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRldExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldExvYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0TG9hZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjbGlja2FibGUnLCAnZGFya01vZGUnLCAnZmlyc3RMZXZlbEljb24nLCAnZmlyc3RMZXZlbElkJywgJ2ZpcnN0TGV2ZWxMaW5rJywgJ2ZpcnN0TGV2ZWxUaXRsZScsICdzdWJMZXZlbHMnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW1lbnUtbW9iaWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrTW9kZScsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ2lzQWN0aXZlJywgJ3N1YkxldmVscyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNZW51TW9iaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TWVudU1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TWVudU1vYmlsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50JywgJ2RpYWxvZ0RhdGFTY3JlZW5LZXknLCAnaXNPcGVuJywgJ2xhbmd1YWdlJywgJ3N0ZXBzJywgJ3RldERpYWxvZ0NsYXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbXVsdGktc3RlcC1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlhbG9nRGF0YVNjcmVlbktleScsICdpc09wZW4nLCAnbGFuZ3VhZ2UnLCAnc3RlcHMnLCAndGV0RGlhbG9nQ2xhc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TXVsdGlTdGVwRGlhbG9nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TXVsdGlTdGVwRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNdWx0aVN0ZXBEaWFsb2cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya01vZGUnXSxcbiAgbWV0aG9kczogWydzaG93VG9nZ2xlcicsICdoaWRlVG9nZ2xlcicsICdvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbmF2aWdhdGlvbi1tb2JpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE5hdmlnYXRpb25Nb2JpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydtYWluRHJvcGRvd25Ub2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TmF2aWdhdGlvbk1vYmlsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0TmF2aWdhdGlvbk1vYmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGlzVG9nZ2xlckV4cGFuZGVkYCB2YWx1ZSBjaGFuZ2UuXG4gICAqL1xuICBtYWluRHJvcGRvd25Ub2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbG93Q2xvc2UnLCAnYW5pbWF0aW9uRHVyYXRpb24nLCAnY29udGVudCcsICdoZWFkZXJUaXRsZScsICdpY29uJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LW5vdGlmaWNhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxsb3dDbG9zZScsICdhbmltYXRpb25EdXJhdGlvbicsICdjb250ZW50JywgJ2hlYWRlclRpdGxlJywgJ2ljb24nLCAndGhlbWUnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROb3RpZmljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldE5vdGlmaWNhdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJywgJ3Jlc2V0U3VmZml4J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbnVtYmVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYnV0dG9uQWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NvbXBsZXRlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdoZWxwZXJUZXh0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdWZmaXhlcycsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXROdW1iZXJJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lucHV0VmFsdWVDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE51bWJlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXROdW1iZXJJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpbnB1dCBldmVudFxuICAgKi9cbiAgaW5wdXRWYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFya1RoZW1lJywgJ2hlaWdodCcsICd3aWR0aCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXBsYWNlaG9sZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnaGVpZ2h0JywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFBsYWNlaG9sZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UGxhY2Vob2xkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFBsYWNlaG9sZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnY2VudHNQcmljZScsICdldXJvUHJpY2UnLCAnZm9udCcsICdmb290ZXJUZXh0JywgJ2Zvb3RlclRleHRUeXBlJywgJ2hlYWRpbmdUZXh0JywgJ3ByaWNlVHlwZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcHJpY2UtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjZW50c1ByaWNlJywgJ2V1cm9QcmljZScsICdmb250JywgJ2Zvb3RlclRleHQnLCAnZm9vdGVyVGV4dFR5cGUnLCAnaGVhZGluZ1RleHQnLCAncHJpY2VUeXBlJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UHJpY2VWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UHJpY2VWaWV3IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRQcmljZVZpZXcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW5wdXRBdXRvZm9jdXMnLCAnbGFiZWwnLCAnbmFtZScsICd0aGVtZScsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NldENoZWNrZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW5wdXRBdXRvZm9jdXMnLCAnbGFiZWwnLCAnbmFtZScsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBSYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2UgYXMgSVRldFJhZGlvUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuVGV0UmFkaW8ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuZXZlciB0aGUgY29udHJvbCBlbGVtZW50IGlzIGNoZWNrZWQuXG4gICAqL1xuICBjaGVjazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRSYWRpb1JhZGlvQ2hlY2tFdmVudEludGVyZmFjZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRCdXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnZGF0YVBvaW50cycsICdkYXRhVW5pdHMnLCAnZGVmYXVsdFZhbHVlJywgJ2Rpc3BsYXlEYXRhUG9pbnRzJywgJ2lucHV0TWF4VmFsdWUnLCAnbG9ja1RvRGF0YVBvaW50JywgJ21heFZhbHVlJywgJ21pblZhbHVlJywgJ251bWJlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3BhcmVudENvbnRhaW5lcicsICdyZWR1Y2VCdXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc2l6ZScsICdzbGlkZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdzdGVwJywgJ3RoZW1lJywgJ3R5cGUnLCAnd2l0aENvbnRyb2xzJywgJ3dpdGhDdXJyZW50U3RlcENvdW50ZXInLCAnd2l0aElucHV0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcmFuZ2Utc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhZGRCdXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnZGF0YVBvaW50cycsICdkYXRhVW5pdHMnLCAnZGVmYXVsdFZhbHVlJywgJ2Rpc3BsYXlEYXRhUG9pbnRzJywgJ2lucHV0TWF4VmFsdWUnLCAnbG9ja1RvRGF0YVBvaW50JywgJ21heFZhbHVlJywgJ21pblZhbHVlJywgJ251bWJlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3BhcmVudENvbnRhaW5lcicsICdyZWR1Y2VCdXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnc2l6ZScsICdzbGlkZXJJbnB1dEFjY2Vzc2liaWxpdHlMYWJlbCcsICdzdGVwJywgJ3RoZW1lJywgJ3R5cGUnLCAnd2l0aENvbnRyb2xzJywgJ3dpdGhDdXJyZW50U3RlcENvdW50ZXInLCAnd2l0aElucHV0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJhbmdlU2xpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc2xpZGVyLWlucHV0JywgJ3NsaWRlci1jaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UmFuZ2VTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFJhbmdlU2xpZGVyIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgb24gc2xpZGVyIGlucHV0LlxuICAgKi9cbiAgJ3NsaWRlci1pbnB1dCc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgb24gc2xpZGVyIGNoYW5nZS5cbiAgICovXG4gICdzbGlkZXItY2hhbmdlJzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXRhJywgJ2xhbmd1YWdlJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcmVmZXJyYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGEnLCAnbGFuZ3VhZ2UnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmVmZXJyYWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd1cmxDb3BpZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0UmVmZXJyYWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldFJlZmVycmFsIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGxpbmsgaXMgY29waWVkIHRvIHRoZSBjbGlwYm9hcmQuXG4gICAqL1xuICB1cmxDb3BpZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZvcmNlZENvbHVtbicsICdoaWRlSWNvbnMnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yb3VuZC1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmb3JjZWRDb2x1bW4nLCAnaGlkZUljb25zJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJvdW5kU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJvdW5kU3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGV0Um91bmRTdGVwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2lkZW50aWZpZXInLCAnaXRlbVJlbmRlckZ1bmN0aW9uJywgJ2l0ZW1zJywgJ211bHRpcGxlU2VsZWN0aW9ucycsICdwcmVTZWxlY3RlZEl0ZW1zJ10sXG4gIG1ldGhvZHM6IFsndW5zZXRTZWxlY3RlZEl0ZW1zJywgJ2dldFNlbGVjdGVkSXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zZWxlY3Rpb24tbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWRlbnRpZmllcicsICdpdGVtUmVuZGVyRnVuY3Rpb24nLCAnaXRlbXMnLCAnbXVsdGlwbGVTZWxlY3Rpb25zJywgJ3ByZVNlbGVjdGVkSXRlbXMnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U2VsZWN0aW9uTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2l0ZW1TZWxlY3RlZCcsICdzZWxlY3Rpb25MaXN0UmVuZGVyZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U2VsZWN0aW9uTGlzdCBleHRlbmRzIENvbXBvbmVudHMuVGV0U2VsZWN0aW9uTGlzdCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCBvciBkZS1zZWxlY3RlZC5cbiAgICovXG4gIGl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgc2VsZWN0aW9uTGlzdFJlbmRlcmVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGhlbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ3NldFByb2dyZXNzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZScsICd0aGVtZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFNwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTcGlubmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2xhbmd1YWdlJywgJ21heCcsICdtaW4nLCAnc2VsZWN0T25Gb2N1cycsICdzdGVwJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0VmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N0ZXAnLCAndGhlbWUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3RlcHBlcklucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3RlcHBlcklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVySW5wdXQge1xuICAvKipcbiAgICogRW1pdHMgaW5wdXQgZXZlbnRcbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3RlcHBlci12MicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3RlcHBlclYyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3RlcHBlclYyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTdGVwcGVyVjIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyLXYzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVyVjMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyVjMgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXJWMyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnbmFtZScsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTd2l0Y2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGVjayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3dpdGNoQ2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0U3dpdGNoU3dpdGNoQ2hlY2tFdmVudEludGVyZmFjZSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3dpdGNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTd2l0Y2gge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuZXZlciB0aGUgY29udHJvbCBlbGVtZW50IGlzIGNoZWNrZWQuXG4gICAqL1xuICBjaGVjazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRTd2l0Y2hTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAncGFyZW50Q29udGFpbmVyJywgJ3VzZVZpc2liaWxpdHknXSxcbiAgbWV0aG9kczogWydpbml0JywgJ3NlbGVjdFRhYiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYi1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ3BhcmVudENvbnRhaW5lcicsICd1c2VWaXNpYmlsaXR5J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhYkNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YWJTZWxlY3RlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGFiU2VsZWN0RXZlbnREYXRhIGFzIElUZXRUYWJDb250ZW50VGFiU2VsZWN0RXZlbnREYXRhIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWJDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWJDb250ZW50IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0cmlnZ2VyZWQgb24gc2VsZWN0aW9uIG9mIHRoZSB0YWIuXG4gICAqL1xuICB0YWJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRUYWJDb250ZW50VGFiU2VsZWN0RXZlbnREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5RGVsYXknLCAnZGFya01vZGUnLCAnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdoaWRlQWN0aXZlSGVhZGVyVW5kZXJsaW5lJywgJ2hpZGVIZWFkZXJVbmRlcmxpbmUnLCAncG9zaXRpb24nLCAnc2VnbWVudGVkJywgJ3NpemluZycsICdzdG9wQXV0b3BsYXlPbkNvbnRlbnRIb3ZlcicsICdzdG9wQXV0b3BsYXlPbkhlYWRlckhvdmVyJywgJ3RoZW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVBdXRvcGxheScsICdzdG9wQXV0b3BsYXknLCAnc3RhcnRBdXRvcGxheScsICdzZWxlY3RUYWInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWItaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheURlbGF5JywgJ2RhcmtNb2RlJywgJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAnaGlkZUFjdGl2ZUhlYWRlclVuZGVybGluZScsICdoaWRlSGVhZGVyVW5kZXJsaW5lJywgJ3Bvc2l0aW9uJywgJ3NlZ21lbnRlZCcsICdzaXppbmcnLCAnc3RvcEF1dG9wbGF5T25Db250ZW50SG92ZXInLCAnc3RvcEF1dG9wbGF5T25IZWFkZXJIb3ZlcicsICd0aGVtZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhYkhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYlNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUYWJTZWxlY3RFdmVudERhdGEgYXMgSVRldFRhYkhlYWRlclRhYlNlbGVjdEV2ZW50RGF0YSB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFiSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWJIZWFkZXIge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRyaWdnZXJlZCBvbiB0YWIgc2VsZWN0aW9uLlxuICAgKi9cbiAgdGFiU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0VGFiSGVhZGVyVGFiU2VsZWN0RXZlbnREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhcHRpb24nLCAnY2VsbFRleHRBbGlnbicsICdnYXBwZWRDb2x1bW5MYXlvdXQnLCAndGFibGVEYXRhJywgJ3RhYmxlSGVhZGVyJywgJ3RhYmxlSGVhZGVyQ29sdW1uU3BhbicsICd0YWJsZUhlYWRlclRleHRBbGlnbicsICd0YWJsZUhlYWRlcldpZHRoJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhcHRpb24nLCAnY2VsbFRleHRBbGlnbicsICdnYXBwZWRDb2x1bW5MYXlvdXQnLCAndGFibGVEYXRhJywgJ3RhYmxlSGVhZGVyJywgJ3RhYmxlSGVhZGVyQ29sdW1uU3BhbicsICd0YWJsZUhlYWRlclRleHRBbGlnbicsICd0YWJsZUhlYWRlcldpZHRoJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb3VudCcsICdkaXNhYmxlZCcsICdsYW5ndWFnZScsICdzaG93SWNvbicsICd0YWdUaXRsZScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvdW50JywgJ2Rpc2FibGVkJywgJ2xhbmd1YWdlJywgJ3Nob3dJY29uJywgJ3RhZ1RpdGxlJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhZyBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFnIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ3RhZ3MnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWctZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFnR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWdHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFnR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVjaW1hbFByZWZpeCcsICdkZWNpbWFsU3RhcnQnLCAnbGlzdEljb24nLCAnbGlzdFR5cGUnLCAndGhlbWUnLCAnd2l0aEljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10ZXh0LWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlY2ltYWxQcmVmaXgnLCAnZGVjaW1hbFN0YXJ0JywgJ2xpc3RJY29uJywgJ2xpc3RUeXBlJywgJ3RoZW1lJywgJ3dpdGhJY29uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRleHRMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGV4dExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRleHRMaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yTWVzc2FnZXMnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3JNZXNzYWdlcycsICdsYWJlbCcsICdwbGFjZWhvbGRlcicsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUZXh0YXJlYSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdGFCdXR0b25EZXNjcmlwdGlvbicsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblR5cGUnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrSWNvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRoYW5rLXlvdS12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdGFCdXR0b25EZXNjcmlwdGlvbicsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblR5cGUnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrSWNvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUaGFua1lvdVZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdGFCdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUaGFua1lvdVZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRoYW5rWW91VmlldyB7XG4gIC8qKlxuICAgKiBUaGUgY2xpY2sgZXZlbnQgZW1pdHRlciBvZiB0aGUgQ1RBIGJ1dHRvbi5cbiAgICovXG4gIGN0YUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGhhbmsteW91LXZpZXctdjInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3VjIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdGFCdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUaGFua1lvdVZpZXdWMiBleHRlbmRzIENvbXBvbmVudHMuVGV0VGhhbmtZb3VWaWV3VjIge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRoYW5rLXlvdS12aWV3LXYzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91Vmlld1YzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY3RhQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGhhbmtZb3VWaWV3VjMgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRoYW5rWW91Vmlld1YzIHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RvTm90U2hvd09uSG92ZXInLCAnaG92ZXJFbGVtZW50JywgJ3Bvc2l0aW9uJywgJ3RhcmdldEVsZW1lbnRTZWxlY3RvcicsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkb05vdFNob3dPbkhvdmVyJywgJ2hvdmVyRWxlbWVudCcsICdwb3NpdGlvbicsICd0YXJnZXRFbGVtZW50U2VsZWN0b3InLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRvb2x0aXAge31cblxuXG4iXX0=
|
|
1675
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RldC1jb21wb25lbnRzLWFuZ3VsYXIvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWdCaEUsV0FBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLFlBQVk7a0dBQVosWUFBWSx5VkFKYiwyQkFBMkI7O0FBSTFCLFlBQVk7SUFYeEIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUM7UUFDOUosT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztLQUM3RCxDQUFDO0dBUVcsWUFBWSxDQU14QjsyRkFOWSxZQUFZO2tCQVB4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVB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Z0IsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztpQkFDeE07O0FBOEJNLFdBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVU7SUFFckIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxVQUFVO2tHQUFWLFVBQVUseU5BSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBWHRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO1FBQzFGLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO0tBQ3BDLENBQUM7R0FRVyxVQUFVLENBTXRCOzJGQU5ZLFVBQVU7a0JBUHRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2lCQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJywgJ2dldFN0YXRlJywgJ3NldFN0YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydicmVha3BvaW50JywgJ2hlYWRlcicsICdoZWFkZXJJbWFnZUFsdCcsICdoZWFkZXJJbWFnZVNyYycsICdoZWFkaW5nVGFnJywgJ2lzT3BlbicsICd0aGVtZScsICd0cmFuc3BhcmVudEJhY2tncm91bmQnLCAnd2l0aEF1dG9TY3JvbGwnLCAnd2l0aEJvcmRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlRldEFjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXRhbG9nJywgJ2NhdGVnb3J5JywgJ2NsZWFyRmlsdGVyQnV0dG9uJywgJ2xhbmd1YWdlJywgJ3Byb2R1Y3RDb2RlcycsICdzdWJjYXRlZ29yeUlkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYWRkcmVzcy1vZmZlcnMtZmlsdGVycy1wcm9kdWN0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2F0YWxvZycsICdjYXRlZ29yeScsICdjbGVhckZpbHRlckJ1dHRvbicsICdsYW5ndWFnZScsICdwcm9kdWN0Q29kZXMnLCAnc3ViY2F0ZWdvcnlJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBZGRyZXNzT2ZmZXJzRmlsdGVyc1Byb2R1Y3RzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYWN0aXZlRmlsdGVyc0NoYW5nZWQnLCAnZmlsdGVyZWRQcm9kdWN0c0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0QWRkcmVzc09mZmVyc0ZpbHRlcnNQcm9kdWN0cyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYWN0aXZlIGZpbHRlcnMgY2hhbmdlLCBzZW5kaW5nIGFycmF5IG9mIGFjdGl2ZSBmaWx0ZXIgSURzLlxuICAgKi9cbiAgYWN0aXZlRmlsdGVyc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGZpbHRlcmVkIHByb2R1Y3RzIGNoYW5nZSwgc2VuZGluZyBzdWJjYXRlZ29yeSBJRCBhbmQgYXJyYXkgb2YgZmlsdGVyZWQgcHJvZHVjdCBJRHMuXG4gICAqL1xuICBmaWx0ZXJlZFByb2R1Y3RzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc3ViY2F0ZWdvcnlJZDogc3RyaW5nOyBmaWx0ZXJlZFByb2R1Y3RJZHM6IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FkZHJlc3NLZXknLCAnY2xvc2VCdXR0b25UZXh0JywgJ2lucHV0RGlzYWJsZWQnLCAnaXNJbnB1dEludmFsaWQnLCAnbGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWFudWFsQWRkcmVzc1RyaWdnZXJzJywgJ21pblNlYXJjaEtleXdvcmRMZW5ndGgnLCAnbmV3Rm9ybXNTdHlsZScsICduZXdTdHlsZScsICdwbGFjZWhvbGRlcicsICdyZWRlc2lnbmVkU3R5bGUnLCAnc2VhcmNoQnV0dG9uVGV4dCcsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3Jlc2V0SW5wdXRTdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFkZHJlc3Mtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnYWRkcmVzc0tleScsICdjbG9zZUJ1dHRvblRleHQnLCAnaW5wdXREaXNhYmxlZCcsICdpc0lucHV0SW52YWxpZCcsICdsYWJlbCcsICdsYW5ndWFnZScsICdtYW51YWxBZGRyZXNzVHJpZ2dlcnMnLCAnbWluU2VhcmNoS2V5d29yZExlbmd0aCcsICduZXdGb3Jtc1N0eWxlJywgJ25ld1N0eWxlJywgJ3BsYWNlaG9sZGVyJywgJ3JlZGVzaWduZWRTdHlsZScsICdzZWFyY2hCdXR0b25UZXh0JywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEFkZHJlc3NTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydhZGRyZXNzU2VsZWN0ZWQnLCAnY2xlYXJJbnB1dEZpZWxkJywgJ21hbnVhbEFkZHJlc3NJbnB1dCcsICdzZWFyY2hTdWJtaXR0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IEFkZHJlc3NJbnRlcmZhY2UgYXMgSVRldEFkZHJlc3NTZWFyY2hBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRBZGRyZXNzU2VhcmNoIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBZGRyZXNzU2VhcmNoIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFuIGFkZHJlc3MgdmlhIGF1dG9jb21wbGV0ZS5cbiAgICovXG4gIGFkZHJlc3NTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBZGRyZXNzU2VhcmNoQWRkcmVzc0ludGVyZmFjZT4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBmaWVsZCBpcyBjbGVhcmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBjbGVhcklucHV0RmllbGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBtYW51YWwgYWRkcmVzcyBpbnB1dCBvcHRpb24uXG4gICAqL1xuICBtYW51YWxBZGRyZXNzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciBjbGlja3MgdGhlIHNlYXJjaCBidXR0b24uXG4gICAqL1xuICBzZWFyY2hTdWJtaXR0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWFzc2V0LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2FkZHJlc3NTZWFyY2hMYWJlbCcsICdhZGRyZXNzU2VhcmNoUGxhY2Vob2xkZXInLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWyd1bnNlbGVjdEFzc2V0QWRkcmVzc2VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXNzZXQtYXZhaWxhYmlsaXR5LWFkZHJlc3NlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzVG9rZW4nLCAnYWRkcmVzc1NlYXJjaExhYmVsJywgJ2FkZHJlc3NTZWFyY2hQbGFjZWhvbGRlcicsICdwaWQnLCAnc2FsZXNmb3JjZUFjY291bnRJZCcsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRBc3NldEF2YWlsYWJpbGl0eUFkZHJlc3NlcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0QWRkcmVzc1NlbGVjdGVkJywgJ2FkZHJlc3Nlc1VwZGF0ZWQnLCAnY3VzdG9tZXJOb3RGb3VuZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVW5pcXVlQWRkcmVzc0ludGVyZmFjZSBhcyBJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbWVyTm90Rm91bmQgYXMgSVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzQ3VzdG9tZXJOb3RGb3VuZCB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB1c2VyIHNlbGVjdHMgYW4gYWRkcmVzcyBmcm9tIHRoZSBsc2l0LlxuICAgKi9cbiAgYXNzZXRBZGRyZXNzU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNVbmlxdWVBZGRyZXNzSW50ZXJmYWNlPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFkZHJlc3NlcyBjaGFuZ2UuXG4gICAqL1xuICBhZGRyZXNzZXNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEFzc2V0QXZhaWxhYmlsaXR5QWRkcmVzc2VzVW5pcXVlQWRkcmVzc0ludGVyZmFjZVtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0QXNzZXRBdmFpbGFiaWxpdHlBZGRyZXNzZXNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyQ2FsbGJhY2snLCAnZGFya1RoZW1lJywgJ2RlZmF1bHRPcHRpb25zJywgJ2ZpbmlzaGVkTG9hZGluZycsICdoaWdobGlnaHRPcHRpb25zS2V5d29yZCcsICduZXdTdHlsZScsICdub09wdGlvbnNNZXNzYWdlJywgJ25vT3B0aW9uc1JlbmRlckZ1bmN0aW9uJywgJ29wdGlvbnNGaWx0ZXJBY3Rpb24nLCAnb3B0aW9uc0ljb24nLCAncmVkZXNpZ25lZFN0eWxlJywgJ3Nob3dPcHRpb25zT25Fc2NhcGVDbGVhcicsICd0eXBpbmdEZWJvdW5jZVRpbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdmb2N1c09uTmF0aXZlSW5wdXQnLCAnc2VsZWN0T3B0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYXV0b2NvbXBsZXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGVhckNhbGxiYWNrJywgJ2RhcmtUaGVtZScsICdkZWZhdWx0T3B0aW9ucycsICdmaW5pc2hlZExvYWRpbmcnLCAnaGlnaGxpZ2h0T3B0aW9uc0tleXdvcmQnLCAnbmV3U3R5bGUnLCAnbm9PcHRpb25zTWVzc2FnZScsICdub09wdGlvbnNSZW5kZXJGdW5jdGlvbicsICdvcHRpb25zRmlsdGVyQWN0aW9uJywgJ29wdGlvbnNJY29uJywgJ3JlZGVzaWduZWRTdHlsZScsICdzaG93T3B0aW9uc09uRXNjYXBlQ2xlYXInLCAndHlwaW5nRGVib3VuY2VUaW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ29wdGlvblNlbGVjdGVkJywgJ2FjdGl2ZUNvbXBvbmVudFN0YXRlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgT3B0aW9uSW50ZXJmYWNlIGFzIElUZXRBdXRvY29tcGxldGVPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZSBleHRlbmRzIENvbXBvbmVudHMuVGV0QXV0b2NvbXBsZXRlIHtcbiAgLyoqXG4gICAqIFRoZSBhdXRvY29tcGxldGUgb3B0aW9uIHNlbGVjdGlvbiBldmVudC5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEF1dG9jb21wbGV0ZU9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRW1pdHMgXCJ0ZXQtYXV0b2NvbXBsZXRlXCIgdW5pcXVlIGlkLCB3aGVuIGFuIGF0dGVtcHQgdG8gb3BlbiBzZWxlY3Rpb24gb3B0aW9ucyBpcyBpZGVudGlmaWVkLlxuICAgKi9cbiAgYWN0aXZlQ29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgbnVsbD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0T3B0aW9uJywgJ2Vycm9yTWVzc2FnZScsICdoYXNFcnJvcicsICdsYWJlbCcsICdub09wdGlvbnNNZXNzYWdlJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAndGhlbWUnXSxcbiAgbWV0aG9kczogWydjbGVhcklucHV0JywgJ2ZvY3VzT25OYXRpdmVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWF1dG9jb21wbGV0ZS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdE9wdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnaGFzRXJyb3InLCAnbGFiZWwnLCAnbm9PcHRpb25zTWVzc2FnZScsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnaW5wdXRWYWx1ZUNsZWFyZWQnLCAnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbkludGVyZmFjZSBhcyBJVGV0QXV0b2NvbXBsZXRlRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEF1dG9jb21wbGV0ZURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRBdXRvY29tcGxldGVEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBvcHRpb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRBdXRvY29tcGxldGVEcm9wZG93bk9wdGlvbkludGVyZmFjZT4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGlzIGNsZWFyZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlQ2xlYXJlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBvcHRpb24gaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIGlucHV0VmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0nLCAnc2hvd0lucHV0TGFiZWwnLCAnc2hvd1RpdGxlJywgJ3N1Ym1pdEJ1dHRvblByb3BzJywgJ3N1YnRpdGxlJywgJ3N1Y2Nlc3MnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1hdmFpbGFiaWxpdHktY29udGFjdC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnbGFuZ3VhZ2UnLCAnc2hvd0F2YWlsYWJpbGl0eUNvbnRhY3RGb3JtJywgJ3Nob3dJbnB1dExhYmVsJywgJ3Nob3dUaXRsZScsICdzdWJtaXRCdXR0b25Qcm9wcycsICdzdWJ0aXRsZScsICdzdWNjZXNzJywgJ3Rhc2tPcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFza0NyZWF0aW9uU3VjY2VzcycsICd0YXNrQ3JlYXRpb25GYWlsZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QXZhaWxhYmlsaXR5Q29udGFjdEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLlRldEF2YWlsYWJpbGl0eUNvbnRhY3RGb3JtIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGlmIHRoZSB0YXNrIGNyZWF0aW9uIHdhcyBzdWNjZXNzZnVsLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uU3VjY2VzczogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gZmFpbGVkLlxuICAgKi9cbiAgdGFza0NyZWF0aW9uRmFpbGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkdXJhdGlvbicsICdsYW5ndWFnZScsICdtb2JpbGVMYXlvdXQnLCAncGF1c2VkJywgJ3NsaWRlcycsICd0aGVtZSddLFxuICBtZXRob2RzOiBbJ3BhdXNlJywgJ3BsYXknLCAnZ29UbycsICduZXh0JywgJ3ByZXZpb3VzJywgJ2dldEN1cnJlbnRTbGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJhbm5lci1uYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2xhbmd1YWdlJywgJ21vYmlsZUxheW91dCcsICdwYXVzZWQnLCAnc2xpZGVzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJhbm5lck5hdiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NsaWRlQ2hhbmdlJywgJ3BhdXNlU3RhdGVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0QmFubmVyTmF2IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCYW5uZXJOYXYge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHNsaWRlIGNoYW5nZXNcbiAgICovXG4gIHNsaWRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBpbmRleDogbnVtYmVyOyBwcmV2aW91c0luZGV4OiBudW1iZXIgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHBhdXNlIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHBhdXNlU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHBhdXNlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1iYXItZ3JhcGgnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2RhdGEnLCAnZGF0YU9yZGVyJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAncGFyZW50Q29udGFpbmVyJywgJ3NpemUnLCAndGhlbWUnLCAndmFsdWVQb3NpdGlvbicsICd2YWx1ZVVuaXQnLCAnd2l0aEdyaWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QmFyR3JhcGgge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRCYXJHcmFwaCBleHRlbmRzIENvbXBvbmVudHMuVGV0QmFyR3JhcGgge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1idXNpbmVzcy1saW5lcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkcmVzc0tleScsICdsYW5ndWFnZScsICdzaG93SGVhZGluZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0QnVzaW5lc3NMaW5lcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2J1c2luZXNzTGluZVNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBCdXNpbmVzc0xpbmUgYXMgSVRldEJ1c2luZXNzTGluZXNCdXNpbmVzc0xpbmUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzTGluZXMgZXh0ZW5kcyBDb21wb25lbnRzLlRldEJ1c2luZXNzTGluZXMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIGJ1c2luZXNzIGxpbmUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBidXNpbmVzc0xpbmVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRCdXNpbmVzc0xpbmVzQnVzaW5lc3NMaW5lPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWJ1c2luZXNzLXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xheW91dCcsICdzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1c2luZXNzUm91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRCdXNpbmVzc1JvdW5kU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2xpY2tDYWxsYmFjaycsICdkaXNhYmxlZCcsICdlbGVtZW50SWQnLCAnaWNvbk1vZGUnLCAnaWNvbk5hbWUnLCAnaWNvblBvc2l0aW9uJywgJ3NpemUnLCAndGhlbWUnLCAndHlwZScsICd1cmwnLCAndXJsVGFyZ2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0QnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNsYXNzJywgJ2J1dHRvbkljb25MZWZ0JywgJ2J1dHRvbkljb25SaWdodCcsICdjb250YWluZXJDbGFzcycsICdkb3RDbGFzcycsICdzaG93QnV0dG9ucycsICdzaG93RG90cycsICdzd2lwZVRocmVzaG9sZCcsICd0aGVtZScsICd0cmFja0NsYXNzJywgJ3RyYW5zaXRpb25EdXJhdGlvbicsICd0cmFuc2l0aW9uVGltaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Q2Fyb3VzZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldENhcm91c2VsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCcsICdzZXRJbmRldGVybWluYXRlJywgJ3NldEVycm9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW5kZXRlcm1pbmF0ZScsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IENoZWNrYm94Q2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0Q2hlY2tib3hDaGVja2JveENoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDaGVja2JveCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldENoZWNrYm94Q2hlY2tib3hDaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbiAgbWV0aG9kczogWydvcGVuJywgJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtYXBwbGljYXRpb24tZm9ybS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhbmd1YWdlJywgJ2xvYWRpbmcnLCAncHJpdmFjeVBvbGljeUxpbmtVcmwnLCAnc2hvd092ZXJsYXknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q2xvdWRBcHBsaWNhdGlvbkZvcm1EaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdWJtaXR0ZWQnLCAnY2xvc2VEaWFsb2cnLCAnb3BlbkRpYWxvZyddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgYXMgSVRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nVGV0QXBwbGljYXRpb25Gb3JtRGlhbG9nU3VibWlzc2lvbkRhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQXBwbGljYXRpb25Gb3JtRGlhbG9nIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFwcGxpY2F0aW9uIGZvcm0gaXMgc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZC5cbiAgICovXG4gIHN1Ym1pdHRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRDbG91ZEFwcGxpY2F0aW9uRm9ybURpYWxvZ1RldEFwcGxpY2F0aW9uRm9ybURpYWxvZ1N1Ym1pc3Npb25EYXRhPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCBvbiB0aGUgYGNsb3NlYCBpY29uIGNsaWNrLCBvdmVybGF5IGNsaWNrIG9yIHRoZSBgZXNjYCBrZXkgcHJlc3MuXG4gICAqL1xuICBjbG9zZURpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuXG4gICAqL1xuICBvcGVuRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY2xvdWQtY29uZmlndXJhdG9yJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXJTZWxlY3RvcicsICdsYW5ndWFnZScsICdzZWxlY3RPbkZvY3VzJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENsb3VkQ29uZmlndXJhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xvdWRDYWxjdWxhdG9yU3VibWl0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENsb3VkQ29uZmlndXJhdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDbG91ZENvbmZpZ3VyYXRvciB7XG4gIC8qKlxuICAgKiBUaGUgc3VibWl0IGV2ZW50IG9mIHRoZSBmb3JtLlxuICAgKi9cbiAgY2xvdWRDYWxjdWxhdG9yU3VibWl0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1jb250YWN0LWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdsYW5ndWFnZScsICdzaG93SW5wdXRMYWJlbCcsICdzaG93VGl0bGUnLCAnc3VibWl0QnV0dG9uUHJvcHMnLCAnc3VidGl0bGUnLCAndGFza09wdGlvbnMnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Q29udGFjdEZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0YXNrQ3JlYXRpb25TdWNjZXNzJywgJ3Rhc2tDcmVhdGlvbkZhaWxlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDb250YWN0Rm9ybSBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFjdEZvcm0ge1xuICAvKipcbiAgICogVGhlIGV2ZW50IGVtaXR0ZWQgaWYgdGhlIHRhc2sgY3JlYXRpb24gd2FzIHN1Y2Nlc3NmdWwuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25TdWNjZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBpZiB0aGUgdGFzayBjcmVhdGlvbiBmYWlsZWQuXG4gICAqL1xuICB0YXNrQ3JlYXRpb25GYWlsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWNvbnRhY3QtaW5mbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGFjdEJsb2NrcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDb250YWN0SW5mbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhY3RJbmZvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRDb250YWN0SW5mbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWdobGlnaHRhYmxlJywgJ3NlbGVjdGVkJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldENvbnRhaW5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuVGV0Q29udGFpbmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc1Rva2VuJywgJ2RhcmtUaGVtZScsICdncm91cEJ5QWRkcmVzcycsICdoaWRlQXNzZXRzJywgJ2xvYWRlckVsZW1lbnRzQ291bnQnLCAncGlkJywgJ3NhbGVzZm9yY2VBY2NvdW50SWQnLCAnc2luZ2xlTG9hZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtY3VzdG9tZXItYXNzZXRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NUb2tlbicsICdkYXJrVGhlbWUnLCAnZ3JvdXBCeUFkZHJlc3MnLCAnaGlkZUFzc2V0cycsICdsb2FkZXJFbGVtZW50c0NvdW50JywgJ3BpZCcsICdzYWxlc2ZvcmNlQWNjb3VudElkJywgJ3NpbmdsZUxvYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRDdXN0b21lckFzc2V0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Fzc2V0U2VsZWN0ZWQnLCAnYXNzZXRzVXBkYXRlZCcsICdjdXN0b21lck5vdEZvdW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDdXN0b21lckFzc2V0IGFzIElUZXRDdXN0b21lckFzc2V0c0N1c3RvbWVyQXNzZXQgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tZXJOb3RGb3VuZCBhcyBJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRDdXN0b21lckFzc2V0cyBleHRlbmRzIENvbXBvbmVudHMuVGV0Q3VzdG9tZXJBc3NldHMge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCB3aGVuIHVzZXIgc2VsZWN0cyBhbiBhc3NldC5cbiAgICovXG4gIGFzc2V0U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lckFzc2V0Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIGFzc2V0cyBjaGFuZ2UuXG4gICAqL1xuICBhc3NldHNVcGRhdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEN1c3RvbWVyQXNzZXRzQ3VzdG9tZXJBc3NldFtdPj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gbm8gU2FsZXNmb3JjZSBjdXN0b21lciBpcyBmb3VuZCBmb3IgdGhlIGdpdmVuIFBJRC5cbiAgICovXG4gIGN1c3RvbWVyTm90Rm91bmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0Q3VzdG9tZXJBc3NldHNDdXN0b21lck5vdEZvdW5kPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUlzT3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnZGF0ZXBpY2tlclZpZXcnLCAnaXNPcGVuJywgJ2xvY2FsZScsICdvdmVybGF5RWZmZWN0JywgJ3JhbmdlUGlja2VyTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZGF0ZUNoYW5nZWQnLCAncmFuZ2VEYXRlc0NoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gYXQgbGVhc3Qgb25lIG9mIHRoZSByYW5nZSBkYXRlcyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIHJhbmdlRGF0ZXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8RGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZGF0ZXBpY2tlci1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVwaWNrZXJWaWV3JywgJ2ludGVybmFsRGF0ZScsICdsb2NhbGUnLCAnc2VsZWN0ZWREYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERhdGVwaWNrZXJIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJIZWFkZXJEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlckhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RGF0ZXBpY2tlckhlYWRlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VySGVhZGVyRGF0ZXBpY2tlclZpZXc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRhdGVwaWNrZXItbW9udGgtdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3JhbmdlRGF0ZXMnLCAncmFuZ2VQaWNrZXJNb2RlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTW9udGhWaWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW50ZXJuYWxEYXRlQ2hhbmdlZCcsICdkYXRlQ2hhbmdlZCcsICdkYXRlcGlja2VyQ2xvc2VkJywgJ3JhbmdlRGF0ZVNldCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclJhbmdlU2V0RGF0YSBhcyBJVGV0RGF0ZXBpY2tlck1vbnRoVmlld0RhdGVwaWNrZXJSYW5nZVNldERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERhdGVwaWNrZXJNb250aFZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNb250aFZpZXcge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiB0aGUgaW50ZXJuYWwgZGF0ZSB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIGRhdGUgd2lsbCBjaGFuZ2UuXG4gICAqL1xuICBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgd2lsbCBiZSBjbG9zZWQuXG4gICAqL1xuICBkYXRlcGlja2VyQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKipcbiAgICogRXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgd2hlbiBvbmUgb2YgdGhlIHJhbmdlIGRhdGVzIHdpbGwgYmUgc2V0LlxuICAgKi9cbiAgcmFuZ2VEYXRlU2V0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERhdGVwaWNrZXJNb250aFZpZXdEYXRlcGlja2VyUmFuZ2VTZXREYXRhPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLW11bHRpLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2ludGVybmFsRGF0ZUNoYW5nZWQnLCAnZGF0ZXBpY2tlclZpZXdDaGFuZ2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyVmlldyBhcyBJVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXdEYXRlcGlja2VyVmlldyB9IGZyb20gJ0B0ZXQvdGV0LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RGF0ZXBpY2tlck11bHRpWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJNdWx0aVllYXJWaWV3IHtcbiAgLyoqXG4gICAqIEludGVybmFsIGRhdGUgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGludGVybmFsRGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxEYXRlPj47XG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIHZpZXcgY2hhbmdlZCBldmVudC5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyTXVsdGlZZWFyVmlld0RhdGVwaWNrZXJWaWV3Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludGVybmFsRGF0ZScsICdzZWxlY3RlZERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1kYXRlcGlja2VyLXllYXItdmlldycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZXJuYWxEYXRlJywgJ3NlbGVjdGVkRGF0ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREYXRlcGlja2VyWWVhclZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnRlcm5hbERhdGVDaGFuZ2VkJywgJ2RhdGVwaWNrZXJWaWV3Q2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRGF0ZXBpY2tlclZpZXcgYXMgSVRldERhdGVwaWNrZXJZZWFyVmlld0RhdGVwaWNrZXJWaWV3IH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXREYXRlcGlja2VyWWVhclZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldERhdGVwaWNrZXJZZWFyVmlldyB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCB3aGVuIHRoZSBpbnRlcm5hbCBkYXRlIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaW50ZXJuYWxEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PERhdGU+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHRoYXQgd2lsbCBiZSBlbWl0dGVkIHdoZW4gdGhlIGRhdGVwaWNrZXIgdmlldyB3aWxsIGNoYW5nZS5cbiAgICovXG4gIGRhdGVwaWNrZXJWaWV3Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXREYXRlcGlja2VyWWVhclZpZXdEYXRlcGlja2VyVmlldz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZU9uRXNjYXBlJywgJ2Nsb3NlT25PdmVybGF5Q2xpY2snLCAnZm9vdGVyRGlzcGxheScsICdoZWFkZXJUaXRsZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnaGlkZUhlYWRlcicsICdpc09wZW4nLCAncHJldmVudERlZmF1bHRDbG9zZScsICdzaG93SGVhZGVyRGl2aWRlcicsICd0aGVtZScsICd0aXRsZUlkJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VPbkVzY2FwZScsICdjbG9zZU9uT3ZlcmxheUNsaWNrJywgJ2Zvb3RlckRpc3BsYXknLCAnaGVhZGVyVGl0bGUnLCAnaGlkZUNsb3NlQnV0dG9uJywgJ2hpZGVIZWFkZXInLCAnaXNPcGVuJywgJ3ByZXZlbnREZWZhdWx0Q2xvc2UnLCAnc2hvd0hlYWRlckRpdmlkZXInLCAndGhlbWUnLCAndGl0bGVJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXREaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjbG9zZURpYWxvZycsICdvcGVuRGlhbG9nJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuVGV0RGlhbG9nIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgY2xvc2VgIGljb24gY2xpY2ssIG92ZXJsYXkgY2xpY2sgb3IgdGhlIGBlc2NgIGtleSBwcmVzcy5cbiAgICovXG4gIGNsb3NlRGlhbG9nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gYmUgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLlxuICAgKi9cbiAgb3BlbkRpYWxvZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnRUeXBlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnZ2V0U2VsZWN0ZWRPcHRpb25zJywgJ3NlbGVjdE9wdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd011bHRpcGxlJywgJ2J1dHRvbkxhYmVsJywgJ2Nsb3NlT25TZWxlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZmxleExheW91dCcsICdsYWJlbCcsICdsYWJlbExvZ28nLCAnbGFiZWxMb2dvR3JheXNjYWxlJywgJ2xhYmVsUmlnaHQnLCAnbGFiZWxSaWdodENvbG9yJywgJ2xhYmVsU3ViVGV4dCcsICdvcHRpb25zJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldERyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnb3B0aW9uU2VsZWN0ZWQnLCAnb3B0aW9uQ2hlY2tlZCcsICdvcHRpb25zQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgYXMgSVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5UZXREcm9wZG93biB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyB3aGVuZXZlciBhIHNpbmdsZSBvcHRpb24gaXMgc2VsZWN0ZWQgYW5kIHJldHVybnMgdGhlIG9wdGlvbi5cbiAgICovXG4gIG9wdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGEgbXVsdGktc2VsZWN0YWJsZSBvcHRpb24gaXMgY2hlY2tlZC91bmNoZWNrZWQuXG4gICAqL1xuICBvcHRpb25DaGVja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duU2VsZWN0ZWRPcHRpb25JbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRyaWdnZXJzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBjaGFuZ2VkIGFuZCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cbiAgICovXG4gIG9wdGlvbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldERyb3Bkb3duRHJvcGRvd25PcHRpb25JbnRlcmZhY2VbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXJkVGl0bGUnLCAnZGF0ZVRhZycsICdkYXRlVGFnQ29sb3JEYXJrJywgJ2RhdGVUYWdDb2xvckxpZ2h0JywgJ2luZGV4JywgJ2lzSW5DYXJvdXNlbCcsICdsaW5rSHJlZicsICdsaW5rTmV3VGFiJywgJ2xpbmtUZXh0JywgJ2xpbmtUeXBlJywgJ21vZGFsSWQnLCAncGljdHVyZUxheW91dFNoaWZ0UG9zaXRpb24nLCAncHJpY2VUYWdPcHRpb25zJywgJ3NpemUnLCAnc2l6ZUNoYW5nZUJyZWFrcG9pbnQnLCAnc3VidGl0bGUnLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWR5bmFtaWMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FyZFRpdGxlJywgJ2RhdGVUYWcnLCAnZGF0ZVRhZ0NvbG9yRGFyaycsICdkYXRlVGFnQ29sb3JMaWdodCcsICdpbmRleCcsICdpc0luQ2Fyb3VzZWwnLCAnbGlua0hyZWYnLCAnbGlua05ld1RhYicsICdsaW5rVGV4dCcsICdsaW5rVHlwZScsICdtb2RhbElkJywgJ3BpY3R1cmVMYXlvdXRTaGlmdFBvc2l0aW9uJywgJ3ByaWNlVGFnT3B0aW9ucycsICdzaXplJywgJ3NpemVDaGFuZ2VCcmVha3BvaW50JywgJ3N1YnRpdGxlJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RHluYW1pY0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RHluYW1pY0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLlRldER5bmFtaWNDYXJkIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY2FyZCBpcyBjbGlja2VkXG4gICAqL1xuICB0ZXREeW5hbWljQ2FyZENsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdhbmltYXRpb25EdXJhdGlvbicsICdjbGFzcycsICdjbG9zZUlucHV0VGV4dCcsICdjbG9zZWRXaWR0aCcsICdkYXJrTW9kZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uQ2xvc2VkJywgJ2ljb25MZWZ0JywgJ2ljb25MZWZ0Q2xpY2tDYWxsYmFjaycsICdpY29uUmlnaHQnLCAnaWNvblJpZ2h0Q2xpY2tDYWxsYmFjaycsICdsYWJlbCcsICdtYW51YWxWYWxpZGF0aW9uJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAnc2l6ZScsICd0aGVtZScsICd0eXBlJywgJ3ZhbGlkYXRvcnMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRJbnB1dEh0bWxFbGVtZW50JywgJ2dldEVycm9ycycsICd2YWxpZGF0ZUlucHV0JywgJ3NldFN0YXRlJywgJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtZXhwYW5kYWJsZS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2NsYXNzJywgJ2Nsb3NlSW5wdXRUZXh0JywgJ2Nsb3NlZFdpZHRoJywgJ2RhcmtNb2RlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ljb25DbG9zZWQnLCAnaWNvbkxlZnQnLCAnaWNvbkxlZnRDbGlja0NhbGxiYWNrJywgJ2ljb25SaWdodCcsICdpY29uUmlnaHRDbGlja0NhbGxiYWNrJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdzaXplJywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRFeHBhbmRhYmxlSW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiZWZvcmUtc3RhdGUtY2hhbmdlJywgJ2FmdGVyLXN0YXRlLWNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3RhdGVDaGFuZ2VJbnRlcmZhY2UgYXMgSVRldEV4cGFuZGFibGVJbnB1dFN0YXRlQ2hhbmdlSW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRFeHBhbmRhYmxlSW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldEV4cGFuZGFibGVJbnB1dCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBiZWZvcmUgdGhlIHN0YXJ0IG9mIHRoZSBleHBhbmRpbmcgb3Igc2hyaW5raW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5wdXQuXG4gICAqL1xuICAnYmVmb3JlLXN0YXRlLWNoYW5nZSc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGV0RXhwYW5kYWJsZUlucHV0U3RhdGVDaGFuZ2VJbnRlcmZhY2U+PjtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBlbWl0dGVkIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGV4cGFuZGluZyBvciBzaHJpbmtpbmcgYW5pbWF0aW9uIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gICdhZnRlci1zdGF0ZS1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldEV4cGFuZGFibGVJbnB1dFN0YXRlQ2hhbmdlSW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2luaXRpYWxTdGF0ZScsICd0b2dnbGVFbGVtZW50J10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZScsICd0b2dnbGUnLCAnZ2V0U3RhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1leHBhbnNpb24tcGFuZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luaXRpYWxTdGF0ZScsICd0b2dnbGVFbGVtZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFRldEV4cGFuc2lvblBhbmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0RXhwYW5zaW9uUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRldEV4cGFuc2lvblBhbmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsZWFyRmlsdGVyQnV0dG9uVGl0bGUnLCAnc2hvd0NsZWFyRmlsdGVyQnV0dG9uJywgJ3RhZ3MnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1maWx0ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsZWFyRmlsdGVyQnV0dG9uVGl0bGUnLCAnc2hvd0NsZWFyRmlsdGVyQnV0dG9uJywgJ3RhZ3MnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0RmlsdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZmlsdGVyQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJTdGF0ZSBhcyBJVGV0RmlsdGVyRmlsdGVyU3RhdGUgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldEZpbHRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0RmlsdGVyIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gZmlsdGVycyBjaGFuZ2VcbiAgICovXG4gIGZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRGaWx0ZXJGaWx0ZXJTdGF0ZVtdPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdmb2N1c2FibGUnLCAnbmFtZScsICd0aGVtZScsICd0eXBlJywgJ3VzZURlZmF1bHRDb2xvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdmb2N1c2FibGUnLCAnbmFtZScsICd0aGVtZScsICd0eXBlJywgJ3VzZURlZmF1bHRDb2xvciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0SWNvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0aGVtZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtaW5saW5lLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RoZW1lJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0SW5saW5lTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldElubGluZU1lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRldElubGluZU1lc3NhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdpc1Bob25lTnVtYmVyJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldElucHV0SHRtbEVsZW1lbnQnLCAnZ2V0RXJyb3JzJywgJ2NsZWFyRXJyb3JzJywgJ3ZhbGlkYXRlSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWNjZXNzaWJpbGl0eUxhYmVsJywgJ2F1dG9jb21wbGV0ZScsICdjbGFzcycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpY29uTGVmdCcsICdpY29uTGVmdENsaWNrQ2FsbGJhY2snLCAnaWNvblJpZ2h0JywgJ2ljb25SaWdodENsaWNrQ2FsbGJhY2snLCAnaW5wdXRUYWJpbmRleCcsICdpc1Bob25lTnVtYmVyJywgJ2xhYmVsJywgJ21hbnVhbFZhbGlkYXRpb24nLCAnbWF4bGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3RoZW1lJywgJ3R5cGUnLCAndmFsaWRhdG9ycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRJbnB1dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnbGFiZWxUaXRsZScsICdzaG93SWNvbicsICd0aGVtZScsICd0cmFuc2xhdGVUaXRsZScsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdsYWJlbFRpdGxlJywgJ3Nob3dJY29uJywgJ3RoZW1lJywgJ3RyYW5zbGF0ZVRpdGxlJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuVGV0TGFiZWwge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TG9hZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NsaWNrYWJsZScsICdkYXJrTW9kZScsICdmaXJzdExldmVsSWNvbicsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ3N1YkxldmVscycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NsaWNrYWJsZScsICdkYXJrTW9kZScsICdmaXJzdExldmVsSWNvbicsICdmaXJzdExldmVsSWQnLCAnZmlyc3RMZXZlbExpbmsnLCAnZmlyc3RMZXZlbFRpdGxlJywgJ3N1YkxldmVscycsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnaXNBY3RpdmUnLCAnc3ViTGV2ZWxzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbWVudS1tb2JpbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtNb2RlJywgJ2ZpcnN0TGV2ZWxJZCcsICdmaXJzdExldmVsTGluaycsICdmaXJzdExldmVsVGl0bGUnLCAnaXNBY3RpdmUnLCAnc3ViTGV2ZWxzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE1lbnVNb2JpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNZW51TW9iaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRNZW51TW9iaWxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlhbG9nRGF0YVNjcmVlbktleScsICdpc09wZW4nLCAnbGFuZ3VhZ2UnLCAnc3RlcHMnLCAndGV0RGlhbG9nQ2xhc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1tdWx0aS1zdGVwLWRpYWxvZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGVudCcsICdkaWFsb2dEYXRhU2NyZWVuS2V5JywgJ2lzT3BlbicsICdsYW5ndWFnZScsICdzdGVwcycsICd0ZXREaWFsb2dDbGFzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRNdWx0aVN0ZXBEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRNdWx0aVN0ZXBEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlRldE11bHRpU3RlcERpYWxvZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrTW9kZSddLFxuICBtZXRob2RzOiBbJ3Nob3dUb2dnbGVyJywgJ2hpZGVUb2dnbGVyJywgJ29wZW4nLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1uYXZpZ2F0aW9uLW1vYmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFya01vZGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0TmF2aWdhdGlvbk1vYmlsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ21haW5Ecm9wZG93blRvZ2dsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXROYXZpZ2F0aW9uTW9iaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZXROYXZpZ2F0aW9uTW9iaWxlIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBiZSBlbWl0dGVkIG9uIHRoZSBgaXNUb2dnbGVyRXhwYW5kZWRgIHZhbHVlIGNoYW5nZS5cbiAgICovXG4gIG1haW5Ecm9wZG93blRvZ2dsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dDbG9zZScsICdhbmltYXRpb25EdXJhdGlvbicsICdjb250ZW50JywgJ2hlYWRlclRpdGxlJywgJ2ljb24nLCAndGhlbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvd0Nsb3NlJywgJ2FuaW1hdGlvbkR1cmF0aW9uJywgJ2NvbnRlbnQnLCAnaGVhZGVyVGl0bGUnLCAnaWNvbicsICd0aGVtZScsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldE5vdGlmaWNhdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGV0Tm90aWZpY2F0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdidXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY29tcGxldGVkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hlbHBlclRleHQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N1ZmZpeGVzJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0VmFsdWUnLCAncmVzZXRTdWZmaXgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1udW1iZXItaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdidXR0b25BY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY29tcGxldGVkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hlbHBlclRleHQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N1ZmZpeGVzJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldE51bWJlcklucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW5wdXRWYWx1ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0TnVtYmVySW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldE51bWJlcklucHV0IHtcbiAgLyoqXG4gICAqIEVtaXRzIGlucHV0IGV2ZW50XG4gICAqL1xuICBpbnB1dFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXJrVGhlbWUnLCAnaGVpZ2h0JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtcGxhY2Vob2xkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhcmtUaGVtZScsICdoZWlnaHQnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UGxhY2Vob2xkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRQbGFjZWhvbGRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0UGxhY2Vob2xkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjZW50c1ByaWNlJywgJ2V1cm9QcmljZScsICdmb250JywgJ2Zvb3RlclRleHQnLCAnZm9vdGVyVGV4dFR5cGUnLCAnaGVhZGluZ1RleHQnLCAncHJpY2VUeXBlJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1wcmljZS12aWV3JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2NlbnRzUHJpY2UnLCAnZXVyb1ByaWNlJywgJ2ZvbnQnLCAnZm9vdGVyVGV4dCcsICdmb290ZXJUZXh0VHlwZScsICdoZWFkaW5nVGV4dCcsICdwcmljZVR5cGUnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRQcmljZVZpZXcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRQcmljZVZpZXcgZXh0ZW5kcyBDb21wb25lbnRzLlRldFByaWNlVmlldyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnB1dEF1dG9mb2N1cycsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Q2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbnB1dEF1dG9mb2N1cycsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFJhZGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2hlY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFJhZGlvQ2hlY2tFdmVudEludGVyZmFjZSBhcyBJVGV0UmFkaW9SYWRpb0NoZWNrRXZlbnRJbnRlcmZhY2UgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSYWRpbyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFJhZGlvUmFkaW9DaGVja0V2ZW50SW50ZXJmYWNlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FkZEJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdkYXRhUG9pbnRzJywgJ2RhdGFVbml0cycsICdkZWZhdWx0VmFsdWUnLCAnZGlzcGxheURhdGFQb2ludHMnLCAnaW5wdXRNYXhWYWx1ZScsICdsb2NrVG9EYXRhUG9pbnQnLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAnbnVtYmVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAncGFyZW50Q29udGFpbmVyJywgJ3JlZHVjZUJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdzaXplJywgJ3NsaWRlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3N0ZXAnLCAndGhlbWUnLCAndHlwZScsICd3aXRoQ29udHJvbHMnLCAnd2l0aEN1cnJlbnRTdGVwQ291bnRlcicsICd3aXRoSW5wdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yYW5nZS1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZEJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdkYXRhUG9pbnRzJywgJ2RhdGFVbml0cycsICdkZWZhdWx0VmFsdWUnLCAnZGlzcGxheURhdGFQb2ludHMnLCAnaW5wdXRNYXhWYWx1ZScsICdsb2NrVG9EYXRhUG9pbnQnLCAnbWF4VmFsdWUnLCAnbWluVmFsdWUnLCAnbnVtYmVySW5wdXRBY2Nlc3NpYmlsaXR5TGFiZWwnLCAncGFyZW50Q29udGFpbmVyJywgJ3JlZHVjZUJ1dHRvbkFjY2Vzc2liaWxpdHlMYWJlbCcsICdzaXplJywgJ3NsaWRlcklucHV0QWNjZXNzaWJpbGl0eUxhYmVsJywgJ3N0ZXAnLCAndGhlbWUnLCAndHlwZScsICd3aXRoQ29udHJvbHMnLCAnd2l0aEN1cnJlbnRTdGVwQ291bnRlcicsICd3aXRoSW5wdXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0UmFuZ2VTbGlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzbGlkZXItaW5wdXQnLCAnc2xpZGVyLWNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSYW5nZVNsaWRlciBleHRlbmRzIENvbXBvbmVudHMuVGV0UmFuZ2VTbGlkZXIge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCBvbiBzbGlkZXIgaW5wdXQuXG4gICAqL1xuICAnc2xpZGVyLWlucHV0JzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRoYXQgaXMgZW1pdHRlZCBvbiBzbGlkZXIgY2hhbmdlLlxuICAgKi9cbiAgJ3NsaWRlci1jaGFuZ2UnOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGEnLCAnbGFuZ3VhZ2UnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1yZWZlcnJhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGF0YScsICdsYW5ndWFnZScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRSZWZlcnJhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3VybENvcGllZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRSZWZlcnJhbCBleHRlbmRzIENvbXBvbmVudHMuVGV0UmVmZXJyYWwge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgd2hlbiB0aGUgbGluayBpcyBjb3BpZWQgdG8gdGhlIGNsaXBib2FyZC5cbiAgICovXG4gIHVybENvcGllZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZm9yY2VkQ29sdW1uJywgJ2hpZGVJY29ucycsICdzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXJvdW5kLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZvcmNlZENvbHVtbicsICdoaWRlSWNvbnMnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0Um91bmRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0Um91bmRTdGVwcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRSb3VuZFN0ZXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaWRlbnRpZmllcicsICdpdGVtUmVuZGVyRnVuY3Rpb24nLCAnaXRlbXMnLCAnbXVsdGlwbGVTZWxlY3Rpb25zJywgJ3ByZVNlbGVjdGVkSXRlbXMnXSxcbiAgbWV0aG9kczogWyd1bnNldFNlbGVjdGVkSXRlbXMnLCAnZ2V0U2VsZWN0ZWRJdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXNlbGVjdGlvbi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ2l0ZW1SZW5kZXJGdW5jdGlvbicsICdpdGVtcycsICdtdWx0aXBsZVNlbGVjdGlvbnMnLCAncHJlU2VsZWN0ZWRJdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTZWxlY3Rpb25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaXRlbVNlbGVjdGVkJywgJ3NlbGVjdGlvbkxpc3RSZW5kZXJlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTZWxlY3Rpb25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZXRTZWxlY3Rpb25MaXN0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkIG9yIGRlLXNlbGVjdGVkLlxuICAgKi9cbiAgaXRlbVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBzZWxlY3Rpb25MaXN0UmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZScsICd0aGVtZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2V0UHJvZ3Jlc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0U3Bpbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFNwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFNwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGVwcGVyRGF0YSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0U3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnbGFuZ3VhZ2UnLCAnbWF4JywgJ21pbicsICdzZWxlY3RPbkZvY3VzJywgJ3N0ZXAnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydnZXRWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdsYW5ndWFnZScsICdtYXgnLCAnbWluJywgJ3NlbGVjdE9uRm9jdXMnLCAnc3RlcCcsICd0aGVtZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVySW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpbnB1dFZhbHVlQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVySW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXJJbnB1dCB7XG4gIC8qKlxuICAgKiBFbWl0cyBpbnB1dCBldmVudFxuICAgKi9cbiAgaW5wdXRWYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RlcHBlckRhdGEnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC1zdGVwcGVyLXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRTdGVwcGVyVjIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTdGVwcGVyVjIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFN0ZXBwZXJWMiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGVwcGVyRGF0YScsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXN0ZXBwZXItdjMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN0ZXBwZXJWMyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFN0ZXBwZXJWMyBleHRlbmRzIENvbXBvbmVudHMuVGV0U3RlcHBlclYzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY2Vzc2liaWxpdHlMYWJlbCcsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAndGhlbWUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRDaGVja2VkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2Nlc3NpYmlsaXR5TGFiZWwnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NoZWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIGFzIElUZXRTd2l0Y2hTd2l0Y2hDaGVja0V2ZW50SW50ZXJmYWNlIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlRldFN3aXRjaCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdGhhdCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSBjb250cm9sIGVsZW1lbnQgaXMgY2hlY2tlZC5cbiAgICovXG4gIGNoZWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFN3aXRjaFN3aXRjaENoZWNrRXZlbnRJbnRlcmZhY2U+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdwYXJlbnRDb250YWluZXInLCAndXNlVmlzaWJpbGl0eSddLFxuICBtZXRob2RzOiBbJ2luaXQnLCAnc2VsZWN0VGFiJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFiLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGFOYW1lJywgJ2RlZmF1bHRUYWInLCAncGFyZW50Q29udGFpbmVyJywgJ3VzZVZpc2liaWxpdHknXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYlNlbGVjdGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUYWJTZWxlY3RFdmVudERhdGEgYXMgSVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGEgfSBmcm9tICdAdGV0L3RldC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhYkNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkNvbnRlbnQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHRyaWdnZXJlZCBvbiBzZWxlY3Rpb24gb2YgdGhlIHRhYi5cbiAgICovXG4gIHRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRldFRhYkNvbnRlbnRUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXlEZWxheScsICdkYXJrTW9kZScsICdkYXRhTmFtZScsICdkZWZhdWx0VGFiJywgJ2hpZGVBY3RpdmVIZWFkZXJVbmRlcmxpbmUnLCAnaGlkZUhlYWRlclVuZGVybGluZScsICdwb3NpdGlvbicsICdzZWdtZW50ZWQnLCAnc2l6aW5nJywgJ3N0b3BBdXRvcGxheU9uQ29udGVudEhvdmVyJywgJ3N0b3BBdXRvcGxheU9uSGVhZGVySG92ZXInLCAndGhlbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUF1dG9wbGF5JywgJ3N0b3BBdXRvcGxheScsICdzdGFydEF1dG9wbGF5JywgJ3NlbGVjdFRhYiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhYi1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5RGVsYXknLCAnZGFya01vZGUnLCAnZGF0YU5hbWUnLCAnZGVmYXVsdFRhYicsICdoaWRlQWN0aXZlSGVhZGVyVW5kZXJsaW5lJywgJ2hpZGVIZWFkZXJVbmRlcmxpbmUnLCAncG9zaXRpb24nLCAnc2VnbWVudGVkJywgJ3NpemluZycsICdzdG9wQXV0b3BsYXlPbkNvbnRlbnRIb3ZlcicsICdzdG9wQXV0b3BsYXlPbkhlYWRlckhvdmVyJywgJ3RoZW1lJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFiSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGFiU2VsZWN0ZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFRhYlNlbGVjdEV2ZW50RGF0YSBhcyBJVGV0VGFiSGVhZGVyVGFiU2VsZWN0RXZlbnREYXRhIH0gZnJvbSAnQHRldC90ZXQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWJIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRhYkhlYWRlciB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdHJpZ2dlcmVkIG9uIHRhYiBzZWxlY3Rpb24uXG4gICAqL1xuICB0YWJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElUZXRUYWJIZWFkZXJUYWJTZWxlY3RFdmVudERhdGE+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjZWxsVGV4dEFsaWduJywgJ2dhcHBlZENvbHVtbkxheW91dCcsICd0YWJsZURhdGEnLCAndGFibGVIZWFkZXInLCAndGFibGVIZWFkZXJDb2x1bW5TcGFuJywgJ3RhYmxlSGVhZGVyVGV4dEFsaWduJywgJ3RhYmxlSGVhZGVyV2lkdGgnLCAndGhlbWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjZWxsVGV4dEFsaWduJywgJ2dhcHBlZENvbHVtbkxheW91dCcsICd0YWJsZURhdGEnLCAndGFibGVIZWFkZXInLCAndGFibGVIZWFkZXJDb2x1bW5TcGFuJywgJ3RhYmxlSGVhZGVyVGV4dEFsaWduJywgJ3RhYmxlSGVhZGVyV2lkdGgnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVGV0VGFibGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NvdW50JywgJ2Rpc2FibGVkJywgJ2xhbmd1YWdlJywgJ3Nob3dJY29uJywgJ3RhZ1RpdGxlJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY291bnQnLCAnZGlzYWJsZWQnLCAnbGFuZ3VhZ2UnLCAnc2hvd0ljb24nLCAndGFnVGl0bGUnLCAndGhlbWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGFnIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAndGFncycsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRhZy1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFuZ3VhZ2UnLCAndGFncycsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUYWdHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRhZ0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUYWdHcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWNpbWFsUHJlZml4JywgJ2RlY2ltYWxTdGFydCcsICdsaXN0SWNvbicsICdsaXN0VHlwZScsICd0aGVtZScsICd3aXRoSWNvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRleHQtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVjaW1hbFByZWZpeCcsICdkZWNpbWFsU3RhcnQnLCAnbGlzdEljb24nLCAnbGlzdFR5cGUnLCAndGhlbWUnLCAnd2l0aEljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGV4dExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUZXh0TGlzdCBleHRlbmRzIENvbXBvbmVudHMuVGV0VGV4dExpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3JNZXNzYWdlcycsICdsYWJlbCcsICdwbGFjZWhvbGRlcicsICd0aGVtZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlcnJvck1lc3NhZ2VzJywgJ2xhYmVsJywgJ3BsYWNlaG9sZGVyJywgJ3RoZW1lJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VGV4dGFyZWEgZXh0ZW5kcyBDb21wb25lbnRzLlRldFRleHRhcmVhIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbkRlc2NyaXB0aW9uJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVHlwZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tJY29uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGhhbmsteW91LXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbkRlc2NyaXB0aW9uJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVHlwZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tJY29uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRldFRoYW5rWW91VmlldyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0YUJ1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRoYW5rWW91VmlldyBleHRlbmRzIENvbXBvbmVudHMuVGV0VGhhbmtZb3VWaWV3IHtcbiAgLyoqXG4gICAqIFRoZSBjbGljayBldmVudCBlbWl0dGVyIG9mIHRoZSBDVEEgYnV0dG9uLlxuICAgKi9cbiAgY3RhQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldC10aGFuay15b3Utdmlldy12MicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3RhQnV0dG9uSWQnLCAnY3RhQnV0dG9uTGFiZWwnLCAnY3RhQnV0dG9uU2l6ZScsICdjdGFCdXR0b25UaGVtZScsICdjdGFCdXR0b25UeXBlJywgJ2ljb24nLCAnbGFuZ3VhZ2UnLCAnbWFpbkJsb2NrRGVzY3JpcHRpb24nLCAnbWFpbkJsb2NrVGl0bGUnLCAnc3RlcHBlckRhdGEnLCAndGhlbWUnLCAndHJhbnNsYXRpb25Hcm91cCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUaGFua1lvdVZpZXdWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2N0YUJ1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRldFRoYW5rWW91Vmlld1YyIGV4dGVuZHMgQ29tcG9uZW50cy5UZXRUaGFua1lvdVZpZXdWMiB7XG4gIC8qKlxuICAgKiBUaGUgY2xpY2sgZXZlbnQgZW1pdHRlciBvZiB0aGUgQ1RBIGJ1dHRvbi5cbiAgICovXG4gIGN0YUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdGFCdXR0b25JZCcsICdjdGFCdXR0b25MYWJlbCcsICdjdGFCdXR0b25TaXplJywgJ2N0YUJ1dHRvblRoZW1lJywgJ2N0YUJ1dHRvblR5cGUnLCAnaWNvbicsICdsYW5ndWFnZScsICdtYWluQmxvY2tEZXNjcmlwdGlvbicsICdtYWluQmxvY2tUaXRsZScsICdzdGVwcGVyRGF0YScsICd0aGVtZScsICd0cmFuc2xhdGlvbkdyb3VwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXQtdGhhbmsteW91LXZpZXctdjMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N0YUJ1dHRvbklkJywgJ2N0YUJ1dHRvbkxhYmVsJywgJ2N0YUJ1dHRvblNpemUnLCAnY3RhQnV0dG9uVGhlbWUnLCAnY3RhQnV0dG9uVHlwZScsICdpY29uJywgJ2xhbmd1YWdlJywgJ21haW5CbG9ja0Rlc2NyaXB0aW9uJywgJ21haW5CbG9ja1RpdGxlJywgJ3N0ZXBwZXJEYXRhJywgJ3RoZW1lJywgJ3RyYW5zbGF0aW9uR3JvdXAnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV0VGhhbmtZb3VWaWV3VjMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjdGFCdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXRUaGFua1lvdVZpZXdWMyBleHRlbmRzIENvbXBvbmVudHMuVGV0VGhhbmtZb3VWaWV3VjMge1xuICAvKipcbiAgICogVGhlIGNsaWNrIGV2ZW50IGVtaXR0ZXIgb2YgdGhlIENUQSBidXR0b24uXG4gICAqL1xuICBjdGFCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZG9Ob3RTaG93T25Ib3ZlcicsICdob3ZlckVsZW1lbnQnLCAncG9zaXRpb24nLCAndGFyZ2V0RWxlbWVudFNlbGVjdG9yJywgJ3RoZW1lJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0LXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RvTm90U2hvd09uSG92ZXInLCAnaG92ZXJFbGVtZW50JywgJ3Bvc2l0aW9uJywgJ3RhcmdldEVsZW1lbnRTZWxlY3RvcicsICd0aGVtZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZXRUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGV0VG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuVGV0VG9vbHRpcCB7fVxuXG5cbiJdfQ==
|