@symphony-talent/component-library 3.45.1 → 3.45.2
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/esm2020/lib/molecules/phaser-card/phaser-card.model.mjs +1 -1
- package/esm2020/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +23 -3
- package/esm2020/projects/component-library/lib/molecules/phaser-card/phaser-card.model.mjs +1 -1
- package/esm2020/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.mjs +23 -3
- package/fesm2015/symphony-talent-component-library-projects-component-library.mjs +61 -2
- package/fesm2015/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
- package/fesm2015/symphony-talent-component-library.mjs +61 -2
- package/fesm2015/symphony-talent-component-library.mjs.map +1 -1
- package/fesm2020/symphony-talent-component-library-projects-component-library.mjs +61 -2
- package/fesm2020/symphony-talent-component-library-projects-component-library.mjs.map +1 -1
- package/fesm2020/symphony-talent-component-library.mjs +61 -2
- package/fesm2020/symphony-talent-component-library.mjs.map +1 -1
- package/lib/molecules/phaser-card/phaser-card.model.d.ts +1 -1
- package/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +2 -1
- package/package.json +1 -1
- package/projects/component-library/lib/molecules/phaser-card/phaser-card.model.d.ts +1 -1
- package/projects/component-library/lib/pages/modals/advertise-modal/advertise-modal.component.d.ts +2 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VyLWNhcmQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhhc2VycyB9IGZyb20gJy4uLy4uL2F0b21zL3BoYXNlci9waGFzZXIuZW51bSc7XG5pbXBvcnQgeyBDb2xvck5hbWVzIH0gZnJvbSAnLi4vLi4vYXRvbXMvY29sb3Itc2FtcGxlL2NvbG9yLXNhbXBsZS5lbnVtJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBoYXNlckNhcmRNb2RlbCB7XG4gIGV5ZWJyb3dUZXh0OiBzdHJpbmc7XG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmc7XG4gIHBoYXNlclN0YXRlOiBQaGFzZXJzO1xuICBiYWNrZ3JvdW5kQ29sb3I6IENvbG9yTmFtZXM7XG4gIGNhcmRIZWlnaHRQeD86IG51bWJlcjtcbiAgY2FyZFdpZHRoUHg/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VyLWNhcmQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhhc2VycyB9IGZyb20gJy4uLy4uL2F0b21zL3BoYXNlci9waGFzZXIuZW51bSc7XG5pbXBvcnQgeyBDb2xvck5hbWVzIH0gZnJvbSAnLi4vLi4vYXRvbXMvY29sb3Itc2FtcGxlL2NvbG9yLXNhbXBsZS5lbnVtJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBoYXNlckNhcmRNb2RlbCB7XG4gIGV5ZWJyb3dUZXh0OiBzdHJpbmc7XG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmc7XG4gIHBoYXNlclN0YXRlOiBQaGFzZXJzO1xuICBiYWNrZ3JvdW5kQ29sb3I6IENvbG9yTmFtZXM7XG4gIGNhcmRIZWlnaHRQeD86IG51bWJlcjtcbiAgY2FyZFdpZHRoUHg/OiBudW1iZXI7XG4gIHBoYXNlck91dGxpbmVDb2xvcj86IHN0cmluZztcbiAgaWNvbjogSWNvbnM7XG4gIGhhc0FuaW1hdGlvbj86IGJvb2xlYW47XG4gIGhhc0hvdmVyPzogYm9vbGVhbjtcbiAgaXNDbGlja2FibGU/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { Icons } from '../../../atoms/icon/icon.enum';
|
|
3
|
+
import { Phasers } from '../../../atoms/phaser/phaser.enum';
|
|
4
|
+
import { ColorNames } from '../../../atoms/color-sample/color-sample.enum';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "../../../templates/modal-templates/two-column-modal-template/two-column-modal-template.component";
|
|
5
7
|
import * as i2 from "../../../atoms/h4/h4.component";
|
|
@@ -46,6 +48,24 @@ export class AdvertiseModalComponent {
|
|
|
46
48
|
btnPrimary: 'Continue Order',
|
|
47
49
|
btnSecondary: 'Abandon Order'
|
|
48
50
|
};
|
|
51
|
+
this.phaserCardReview = {
|
|
52
|
+
phaserState: Phasers.INTEL,
|
|
53
|
+
backgroundColor: ColorNames.ORANGE,
|
|
54
|
+
eyebrowText: 'Review Data',
|
|
55
|
+
messageBody: 'Once you click buy, we will process your order.',
|
|
56
|
+
icon: Icons.INFO,
|
|
57
|
+
hasAnimation: true,
|
|
58
|
+
cardWidthPx: 300
|
|
59
|
+
};
|
|
60
|
+
this.phaserCardConfirmation = {
|
|
61
|
+
phaserState: Phasers.HAPPY2,
|
|
62
|
+
backgroundColor: ColorNames.GREEN,
|
|
63
|
+
eyebrowText: 'Order processed',
|
|
64
|
+
messageBody: 'Woohoo! Your order is now complete.',
|
|
65
|
+
icon: Icons.CONFIRMATION,
|
|
66
|
+
hasAnimation: true,
|
|
67
|
+
cardWidthPx: 300
|
|
68
|
+
};
|
|
49
69
|
}
|
|
50
70
|
ngOnChanges(changes) {
|
|
51
71
|
this.filteredPostingBoardList = this.model.jobBoards;
|
|
@@ -178,10 +198,10 @@ export class AdvertiseModalComponent {
|
|
|
178
198
|
}
|
|
179
199
|
}
|
|
180
200
|
AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"
|
|
201
|
+
AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"], components: [{ type: i1.TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template" }, { type: i2.H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: i3.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i4.H5WithIconComponent, selector: "symphony-h5-with-icon", inputs: ["model"] }, { type: i5.TwoColumnBodyTemplateComponent, selector: "symphony-two-column-body-template", inputs: ["showHeader"] }, { type: i6.InputTextComponent, selector: "symphony-input-text", inputs: ["placeholder", "icon", "label", "isInverse", "noMargin"], outputs: ["textChange"] }, { type: i7.AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: ["model"], outputs: ["postingBoardChange"] }, { type: i8.OrderSummaryComponent, selector: "symphony-order-summary", inputs: ["model"] }, { type: i9.PhaserCardComponent, selector: "symphony-phaser-card", inputs: ["model", "isClickable", "hasHover"], outputs: ["cardClicked", "cardHover"] }, { type: i10.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: i11.SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message"] }, { type: i12.ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }, { type: i13.ConfirmationModalComponent, selector: "symphony-confirmation-modal", inputs: ["model"], outputs: ["buttonClicked", "closeButtonClicked"] }], directives: [{ type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
182
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
|
|
183
203
|
type: Component,
|
|
184
|
-
args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"
|
|
204
|
+
args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"] }]
|
|
185
205
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
186
206
|
type: Input
|
|
187
207
|
}], buttonClicked: [{
|
|
@@ -193,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
193
213
|
}], keywordSearchChange: [{
|
|
194
214
|
type: Output
|
|
195
215
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQnRELE1BQU0sT0FBTyx1QkFBdUI7SUE0QmxDO1FBekJVLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUU1QyxDQUFDO1FBQ00sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU1wRCxjQUFTLEdBQW9CO1lBQ2xDLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUN4QixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUdLLHNCQUFpQixHQUFtQixFQUFFLENBQUM7UUFDdkMsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFDL0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQVcsRUFBRSxDQUFDO0lBR2hCLENBQUM7SUFFaEIs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QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUdHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9pY29uL2ljb24uZW51bSc7XG5pbXBvcnQgeyBPcmRlclN1bW1hcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9vcmRlci1zdW1tYXJ5L29yZGVyLXN1bW1hcnkubW9kZWwnO1xuaW1wb3J0IHsgSDVXaXRoSWNvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2g1LXdpdGgtaWNvbi9oNS13aXRoLWljb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQWR2ZXJ0aXNlTW9kYWxNb2RlbCxcbiAgUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG59IGZyb20gJy4vYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IEludm9pY2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9pbnZvaWNlLWxpbmUtaXRlbS9pbnZvaWNlLWxpbmUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9jb25maXJtYXRpb24tbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlckNhcmRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBwaGFzZXJDYXJkOiBQaGFzZXJDYXJkTW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgfVxuICAgIHRoaXMuY2FuY2VsQ29udGVudCA9IHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFiYW5kb24geW91ciBvcmRlcj8nLFxuICAgICAgY29udGVudDpcbiAgICAgICAgJ0FsbCBzZWxlY3Rpb25zIHdpbGwgYmUgZGVsZXRlZCBhbmQgeW91IHdpbGwgaGF2ZSB0byBzdGFydCBvdmVyLicsXG4gICAgICBidG5QcmltYXJ5OiAnQ29udGludWUgT3JkZXInLFxuICAgICAgYnRuU2Vjb25kYXJ5OiAnQWJhbmRvbiBPcmRlcidcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnlcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlTW9kYWxIZWFkZXIoKSB7XG4gICAgbGV0IHN1YlRpdGxlVG9vbHRpcDogc3RyaW5nID0gJyc7XG4gICAgbGV0IGpvYk51bWJlciA9IDE7XG4gICAgdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UuZm9yRWFjaChqb2IgPT4ge1xuICAgICAgc3ViVGl0bGVUb29sdGlwID0gc3ViVGl0bGVUb29sdGlwICsgYCR7am9iLmpvYlRpdGxlfSBbJHtqb2IuaWR9XWA7XG4gICAgICBpZiAoam9iTnVtYmVyICE9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aCkge1xuICAgICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyAnPC9icj4nO1xuICAgICAgfVxuICAgICAgam9iTnVtYmVyKys7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJUaXRsZSA9IHtcbiAgICAgIHRvb2x0aXBIdG1sOiBzdWJUaXRsZVRvb2x0aXAsXG4gICAgICB0ZXh0OiBgJHt0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9IEpvYnNgLFxuICAgICAgaWNvbkZpcnN0OiBmYWxzZSxcbiAgICAgIGljb246IEljb25zLklORk8sXG4gICAgICBwbGFjZW1lbnQ6ICdyaWdodCdcbiAgICB9O1xuICB9XG5cbiAgb25LZXl3b3JkU2VhcmNoKGtleXdvcmQ6IHN0cmluZykge1xuICAgIHRoaXMua2V5d29yZFNlYXJjaENoYW5nZS5lbWl0KGtleXdvcmQpO1xuICB9XG5cbiAgb25CdXR0b25DbGljayh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh0ZXh0KTtcbiAgfVxuXG4gIG9uQ2xvc2VCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmNsb3NlQnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBvblBvc3RpbmdCb2FyZENoYW5nZShzZWxlY3RlZEJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZExpbmVJdGVtKFxuICAgIGludm9pY2VBcmVhSW5kZXg6IG51bWJlcixcbiAgICBzZWxlY3RlZEJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLmxpbmVJdGVtcy5wdXNoKHtcbiAgICAgIHRleHRMZWZ0OiBzZWxlY3RlZEJvYXJkLmJvYXJkTmFtZSxcbiAgICAgIHRleHRSaWdodDogYCQke3NlbGVjdGVkQm9hcmQuYm9hcmRQcmljZX1gXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKGludm9pY2VBcmVhSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgbGV0IGludm9pY2VBcmVhVG90YWwgPSAwO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMuZm9yRWFjaChsaSA9PiB7XG4gICAgICBpbnZvaWNlQXJlYVRvdGFsID0gaW52b2ljZUFyZWFUb3RhbCArICtsaS50ZXh0UmlnaHQucmVwbGFjZSgnJCcsICcnKTtcbiAgICB9KTtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbXG4gICAgICBpbnZvaWNlQXJlYUluZGV4XG4gICAgXS5zdWJUb3RhbC50ZXh0UmlnaHQgPSBgJCR7aW52b2ljZUFyZWFUb3RhbCAqXG4gICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9YDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbXG4gICAgICBpbnZvaWNlQXJlYUluZGV4XG4gICAgXS50b3RhbC50ZXh0UmlnaHQgPSBgJCR7aW52b2ljZUFyZWFUb3RhbH1gO1xuICAgIHJldHVybiBpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoO1xuICB9XG5cbiAgY2FsY3VsYXRlT3JkZXJUb3RhbChwYXlQZXJDbGlja0FyZWFUb3RhbDogbnVtYmVyLCBqb2JCb2FyZEFyZWFUb3RhbDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRKb2JCb2FyZHMgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcy5maWx0ZXIoamIgPT4gamIuaXNTZWxlY3RlZClcbiAgICAgIC5sZW5ndGg7XG5cbiAgICBjb25zdCBqb2JUb0FkdmVydGlzZUNvdW50ID0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoO1xuXG4gICAgY29uc3Qgb3JkZXJTdW1tYXJ5VGV4dCA9IGAoJHtzZWxlY3RlZEpvYkJvYXJkc30pIEJvYXJkcyB4ICR7XG4gICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICB9IEpvYnMgPSAoJHtzZWxlY3RlZEpvYkJvYXJkcyAqIGpvYlRvQWR2ZXJ0aXNlQ291bnR9KSBBZHNgO1xuXG4gICAgdGhpcy5vcmRlclN1bW1hcnkudG90YWwgPSB7XG4gICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnLFxuICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7cGF5UGVyQ2xpY2tBcmVhVG90YWwgKyBqb2JCb2FyZEFyZWFUb3RhbH1gXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZU9yZGVyU3VtbWFyeSgpIHtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnUGF5LVBlci1DbGljayBTaXRlcywgU3VidG90YWwgUGVyIEpvYjonLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnUGF5LVBlci1DbGljayBTaXRlcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsaW5lSXRlbXM6IFtdLFxuICAgICAgICAgIHN1YlRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0pvYiBCb2FyZHMgU3VidG90YWwnLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgeCAoJHt0aGlzLmpvYkNvdW50fSkgSm9icyA9ICQwYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnRHVyYXRpb24gSm9iIEJvYXJkcywgU3VidG90YWwgUGVyIEpvYjonLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgam9ic1RvQWR2ZXJ0aXNlOiBgeCAoJHt0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLm1vZGVsLmpvYkJvYXJkcy5mb3JFYWNoKGpiID0+IHtcbiAgICAgIGlmIChqYi5pc1NlbGVjdGVkKSB7XG4gICAgICAgIGlmIChqYi5pc1BheVBlckNsaWNrKSB7XG4gICAgICAgICAgdGhpcy5hZGRMaW5lSXRlbSgwLCBqYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hZGRMaW5lSXRlbSgxLCBqYik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHBheVBlckNsaWNrQXJlYVRvdGFsID0gdGhpcy5jYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKDApO1xuICAgIGNvbnN0IGpvYkJvYXJkQXJlYVRvdGFsID0gdGhpcy5jYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKDEpO1xuICAgIHRoaXMuY2FsY3VsYXRlT3JkZXJUb3RhbChwYXlQZXJDbGlja0FyZWFUb3RhbCwgam9iQm9hcmRBcmVhVG90YWwpO1xuICAgIGlmICh0aGlzLm1vZGVsLmpvYkJvYXJkcy5maWx0ZXIoamIgPT4gamIuaXNTZWxlY3RlZCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5wb3N0aW5nQm9hcmRDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuXG4gICAgPGRpdlxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBwaGFzZXIgY2VudGVyLWgtdiBsaWdodC1ncmV5LWJnXCJcbiAgICA+XG4gICAgICA8c3ltcGhvbnktcGhhc2VyLWNhcmQgW21vZGVsXT1cInBoYXNlckNhcmRcIj48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwiaGVpZ2h0LXdyYXBwZXJcIlxuICA+XG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1sZWZ0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFwiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFVdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQztRQXpCVSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFFNUMsQ0FBQztRQUNNLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFLcEQsY0FBUyxHQUFvQjtZQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFJSyxzQkFBaUIsR0FBbUIsRUFBRSxDQUFDO1FBQ3ZDLGNBQVMs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Q0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQXROVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkM5QnBDLHdoTEFpTEE7MkZEbkphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBR3JCLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2ljb24vaWNvbi5lbnVtJztcbmltcG9ydCB7IE9yZGVyU3VtbWFyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5tb2RlbCc7XG5pbXBvcnQgeyBINVdpdGhJY29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaDUtd2l0aC1pY29uL2g1LXdpdGgtaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBBZHZlcnRpc2VNb2RhbE1vZGVsLFxuICBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxcbn0gZnJvbSAnLi9hZHZlcnRpc2UtbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgSW52b2ljZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2ludm9pY2UtbGluZS1pdGVtL2ludm9pY2UtbGluZS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgUGhhc2VyQ2FyZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL3BoYXNlci1jYXJkL3BoYXNlci1jYXJkLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlcnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9waGFzZXIvcGhhc2VyLmVudW0nO1xuaW1wb3J0IHsgQ29sb3JOYW1lcyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2NvbG9yLXNhbXBsZS9jb2xvci1zYW1wbGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZFJldmlldzogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZENvbmZpcm1hdGlvbjogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGF5UGVyQ2xpY2tCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIG1vZGFsVGl0bGU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpO1xuICAgIHRoaXMudXBkYXRlTW9kYWxIZWFkZXIoKTtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgICB0aGlzLmNhbmNlbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhYmFuZG9uIHlvdXIgb3JkZXI/JyxcbiAgICAgIGNvbnRlbnQ6XG4gICAgICAgICdBbGwgc2VsZWN0aW9ucyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHlvdSB3aWxsIGhhdmUgdG8gc3RhcnQgb3Zlci4nLFxuICAgICAgYnRuUHJpbWFyeTogJ0NvbnRpbnVlIE9yZGVyJyxcbiAgICAgIGJ0blNlY29uZGFyeTogJ0FiYW5kb24gT3JkZXInXG4gICAgfTtcbiAgICB0aGlzLnBoYXNlckNhcmRSZXZpZXcgPSB7XG4gICAgICBwaGFzZXJTdGF0ZTogUGhhc2Vycy5JTlRFTCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5PUkFOR0UsXG4gICAgICBleWVicm93VGV4dDogJ1JldmlldyBEYXRhJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnT25jZSB5b3UgY2xpY2sgYnV5LCB3ZSB3aWxsIHByb2Nlc3MgeW91ciBvcmRlci4nLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIGhhc0FuaW1hdGlvbjogdHJ1ZSxcbiAgICAgIGNhcmRXaWR0aFB4OiAzMDBcbiAgICB9O1xuICAgIHRoaXMucGhhc2VyQ2FyZENvbmZpcm1hdGlvbiA9IHtcbiAgICAgIHBoYXNlclN0YXRlOiBQaGFzZXJzLkhBUFBZMixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5HUkVFTixcbiAgICAgIGV5ZWJyb3dUZXh0OiAnT3JkZXIgcHJvY2Vzc2VkJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnV29vaG9vISBZb3VyIG9yZGVyIGlzIG5vdyBjb21wbGV0ZS4nLFxuICAgICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgICAgaGFzQW5pbWF0aW9uOiB0cnVlLFxuICAgICAgY2FyZFdpZHRoUHg6IDMwMFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZFBvc3RpbmdCb2FyZExpc3QgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcztcbiAgfVxuXG4gIGluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gICAgdGhpcy5qb2JDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtdLFxuICAgICAgdG90YWw6IHt9IGFzIGFueVxuICAgIH07XG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgYWRkTGluZUl0ZW0oXG4gICAgaW52b2ljZUFyZWFJbmRleDogbnVtYmVyLFxuICAgIHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICApIHtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLnB1c2goe1xuICAgICAgdGV4dExlZnQ6IHNlbGVjdGVkQm9hcmQuYm9hcmROYW1lLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7c2VsZWN0ZWRCb2FyZC5ib2FyZFByaWNlfWBcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoaW52b2ljZUFyZWFJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgaW52b2ljZUFyZWFUb3RhbCA9IDA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLmxpbmVJdGVtcy5mb3JFYWNoKGxpID0+IHtcbiAgICAgIGludm9pY2VBcmVhVG90YWwgPSBpbnZvaWNlQXJlYVRvdGFsICsgK2xpLnRleHRSaWdodC5yZXBsYWNlKCckJywgJycpO1xuICAgIH0pO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICpcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH1gO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7dGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofSkgSm9icyBTZWxlY3RlZGBcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnSm9iIEJvYXJkcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdEdXJhdGlvbiBKb2IgQm9hcmRzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICB0b3RhbDoge1xuICAgICAgICB0ZXh0TGVmdDogJycsXG4gICAgICAgIHRleHRSaWdodDogJycsXG4gICAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCdcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMubW9kZWwuam9iQm9hcmRzLmZvckVhY2goamIgPT4ge1xuICAgICAgaWYgKGpiLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaWYgKGpiLmlzUGF5UGVyQ2xpY2spIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDAsIGpiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDEsIGpiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgcGF5UGVyQ2xpY2tBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMCk7XG4gICAgY29uc3Qgam9iQm9hcmRBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMSk7XG4gICAgdGhpcy5jYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsLCBqb2JCb2FyZEFyZWFUb3RhbCk7XG4gICAgaWYgKHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG59XG4iLCI8c3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZSAqbmdJZj1cIiFtb2RlbC5uYXZpZ2F0aW9uLnNob3dDYW5jZWxcIj5cbiAgPHN5bXBob255LWg0XG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb24gJiYgIW1vZGVsLmlzTG9hZGluZ1wiXG4gICAgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlNlbGVjdCBZb3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlJldmlldyB5b3UgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkNvbmZpcm1hdGlvbiBvZiB5b3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+UHJvY2Vzc2luZyBPcmRlci4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5pc0xvYWRpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+TG9hZGluZyBKb2IgQm9hcmRzLi4uPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1pY29uXG4gICAgc2Z4LWNsb3NlLWJ1dHRvblxuICAgIFtpY29uXT1cIidzaS1jbG9zZS1tb2RhbCdcIlxuICAgIChjbGlja2VkKT1cIm9uQ2xvc2VCdXR0b25DbGljaygpXCJcbiAgPjwvc3ltcGhvbnktaWNvbj5cbiAgPHN5bXBob255LWg1LXdpdGgtaWNvbiBzZngtbW9kYWwtc3VidGl0bGUgW21vZGVsXT1cInN1YlRpdGxlXCI+XG4gIDwvc3ltcGhvbnktaDUtd2l0aC1pY29uPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8c3ltcGhvbnktaW5wdXQtdGV4dFxuICAgICAgc2Z4LWxlZnQtY29sLWhlYWRlclxuICAgICAgW25vTWFyZ2luXT1cInRydWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2ggQWQgQm9hcmRzJ1wiXG4gICAgICBbaWNvbl09XCInc2ktc2VhcmNoLW5ldydcIlxuICAgICAgKHRleHRDaGFuZ2UpPVwib25LZXl3b3JkU2VhcmNoKCRldmVudClcIlxuICAgID5cbiAgICA8L3N5bXBob255LWlucHV0LXRleHQ+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbC1oZWFkZXItaW5uZXJcIiBzZngtcmlnaHQtY29sLWhlYWRlcj5cbiAgICAgIDxzeW1waG9ueS1oNS13aXRoLWljb25cbiAgICAgICAgc2Z4LXJpZ2h0LWNvbC1oZWFkZXJcbiAgICAgICAgKm5nSWY9XCJtb2RlbC5zaG93RnVuZHNcIlxuICAgICAgICBjbGFzcz1cInB1bGwtcmlnaHRcIlxuICAgICAgICBbbW9kZWxdPVwiZnVuZHNJbmZvXCJcbiAgICAgID48L3N5bXBob255LWg1LXdpdGgtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wci0xMFwiPlxuICAgICAgPHN5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgW21vZGVsXT1cIm1vZGVsLmpvYkJvYXJkc1wiXG4gICAgICAgIChwb3N0aW5nQm9hcmRDaGFuZ2UpPVwib25Qb3N0aW5nQm9hcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9zeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuXG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cImhlaWdodC13cmFwcGVyXCJcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFJldmlld1wiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICAgIDxkaXZcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgcGhhc2VyIGNlbnRlci1oLXYgbGlnaHQtZ3JleS1iZ1wiXG4gICAgPlxuICAgICAgPHN5bXBob255LXBoYXNlci1jYXJkXG4gICAgICAgIFttb2RlbF09XCJwaGFzZXJDYXJkQ29uZmlybWF0aW9uXCJcbiAgICAgID48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wLTMwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzaW5nLWNvbnRhaW5lclwiPlxuICAgICAgPHN5bXBob255LXBhcmFncmFwaFxuICAgICAgICA+PGI+U21hc2hGbHlYPC9iPiBpcyBzdWJtaXR0aW5nIHlvdXIgb3JkZXIgdG8geW91ciBzZWxlY3RlZCBqb2IgYm9hcmRzLlxuICAgICAgICBTb21lIG9yZGVycyBoYXBwZW4gaW1tZWRpYXRlbHksIHdoaWxlIG90aGVycyB0YWtlIGEgbGl0dGxlIG1vcmUgdGltZS5cbiAgICAgICAgQ2hlY2sgeW91ciBvcmRlciBzdGF0dXMgaWYgeW91IGRvbid0IHJlY2lldmUgYSBjb25maXJtYXRpb24gaW4gdGhlIG5leHRcbiAgICAgICAgMjRob3Vycy48L3N5bXBob255LXBhcmFncmFwaFxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZngtbXQtODBcIj5cbiAgICAgIDxzeW1waG9ueS1zZngtbG9hZGVyPjwvc3ltcGhvbnktc2Z4LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC1ib2R5LWFyZWE+XG4gICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICA8L2Rpdj5cblxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInUmV2aWV3IE9yZGVyJ1wiXG4gICAgW2Rpc2FibGVkXT1cImlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtYnV0dG9uLWJhY2tcbiAgICBbdGV4dF09XCInRWRpdCBPcmRlcidcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidCdXknXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0ZpbmlzaCAmIENsb3NlJ1wiXG4gICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbjwvc3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZT5cbjxzeW1waG9ueS1jb25maXJtYXRpb24tbW9kYWxcbiAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiXG4gIChidXR0b25DbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gIChjbG9zZUJ1dHRvbkNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICBbbW9kZWxdPVwiY2FuY2VsQ29udGVudFwiXG4+XG48L3N5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbD5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VyLWNhcmQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhhc2VycyB9IGZyb20gJy4uLy4uL2F0b21zL3BoYXNlci9waGFzZXIuZW51bSc7XG5pbXBvcnQgeyBDb2xvck5hbWVzIH0gZnJvbSAnLi4vLi4vYXRvbXMvY29sb3Itc2FtcGxlL2NvbG9yLXNhbXBsZS5lbnVtJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBoYXNlckNhcmRNb2RlbCB7XG4gIGV5ZWJyb3dUZXh0OiBzdHJpbmc7XG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmc7XG4gIHBoYXNlclN0YXRlOiBQaGFzZXJzO1xuICBiYWNrZ3JvdW5kQ29sb3I6IENvbG9yTmFtZXM7XG4gIGNhcmRIZWlnaHRQeD86IG51bWJlcjtcbiAgY2FyZFdpZHRoUHg/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VyLWNhcmQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGhhc2VycyB9IGZyb20gJy4uLy4uL2F0b21zL3BoYXNlci9waGFzZXIuZW51bSc7XG5pbXBvcnQgeyBDb2xvck5hbWVzIH0gZnJvbSAnLi4vLi4vYXRvbXMvY29sb3Itc2FtcGxlL2NvbG9yLXNhbXBsZS5lbnVtJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbi9pY29uLmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBoYXNlckNhcmRNb2RlbCB7XG4gIGV5ZWJyb3dUZXh0OiBzdHJpbmc7XG4gIG1lc3NhZ2VCb2R5OiBzdHJpbmc7XG4gIHBoYXNlclN0YXRlOiBQaGFzZXJzO1xuICBiYWNrZ3JvdW5kQ29sb3I6IENvbG9yTmFtZXM7XG4gIGNhcmRIZWlnaHRQeD86IG51bWJlcjtcbiAgY2FyZFdpZHRoUHg/OiBudW1iZXI7XG4gIHBoYXNlck91dGxpbmVDb2xvcj86IHN0cmluZztcbiAgaWNvbjogSWNvbnM7XG4gIGhhc0FuaW1hdGlvbj86IGJvb2xlYW47XG4gIGhhc0hvdmVyPzogYm9vbGVhbjtcbiAgaXNDbGlja2FibGU/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { Icons } from '../../../atoms/icon/icon.enum';
|
|
3
|
+
import { Phasers } from '../../../atoms/phaser/phaser.enum';
|
|
4
|
+
import { ColorNames } from '../../../atoms/color-sample/color-sample.enum';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "../../../templates/modal-templates/two-column-modal-template/two-column-modal-template.component";
|
|
5
7
|
import * as i2 from "../../../atoms/h4/h4.component";
|
|
@@ -46,6 +48,24 @@ export class AdvertiseModalComponent {
|
|
|
46
48
|
btnPrimary: 'Continue Order',
|
|
47
49
|
btnSecondary: 'Abandon Order'
|
|
48
50
|
};
|
|
51
|
+
this.phaserCardReview = {
|
|
52
|
+
phaserState: Phasers.INTEL,
|
|
53
|
+
backgroundColor: ColorNames.ORANGE,
|
|
54
|
+
eyebrowText: 'Review Data',
|
|
55
|
+
messageBody: 'Once you click buy, we will process your order.',
|
|
56
|
+
icon: Icons.INFO,
|
|
57
|
+
hasAnimation: true,
|
|
58
|
+
cardWidthPx: 300
|
|
59
|
+
};
|
|
60
|
+
this.phaserCardConfirmation = {
|
|
61
|
+
phaserState: Phasers.HAPPY2,
|
|
62
|
+
backgroundColor: ColorNames.GREEN,
|
|
63
|
+
eyebrowText: 'Order processed',
|
|
64
|
+
messageBody: 'Woohoo! Your order is now complete.',
|
|
65
|
+
icon: Icons.CONFIRMATION,
|
|
66
|
+
hasAnimation: true,
|
|
67
|
+
cardWidthPx: 300
|
|
68
|
+
};
|
|
49
69
|
}
|
|
50
70
|
ngOnChanges(changes) {
|
|
51
71
|
this.filteredPostingBoardList = this.model.jobBoards;
|
|
@@ -178,10 +198,10 @@ export class AdvertiseModalComponent {
|
|
|
178
198
|
}
|
|
179
199
|
}
|
|
180
200
|
AdvertiseModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"
|
|
201
|
+
AdvertiseModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: AdvertiseModalComponent, selector: "symphony-advertise-modal", inputs: { model: "model" }, outputs: { buttonClicked: "buttonClicked", closeButtonClicked: "closeButtonClicked", postingBoardChange: "postingBoardChange", keywordSearchChange: "keywordSearchChange" }, usesOnChanges: true, ngImport: i0, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"], components: [{ type: i1.TwoColumnModalTemplateComponent, selector: "symphony-two-column-modal-template" }, { type: i2.H4Component, selector: "symphony-h4", inputs: ["text", "isSecondary"] }, { type: i3.IconComponent, selector: "symphony-icon", inputs: ["icon", "isSecondary", "size", "iconColor"], outputs: ["clicked"] }, { type: i4.H5WithIconComponent, selector: "symphony-h5-with-icon", inputs: ["model"] }, { type: i5.TwoColumnBodyTemplateComponent, selector: "symphony-two-column-body-template", inputs: ["showHeader"] }, { type: i6.InputTextComponent, selector: "symphony-input-text", inputs: ["placeholder", "icon", "label", "isInverse", "noMargin"], outputs: ["textChange"] }, { type: i7.AdvertisePostingboardSelectionListComponent, selector: "symphony-advertise-postingboard-selection-list", inputs: ["model"], outputs: ["postingBoardChange"] }, { type: i8.OrderSummaryComponent, selector: "symphony-order-summary", inputs: ["model"] }, { type: i9.PhaserCardComponent, selector: "symphony-phaser-card", inputs: ["model", "isClickable", "hasHover"], outputs: ["cardClicked", "cardHover"] }, { type: i10.ParagraphComponent, selector: "symphony-paragraph", inputs: ["text", "isSecondary"] }, { type: i11.SfxLoaderComponent, selector: "symphony-sfx-loader", inputs: ["leftStyle", "message"] }, { type: i12.ButtonComponent, selector: "symphony-button", inputs: ["text", "disabled", "isSecondary", "isInverse"], outputs: ["clicked"] }, { type: i13.ConfirmationModalComponent, selector: "symphony-confirmation-modal", inputs: ["model"], outputs: ["buttonClicked", "closeButtonClicked"] }], directives: [{ type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
182
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: AdvertiseModalComponent, decorators: [{
|
|
183
203
|
type: Component,
|
|
184
|
-
args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"
|
|
204
|
+
args: [{ selector: 'symphony-advertise-modal', encapsulation: ViewEncapsulation.None, template: "<symphony-two-column-modal-template *ngIf=\"!model.navigation.showCancel\">\n <symphony-h4\n *ngIf=\"model.navigation.showJobBoardsSelection && !model.isLoading\"\n sfx-modal-title\n >Select Your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showOrderReview\" sfx-modal-title\n >Review you Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showConfirmation\" sfx-modal-title\n >Confirmation of your Job Ad Buys</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.navigation.showProcessing\" sfx-modal-title\n >Processing Order...</symphony-h4\n >\n <symphony-h4 *ngIf=\"model.isLoading\" sfx-modal-title\n >Loading Job Boards...</symphony-h4\n >\n <symphony-icon\n sfx-close-button\n [icon]=\"'si-close-modal'\"\n (clicked)=\"onCloseButtonClick()\"\n ></symphony-icon>\n <symphony-h5-with-icon sfx-modal-subtitle [model]=\"subTitle\">\n </symphony-h5-with-icon>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showJobBoardsSelection\"\n [showHeader]=\"true\"\n sfx-modal-body-area\n >\n <symphony-input-text\n sfx-left-col-header\n [noMargin]=\"true\"\n [placeholder]=\"'Search Ad Boards'\"\n [icon]=\"'si-search-new'\"\n (textChange)=\"onKeywordSearch($event)\"\n >\n </symphony-input-text>\n <div class=\"right-col-header-inner\" sfx-right-col-header>\n <symphony-h5-with-icon\n sfx-right-col-header\n *ngIf=\"model.showFunds\"\n class=\"pull-right\"\n [model]=\"fundsInfo\"\n ></symphony-h5-with-icon>\n </div>\n <div sfx-left-column class=\"posting-boards sfx-pr-10\">\n <symphony-advertise-postingboard-selection-list\n [model]=\"model.jobBoards\"\n (postingBoardChange)=\"onPostingBoardChange($event)\"\n ></symphony-advertise-postingboard-selection-list>\n </div>\n\n <symphony-order-summary\n sfx-right-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showOrderReview\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card [model]=\"phaserCardReview\"></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <symphony-two-column-body-template\n *ngIf=\"!model.isLoading && model.navigation.showConfirmation\"\n sfx-modal-body-area\n class=\"height-wrapper\"\n >\n <symphony-order-summary\n sfx-left-column\n [model]=\"orderSummary\"\n ></symphony-order-summary>\n <div\n sfx-right-column\n class=\"posting-boards phaser center-h-v light-grey-bg\"\n >\n <symphony-phaser-card\n [model]=\"phaserCardConfirmation\"\n ></symphony-phaser-card>\n </div>\n </symphony-two-column-body-template>\n\n <div\n *ngIf=\"!model.isLoading && model.navigation.showProcessing\"\n sfx-modal-body-area\n class=\"posting-boards sfx-p-30\"\n >\n <div class=\"processing-container\">\n <symphony-paragraph\n ><b>SmashFlyX</b> is submitting your order to your selected job boards.\n Some orders happen immediately, while others take a little more time.\n Check your order status if you don't recieve a confirmation in the next\n 24hours.</symphony-paragraph\n >\n </div>\n <div class=\"sfx-mt-80\">\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n </div>\n\n <div class=\"loader-container\" *ngIf=\"model.isLoading\" sfx-modal-body-area>\n <symphony-sfx-loader></symphony-sfx-loader>\n </div>\n\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showJobBoardsSelection\"\n sfx-button-primary\n [text]=\"'Review Order'\"\n [disabled]=\"isJobBoardNextButtonDisabled\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-back\n [text]=\"'Edit Order'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-secondary\n [text]=\"'Cancel'\"\n [isSecondary]=\"true\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n <symphony-button\n *ngIf=\"model.navigation.showOrderReview\"\n sfx-button-primary\n [text]=\"'Buy'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n\n <symphony-button\n *ngIf=\"model.navigation.showConfirmation\"\n sfx-button-primary\n [text]=\"'Finish & Close'\"\n [disabled]=\"false\"\n [isInverse]=\"true\"\n (clicked)=\"onButtonClick($event)\"\n ></symphony-button>\n</symphony-two-column-modal-template>\n<symphony-confirmation-modal\n *ngIf=\"!model.isLoading && model.navigation.showCancel\"\n (buttonClicked)=\"onButtonClick($event)\"\n (closeButtonClicked)=\"onCloseButtonClick()\"\n [model]=\"cancelContent\"\n>\n</symphony-confirmation-modal>\n", styles: [".right-col-header-inner{padding-top:10px}.posting-boards{height:400px;overflow-x:auto}.posting-boards.phaser{overflow:hidden;padding:40px 80px;min-height:480px}.height-wrapper .order-summary,.height-wrapper .sfx-price-totals{padding:0}.height-wrapper .sfx-checkbox-list{min-height:480px}.light-grey-bg{background:#ebebeb}.center-h-v{display:flex;align-items:center;justify-content:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#d4d4d4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.loader-container{padding-top:246px;padding-bottom:245px}.complete-container{text-align:center;margin-top:25%}.success-icon-spacing{margin-top:25px}.processing-container{width:400px;text-align:justify}.stage{display:flex;height:240px;width:100%}.box{align-self:flex-end;animation-duration:2s;animation-iteration-count:1;height:200px;margin:0 auto;transform-origin:bottom;width:200px}.bounce-7{animation-name:bounce-7;animation-timing-function:cubic-bezier(.24,.82,.24,.82)}@keyframes bounce-7{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-15px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}\n"] }]
|
|
185
205
|
}], ctorParameters: function () { return []; }, propDecorators: { model: [{
|
|
186
206
|
type: Input
|
|
187
207
|
}], buttonClicked: [{
|
|
@@ -193,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
193
213
|
}], keywordSearchChange: [{
|
|
194
214
|
type: Output
|
|
195
215
|
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQnRELE1BQU0sT0FBTyx1QkFBdUI7SUE0QmxDO1FBekJVLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2hELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUU1QyxDQUFDO1FBQ00sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU1wRCxjQUFTLEdBQW9CO1lBQ2xDLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUN4QixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQztRQUdLLHNCQUFpQixHQUFtQixFQUFFLENBQUM7UUFDdkMsY0FBUyxHQUFtQixFQUFFLENBQUM7UUFDL0IsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixlQUFVLEdBQVcsRUFBRSxDQUFDO0lBR2hC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QyxJQUFJOzBFQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUdHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9pY29uL2ljb24uZW51bSc7XG5pbXBvcnQgeyBPcmRlclN1bW1hcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9vcmRlci1zdW1tYXJ5L29yZGVyLXN1bW1hcnkubW9kZWwnO1xuaW1wb3J0IHsgSDVXaXRoSWNvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2g1LXdpdGgtaWNvbi9oNS13aXRoLWljb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQWR2ZXJ0aXNlTW9kYWxNb2RlbCxcbiAgUG9zdGluZ0JvYXJkc1NlbGVjdGlvbk1vZGVsXG59IGZyb20gJy4vYWR2ZXJ0aXNlLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IEludm9pY2VNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9pbnZvaWNlLWxpbmUtaXRlbS9pbnZvaWNlLWxpbmUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uLy4uL29yZ2FuaXNtcy9jb25maXJtYXRpb24tbW9kYWwvY29uZmlybWF0aW9uLW1vZGFsLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlckNhcmRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vbGVjdWxlcy9waGFzZXItY2FyZC9waGFzZXItY2FyZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBwaGFzZXJDYXJkOiBQaGFzZXJDYXJkTW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuXG4gIHB1YmxpYyBwYXlQZXJDbGlja0JvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkJvYXJkczogSW52b2ljZU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGpvYkNvdW50OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbW9kYWxUaXRsZTogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBpc0pvYkJvYXJkTmV4dEJ1dHRvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCk7XG4gICAgdGhpcy51cGRhdGVNb2RhbEhlYWRlcigpO1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgfVxuICAgIHRoaXMuY2FuY2VsQ29udGVudCA9IHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFiYW5kb24geW91ciBvcmRlcj8nLFxuICAgICAgY29udGVudDpcbiAgICAgICAgJ0FsbCBzZWxlY3Rpb25zIHdpbGwgYmUgZGVsZXRlZCBhbmQgeW91IHdpbGwgaGF2ZSB0byBzdGFydCBvdmVyLicsXG4gICAgICBidG5QcmltYXJ5OiAnQ29udGludWUgT3JkZXInLFxuICAgICAgYnRuU2Vjb25kYXJ5OiAnQWJhbmRvbiBPcmRlcidcbiAgICB9O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gIH1cblxuICBpbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpIHtcbiAgICB0aGlzLmZpbHRlcmVkUG9zdGluZ0JvYXJkTGlzdCA9IHRoaXMubW9kZWwuam9iQm9hcmRzO1xuICAgIHRoaXMuam9iQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkgPSB7XG4gICAgICB0aXRsZTogJ1lvdXIgT3JkZXInLFxuICAgICAgaW52b2ljZUFyZWFzOiBbXSxcbiAgICAgIHRvdGFsOiB7fSBhcyBhbnlcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlTW9kYWxIZWFkZXIoKSB7XG4gICAgbGV0IHN1YlRpdGxlVG9vbHRpcDogc3RyaW5nID0gJyc7XG4gICAgbGV0IGpvYk51bWJlciA9IDE7XG4gICAgdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UuZm9yRWFjaChqb2IgPT4ge1xuICAgICAgc3ViVGl0bGVUb29sdGlwID0gc3ViVGl0bGVUb29sdGlwICsgYCR7am9iLmpvYlRpdGxlfSBbJHtqb2IuaWR9XWA7XG4gICAgICBpZiAoam9iTnVtYmVyICE9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aCkge1xuICAgICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyAnPC9icj4nO1xuICAgICAgfVxuICAgICAgam9iTnVtYmVyKys7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJUaXRsZSA9IHtcbiAgICAgIHRvb2x0aXBIdG1sOiBzdWJUaXRsZVRvb2x0aXAsXG4gICAgICB0ZXh0OiBgJHt0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9IEpvYnNgLFxuICAgICAgaWNvbkZpcnN0OiBmYWxzZSxcbiAgICAgIGljb246IEljb25zLklORk8sXG4gICAgICBwbGFjZW1lbnQ6ICdyaWdodCdcbiAgICB9O1xuICB9XG5cbiAgb25LZXl3b3JkU2VhcmNoKGtleXdvcmQ6IHN0cmluZykge1xuICAgIHRoaXMua2V5d29yZFNlYXJjaENoYW5nZS5lbWl0KGtleXdvcmQpO1xuICB9XG5cbiAgb25CdXR0b25DbGljayh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrZWQuZW1pdCh0ZXh0KTtcbiAgfVxuXG4gIG9uQ2xvc2VCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLmNsb3NlQnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gIH1cblxuICBvblBvc3RpbmdCb2FyZENoYW5nZShzZWxlY3RlZEJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWwpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZExpbmVJdGVtKFxuICAgIGludm9pY2VBcmVhSW5kZXg6IG51bWJlcixcbiAgICBzZWxlY3RlZEJvYXJkOiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLmxpbmVJdGVtcy5wdXNoKHtcbiAgICAgIHRleHRMZWZ0OiBzZWxlY3RlZEJvYXJkLmJvYXJkTmFtZSxcbiAgICAgIHRleHRSaWdodDogYCQke3NlbGVjdGVkQm9hcmQuYm9hcmRQcmljZX1gXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKGludm9pY2VBcmVhSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgbGV0IGludm9pY2VBcmVhVG90YWwgPSAwO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tpbnZvaWNlQXJlYUluZGV4XS5saW5lSXRlbXMuZm9yRWFjaChsaSA9PiB7XG4gICAgICBpbnZvaWNlQXJlYVRvdGFsID0gaW52b2ljZUFyZWFUb3RhbCArICtsaS50ZXh0UmlnaHQucmVwbGFjZSgnJCcsICcnKTtcbiAgICB9KTtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbXG4gICAgICBpbnZvaWNlQXJlYUluZGV4XG4gICAgXS5zdWJUb3RhbC50ZXh0UmlnaHQgPSBgJCR7aW52b2ljZUFyZWFUb3RhbCAqXG4gICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9YDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbXG4gICAgICBpbnZvaWNlQXJlYUluZGV4XG4gICAgXS50b3RhbC50ZXh0UmlnaHQgPSBgJCR7aW52b2ljZUFyZWFUb3RhbH1gO1xuICAgIHJldHVybiBpbnZvaWNlQXJlYVRvdGFsICogdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoO1xuICB9XG5cbiAgY2FsY3VsYXRlT3JkZXJUb3RhbChwYXlQZXJDbGlja0FyZWFUb3RhbDogbnVtYmVyLCBqb2JCb2FyZEFyZWFUb3RhbDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRKb2JCb2FyZHMgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcy5maWx0ZXIoamIgPT4gamIuaXNTZWxlY3RlZClcbiAgICAgIC5sZW5ndGg7XG5cbiAgICBjb25zdCBqb2JUb0FkdmVydGlzZUNvdW50ID0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoO1xuXG4gICAgY29uc3Qgb3JkZXJTdW1tYXJ5VGV4dCA9IGAoJHtzZWxlY3RlZEpvYkJvYXJkc30pIEJvYXJkcyB4ICR7XG4gICAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGhcbiAgICB9IEpvYnMgPSAoJHtzZWxlY3RlZEpvYkJvYXJkcyAqIGpvYlRvQWR2ZXJ0aXNlQ291bnR9KSBBZHNgO1xuXG4gICAgdGhpcy5vcmRlclN1bW1hcnkudG90YWwgPSB7XG4gICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnLFxuICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7cGF5UGVyQ2xpY2tBcmVhVG90YWwgKyBqb2JCb2FyZEFyZWFUb3RhbH1gXG4gICAgfTtcbiAgfVxuXG4gIHVwZGF0ZU9yZGVyU3VtbWFyeSgpIHtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnUGF5LVBlci1DbGljayBTaXRlcywgU3VidG90YWwgUGVyIEpvYjonLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnUGF5LVBlci1DbGljayBTaXRlcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsaW5lSXRlbXM6IFtdLFxuICAgICAgICAgIHN1YlRvdGFsOiB7XG4gICAgICAgICAgICB0ZXh0TGVmdDogJ0pvYiBCb2FyZHMgU3VidG90YWwnLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgeCAoJHt0aGlzLmpvYkNvdW50fSkgSm9icyA9ICQwYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnRHVyYXRpb24gSm9iIEJvYXJkcywgU3VidG90YWwgUGVyIEpvYjonLFxuICAgICAgICAgICAgdGV4dFJpZ2h0OiBgYFxuICAgICAgICAgIH0sXG4gICAgICAgICAgam9ic1RvQWR2ZXJ0aXNlOiBgeCAoJHt0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGh9KSBKb2JzIFNlbGVjdGVkYFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgdG90YWw6IHtcbiAgICAgICAgdGV4dExlZnQ6ICcnLFxuICAgICAgICB0ZXh0UmlnaHQ6ICcnLFxuICAgICAgICBsYWJlbDogJ0N1cnJlbnQgVG90YWwnXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLm1vZGVsLmpvYkJvYXJkcy5mb3JFYWNoKGpiID0+IHtcbiAgICAgIGlmIChqYi5pc1NlbGVjdGVkKSB7XG4gICAgICAgIGlmIChqYi5pc1BheVBlckNsaWNrKSB7XG4gICAgICAgICAgdGhpcy5hZGRMaW5lSXRlbSgwLCBqYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hZGRMaW5lSXRlbSgxLCBqYik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHBheVBlckNsaWNrQXJlYVRvdGFsID0gdGhpcy5jYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKDApO1xuICAgIGNvbnN0IGpvYkJvYXJkQXJlYVRvdGFsID0gdGhpcy5jYWxjdWxhdGVJbnZvaWNlQXJlYVRvdGFsKDEpO1xuICAgIHRoaXMuY2FsY3VsYXRlT3JkZXJUb3RhbChwYXlQZXJDbGlja0FyZWFUb3RhbCwgam9iQm9hcmRBcmVhVG90YWwpO1xuICAgIGlmICh0aGlzLm1vZGVsLmpvYkJvYXJkcy5maWx0ZXIoamIgPT4gamIuaXNTZWxlY3RlZCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5wb3N0aW5nQm9hcmRDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcbiAgfVxufVxuIiwiPHN5bXBob255LXR3by1jb2x1bW4tbW9kYWwtdGVtcGxhdGUgKm5nSWY9XCIhbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCI+XG4gIDxzeW1waG9ueS1oNFxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uICYmICFtb2RlbC5pc0xvYWRpbmdcIlxuICAgIHNmeC1tb2RhbC10aXRsZVxuICAgID5TZWxlY3QgWW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiIHNmeC1tb2RhbC10aXRsZVxuICAgID5SZXZpZXcgeW91IEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiIHNmeC1tb2RhbC10aXRsZVxuICAgID5Db25maXJtYXRpb24gb2YgeW91ciBKb2IgQWQgQnV5czwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dQcm9jZXNzaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlByb2Nlc3NpbmcgT3JkZXIuLi48L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkxvYWRpbmcgSm9iIEJvYXJkcy4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaWNvblxuICAgIHNmeC1jbG9zZS1idXR0b25cbiAgICBbaWNvbl09XCInc2ktY2xvc2UtbW9kYWwnXCJcbiAgICAoY2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gID48L3N5bXBob255LWljb24+XG4gIDxzeW1waG9ueS1oNS13aXRoLWljb24gc2Z4LW1vZGFsLXN1YnRpdGxlIFttb2RlbF09XCJzdWJUaXRsZVwiPlxuICA8L3N5bXBob255LWg1LXdpdGgtaWNvbj5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICA+XG4gICAgPHN5bXBob255LWlucHV0LXRleHRcbiAgICAgIHNmeC1sZWZ0LWNvbC1oZWFkZXJcbiAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VhcmNoIEFkIEJvYXJkcydcIlxuICAgICAgW2ljb25dPVwiJ3NpLXNlYXJjaC1uZXcnXCJcbiAgICAgICh0ZXh0Q2hhbmdlKT1cIm9uS2V5d29yZFNlYXJjaCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9zeW1waG9ueS1pbnB1dC10ZXh0PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1jb2wtaGVhZGVyLWlubmVyXCIgc2Z4LXJpZ2h0LWNvbC1oZWFkZXI+XG4gICAgICA8c3ltcGhvbnktaDUtd2l0aC1pY29uXG4gICAgICAgIHNmeC1yaWdodC1jb2wtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwibW9kZWwuc2hvd0Z1bmRzXCJcbiAgICAgICAgY2xhc3M9XCJwdWxsLXJpZ2h0XCJcbiAgICAgICAgW21vZGVsXT1cImZ1bmRzSW5mb1wiXG4gICAgICA+PC9zeW1waG9ueS1oNS13aXRoLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzZngtbGVmdC1jb2x1bW4gY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBzZngtcHItMTBcIj5cbiAgICAgIDxzeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0XG4gICAgICAgIFttb2RlbF09XCJtb2RlbC5qb2JCb2FyZHNcIlxuICAgICAgICAocG9zdGluZ0JvYXJkQ2hhbmdlKT1cIm9uUG9zdGluZ0JvYXJkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvc3ltcGhvbnktYWR2ZXJ0aXNlLXBvc3Rpbmdib2FyZC1zZWxlY3Rpb24tbGlzdD5cbiAgICA8L2Rpdj5cblxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuXG4gICAgPGRpdlxuICAgICAgc2Z4LXJpZ2h0LWNvbHVtblxuICAgICAgY2xhc3M9XCJwb3N0aW5nLWJvYXJkcyBwaGFzZXIgY2VudGVyLWgtdiBsaWdodC1ncmV5LWJnXCJcbiAgICA+XG4gICAgICA8c3ltcGhvbnktcGhhc2VyLWNhcmQgW21vZGVsXT1cInBoYXNlckNhcmRcIj48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8c3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwiaGVpZ2h0LXdyYXBwZXJcIlxuICA+XG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1sZWZ0LWNvbHVtblxuICAgICAgW21vZGVsXT1cIm9yZGVyU3VtbWFyeVwiXG4gICAgPjwvc3ltcGhvbnktb3JkZXItc3VtbWFyeT5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFwiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93UHJvY2Vzc2luZ1wiXG4gICAgc2Z4LW1vZGFsLWJvZHktYXJlYVxuICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgc2Z4LXAtMzBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInByb2Nlc3NpbmctY29udGFpbmVyXCI+XG4gICAgICA8c3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICAgID48Yj5TbWFzaEZseVg8L2I+IGlzIHN1Ym1pdHRpbmcgeW91ciBvcmRlciB0byB5b3VyIHNlbGVjdGVkIGpvYiBib2FyZHMuXG4gICAgICAgIFNvbWUgb3JkZXJzIGhhcHBlbiBpbW1lZGlhdGVseSwgd2hpbGUgb3RoZXJzIHRha2UgYSBsaXR0bGUgbW9yZSB0aW1lLlxuICAgICAgICBDaGVjayB5b3VyIG9yZGVyIHN0YXR1cyBpZiB5b3UgZG9uJ3QgcmVjaWV2ZSBhIGNvbmZpcm1hdGlvbiBpbiB0aGUgbmV4dFxuICAgICAgICAyNGhvdXJzLjwvc3ltcGhvbnktcGFyYWdyYXBoXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNmeC1tdC04MFwiPlxuICAgICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZWwuaXNMb2FkaW5nXCIgc2Z4LW1vZGFsLWJvZHktYXJlYT5cbiAgICA8c3ltcGhvbnktc2Z4LWxvYWRlcj48L3N5bXBob255LXNmeC1sb2FkZXI+XG4gIDwvZGl2PlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0pvYkJvYXJkc1NlbGVjdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidSZXZpZXcgT3JkZXInXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZFwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tYmFja1xuICAgIFt0ZXh0XT1cIidFZGl0IE9yZGVyJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1zZWNvbmRhcnlcbiAgICBbdGV4dF09XCInQ2FuY2VsJ1wiXG4gICAgW2lzU2Vjb25kYXJ5XT1cInRydWVcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dPcmRlclJldmlld1wiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0J1eSdcIlxuICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgW2lzSW52ZXJzZV09XCJ0cnVlXCJcbiAgICAoY2xpY2tlZCk9XCJvbkJ1dHRvbkNsaWNrKCRldmVudClcIlxuICA+PC9zeW1waG9ueS1idXR0b24+XG5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInRmluaXNoICYgQ2xvc2UnXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuPC9zeW1waG9ueS10d28tY29sdW1uLW1vZGFsLXRlbXBsYXRlPlxuPHN5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbFxuICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q2FuY2VsXCJcbiAgKGJ1dHRvbkNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgKGNsb3NlQnV0dG9uQ2xpY2tlZCk9XCJvbkNsb3NlQnV0dG9uQ2xpY2soKVwiXG4gIFttb2RlbF09XCJjYW5jZWxDb250ZW50XCJcbj5cbjwvc3ltcGhvbnktY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2ZXJ0aXNlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvcGFnZXMvbW9kYWxzL2FkdmVydGlzZS1tb2RhbC9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9wYWdlcy9tb2RhbHMvYWR2ZXJ0aXNlLW1vZGFsL2FkdmVydGlzZS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFVdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVEzRSxNQUFNLE9BQU8sdUJBQXVCO0lBNEJsQztRQXpCVSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFFNUMsQ0FBQztRQUNNLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFLcEQsY0FBUyxHQUFvQjtZQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDeEIsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFJSyxzQkFBaUIsR0FBbUIsRUFBRSxDQUFD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QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7O29IQXROVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw4UkM5QnBDLHdoTEFpTEE7MkZEbkphLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBR3JCLGlCQUFpQixDQUFDLElBQUk7MEVBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBR0csbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2ljb24vaWNvbi5lbnVtJztcbmltcG9ydCB7IE9yZGVyU3VtbWFyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL29yZGVyLXN1bW1hcnkvb3JkZXItc3VtbWFyeS5tb2RlbCc7XG5pbXBvcnQgeyBINVdpdGhJY29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2xlY3VsZXMvaDUtd2l0aC1pY29uL2g1LXdpdGgtaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBBZHZlcnRpc2VNb2RhbE1vZGVsLFxuICBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxcbn0gZnJvbSAnLi9hZHZlcnRpc2UtbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgSW52b2ljZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL2ludm9pY2UtbGluZS1pdGVtL2ludm9pY2UtbGluZS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vb3JnYW5pc21zL2NvbmZpcm1hdGlvbi1tb2RhbC9jb25maXJtYXRpb24tbW9kYWwubW9kZWwnO1xuaW1wb3J0IHsgUGhhc2VyQ2FyZE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9sZWN1bGVzL3BoYXNlci1jYXJkL3BoYXNlci1jYXJkLm1vZGVsJztcbmltcG9ydCB7IFBoYXNlcnMgfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9waGFzZXIvcGhhc2VyLmVudW0nO1xuaW1wb3J0IHsgQ29sb3JOYW1lcyB9IGZyb20gJy4uLy4uLy4uL2F0b21zL2NvbG9yLXNhbXBsZS9jb2xvci1zYW1wbGUuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N5bXBob255LWFkdmVydGlzZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZHZlcnRpc2UtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBZHZlcnRpc2VNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWw6IFBhcnRpYWw8QWR2ZXJ0aXNlTW9kYWxNb2RlbD47XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcG9zdGluZ0JvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBQYXJ0aWFsPEFkdmVydGlzZU1vZGFsTW9kZWw+XG4gID4oKTtcbiAgQE91dHB1dCgpIGtleXdvcmRTZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0OiBQb3N0aW5nQm9hcmRzU2VsZWN0aW9uTW9kZWxbXTtcbiAgcHVibGljIG9yZGVyU3VtbWFyeTogT3JkZXJTdW1tYXJ5TW9kZWw7XG4gIHB1YmxpYyBzdWJUaXRsZTogSDVXaXRoSWNvbk1vZGVsO1xuICBwdWJsaWMgZnVuZHNJbmZvOiBINVdpdGhJY29uTW9kZWwgPSB7XG4gICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgIGljb25GaXJzdDogdHJ1ZSxcbiAgICB0ZXh0OiAnU3VmZmljaWVudCBGdW5kcycsXG4gICAgaWNvbkNvbG9yOiAnIzAwRDU2QidcbiAgfTtcbiAgcHVibGljIGNhbmNlbENvbnRlbnQ6IENvbmZpcm1hdGlvbk1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZFJldmlldzogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGhhc2VyQ2FyZENvbmZpcm1hdGlvbjogUGhhc2VyQ2FyZE1vZGVsO1xuICBwdWJsaWMgcGF5UGVyQ2xpY2tCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JCb2FyZHM6IEludm9pY2VNb2RlbFtdID0gW107XG4gIHB1YmxpYyBqb2JDb3VudDogbnVtYmVyID0gMDtcbiAgcHVibGljIG1vZGFsVGl0bGU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXNlRGVmYXVsdFZhbHVlcygpO1xuICAgIHRoaXMudXBkYXRlTW9kYWxIZWFkZXIoKTtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcbiAgICBpZiAoc2VsZWN0ZWRKb2JCb2FyZHMgPiAwKSB7XG4gICAgICB0aGlzLnVwZGF0ZU9yZGVyU3VtbWFyeSgpO1xuICAgIH1cbiAgICB0aGlzLmNhbmNlbENvbnRlbnQgPSB7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhYmFuZG9uIHlvdXIgb3JkZXI/JyxcbiAgICAgIGNvbnRlbnQ6XG4gICAgICAgICdBbGwgc2VsZWN0aW9ucyB3aWxsIGJlIGRlbGV0ZWQgYW5kIHlvdSB3aWxsIGhhdmUgdG8gc3RhcnQgb3Zlci4nLFxuICAgICAgYnRuUHJpbWFyeTogJ0NvbnRpbnVlIE9yZGVyJyxcbiAgICAgIGJ0blNlY29uZGFyeTogJ0FiYW5kb24gT3JkZXInXG4gICAgfTtcbiAgICB0aGlzLnBoYXNlckNhcmRSZXZpZXcgPSB7XG4gICAgICBwaGFzZXJTdGF0ZTogUGhhc2Vycy5JTlRFTCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5PUkFOR0UsXG4gICAgICBleWVicm93VGV4dDogJ1JldmlldyBEYXRhJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnT25jZSB5b3UgY2xpY2sgYnV5LCB3ZSB3aWxsIHByb2Nlc3MgeW91ciBvcmRlci4nLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIGhhc0FuaW1hdGlvbjogdHJ1ZSxcbiAgICAgIGNhcmRXaWR0aFB4OiAzMDBcbiAgICB9O1xuICAgIHRoaXMucGhhc2VyQ2FyZENvbmZpcm1hdGlvbiA9IHtcbiAgICAgIHBoYXNlclN0YXRlOiBQaGFzZXJzLkhBUFBZMixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JOYW1lcy5HUkVFTixcbiAgICAgIGV5ZWJyb3dUZXh0OiAnT3JkZXIgcHJvY2Vzc2VkJyxcbiAgICAgIG1lc3NhZ2VCb2R5OiAnV29vaG9vISBZb3VyIG9yZGVyIGlzIG5vdyBjb21wbGV0ZS4nLFxuICAgICAgaWNvbjogSWNvbnMuQ09ORklSTUFUSU9OLFxuICAgICAgaGFzQW5pbWF0aW9uOiB0cnVlLFxuICAgICAgY2FyZFdpZHRoUHg6IDMwMFxuICAgIH07XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZFBvc3RpbmdCb2FyZExpc3QgPSB0aGlzLm1vZGVsLmpvYkJvYXJkcztcbiAgfVxuXG4gIGluaXRpYWxpc2VEZWZhdWx0VmFsdWVzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRQb3N0aW5nQm9hcmRMaXN0ID0gdGhpcy5tb2RlbC5qb2JCb2FyZHM7XG4gICAgdGhpcy5qb2JDb3VudCA9IHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aDtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeSA9IHtcbiAgICAgIHRpdGxlOiAnWW91ciBPcmRlcicsXG4gICAgICBpbnZvaWNlQXJlYXM6IFtdLFxuICAgICAgdG90YWw6IHt9IGFzIGFueVxuICAgIH07XG4gIH1cblxuICB1cGRhdGVNb2RhbEhlYWRlcigpIHtcbiAgICBsZXQgc3ViVGl0bGVUb29sdGlwOiBzdHJpbmcgPSAnJztcbiAgICBsZXQgam9iTnVtYmVyID0gMTtcbiAgICB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5mb3JFYWNoKGpvYiA9PiB7XG4gICAgICBzdWJUaXRsZVRvb2x0aXAgPSBzdWJUaXRsZVRvb2x0aXAgKyBgJHtqb2Iuam9iVGl0bGV9IFske2pvYi5pZH1dYDtcbiAgICAgIGlmIChqb2JOdW1iZXIgIT0gdGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RoKSB7XG4gICAgICAgIHN1YlRpdGxlVG9vbHRpcCA9IHN1YlRpdGxlVG9vbHRpcCArICc8L2JyPic7XG4gICAgICB9XG4gICAgICBqb2JOdW1iZXIrKztcbiAgICB9KTtcbiAgICB0aGlzLnN1YlRpdGxlID0ge1xuICAgICAgdG9vbHRpcEh0bWw6IHN1YlRpdGxlVG9vbHRpcCxcbiAgICAgIHRleHQ6IGAke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0gSm9ic2AsXG4gICAgICBpY29uRmlyc3Q6IGZhbHNlLFxuICAgICAgaWNvbjogSWNvbnMuSU5GTyxcbiAgICAgIHBsYWNlbWVudDogJ3JpZ2h0J1xuICAgIH07XG4gIH1cblxuICBvbktleXdvcmRTZWFyY2goa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkU2VhcmNoQ2hhbmdlLmVtaXQoa2V5d29yZCk7XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKHRleHQ6IHN0cmluZykge1xuICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KHRleHQpO1xuICB9XG5cbiAgb25DbG9zZUJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoKTtcbiAgfVxuXG4gIG9uUG9zdGluZ0JvYXJkQ2hhbmdlKHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbCkge1xuICAgIGNvbnN0IHNlbGVjdGVkSm9iQm9hcmRzID0gdGhpcy5tb2RlbC5qb2JCb2FyZHMuZmlsdGVyKGpiID0+IGpiLmlzU2VsZWN0ZWQpXG4gICAgICAubGVuZ3RoO1xuICAgIGlmIChzZWxlY3RlZEpvYkJvYXJkcyA+IDApIHtcbiAgICAgIHRoaXMudXBkYXRlT3JkZXJTdW1tYXJ5KCk7XG4gICAgfVxuICB9XG5cbiAgYWRkTGluZUl0ZW0oXG4gICAgaW52b2ljZUFyZWFJbmRleDogbnVtYmVyLFxuICAgIHNlbGVjdGVkQm9hcmQ6IFBvc3RpbmdCb2FyZHNTZWxlY3Rpb25Nb2RlbFxuICApIHtcbiAgICB0aGlzLm9yZGVyU3VtbWFyeS5pbnZvaWNlQXJlYXNbaW52b2ljZUFyZWFJbmRleF0ubGluZUl0ZW1zLnB1c2goe1xuICAgICAgdGV4dExlZnQ6IHNlbGVjdGVkQm9hcmQuYm9hcmROYW1lLFxuICAgICAgdGV4dFJpZ2h0OiBgJCR7c2VsZWN0ZWRCb2FyZC5ib2FyZFByaWNlfWBcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoaW52b2ljZUFyZWFJbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBsZXQgaW52b2ljZUFyZWFUb3RhbCA9IDA7XG4gICAgdGhpcy5vcmRlclN1bW1hcnkuaW52b2ljZUFyZWFzW2ludm9pY2VBcmVhSW5kZXhdLmxpbmVJdGVtcy5mb3JFYWNoKGxpID0+IHtcbiAgICAgIGludm9pY2VBcmVhVG90YWwgPSBpbnZvaWNlQXJlYVRvdGFsICsgK2xpLnRleHRSaWdodC5yZXBsYWNlKCckJywgJycpO1xuICAgIH0pO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnN1YlRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsICpcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH1gO1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5Lmludm9pY2VBcmVhc1tcbiAgICAgIGludm9pY2VBcmVhSW5kZXhcbiAgICBdLnRvdGFsLnRleHRSaWdodCA9IGAkJHtpbnZvaWNlQXJlYVRvdGFsfWA7XG4gICAgcmV0dXJuIGludm9pY2VBcmVhVG90YWwgKiB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG4gIH1cblxuICBjYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsOiBudW1iZXIsIGpvYkJvYXJkQXJlYVRvdGFsOiBudW1iZXIpIHtcbiAgICBjb25zdCBzZWxlY3RlZEpvYkJvYXJkcyA9IHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKVxuICAgICAgLmxlbmd0aDtcblxuICAgIGNvbnN0IGpvYlRvQWR2ZXJ0aXNlQ291bnQgPSB0aGlzLm1vZGVsLmpvYnNUb0FkdmVydGlzZS5sZW5ndGg7XG5cbiAgICBjb25zdCBvcmRlclN1bW1hcnlUZXh0ID0gYCgke3NlbGVjdGVkSm9iQm9hcmRzfSkgQm9hcmRzIHggJHtcbiAgICAgIHRoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aFxuICAgIH0gSm9icyA9ICgke3NlbGVjdGVkSm9iQm9hcmRzICogam9iVG9BZHZlcnRpc2VDb3VudH0pIEFkc2A7XG5cbiAgICB0aGlzLm9yZGVyU3VtbWFyeS50b3RhbCA9IHtcbiAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCcsXG4gICAgICB0ZXh0TGVmdDogJycsXG4gICAgICB0ZXh0UmlnaHQ6IGAkJHtwYXlQZXJDbGlja0FyZWFUb3RhbCArIGpvYkJvYXJkQXJlYVRvdGFsfWBcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlT3JkZXJTdW1tYXJ5KCkge1xuICAgIHRoaXMub3JkZXJTdW1tYXJ5ID0ge1xuICAgICAgdGl0bGU6ICdZb3VyIE9yZGVyJyxcbiAgICAgIGludm9pY2VBcmVhczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGluZUl0ZW1zOiBbXSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWJUb3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdQYXktUGVyLUNsaWNrIFNpdGVzIFN1YnRvdGFsJyxcbiAgICAgICAgICAgIHRleHRSaWdodDogYHggKCR7dGhpcy5qb2JDb3VudH0pIEpvYnMgPSAkMGBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGpvYnNUb0FkdmVydGlzZTogYHggKCR7dGhpcy5tb2RlbC5qb2JzVG9BZHZlcnRpc2UubGVuZ3RofSkgSm9icyBTZWxlY3RlZGBcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICAgICAgc3ViVG90YWw6IHtcbiAgICAgICAgICAgIHRleHRMZWZ0OiAnSm9iIEJvYXJkcyBTdWJ0b3RhbCcsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGB4ICgke3RoaXMuam9iQ291bnR9KSBKb2JzID0gJDBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgdGV4dExlZnQ6ICdEdXJhdGlvbiBKb2IgQm9hcmRzLCBTdWJ0b3RhbCBQZXIgSm9iOicsXG4gICAgICAgICAgICB0ZXh0UmlnaHQ6IGBgXG4gICAgICAgICAgfSxcbiAgICAgICAgICBqb2JzVG9BZHZlcnRpc2U6IGB4ICgke3RoaXMubW9kZWwuam9ic1RvQWR2ZXJ0aXNlLmxlbmd0aH0pIEpvYnMgU2VsZWN0ZWRgXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICB0b3RhbDoge1xuICAgICAgICB0ZXh0TGVmdDogJycsXG4gICAgICAgIHRleHRSaWdodDogJycsXG4gICAgICAgIGxhYmVsOiAnQ3VycmVudCBUb3RhbCdcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMubW9kZWwuam9iQm9hcmRzLmZvckVhY2goamIgPT4ge1xuICAgICAgaWYgKGpiLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgaWYgKGpiLmlzUGF5UGVyQ2xpY2spIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDAsIGpiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFkZExpbmVJdGVtKDEsIGpiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgcGF5UGVyQ2xpY2tBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMCk7XG4gICAgY29uc3Qgam9iQm9hcmRBcmVhVG90YWwgPSB0aGlzLmNhbGN1bGF0ZUludm9pY2VBcmVhVG90YWwoMSk7XG4gICAgdGhpcy5jYWxjdWxhdGVPcmRlclRvdGFsKHBheVBlckNsaWNrQXJlYVRvdGFsLCBqb2JCb2FyZEFyZWFUb3RhbCk7XG4gICAgaWYgKHRoaXMubW9kZWwuam9iQm9hcmRzLmZpbHRlcihqYiA9PiBqYi5pc1NlbGVjdGVkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNKb2JCb2FyZE5leHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnBvc3RpbmdCb2FyZENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xuICB9XG59XG4iLCI8c3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZSAqbmdJZj1cIiFtb2RlbC5uYXZpZ2F0aW9uLnNob3dDYW5jZWxcIj5cbiAgPHN5bXBob255LWg0XG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb24gJiYgIW1vZGVsLmlzTG9hZGluZ1wiXG4gICAgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlNlbGVjdCBZb3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPlJldmlldyB5b3UgSm9iIEFkIEJ1eXM8L3N5bXBob255LWg0XG4gID5cbiAgPHN5bXBob255LWg0ICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCIgc2Z4LW1vZGFsLXRpdGxlXG4gICAgPkNvbmZpcm1hdGlvbiBvZiB5b3VyIEpvYiBBZCBCdXlzPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1oNCAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+UHJvY2Vzc2luZyBPcmRlci4uLjwvc3ltcGhvbnktaDRcbiAgPlxuICA8c3ltcGhvbnktaDQgKm5nSWY9XCJtb2RlbC5pc0xvYWRpbmdcIiBzZngtbW9kYWwtdGl0bGVcbiAgICA+TG9hZGluZyBKb2IgQm9hcmRzLi4uPC9zeW1waG9ueS1oNFxuICA+XG4gIDxzeW1waG9ueS1pY29uXG4gICAgc2Z4LWNsb3NlLWJ1dHRvblxuICAgIFtpY29uXT1cIidzaS1jbG9zZS1tb2RhbCdcIlxuICAgIChjbGlja2VkKT1cIm9uQ2xvc2VCdXR0b25DbGljaygpXCJcbiAgPjwvc3ltcGhvbnktaWNvbj5cbiAgPHN5bXBob255LWg1LXdpdGgtaWNvbiBzZngtbW9kYWwtc3VidGl0bGUgW21vZGVsXT1cInN1YlRpdGxlXCI+XG4gIDwvc3ltcGhvbnktaDUtd2l0aC1pY29uPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBbc2hvd0hlYWRlcl09XCJ0cnVlXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gID5cbiAgICA8c3ltcGhvbnktaW5wdXQtdGV4dFxuICAgICAgc2Z4LWxlZnQtY29sLWhlYWRlclxuICAgICAgW25vTWFyZ2luXT1cInRydWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWFyY2ggQWQgQm9hcmRzJ1wiXG4gICAgICBbaWNvbl09XCInc2ktc2VhcmNoLW5ldydcIlxuICAgICAgKHRleHRDaGFuZ2UpPVwib25LZXl3b3JkU2VhcmNoKCRldmVudClcIlxuICAgID5cbiAgICA8L3N5bXBob255LWlucHV0LXRleHQ+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0LWNvbC1oZWFkZXItaW5uZXJcIiBzZngtcmlnaHQtY29sLWhlYWRlcj5cbiAgICAgIDxzeW1waG9ueS1oNS13aXRoLWljb25cbiAgICAgICAgc2Z4LXJpZ2h0LWNvbC1oZWFkZXJcbiAgICAgICAgKm5nSWY9XCJtb2RlbC5zaG93RnVuZHNcIlxuICAgICAgICBjbGFzcz1cInB1bGwtcmlnaHRcIlxuICAgICAgICBbbW9kZWxdPVwiZnVuZHNJbmZvXCJcbiAgICAgID48L3N5bXBob255LWg1LXdpdGgtaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHNmeC1sZWZ0LWNvbHVtbiBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wci0xMFwiPlxuICAgICAgPHN5bXBob255LWFkdmVydGlzZS1wb3N0aW5nYm9hcmQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgW21vZGVsXT1cIm1vZGVsLmpvYkJvYXJkc1wiXG4gICAgICAgIChwb3N0aW5nQm9hcmRDaGFuZ2UpPVwib25Qb3N0aW5nQm9hcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9zeW1waG9ueS1hZHZlcnRpc2UtcG9zdGluZ2JvYXJkLXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuXG4gICAgPHN5bXBob255LW9yZGVyLXN1bW1hcnlcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cImhlaWdodC13cmFwcGVyXCJcbiAgPlxuICAgIDxzeW1waG9ueS1vcmRlci1zdW1tYXJ5XG4gICAgICBzZngtbGVmdC1jb2x1bW5cbiAgICAgIFttb2RlbF09XCJvcmRlclN1bW1hcnlcIlxuICAgID48L3N5bXBob255LW9yZGVyLXN1bW1hcnk+XG5cbiAgICA8ZGl2XG4gICAgICBzZngtcmlnaHQtY29sdW1uXG4gICAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHBoYXNlciBjZW50ZXItaC12IGxpZ2h0LWdyZXktYmdcIlxuICAgID5cbiAgICAgIDxzeW1waG9ueS1waGFzZXItY2FyZCBbbW9kZWxdPVwicGhhc2VyQ2FyZFJldmlld1wiPjwvc3ltcGhvbnktcGhhc2VyLWNhcmQ+XG4gICAgPC9kaXY+XG4gIDwvc3ltcGhvbnktdHdvLWNvbHVtbi1ib2R5LXRlbXBsYXRlPlxuXG4gIDxzeW1waG9ueS10d28tY29sdW1uLWJvZHktdGVtcGxhdGVcbiAgICAqbmdJZj1cIiFtb2RlbC5pc0xvYWRpbmcgJiYgbW9kZWwubmF2aWdhdGlvbi5zaG93Q29uZmlybWF0aW9uXCJcbiAgICBzZngtbW9kYWwtYm9keS1hcmVhXG4gICAgY2xhc3M9XCJoZWlnaHQtd3JhcHBlclwiXG4gID5cbiAgICA8c3ltcGhvbnktb3JkZXItc3VtbWFyeVxuICAgICAgc2Z4LWxlZnQtY29sdW1uXG4gICAgICBbbW9kZWxdPVwib3JkZXJTdW1tYXJ5XCJcbiAgICA+PC9zeW1waG9ueS1vcmRlci1zdW1tYXJ5PlxuICAgIDxkaXZcbiAgICAgIHNmeC1yaWdodC1jb2x1bW5cbiAgICAgIGNsYXNzPVwicG9zdGluZy1ib2FyZHMgcGhhc2VyIGNlbnRlci1oLXYgbGlnaHQtZ3JleS1iZ1wiXG4gICAgPlxuICAgICAgPHN5bXBob255LXBoYXNlci1jYXJkXG4gICAgICAgIFttb2RlbF09XCJwaGFzZXJDYXJkQ29uZmlybWF0aW9uXCJcbiAgICAgID48L3N5bXBob255LXBoYXNlci1jYXJkPlxuICAgIDwvZGl2PlxuICA8L3N5bXBob255LXR3by1jb2x1bW4tYm9keS10ZW1wbGF0ZT5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd1Byb2Nlc3NpbmdcIlxuICAgIHNmeC1tb2RhbC1ib2R5LWFyZWFcbiAgICBjbGFzcz1cInBvc3RpbmctYm9hcmRzIHNmeC1wLTMwXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzaW5nLWNvbnRhaW5lclwiPlxuICAgICAgPHN5bXBob255LXBhcmFncmFwaFxuICAgICAgICA+PGI+U21hc2hGbHlYPC9iPiBpcyBzdWJtaXR0aW5nIHlvdXIgb3JkZXIgdG8geW91ciBzZWxlY3RlZCBqb2IgYm9hcmRzLlxuICAgICAgICBTb21lIG9yZGVycyBoYXBwZW4gaW1tZWRpYXRlbHksIHdoaWxlIG90aGVycyB0YWtlIGEgbGl0dGxlIG1vcmUgdGltZS5cbiAgICAgICAgQ2hlY2sgeW91ciBvcmRlciBzdGF0dXMgaWYgeW91IGRvbid0IHJlY2lldmUgYSBjb25maXJtYXRpb24gaW4gdGhlIG5leHRcbiAgICAgICAgMjRob3Vycy48L3N5bXBob255LXBhcmFncmFwaFxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZngtbXQtODBcIj5cbiAgICAgIDxzeW1waG9ueS1zZngtbG9hZGVyPjwvc3ltcGhvbnktc2Z4LWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1jb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmlzTG9hZGluZ1wiIHNmeC1tb2RhbC1ib2R5LWFyZWE+XG4gICAgPHN5bXBob255LXNmeC1sb2FkZXI+PC9zeW1waG9ueS1zZngtbG9hZGVyPlxuICA8L2Rpdj5cblxuICA8c3ltcGhvbnktYnV0dG9uXG4gICAgKm5nSWY9XCJtb2RlbC5uYXZpZ2F0aW9uLnNob3dKb2JCb2FyZHNTZWxlY3Rpb25cIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93Sm9iQm9hcmRzU2VsZWN0aW9uXCJcbiAgICBzZngtYnV0dG9uLXByaW1hcnlcbiAgICBbdGV4dF09XCInUmV2aWV3IE9yZGVyJ1wiXG4gICAgW2Rpc2FibGVkXT1cImlzSm9iQm9hcmROZXh0QnV0dG9uRGlzYWJsZWRcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd09yZGVyUmV2aWV3XCJcbiAgICBzZngtYnV0dG9uLWJhY2tcbiAgICBbdGV4dF09XCInRWRpdCBPcmRlcidcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tc2Vjb25kYXJ5XG4gICAgW3RleHRdPVwiJ0NhbmNlbCdcIlxuICAgIFtpc1NlY29uZGFyeV09XCJ0cnVlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbiAgPHN5bXBob255LWJ1dHRvblxuICAgICpuZ0lmPVwibW9kZWwubmF2aWdhdGlvbi5zaG93T3JkZXJSZXZpZXdcIlxuICAgIHNmeC1idXR0b24tcHJpbWFyeVxuICAgIFt0ZXh0XT1cIidCdXknXCJcbiAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtpc0ludmVyc2VdPVwidHJ1ZVwiXG4gICAgKGNsaWNrZWQpPVwib25CdXR0b25DbGljaygkZXZlbnQpXCJcbiAgPjwvc3ltcGhvbnktYnV0dG9uPlxuXG4gIDxzeW1waG9ueS1idXR0b25cbiAgICAqbmdJZj1cIm1vZGVsLm5hdmlnYXRpb24uc2hvd0NvbmZpcm1hdGlvblwiXG4gICAgc2Z4LWJ1dHRvbi1wcmltYXJ5XG4gICAgW3RleHRdPVwiJ0ZpbmlzaCAmIENsb3NlJ1wiXG4gICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICBbaXNJbnZlcnNlXT1cInRydWVcIlxuICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gID48L3N5bXBob255LWJ1dHRvbj5cbjwvc3ltcGhvbnktdHdvLWNvbHVtbi1tb2RhbC10ZW1wbGF0ZT5cbjxzeW1waG9ueS1jb25maXJtYXRpb24tbW9kYWxcbiAgKm5nSWY9XCIhbW9kZWwuaXNMb2FkaW5nICYmIG1vZGVsLm5hdmlnYXRpb24uc2hvd0NhbmNlbFwiXG4gIChidXR0b25DbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gIChjbG9zZUJ1dHRvbkNsaWNrZWQpPVwib25DbG9zZUJ1dHRvbkNsaWNrKClcIlxuICBbbW9kZWxdPVwiY2FuY2VsQ29udGVudFwiXG4+XG48L3N5bXBob255LWNvbmZpcm1hdGlvbi1tb2RhbD5cbiJdfQ==
|