master-control 0.5.8 → 0.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/annuity-calculator-radio/annuity-calculator-radio.component.mjs +3 -3
- package/esm2022/lib/annuity-premium-calculator/annuity-premium-calculator.component.mjs +3 -3
- package/esm2022/lib/pay-get-card/pay-get-card.component.mjs +3 -3
- package/fesm2022/master-control.mjs +6 -6
- package/fesm2022/master-control.mjs.map +1 -1
- package/master-control-0.5.09.tgz +0 -0
- package/package.json +1 -1
- package/master-control-0.5.08.tgz +0 -0
|
@@ -1329,7 +1329,7 @@ export class AnnuityPremiumCalculatorComponent {
|
|
|
1329
1329
|
return str ? str + ' Only' : '';
|
|
1330
1330
|
}
|
|
1331
1331
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1332
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, triggerValidation: { classPropertyName: "triggerValidation", publicName: "triggerValidation", isSignal: false, isRequired: false, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange", onGuranteedAnnuityValueChange: "onGuranteedAnnuityValueChange", onDigitBossSwitchToggle: "onDigitBossSwitchToggle", onGrowthRateOptionSelected: "onGrowthRateOptionSelected" }, viewQueries: [{ propertyName: "annuityRadioRef", first: true, predicate: AnnuityCalculatorRadioComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;border: none !important;box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12) !important;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"d-flex justify-content-center align-items-center\"\n style=\"width: 10%; display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 19px); top: -30px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\"><img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.svg\"/></span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center padding-left-0 padding-right-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n</div>\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [preSelectConfig]=\"growthRatePreSelectConfig\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background:linear-gradient(to right,#222,#444);color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}.toggle-text{margin-top:-5px!important}\n"], dependencies: [{ kind: "component", type: SelectComponent, selector: "lib-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange", "infoClick"] }, { kind: "component", type: AmountTextboxComponent, selector: "lib-amount-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: AnnuityCalculatorRadioComponent, selector: "lib-annuity-calculator-radio", inputs: ["preSelectConfig", "reactiveFormControlobject", "field"], outputs: ["change", "growthRateChange"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1332
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: AnnuityPremiumCalculatorComponent, isStandalone: true, selector: "lib-annuity-premium-calculator", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, triggerValidation: { classPropertyName: "triggerValidation", publicName: "triggerValidation", isSignal: false, isRequired: false, transformFunction: null }, premiumDetails: { classPropertyName: "premiumDetails", publicName: "premiumDetails", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onCalcualteButtonClick: "onCalcualteButtonClick", onGenerateSummaryClick: "onGenerateSummaryClick", onAnnuityPremiumChange: "onAnnuityPremiumChange", onMinimumPremiumValueChange: "onMinimumPremiumValueChange", onAutioDebitValueChange: "onAutioDebitValueChange", onGuranteedAnnuityValueChange: "onGuranteedAnnuityValueChange", onDigitBossSwitchToggle: "onDigitBossSwitchToggle", onGrowthRateOptionSelected: "onGrowthRateOptionSelected" }, viewQueries: [{ propertyName: "annuityRadioRef", first: true, predicate: AnnuityCalculatorRadioComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"card px-3\" style=\"padding: 16px;border: none !important;box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12) !important;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"d-flex justify-content-center align-items-center\"\n style=\"width: 10%; display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 19px); top: -30px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\"><img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.svg\"/></span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <!-- <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center padding-left-0 padding-right-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n</div> -->\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [preSelectConfig]=\"growthRatePreSelectConfig\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background:linear-gradient(to right,#222,#444);color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}.toggle-text{margin-top:-5px!important}\n"], dependencies: [{ kind: "component", type: SelectComponent, selector: "lib-select", inputs: ["field", "reactiveFormControlobject"], outputs: ["selectionChange", "infoClick"] }, { kind: "component", type: AmountTextboxComponent, selector: "lib-amount-textbox", inputs: ["field", "reactiveFormControlobject"], outputs: ["blur"] }, { kind: "component", type: AnnuityCalculatorRadioComponent, selector: "lib-annuity-calculator-radio", inputs: ["preSelectConfig", "reactiveFormControlobject", "field"], outputs: ["change", "growthRateChange"] }, { kind: "component", type: HrLineComponent, selector: "lib-hr-line", inputs: ["field"] }, { kind: "component", type: ToggleComponent, selector: "lib-toggle", inputs: ["field", "reactiveFormControlobject"], outputs: ["change"] }, { kind: "component", type: ButtonComponent, selector: "lib-button", inputs: ["field"] }, { kind: "component", type: IconButtonComponent, selector: "lib-icon-button", inputs: ["field"] }, { kind: "component", type: RadioComponent, selector: "lib-radio", inputs: ["reactiveFormControlobject", "field"], outputs: ["change"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1333
1333
|
}
|
|
1334
1334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityPremiumCalculatorComponent, decorators: [{
|
|
1335
1335
|
type: Component,
|
|
@@ -1346,7 +1346,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1346
1346
|
RadioComponent,
|
|
1347
1347
|
CommonModule,
|
|
1348
1348
|
FormsModule
|
|
1349
|
-
], template: "<div class=\"card px-3\" style=\"padding: 16px;border: none !important;box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12) !important;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"d-flex justify-content-center align-items-center\"\n style=\"width: 10%; display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 19px); top: -30px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\"><img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.svg\"/></span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center padding-left-0 padding-right-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n</div>\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [preSelectConfig]=\"growthRatePreSelectConfig\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background:linear-gradient(to right,#222,#444);color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}.toggle-text{margin-top:-5px!important}\n"] }]
|
|
1349
|
+
], template: "<div class=\"card px-3\" style=\"padding: 16px;border: none !important;box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.12) !important;\">\n <div class=\"row\">\n <h4 class=\"card-main-title\"><span style=\"margin-right: 12px;\"><img\n src=\"https://cdn.godigit.com/retail-life/calculator.svg\" alt=\"annuity calculator\"></span>Here's Your Premium to Annuity Calculator</h4>\n </div>\n <!-- <div class=\"row\"> -->\n <div class=\"card pb-4 px-4\" style=\"border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;\">\n <!-- <div class=\"custom-grid-template\">\n\n </div> -->\n\n <div class=\"row mx-auto\" style=\"transform: translate(0px, -58%);\">\n <lib-toggle class=\"col-auto\" [field]=\"annuityPremiumToggleObj\" />\n </div>\n <!-- </div> -->\n <div class=\" col-12\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\n\">\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"annuityPremiumObj\" [(ngModel)]=\"annuityPremium['textValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div class=\"error-message\" *ngIf=\"validations.ispremiumEntry\">\n Please enter Premium amount\n </div>\n <div class=\"annuity-mat-hint\" *ngIf=\"annuityPremiumObj?.configData?.numbertoword\">{{annuityPremiumObj?.configData?.numbertoword}}</div>\n\n <lib-select [field]=\"annuitypayoutObj\" [(ngModel)]=\"annuityPremium['selectValue']\"\n (ngModelChange)=\"onAnnuityPremiumValueChange($event)\" />\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div>\n <div class=\"d-flex justify-content-center align-items-center\"\n style=\"width: 10%; display: flex; align-items: flex-end; transform: translate(0px, 6px); position: relative; height: auto; min-height: 100%;\">\n <!-- Top line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 19px); top: -30px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <!-- Bottom line -->\n <div style=\"position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: calc(50% + 24px); bottom: -37px; background: rgba(221, 221, 221, 1); pointer-events: none;\"></div>\n <lib-icon-button [field]=\"interchangeButtonObj\" />\n </div>\n <div class=\"d-flex flex-column p-0 gap-2\" style=\"width: 45%;\">\n <lib-amount-textbox [field]=\"minimumAnnuityPayoutObj\" [(ngModel)]=\"minumumAnnuityPayout['textValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" *ngIf=\"minimumAnnuityPayoutObj.isVisible;\"/>\n <div class=\"annuity-mat-hint\" *ngIf=\"minimumAnnuityPayoutObj.isVisible && minimumAnnuityPayoutObj?.configData?.numbertoword\">{{minimumAnnuityPayoutObj?.configData?.numbertoword}}</div>\n <lib-select [field]=\"minimumAnnuityPayoutfrequencyObj\" [(ngModel)]=\"minumumAnnuityPayout['selectValue']\"\n (ngModelChange)=\"onMinPremiumValueChange($event)\" />\n <div class=\"minium-annuity mt-3\" *ngIf=\"guranteedannuityObj['isVisible']\">\n <div class=\"annuity-msg w-100 px-2 py-1\">\n Value based on assumed 10% annual growth of Nifty 50 index.\n </div>\n <div class=\"w-100 px-2 py-1\">\n <lib-radio [field]=\"guranteedannuityObj\" [(ngModel)]=\"selectedGuranteedAnnuity\"\n (ngModelChange)=\"onGuranteedAnnuityChange($event)\" />\n </div>\n <div class=\"annuity-msg-1 d-flex align-items-center flex-nowrap w-100 px-2 py-1\">\n <img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.png\"\n style=\"max-width: 24px;\" />\n <span>Potential for higher returns by lowering the minimum guaranteed annuity rate.</span>\n </div>\n </div>\n\n </div>\n <!-- <ng-template #emptyRightCol>\n <div class=\"col-5 col-lg-5 p-0\"></div>\n </ng-template> -->\n </div>\n <!-- <div class=\"vertical-line\"></div> -->\n <!-- <div class=\"custom-grid-template\">\n <div>\n <lib-toggle [field]=\"enableAutoDebitObj\" [(ngModel)]=\"isEnableAutoDebit\"\n (ngModelChange)=\"onEnableAutoDebitValueChange($event)\" />\n </div>\n </div> -->\n\n </div>\n\n\n <div class=\"card py-3 mb-4 border-top-0\" style=\"border-top-left-radius: 0px; border-top-right-radius: 0px;\">\n <div class=\"mx-4\">\n <div class=\"digit-boss-banner\" *ngIf=\"digitBossSwitch?.isVisible\">\n <lib-toggle [field]=\"digitBossToggleConfig\" [(ngModel)]=\"this.digitBossSwitch.isSwitchOn\" (ngModelChange)=\"onDigitBossSwitchChange($event)\"></lib-toggle>\n <div class=\"digit-boss-text\">\n {{this.digitBossSwitch?.prefixText}}\n <span class=\"highlight\">{{this.digitBossSwitch?.highlightText}}</span>\n {{this.digitBossSwitch?.subText}}\n <span class=\"arrow-icon\"><img src=\"https://cdn.godigit.com/digitPlusAssets/streamline_graph-arrow-increase-remix.svg\"/></span>\n </div>\n </div>\n <lib-button [field]=\"recalculateButton\" (click)=\"calculateButtonClicked()\" />\n\n <!-- //digit boss updated design -->\n <!-- <div class=\"col-12 mt-3\" style=\"\n justify-content: center;\n flex-direction: row;\n display: flex;\" *ngIf=\"!minimumAnnuityPayoutObj.isVisible\">\n <div class=\"col-12 col-lg-12 d-flex flex-column justify-content-center padding-left-0 padding-right-0\">\n <div class=\"realistic-picture-card\">\n <div class=\"realistic-picture-header\">\n <img *ngIf=\"digitBossSwitch?.icon\" [src]=\"digitBossSwitch?.icon\" style=\"width:12px;height:12px;object-fit:contain;flex-shrink:0;\" />\n <span class=\"realistic-picture-label\">Realistic Picture:</span>\n </div>\n <span class=\"realistic-picture-text\">{{digitBossSwitch?.digitBossText}} <span class=\"realistic-picture-highlight\">{{digitBossSwitch?.digitBossValue}}</span></span>\n </div>\n </div>\n</div> -->\n\n <div class=\"card mb-0 mt-2\"\n style=\"align-items: center;border:none;font-size: 8px;font-weight: 400;color:rgba(68, 68, 68, 1) \"\n >\n <div class=\"mx-4\" *ngIf=\"recalculateSubTextObj?.isVisible\"><img src=\"https://cdn.godigit.com/digitPlusAssets/Group+1010106336.png\"\n style=\"margin-left: 3px;\" />\n <span style=\"margin-left: 6px;\">Every time you make a change above, please click recalculate.</span>\n </div>\n </div>\n </div>\n <div\n style=\"display: flex;align-items: center;justify-content: center;border:none;font-size: 10px;font-weight: 700;height:32px;background-color: rgba(255, 250, 235, 1);gap: 8px;margin: 4px;\"\n *ngIf=\"annuityTableCalculator?.isVisible\">\n <img src=\"https://cdn.godigit.com/retail-life/calculator.svg\" />\n Minimum Guaranteed Payout(A) + Variable Payout(B) = Total Payout(C)\n </div>\n <!-- annuity calculator table -->\n <div class=\"annuity-tables-main-container\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <div class=\"d-flex flex-row annuity-tables-container\">\n <!-- Table 1 -->\n <div class=\"annuity-calculator-table1\">\n <div class=\"table-header annuitytable1-header\">Minimum Guaranteed Annuity Payout(A)</div>\n <div class=\"table-body\">\n <div class=\"table-cell\"><span class=\"rupee-icon\">\u20B9</span><span\n style=\"font-size:12px; color: rgba(68, 68, 68, 1);\">\n <{{annuityTableCalculator.annuitycalculatorTable1val1}}>\n </span></div>\n <button class=\"annuitytable-button\">{{annuityTableCalculator.annuitycalculatorTable1val2}}</button>\n </div>\n </div>\n\n <div class=\"operator-symbol\">+</div>\n\n <!-- Table 2 -->\n <div class=\"annuity-calculator-table2\">\n <div class=\"table-header annuitytable1-header\">Assume growth of BenchMark index</div>\n <div class=\"table-body\">\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val1}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val2}}</div>\n <div class=\"table-row\">@{{annuityTableCalculator.annuitycalculatorTable2val3}}</div>\n </div>\n </div>\n\n <!-- Table 3 -->\n <div class=\"annuity-calculator-table3\">\n <div class=\"table-header annuitytable1-header\">1st Variable Annuity Payout(B)</div>\n <div class=\"table-body\">\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val1}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val2}}</div>\n <div class=\"table-row\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable3val3}}</div>\n </div>\n </div>\n\n <div class=\"operator-symbol\">=</div>\n\n <!-- Table 4 -->\n <div class=\"annuity-calculator-table4\">\n <div class=\"table-header annuitytable4-header\">1st TotalPayout/Frequency(C)</div>\n <div class=\"table-body\">\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val1}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val2}}</div>\n <div class=\"table-row annuitytable4-bg\"><span\n class=\"rupee-icon\">\u20B9</span>{{annuityTableCalculator.annuitycalculatorTable4val3}}</div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"annuity-calculator-paragraph\" *ngIf=\"annuityTableCalculator?.isVisible\">\n <span class=\"annuity-calculator-paragraph1\">This is an assumed growth percentage for the index basis which the\n values in columns B and C are calculated.</span> Actual growth will depend on index performance and may affect\n your variable annuity payout and total annuity payout.\n </div>\n\n <div *ngIf=\"growthRateObj.isVisible\">\n <lib-annuity-calculator-radio\n [field]=\"growthRateObj\"\n [preSelectConfig]=\"growthRatePreSelectConfig\"\n [(ngModel)]=\"growthRateOption\"\n (change)=\"onGrowthRateRadioChange($event)\"\n (growthRateChange)=\"onGrowthRateCardChange($event)\" />\n </div>\n\n <div *ngIf=\"hrLineObj.isVisible\" class=\"generateSummary\">\n <lib-hr-line [field]=\"hrLineObj\" />\n </div>\n\n <div *ngIf=\"generateSummaryObj.isVisible\" class=\"generateSummary\">\n <lib-button [field]=\"generateSummaryObj\" (click)=\"generateSummaryClicked()\" />\n </div>\n </div>\n", styles: [".card-main-title{font-size:16px;font-family:Mulish!important;letter-spacing:0px!important;font-weight:800;line-height:24px;padding-bottom:16px}.col-5-5{flex:0 0 auto;max-width:44.16666667%}.custom-grid-template{display:grid;grid-template-columns:4fr .5fr 4fr;align-items:end}.vertical-line{border-left:2px solid #ccc;height:100px;margin:0 10px}.error-message{font-size:12px;font-weight:500;color:#e00;letter-spacing:0px}.annuity-msg{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e5f0fa;height:fit-content}.annuity-msg-1{padding:4px 6px;margin-top:8px;font-size:10px;font-weight:400;color:#444;background-color:#e6f7f3;height:fit-content;flex-wrap:nowrap!important}.annuity-tables-main-container{border:2px solid rgba(221,221,221,1);border-radius:8px;display:flex}.annuity-tables-container{display:flex;align-items:stretch;gap:0;width:100%}.annuity-calculator-table1,.annuity-calculator-table2,.annuity-calculator-table3,.annuity-calculator-table4{display:flex;flex-direction:column;height:100%;flex:1;color:#444;font-weight:400;font-size:10px}.annuity-calculator-table1{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table2{border-left:1px solid rgba(221,221,221,1);border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table3{border-right:1px solid rgba(221,221,221,1)}.annuity-calculator-table4{border-left:1px solid rgba(221,221,221,1)}.table-header{padding:12px;font-size:10px;font-weight:700;text-align:center;border-bottom:1px solid rgba(221,221,221,1);height:60px;display:flex;align-items:center;justify-content:center;word-wrap:break-word;word-break:break-word;hyphens:auto}.annuitytable1-header{background-color:#ececec;color:#444}.annuitytable4-header{background-color:#fb03;color:#444}.table-body{display:flex;flex-direction:column;flex:1}.table-cell{padding:12px;text-align:center;font-size:16px;font-weight:600;flex:1;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px}.annuity-mat-hint{font-size:8px;text-align:start;font-weight:400;color:#444;letter-spacing:0px}.table-row{padding:12px;text-align:center;font-size:14px;font-weight:500;background-color:#fff;border-bottom:1px solid #999;flex:1;display:flex;align-items:center;justify-content:center}.table-row:last-child{border-bottom:none}.annuitytable4-bg{background-color:#e6f7f3!important;color:#444}.annuitytable-button{background-color:#ececec;border:none;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;cursor:pointer;margin-top:0;width:auto;min-width:30%;max-width:90%;height:24px;display:block;margin-left:auto;margin-right:auto;position:relative;bottom:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rupee-icon{font-weight:700;margin-right:2px;font-size:12px;color:#444}.operator-symbol{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0 16px;color:#f90}.annuity-calculator-paragraph{padding:16px 8px 4px;font-size:10px;margin:0 0 20px auto;width:73%;font-weight:400;color:#444;background-color:#ebf1ff}.annuity-calculator-paragraph1{font-weight:700;font-size:10px}.minium-annuity{display:flex;flex-direction:column}@media (max-width: 991px) and (min-width: 768px){.table-header{padding:8px 4px;font-size:9px;line-height:1.1}}@media (max-width: 767px) and (min-width: 576px){.table-header{padding:10px 6px;font-size:9px}}@media (max-width: 575px){.table-header{padding:8px 4px;font-size:8px}}@media (max-width: 575px){.annuity-msg{font-size:10px;line-height:1;height:fit-content}}@media (max-width: 575px){.annuity-msg-1{font-size:10px;line-height:1;flex-wrap:nowrap!important;height:fit-content}.annuity-msg-1 .img{width:4px;height:4px}}@media (max-width: 991px) and (min-width: 768px){.annuity-msg,.annuity-msg-1{font-size:9px;line-height:1.1;height:fit-content}}@media (max-width: 767px) and (min-width: 576px){.annuity-msg,.annuity-msg-1{font-size:10px;line-height:1.1;height:fit-content}}.digit-boss-banner{background:linear-gradient(to right,#222,#444);color:#fff;display:flex;align-items:center;padding:8px 16px;border-radius:4px;margin-bottom:16px;gap:8px;font-size:12px;min-height:16px;opacity:1;transform:rotate(0)}.digit-boss-banner ::ng-deep .toggle-background{margin-top:0!important;padding:0!important;background-color:transparent!important;border:none!important}.digit-boss-banner ::ng-deep .toggle_switch{margin-top:0!important;gap:0!important}.digit-boss-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#fb0;font-weight:700}.arrow-icon{color:#fb0;margin-left:4px;font-size:14px}.generateSummary{margin-right:.4rem;margin-left:.4rem}.realistic-picture-card{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px;background-color:#cce0f5;border-radius:4px;padding:4px 6px;font-size:8px;color:#06c;line-height:1.5;box-sizing:border-box}.realistic-picture-header{display:flex;align-items:center;gap:4px}.realistic-picture-content{display:flex;flex-direction:column;gap:2px}.realistic-picture-label{font-weight:700;font-size:8px;line-height:8px;color:#06c}.realistic-picture-text{font-weight:600;font-size:10px;line-height:14px;color:#222}.realistic-picture-highlight{font-weight:800;font-size:10px;line-height:14px;color:#0048ad}.toggle-text{margin-top:-5px!important}\n"] }]
|
|
1350
1350
|
}], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { triggerValidation: [{
|
|
1351
1351
|
type: Input
|
|
1352
1352
|
}], annuityRadioRef: [{
|
|
@@ -1369,4 +1369,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1369
1369
|
}], onGrowthRateOptionSelected: [{
|
|
1370
1370
|
type: Output
|
|
1371
1371
|
}] } });
|
|
1372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFFakgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFB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QyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25JLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BKLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsQyxDQUFDO3dHQTUyQ1UsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsKy9CQUlqQywrQkFBK0IscUVDeEM1QyxtaldBNE1BLG11S0R2TEksZUFBZSxrSkFDZixzQkFBc0Isa0lBQ3RCLCtCQUErQixxTEFDL0IsZUFBZSwyRUFDZixlQUFlLDRIQUVmLGVBQWUsMEVBQ2YsbUJBQW1CLCtFQUNuQixjQUFjLDBIQUNkLFlBQVksa0lBQ1osV0FBVzs7NEZBS0YsaUNBQWlDO2tCQXBCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3FCQUNaO3lGQU9RLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDc0MsZUFBZTtzQkFBMUQsU0FBUzt1QkFBQywrQkFBK0I7Z0JBc0JoQyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdFRleHRib3hDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtdGV4dGJveC9zZWxlY3QtdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHJMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vaHItbGluZS9oci1saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW1vdW50VGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uL2Ftb3VudC10ZXh0Ym94L2Ftb3VudC10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBBbW91bnRUZXh0Ym94Q29tcG9uZW50LFxuICAgIEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQsXG4gICAgSHJMaW5lQ29tcG9uZW50LFxuICAgIFRvZ2dsZUNvbXBvbmVudCxcbiAgICBTZWxlY3RUZXh0Ym94Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFubnVpdHlQcmVtaXVtQ2FsY3VsYXRvckNvbXBvbmVudCB7XG4gICAgcmVjYWxjdWxhdGVTdWJUZXh0T2JqOiBhbnkgPSB7IGlzVmlzaWJsZTogdHJ1ZSB9O1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBASW5wdXQoKSB0cmlnZ2VyVmFsaWRhdGlvbj86IFN1YmplY3Q8dm9pZD47XG4gIEBWaWV3Q2hpbGQoQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCkgYW5udWl0eVJhZGlvUmVmITogQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudDtcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xuICBhbm51aXR5UHJlbWl1bSA6IGFueSA9IHtcbiAgICB0ZXh0VmFsdWUgOiAnJyxcbiAgICBzZWxlY3RWYWx1ZTogJydcbiAgfTtcbiAgbWludW11bUFubnVpdHlQYXlvdXQgOiBhbnkgPSB7XG4gICAgdGV4dFZhbHVlIDogJycsXG4gICAgc2VsZWN0VmFsdWU6ICcnXG4gIH07XG5cbiAgZ3Jvd3RoUmF0ZU9wdGlvbjogYW55ID17XG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgXCJyYWRpb09wdGlvbnNcIjpbXSxcbiAgICBcImNvbmZpZ0RhdGFcIjoge1xuICAgICAgXCJzZWxlY3RlZENhcmRWYWx1ZVwiOiBudWxsLFxuICAgICAgXCJzZWxlY3RWYWx1ZVwiOiBudWxsLFxuICAgICAgIFwicGF5Z2V0SW5mb01lc3NhZ2VcIjogbnVsbCxcbiAgICAgICBcImluZm9NZXNzYWdlXCI6IG51bGwsXG4gICAgICAgIFwiY2FyZHNWYWx1ZVwiOiBbXVxuICAgIH1cbiAgfVxuICBAT3V0cHV0KCkgb25DYWxjdWFsdGVCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25HZW5lcmF0ZVN1bW1hcnlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Bbm51aXR5UHJlbWl1bUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25NaW5pbXVtUHJlbWl1bVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkF1dGlvRGViaXRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25HdXJhbnRlZWRBbm51aXR5VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRGlnaXRCb3NzU3dpdGNoVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICB2YWxpZGF0aW9ucyA6IGFueSA9IHtcbiAgICBpc3ByZW1pdW1FbnRyeSA6IGZhbHNlXG4gIH1cbiAgaXNFbmFibGVBdXRvRGViaXQgOiBhbnkgPSBmYWxzZTtcbiAgc2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5OiBhbnkgPSBudWxsO1xuICBhbm51aXR5UHJlbWl1bVRvZ2dsZU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5UHJlbWl1bVRvZ2dsZScsXG4gICAgbGFiZWw6ICdFbnRlciBBbm51aXR5JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF90b2dnbGVfYW5udWl0eVByZW1pdW1Ub2dnbGVfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IHRydWUsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiAxNTAsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IG51bGwsXG4gICAgY3NzQ2xhc3M6XG4gICAgICAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBteC1hdXRvIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlcicsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxuICAgICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnOTk5cHgnLFxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogJyNFQ0VDRUMnLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX3RvZ2dsZV9hbm51aXR5UHJlbWl1bVRvZ2dsZV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGxlZnRMYWJlbDogJ0VudGVyIFByZW1pdW0nLFxuICAgIH0sXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcbiAgfTtcblxuICBhbm51aXR5VGFibGVDYWxjdWxhdG9yIDphbnkgPSB7XG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDFcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMlwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsM1wiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsM1wiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsM1wiOiBcIlwiXG5cblxuICB9O1xuXG4gIGRpZ2l0Qm9zc1N3aXRjaCA6IGFueSA9IHtcbiAgICBpc1Zpc2libGUgOiBmYWxzZSxcbiAgICBpc1N3aXRjaE9uOiBmYWxzZSxcbiAgICBpY29uOiAnJyxcbiAgICBkaWdpdEJvc3NUZXh0OiAnJyxcbiAgICBkaWdpdEJvc3NWYWx1ZTogJydcbiAgfVxuXG4gIGRpZ2l0Qm9zc1RvZ2dsZUNvbmZpZzogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdkaWdpdEJvc3NUb2dnbGUnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGxlZnRMYWJlbDogJydcbiAgICB9LFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGJvcmRlckNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgICBib3JkZXJXaWR0aDogJzBweCdcbiAgICB9XG4gIH07XG5cbiAgb25EaWdpdEJvc3NTd2l0Y2hDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIC8vIGlmKHRoaXMucHJlbWl1bURldGFpbHMoKSAmJiB0aGlzLnByZW1pdW1EZXRhaWxzKCkuZGlnaXRCb3NzU3dpdGNoKXtcbiAgICAgICB0aGlzLmRpZ2l0Qm9zc1N3aXRjaC5pc1N3aXRjaE9uID0gZXZlbnQ7XG4gICAgICAgdGhpcy5vbkRpZ2l0Qm9zc1N3aXRjaFRvZ2dsZS5lbWl0KGV2ZW50KTtcbiAgICAvLyB9XG4gIH1cblxuICBhbm51aXR5UHJlbWl1bU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfYW5udWl0eVByZW1pdW1fVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5UHJlbWl1bScsXG4gICAgbGFiZWw6ICdQcmVtaXVtJyxcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyJyxcbiAgICBtZXRhSWQ6ICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X2FubnVpdHlQcmVtaXVtX1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdFbnRlciBQcmVtaXVtJyxcbiAgICAgIG1pbkxlbmd0aDogNCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IDEwLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcbiAgICB9LFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcbiAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXG4gICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBwci0wIG10LTUgcHQtMicsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxuICAgICAgaXNBbGxvd051bWJlcnNJblRleHRGaWVsZHM6IHRydWUsXG4gICAgICBoZWxwZXJUZXh0OiAnJyxcbiAgICAgIG51bWJlcnRvd29yZDogJydcbiAgICB9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgfTtcblxuICBtaW5pbXVtQW5udWl0eVBheW91dE9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnIzk5OTk5OScsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDpcbiAgICAgICAgJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgZmllbGROYW1lOiAnbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcbiAgICBsYWJlbDogJ0FubnVpdHknLFxuICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICBtZXRhSWQ6ICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X21pbmltdW1HdWFyYW50ZWVkQW5udWl0eVBheW91dF9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdFbnRlciBBbm51aXR5IFBheW91dCcsXG4gICAgICBtaW5MZW5ndGg6IDQsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiAxMCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6IG51bGwsXG4gICAgfSxcbiAgICBvcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgIGxhYmVsOiAnTW9udGhseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ09uZSBUaW1lJyxcbiAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXG4gICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICBsYWJlbDogJ0hhbGYgWWVhcmx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnWWVhcmx5JyxcbiAgICAgICAgbGFiZWw6ICdZZWFybHknLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNzc0NsYXNzOlxuICAgICAgJyBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgcHktMCBwbC0zIG10LTEgcHItMCBtaW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXQnLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGlzQ29tYVNlcGVyYXRlZDogdHJ1ZSxcbiAgICAgIGlzQWxsb3dOdW1iZXJzSW5UZXh0RmllbGRzOiB0cnVlLFxuICAgICAgaGVscGVyVGV4dDogJycsXG4gICAgICBudW1iZXJ0b3dvcmQ6ICcnXG4gICAgfSxcbiAgICBtZXRhRGF0YU9iajogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBpc01hc3RlckNvbnRyb2w6IGZhbHNlLFxuICAgIGNvbnRyb2xUeXBlOiAnYW1vdW50VGV4dGJveCcsXG4gIH07XG5cbiAgZW5hYmxlQXV0b0RlYml0T2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgIGZpZWxkTmFtZTogJ2F1dG9EZWJpdCcsXG4gICAgbGFiZWw6ICdFbmFibGUgQXV0by1QYXkgdG8gZ2V0IGFkZGl0aW9uYWwgYmVuZWZpdHMnLFxuICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9DVFJMX3RvZ2dsZV9hdXRvRGViaXRfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczogJ2NvbC1zbS0xMiBjb2wtbWQtNSBjb2wtbGctNSBjb2wteGwtNSBtdC00IGF1dG9QYXknLFxuICAgIHZhbHVlOiBmYWxzZSxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgYm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBib3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXG4gICAgICBiYWNrZ3JvdW5kOiAnI0U2RjdGMycsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0NPTV9HRU5fQ1RSTF90b2dnbGVfbWFpbGluZ0FkZHJlc3NUb2dnbGVfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIHJlY2FsY3VsYXRlQnV0dG9uOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICdidXR0b24nLFxuICAgIGZpZWxkTmFtZTogJ2NhbGN1bGF0ZUFubnVpdHlQYXlvdXQnLFxuICAgIGxhYmVsOiAnQ2FsY3VsYXRlIEFubnVpdHkgUGF5b3V0JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fY2FsY3VsYXRlQW5udWl0eVBheW91dF9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBudWxsLFxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBtdC0zJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXG4gICAgICBjb2xvcjogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2NhbGN1bGF0ZUFubnVpdHlQYXlvdXRfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGludGVyY2hhbmdlQnV0dG9uT2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RERERERCcsXG4gICAgICBib3JkZXJXaWR0aDogJzBweCcsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgZm9udFNpemU6IG51bGwsXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9udEZhbWlseTogbnVsbCxcbiAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgYmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiBudWxsLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcyNnB4JyxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlJbnRlckNoYW5nZScsXG4gICAgbGFiZWw6ICdBbm51aXR5IEludGVyY2hhbmdlIEJ1dHRvbicsXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXG4gICAgbWV0YUlkOiAnQUxMX0NPTV9HRU5fTUNUUkxfZG93bmxvYWRJY29uQnV0dG9uX2FubnVpdHlJbnRlckNoYW5nZV9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogW10sXG4gICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6XG4gICAgICAnaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL1RyYW5zaXRpb24td2l0aC1ib3JkZXItaWNvbi5zdmcnLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogdHJ1ZSxcbiAgICBjb250cm9sVHlwZTogJ2Rvd25sb2FkSWNvbkJ1dHRvbicsXG4gIH07XG5cbiAgZ2VuZXJhdGVTdW1tYXJ5T2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICdidXR0b24nLFxuICAgIGZpZWxkTmFtZTogJ2dlbmVyYXRlU3VtbWFyeScsXG4gICAgbGFiZWw6ICdHZW5lcmF0ZSBTdW1tYXJ5JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiB0cnVlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXktMSBtdC0zJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXG4gICAgICBjb2xvcjogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2dlbmVyYXRlU3VtbWFyeV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXG4gIH07XG5cbiAgZ3VyYW50ZWVkYW5udWl0eU9iajogYW55PXtcbiAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcbiAgICAgICAgICAgICAgICBcImZpZWxkTmFtZVwiOiBcImd1cmFudGVlZEFubnVpdHlhZ2VcIixcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0ICVcIixcbiAgICAgICAgICAgICAgICBcInBsYWNlSG9sZGVyXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJMSV9EUF9EUF9DVFJMX3JhZGlvX2FubnVpdHlUeXBlX1YxXCIsXG4gICAgICAgICAgICAgICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgICAgICAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiaXNSZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogXCJUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiLFxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogMTUwLFxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJvcHRpb25zXCI6IFtdLFxuICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogXCIgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIGFubnVpdHlUeXBlXCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgIFwic3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IFwiNDAwXCIsXG4gICAgICAgICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogXCJNdWxpc2hcIixcbiAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImJhY2tncm91bmRcIjogXCIjRkZGRkZGXCIsXG4gICAgICAgICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiNDVweFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBcIkxJX0RQX0RQX0NUUkxfcmFkaW9fYW5udWl0eVR5cGVfVjFcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMzJweFwiLFxuICAgICAgICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1pbldpZHRoXCI6IFwiNDVweFwiLFxuICAgICAgICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbHVtbkluZGV4XCI6IDAsXG4gICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxuICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlc1wiOiBudWxsXG4gIH07XG5cbiAgZ3Jvd3RoUmF0ZU9iajogYW55ID0ge1xuICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcbiAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250U2l6ZVwiOiBcIjE2cHhcIixcbiAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBcIjQwMFwiLFxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IFwiTXVsaXNoXCIsXG4gICAgICAgICAgICBcImNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IFwiI0ZGRkZGRlwiLFxuICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXG4gICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogZmFsc2UsXG4gICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBcImZpZWxkTmFtZVwiOiBcImFubnVpdHlHcm93dGhSYXRlT3B0aW9uXCIsXG4gICAgICAgIFwibGFiZWxcIjogXCJTZWxlY3QgdGhlIEN1c3RvbWVyJ3MgUHJlZmVycmVkIFZhcmlhYmxlIEFubnVpdHkgTGV2ZWwgKEJhc2VkIG9uIFJpc2sgQXBwZXRpdGUpXCIsXG4gICAgICAgIFwicGxhY2VIb2xkZXJcIjogbnVsbCxcbiAgICAgICAgXCJtZXRhSWRcIjogbnVsbCxcbiAgICAgICAgXCJpc1Zpc2libGVcIjogdHJ1ZSxcbiAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogZmFsc2UsXG4gICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgXCJvcHRpb25zXCI6IFtdLFxuICAgICAgICBcImNzc0NsYXNzXCI6IFwiY29sLXNtLTEyIGNvbC1tZC01IGNvbC1sZy01IGNvbC14bC01XCIsXG4gICAgICAgIFwidmFsdWVcIjogbnVsbCxcbiAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxuICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgIFwiY29uZmlnRGF0YVwiOiB7XG4gICAgICAgICAgXCJzZWxlY3RWYWx1ZVwiOiBudWxsLFxuICAgICAgICAgIFwiY2FyZHNWYWx1ZVwiOltdLFxuICAgICAgICAgIFwiaXNTaG93Q2FyZFwiOiB0cnVlLFxuICAgICAgICAgIFwiaXNTaG93UmFkaW9PcHRpb25cIjogdHJ1ZSxcbiAgICAgICAgICBcInN1YkxhYmVsXCI6IFwiSWxsdXN0cmF0aXZlIFJldHVybnMgaWYgTmlmdHkgNTAgZ3Jvd3MgYXQ6XCIsXG4gICAgICAgICAgXCJpbmZvTWVzc2FnZVwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YURhdGFPYmpcIjogbnVsbCxcbiAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICBcImlzTWFzdGVyQ29udHJvbFwiOiBmYWxzZSxcbiAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcImFubnVpdHlHcm93dGhSYXRlT3B0aW9uXCJcbiAgfTtcblxuICBockxpbmVPYmo6IGFueSA9IHtcbiAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xuICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udFNpemVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IG51bGwsXG4gICAgICAgICAgICBcImNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImJhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY2FyZXRDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJudWRnZURpc3BsYXlJbWFnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwid2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYWRkaW5nXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1hcmdpblwiOiBudWxsLFxuICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxuICAgICAgICAgICAgXCJjb250cm9sTWV0YUlkXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlclN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICBcImhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heFdpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImNzc0NsYXNzXCI6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJockxpbmVcIixcbiAgICAgICAgXCJsYWJlbFwiOiBcIkhvcml6b250YWwgTGluZVwiLFxuICAgICAgICBcInBsYWNlSG9sZGVyXCI6IG51bGwsXG4gICAgICAgIFwibWV0YUlkXCI6IFwiQUxMX0NPTV9HRU5fTUNUUkxfaHJMaW5lX2hyTGluZV9WMVwiLFxuICAgICAgICBcImlzVmlzaWJsZVwiOiBmYWxzZSxcbiAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogZmFsc2UsXG4gICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlRoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5XCIsXG4gICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm9wdGlvbnNcIjogW10sXG4gICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbCxcbiAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxuICAgICAgICBcIm1ldGFEYXRhT2JqXCI6IG51bGwsXG4gICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgXCJpc01hc3RlckNvbnRyb2xcIjogdHJ1ZSxcbiAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcImhyTGluZVwiXG4gICAgfTtcblxuXG4gIGFubnVpdHlwYXlvdXRPYmo6IGFueT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJzZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJhbm51aXR5UGF5b3V0T3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJQcmVtaXVtIFBheW1lbnQgRnJlcXVlbmN5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX3NlbGVjdF9hbm51aXR5UGF5b3V0T3B0aW9uX1YxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlBsZWFzZSBzZWxlY3QgTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IFwiIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBtdC00IHByLTAgcHQtMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9udFNpemVcIjogXCIxMnB4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9udEZhbWlseVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBcIkFMTF9DT01fR0VOX0NUUkxfbXVsdGlwbGVTZWxlY3Rfc291cmNlT2ZGdW5kRm9yUHJlbWl1bV9WMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJTdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heEhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sdW1uSW5kZXhcIjogMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN1YlRleHRcIjogXCJEaXNjb3VudCAgYXZhaWxhYmxlIG9uIHNvbWUgb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlc1wiOiBudWxsXG5cbiAgfTtcblxuXG4gIG1pbmltdW1Bbm51aXR5UGF5b3V0ZnJlcXVlbmN5T2JqOiBhbnk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwic2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZmllbGROYW1lXCI6IFwiYW5udWl0eVBheW91dEZyZXF1ZW5jeU9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiQW5udWl0eSBQYXlvdXQgRnJlcXVlbmN5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX3NlbGVjdF9hbm51aXR5UGF5b3V0RnJlcXVlbmN5T3B0aW9uX1YxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlBsZWFzZSBzZWxlY3QgTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBcIiBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgbXQtNCBwci0wIHB0LTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX211bHRpcGxlU2VsZWN0X3NvdXJjZU9mRnVuZEZvclByZW1pdW1fVjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbHVtbkluZGV4XCI6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29uZmlnRGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWJUZXh0XCI6IFwiRGlzY291bnQgIGF2YWlsYWJsZSBvbiBzb21lIG9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZXNcIjogbnVsbFxuXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlclNlcnZpY2UgOiBNYXN0ZXJDb250cm9sU2VydmljZSkge31cblxuICAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudHJpZ2dlclZhbGlkYXRpb24pIHtcbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIChjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXS5jdXJyZW50VmFsdWUpICkge1xuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5yZWNhbGN1bGF0ZVN1YlRleHQpKSB7XG4gICAgICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LnJlY2FsY3VsYXRlU3ViVGV4dFsnaXNWaXNpYmxlJ10pKSB7XG5cbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVN1YlRleHRPYmpbJ2lzVmlzaWJsZSddID10aGlzLnByZW1pdW1EZXRhaWxzKCkucmVjYWxjdWxhdGVTdWJUZXh0Wydpc1Zpc2libGUnXSA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgfVxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSkpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW0gPSB7XG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3RleHRWYWx1ZSddLFxuICAgICAgICAgIHNlbGVjdFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3NlbGVjdFZhbHVlJ10sXG4gICAgICAgIH07XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgIGNvbnN0IGZyZXEgPSBgIHBlciAke3RoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ119YDtcbiAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnaXNEaXNhYmxlJykpIHtcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnaXNEaXNhYmxlJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9ialsnY29uZmlnRGF0YSddWydpc0Rpc2FibGVEcm9wZG93biddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydpc0Rpc2FibGVEcm9wZG93biddO1xuICAgICAgICB9XG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnb3B0aW9ucycpKSB7XG4gICAgICAgICAgdGhpcy5hbm51aXR5cGF5b3V0T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5KSkge1xuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgdGhpcy5taW51bXVtQW5udWl0eVBheW91dCA9IHtcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsndGV4dFZhbHVlJ10sXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnc2VsZWN0VmFsdWUnXSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgY29uc3QgZnJlcSA9IGAgcGVyICR7dGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXX1gO1xuICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc0Rpc2FibGUnKSkge1xuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGUnXTtcbiAgICAgICAgfVxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSwgJ2lzRGlzYWJsZURyb3Bkb3duJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZURyb3Bkb3duJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdvcHRpb25zJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0ZnJlcXVlbmN5T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNWaXNpYmxlJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcikpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcjtcbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydjb250cm9sU3R5bGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnY29udHJvbFN0eWxlJ11cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUJ1dHRvblsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXVxuICAgICAgICB9XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaCkpIHtcbiAgICAgICAgdGhpcy5kaWdpdEJvc3NTd2l0Y2ggPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaDtcblxuICAgICAgfVxuXG4gICAgICAvL2d1cmFudGVlZCBBbm51aXR5IG9wdGlvbnNcblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eSkpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnb3B0aW9ucyddKSkge1xuICAgICAgICAgIHRoaXMuZ3VyYW50ZWVkYW5udWl0eU9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ndXJhbnRlZWRhbm51aXR5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuXG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc1Zpc2libGUnXVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnY29udHJvbFN0eWxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2xhYmVsJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnbGFiZWwnXTtcbiAgICAgICAgfVxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb24pKSB7XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVBdXRvRGViaXRPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuaXNFbmFibGVBdXRvRGViaXQgPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRW5hYmxlQXV0b0RlYml0J107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc0Rpc2FibGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUF1dG9EZWJpdE9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRGlzYWJsZSddO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvbikpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddKSkge1xuICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnY29uZmlnRGF0YSddWydjYXJkc1ZhbHVlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddO1xuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RWYWx1ZSddO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdGVkQ2FyZFZhbHVlJ10pKSB7XG4gICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RlZENhcmRWYWx1ZSddO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydyYWRpb09wdGlvbnMnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsncmFkaW9PcHRpb25zJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnaW5mb01lc3NhZ2UnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydwYXlnZXRJbmZvTWVzc2FnZSddO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHByZVNlbGVjdENvbmZpZyB0byB0cmlnZ2VyIGNoaWxkJ3MgbmdPbkNoYW5nZXNcbiAgICAgICAgdGhpcy5ncm93dGhSYXRlUHJlU2VsZWN0Q29uZmlnID0ge1xuICAgICAgICAgIHNlbGVjdFZhbHVlOiB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSA/PyBudWxsLFxuICAgICAgICAgIHNlbGVjdGVkQ2FyZFZhbHVlOiB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSA/PyBudWxsXG4gICAgICAgIH07XG5cblxuICAgICAgfVxuXG5cbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSBmYWxzZTtcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcbiAgICB0aGlzLm9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2suZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0ZWRHcm93dGhSYXRlOiBhbnkgPSBudWxsO1xuICBncm93dGhSYXRlUHJlU2VsZWN0Q29uZmlnOiBhbnkgPSBudWxsO1xuXG4gIG9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3Jvd3RoUmF0ZSA9IGV2ZW50O1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCh7IHR5cGU6ICdyYWRpbycsIHZhbHVlOiBldmVudCB9KTtcbiAgICAvL1xuICB9XG5cbiAgb25Hcm93dGhSYXRlQ2FyZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KHsgdHlwZTogJ2NhcmQnLCB2YWx1ZTogZXZlbnQgfSk7XG4gIH1cblxuICBncm93dGhSYXRlU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KCk7XG4gIH1cblxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gIH1cbiAgICB0aGlzLm9uQW5udWl0eVByZW1pdW1DaGFuZ2UuZW1pdCh0aGlzLmFubnVpdHlQcmVtaXVtKTtcblxuICAgIC8vY29udmVydCB0byB3b3Jkc1xuICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgY29uc3QgZnJlcSA9YCBwZXIgJHt0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddfWA7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cbiAgb25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMub25NaW5pbXVtUHJlbWl1bVZhbHVlQ2hhbmdlLmVtaXQodGhpcy5taW51bXVtQW5udWl0eVBheW91dCk7XG4gICAgLy9jb252ZXJ0IHRvIHdvcmRzXG4gICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICBjb25zdCBmcmVxID0gYCBwZXIgJHt0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddfWA7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cblxuICBvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKGV2ZW50IDogYW55KSB7XG4gICAgdGhpcy5vbkF1dGlvRGViaXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uR3VyYW50ZWVkQW5udWl0eUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkd1cmFudGVlZEFubnVpdHlWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZChjYXJkPzogYW55LCB2YWx1ZT86IGFueSkge1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICAgIGlmIChjYXJkKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8uc2VsZWN0Q2FyZChjYXJkKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8udG9nZ2xlUmFkaW8odmFsdWUsIG5ldyBFdmVudCgnY2xpY2snKSk7XG4gICAgfVxuICB9XG5cbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgYSA9IFsnJywgJ09uZSAnLCAnVHdvICcsICdUaHJlZSAnLCAnRm91ciAnLCAnRml2ZSAnLCAnU2l4ICcsICdTZXZlbiAnLCAnRWlnaHQgJywgJ05pbmUgJywgJ1RlbiAnLCAnRWxldmVuICcsICdUd2VsdmUgJywgJ1RoaXJ0ZWVuICcsICdGb3VydGVlbiAnLCAnRmlmdGVlbiAnLCAnU2l4dGVlbiAnLCAnU2V2ZW50ZWVuICcsICdFaWdodGVlbiAnLCAnTmluZXRlZW4gJ107XG4gIGIgPSBbJycsICcnLCAnVHdlbnR5JywgJ1RoaXJ0eScsICdGb3VydHknLCAnRmlmdHknLCAnU2l4dHknLCAnU2V2ZW50eScsICdFaWdodHknLCAnTmluZXR5J107XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhbHVlID0gdGhpcy5tYXN0ZXJTZXJ2aWNlLnJlbW92ZUNvbWFzQW5kQ3VycmVuY3lTeW1ib2xGcm9tTnVtYmVyVmFsdWVzKHZhbHVlKTtcbiAgICBsZXQgbiA9ICgnMDAwMDAwMDAwJyArIHZhbHVlKS5zdWJzdHIoLTkpLm1hdGNoKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7Mn0pKFxcZHsxfSkoXFxkezJ9KSQvKTtcbiAgICBpZiAoIW4pIHJldHVybiAnJztcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsxXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzFdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsxXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzFdWzFdKV0pKSArICdDcm9yZSAnIDogJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsyXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzJdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsyXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzJdWzFdKV0pKSArICdMYWtoICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzNdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bM10pXSB8fCAodGhpcy5iW051bWJlcihuWzNdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bM11bMV0pXSkpICsgJ1Rob3VzYW5kICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzRdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bNF0pXSB8fCAodGhpcy5iW051bWJlcihuWzRdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bNF1bMV0pXSkpICsgJ0h1bmRyZWQgJyA6ICcnO1xuICAgIHN0ciArPSAoTnVtYmVyKG5bNV0pICE9IDApID8gKChzdHIgIT0gJycpID8gJ0FuZCAnIDogJycpICsgKHRoaXMuYVtOdW1iZXIobls1XSldIHx8ICh0aGlzLmJbTnVtYmVyKG5bNV1bMF0pXSArICcgJyArIHRoaXMuYVtOdW1iZXIobls1XVsxXSldKSkgOiAnJztcbiAgICBzdHIgPSBzdHIudHJpbSgpO1xuICAgIHJldHVybiBzdHIgPyBzdHIgKyAnIE9ubHknIDogJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzogMHB4IDRweCAxNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpICFpbXBvcnRhbnQ7XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8aDQgY2xhc3M9XCJjYXJkLW1haW4tdGl0bGVcIj48c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTJweDtcIj48aW1nXG4gICAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2FsY3VsYXRvci5zdmdcIiBhbHQ9XCJhbm51aXR5IGNhbGN1bGF0b3JcIj48L3NwYW4+SGVyZSdzIFlvdXIgUHJlbWl1bSB0byBBbm51aXR5IENhbGN1bGF0b3I8L2g0PlxuICA8L2Rpdj5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwYi00IHB4LTRcIiBzdHlsZT1cImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcIj5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuXG4gICAgPC9kaXY+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxuICAgICAgPGxpYi10b2dnbGUgY2xhc3M9XCJjb2wtYXV0b1wiIFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bVRvZ2dsZU9ialwiIC8+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtMTJcIiBzdHlsZT1cIlxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBwLTAgZ2FwLTJcIiBzdHlsZT1cIndpZHRoOiA0NSU7XCI+XG4gICAgICAgIDxsaWItYW1vdW50LXRleHRib3ggW2ZpZWxkXT1cImFubnVpdHlQcmVtaXVtT2JqXCIgWyhuZ01vZGVsKV09XCJhbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ11cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQW5udWl0eVByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5XCI+XG4gICAgICAgICAgUGxlYXNlIGVudGVyIFByZW1pdW0gYW1vdW50XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1tYXQtaGludFwiICpuZ0lmPVwiYW5udWl0eVByZW1pdW1PYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZFwiPnt7YW5udWl0eVByZW1pdW1PYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZH19PC9kaXY+XG5cbiAgICAgICAgPGxpYi1zZWxlY3QgW2ZpZWxkXT1cImFubnVpdHlwYXlvdXRPYmpcIiBbKG5nTW9kZWwpXT1cImFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImVuYWJsZUF1dG9EZWJpdE9ialwiIFsobmdNb2RlbCldPVwiaXNFbmFibGVBdXRvRGViaXRcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25FbmFibGVBdXRvRGViaXRWYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICBzdHlsZT1cIndpZHRoOiAxMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCA2cHgpOyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgPCEtLSBUb3AgbGluZSAtLT5cbiAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHdpZHRoOiAxcHg7IGhlaWdodDogY2FsYyg1MCUgKyAxOXB4KTsgdG9wOiAtMzBweDsgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCI+PC9kaXY+XG4gICAgICAgIDwhLS0gQm90dG9tIGxpbmUgLS0+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4OyBoZWlnaHQ6IGNhbGMoNTAlICsgMjRweCk7IGJvdHRvbTogLTM3cHg7IGJhY2tncm91bmQ6IHJnYmEoMjIxLCAyMjEsIDIyMSwgMSk7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiPjwvZGl2PlxuICAgICAgICA8bGliLWljb24tYnV0dG9uIFtmaWVsZF09XCJpbnRlcmNoYW5nZUJ1dHRvbk9ialwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcC0wIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogNDUlO1wiPlxuICAgICAgICA8bGliLWFtb3VudC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dE9ialwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgKm5nSWY9XCJtaW5pbXVtQW5udWl0eVBheW91dE9iai5pc1Zpc2libGU7XCIvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1tYXQtaGludFwiICpuZ0lmPVwibWluaW11bUFubnVpdHlQYXlvdXRPYmouaXNWaXNpYmxlICYmIG1pbmltdW1Bbm51aXR5UGF5b3V0T2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmRcIj57e21pbmltdW1Bbm51aXR5UGF5b3V0T2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmR9fTwvZGl2PlxuICAgICAgICA8bGliLXNlbGVjdCBbZmllbGRdPVwibWluaW11bUFubnVpdHlQYXlvdXRmcmVxdWVuY3lPYmpcIiBbKG5nTW9kZWwpXT1cIm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbml1bS1hbm51aXR5IG10LTNcIiAqbmdJZj1cImd1cmFudGVlZGFubnVpdHlPYmpbJ2lzVmlzaWJsZSddXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbXNnIHctMTAwIHB4LTIgcHktMVwiPlxuICAgICAgICAgICAgVmFsdWUgYmFzZWQgb24gYXNzdW1lZCAxMCUgYW5udWFsIGdyb3d0aCBvZiBOaWZ0eSA1MCBpbmRleC5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcHgtMiBweS0xXCI+XG4gICAgICAgICAgICA8bGliLXJhZGlvIFtmaWVsZF09XCJndXJhbnRlZWRhbm51aXR5T2JqXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEd1cmFudGVlZEFubnVpdHlcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkd1cmFudGVlZEFubnVpdHlDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbXNnLTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcCB3LTEwMCBweC0yIHB5LTFcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3N0cmVhbWxpbmVfZ3JhcGgtYXJyb3ctaW5jcmVhc2UtcmVtaXgucG5nXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDI0cHg7XCIgLz5cbiAgICAgICAgICAgIDxzcGFuPlBvdGVudGlhbCBmb3IgaGlnaGVyIHJldHVybnMgYnkgbG93ZXJpbmcgdGhlIG1pbmltdW0gZ3VhcmFudGVlZCBhbm51aXR5IHJhdGUuPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjZW1wdHlSaWdodENvbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IHAtMFwiPjwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwidmVydGljYWwtbGluZVwiPjwvZGl2PiAtLT5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImVuYWJsZUF1dG9EZWJpdE9ialwiIFsobmdNb2RlbCldPVwiaXNFbmFibGVBdXRvRGViaXRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4gLS0+XG5cbiAgPC9kaXY+XG5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZCBweS0zIG1iLTQgYm9yZGVyLXRvcC0wXCIgc3R5bGU9XCJib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XCI+XG4gICAgPGRpdiBjbGFzcz1cIm14LTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaWdpdC1ib3NzLWJhbm5lclwiICpuZ0lmPVwiZGlnaXRCb3NzU3dpdGNoPy5pc1Zpc2libGVcIj5cbiAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImRpZ2l0Qm9zc1RvZ2dsZUNvbmZpZ1wiIFsobmdNb2RlbCldPVwidGhpcy5kaWdpdEJvc3NTd2l0Y2guaXNTd2l0Y2hPblwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGlnaXRCb3NzU3dpdGNoQ2hhbmdlKCRldmVudClcIj48L2xpYi10b2dnbGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWdpdC1ib3NzLXRleHRcIj5cbiAgICAgICAgICB7e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5wcmVmaXhUZXh0fX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7dGhpcy5kaWdpdEJvc3NTd2l0Y2g/LmhpZ2hsaWdodFRleHR9fTwvc3Bhbj5cbiAgICAgICAgICB7e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5zdWJUZXh0fX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LWljb25cIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnN2Z1wiLz48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bGliLWJ1dHRvbiBbZmllbGRdPVwicmVjYWxjdWxhdGVCdXR0b25cIiAoY2xpY2spPVwiY2FsY3VsYXRlQnV0dG9uQ2xpY2tlZCgpXCIgLz5cblxuICAgICAgPCEtLSAvL2RpZ2l0IGJvc3MgdXBkYXRlZCBkZXNpZ24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtM1wiIHN0eWxlPVwiXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBkaXNwbGF5OiBmbGV4O1wiICpuZ0lmPVwiIW1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmlzVmlzaWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbGctMTIgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgcGFkZGluZy1sZWZ0LTAgcGFkZGluZy1yaWdodC0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWFsaXN0aWMtcGljdHVyZS1jYXJkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlYWxpc3RpYy1waWN0dXJlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cImRpZ2l0Qm9zc1N3aXRjaD8uaWNvblwiIFtzcmNdPVwiZGlnaXRCb3NzU3dpdGNoPy5pY29uXCIgc3R5bGU9XCJ3aWR0aDoxMnB4O2hlaWdodDoxMnB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4LXNocmluazowO1wiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWxpc3RpYy1waWN0dXJlLWxhYmVsXCI+UmVhbGlzdGljIFBpY3R1cmU6PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVhbGlzdGljLXBpY3R1cmUtdGV4dFwiPnt7ZGlnaXRCb3NzU3dpdGNoPy5kaWdpdEJvc3NUZXh0fX0gPHNwYW4gY2xhc3M9XCJyZWFsaXN0aWMtcGljdHVyZS1oaWdobGlnaHRcIj57e2RpZ2l0Qm9zc1N3aXRjaD8uZGlnaXRCb3NzVmFsdWV9fTwvc3Bhbj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG48L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgIG1iLTAgbXQtMlwiXG4gICAgICAgIHN0eWxlPVwiYWxpZ24taXRlbXM6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDhweDtmb250LXdlaWdodDogNDAwO2NvbG9yOnJnYmEoNjgsIDY4LCA2OCwgMSkgXCJcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtNFwiICpuZ0lmPVwicmVjYWxjdWxhdGVTdWJUZXh0T2JqPy5pc1Zpc2libGVcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9Hcm91cCsxMDEwMTA2MzM2LnBuZ1wiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAzcHg7XCIgLz5cbiAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA2cHg7XCI+RXZlcnkgdGltZSB5b3UgbWFrZSBhIGNoYW5nZSBhYm92ZSwgcGxlYXNlIGNsaWNrIHJlY2FsY3VsYXRlLjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDEwcHg7Zm9udC13ZWlnaHQ6IDcwMDtoZWlnaHQ6MzJweDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjUwLCAyMzUsIDEpO2dhcDogOHB4O21hcmdpbjogNHB4O1wiXG4gICAgICAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiIC8+XG4gICAgICBNaW5pbXVtIEd1YXJhbnRlZWQgUGF5b3V0KEEpICsgVmFyaWFibGUgUGF5b3V0KEIpID0gVG90YWwgUGF5b3V0KEMpXG4gICAgPC9kaXY+XG4gICAgPCEtLSBhbm51aXR5IGNhbGN1bGF0b3IgdGFibGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFubnVpdHktdGFibGVzLW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYW5udWl0eS10YWJsZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDwhLS0gVGFibGUgMSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+TWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0KEEpPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jZWxsXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPjxzcGFuXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6MTJweDsgY29sb3I6IHJnYmEoNjgsIDY4LCA2OCwgMSk7XCI+XG4gICAgICAgICAgICAgICAgPHt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDF9fT5cbiAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFubnVpdHl0YWJsZS1idXR0b25cIj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yLXN5bWJvbFwiPis8L2Rpdj5cblxuICAgICAgICA8IS0tIFRhYmxlIDIgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGUyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGUxLWhlYWRlclwiPkFzc3VtZSBncm93dGggb2YgQmVuY2hNYXJrIGluZGV4PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwzfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUYWJsZSAzIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj4xc3QgVmFyaWFibGUgQW5udWl0eSBQYXlvdXQoQik8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDN9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+PTwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGFibGUgNCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTQtaGVhZGVyXCI+MXN0IFRvdGFsUGF5b3V0L0ZyZXF1ZW5jeShDKTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IGFubnVpdHl0YWJsZTQtYmdcIj48c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgYW5udWl0eXRhYmxlNC1iZ1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsM319PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaFwiICpuZ0lmPVwiYW5udWl0eVRhYmxlQ2FsY3VsYXRvcj8uaXNWaXNpYmxlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci1wYXJhZ3JhcGgxXCI+VGhpcyBpcyBhbiBhc3N1bWVkIGdyb3d0aCBwZXJjZW50YWdlIGZvciB0aGUgaW5kZXggYmFzaXMgd2hpY2ggdGhlXG4gICAgICAgIHZhbHVlcyBpbiBjb2x1bW5zIEIgYW5kIEMgYXJlIGNhbGN1bGF0ZWQuPC9zcGFuPiBBY3R1YWwgZ3Jvd3RoIHdpbGwgZGVwZW5kIG9uIGluZGV4IHBlcmZvcm1hbmNlIGFuZCBtYXkgYWZmZWN0XG4gICAgICB5b3VyIHZhcmlhYmxlIGFubnVpdHkgcGF5b3V0IGFuZCB0b3RhbCBhbm51aXR5IHBheW91dC5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJncm93dGhSYXRlT2JqLmlzVmlzaWJsZVwiPlxuICAgICAgPGxpYi1hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW9cbiAgICAgICAgW2ZpZWxkXT1cImdyb3d0aFJhdGVPYmpcIlxuICAgICAgICBbcHJlU2VsZWN0Q29uZmlnXT1cImdyb3d0aFJhdGVQcmVTZWxlY3RDb25maWdcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImdyb3d0aFJhdGVPcHRpb25cIlxuICAgICAgICAoY2hhbmdlKT1cIm9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJvbkdyb3d0aFJhdGVDYXJkQ2hhbmdlKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhyTGluZU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1oci1saW5lIFtmaWVsZF09XCJockxpbmVPYmpcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImdlbmVyYXRlU3VtbWFyeU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImdlbmVyYXRlU3VtbWFyeU9ialwiIChjbGljayk9XCJnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKClcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|
|
1372
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFzdGVyLWNvbnRyb2wvc3JjL2xpYi9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci9hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yL2FubnVpdHktcHJlbWl1bS1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFFakgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFB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QyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25JLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BKLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsQyxDQUFDO3dHQTUyQ1UsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsKy9CQUlqQywrQkFBK0IscUVDeEM1Qyw0aldBNE1BLG11S0R2TEksZUFBZSxrSkFDZixzQkFBc0Isa0lBQ3RCLCtCQUErQixxTEFDL0IsZUFBZSwyRUFDZixlQUFlLDRIQUVmLGVBQWUsMEVBQ2YsbUJBQW1CLCtFQUNuQixjQUFjLDBIQUNkLFlBQVksa0lBQ1osV0FBVzs7NEZBS0YsaUNBQWlDO2tCQXBCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLCtCQUErQjt3QkFDL0IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3FCQUNaO3lGQU9RLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDc0MsZUFBZTtzQkFBMUQsU0FBUzt1QkFBQywrQkFBK0I7Z0JBc0JoQyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdFRleHRib3hDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtdGV4dGJveC9zZWxlY3QtdGV4dGJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHJMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vaHItbGluZS9oci1saW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQW1vdW50VGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uL2Ftb3VudC10ZXh0Ym94L2Ftb3VudC10ZXh0Ym94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbm51aXR5LXByZW1pdW0tY2FsY3VsYXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBBbW91bnRUZXh0Ym94Q29tcG9uZW50LFxuICAgIEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQsXG4gICAgSHJMaW5lQ29tcG9uZW50LFxuICAgIFRvZ2dsZUNvbXBvbmVudCxcbiAgICBTZWxlY3RUZXh0Ym94Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYW5udWl0eS1wcmVtaXVtLWNhbGN1bGF0b3IuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFubnVpdHlQcmVtaXVtQ2FsY3VsYXRvckNvbXBvbmVudCB7XG4gICAgcmVjYWxjdWxhdGVTdWJUZXh0T2JqOiBhbnkgPSB7IGlzVmlzaWJsZTogdHJ1ZSB9O1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBASW5wdXQoKSB0cmlnZ2VyVmFsaWRhdGlvbj86IFN1YmplY3Q8dm9pZD47XG4gIEBWaWV3Q2hpbGQoQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCkgYW5udWl0eVJhZGlvUmVmITogQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudDtcbiAgcHJlbWl1bURldGFpbHM6IGFueSA9IGlucHV0PGFueT4oe30pO1xuICBhbm51aXR5UHJlbWl1bSA6IGFueSA9IHtcbiAgICB0ZXh0VmFsdWUgOiAnJyxcbiAgICBzZWxlY3RWYWx1ZTogJydcbiAgfTtcbiAgbWludW11bUFubnVpdHlQYXlvdXQgOiBhbnkgPSB7XG4gICAgdGV4dFZhbHVlIDogJycsXG4gICAgc2VsZWN0VmFsdWU6ICcnXG4gIH07XG5cbiAgZ3Jvd3RoUmF0ZU9wdGlvbjogYW55ID17XG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgXCJyYWRpb09wdGlvbnNcIjpbXSxcbiAgICBcImNvbmZpZ0RhdGFcIjoge1xuICAgICAgXCJzZWxlY3RlZENhcmRWYWx1ZVwiOiBudWxsLFxuICAgICAgXCJzZWxlY3RWYWx1ZVwiOiBudWxsLFxuICAgICAgIFwicGF5Z2V0SW5mb01lc3NhZ2VcIjogbnVsbCxcbiAgICAgICBcImluZm9NZXNzYWdlXCI6IG51bGwsXG4gICAgICAgIFwiY2FyZHNWYWx1ZVwiOiBbXVxuICAgIH1cbiAgfVxuICBAT3V0cHV0KCkgb25DYWxjdWFsdGVCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25HZW5lcmF0ZVN1bW1hcnlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Bbm51aXR5UHJlbWl1bUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25NaW5pbXVtUHJlbWl1bVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkF1dGlvRGViaXRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25HdXJhbnRlZWRBbm51aXR5VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRGlnaXRCb3NzU3dpdGNoVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICB2YWxpZGF0aW9ucyA6IGFueSA9IHtcbiAgICBpc3ByZW1pdW1FbnRyeSA6IGZhbHNlXG4gIH1cbiAgaXNFbmFibGVBdXRvRGViaXQgOiBhbnkgPSBmYWxzZTtcbiAgc2VsZWN0ZWRHdXJhbnRlZWRBbm51aXR5OiBhbnkgPSBudWxsO1xuICBhbm51aXR5UHJlbWl1bVRvZ2dsZU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5UHJlbWl1bVRvZ2dsZScsXG4gICAgbGFiZWw6ICdFbnRlciBBbm51aXR5JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF90b2dnbGVfYW5udWl0eVByZW1pdW1Ub2dnbGVfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IHRydWUsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiAxNTAsXG4gICAgICBtYXhMZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgcGF0dGVybjogbnVsbCxcbiAgICAgIHBhdHRlcm5NZXNzYWdlOiAnJyxcbiAgICB9LFxuICAgIG9wdGlvbnM6IG51bGwsXG4gICAgY3NzQ2xhc3M6XG4gICAgICAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBteC1hdXRvIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlcicsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgaXNTaG93TGFiZWw6IHRydWUsXG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogJ3RvZ2dsZScsXG4gICAgICBib3JkZXJDb2xvcjogJyNEQURBREEnLFxuICAgICAgYm9yZGVyV2lkdGg6ICcxcHgnLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnOTk5cHgnLFxuICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgZm9udEZhbWlseTogJ011bGlzaCcsXG4gICAgICBjb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgYmFja2dyb3VuZDogJyNGRkZGRkYnLFxuICAgICAgY2FyZXRDb2xvcjogbnVsbCxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogJyNFQ0VDRUMnLFxuICAgICAgZGlzYWJsZUJhY2tncm91bmQ6ICcjRUNFQ0VDJyxcbiAgICAgIGVycm9yQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBlcnJvckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZXJyb3JDb2xvcjogbnVsbCxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0xJX0RQX0dFTl9DVFJMX3RvZ2dsZV9hbm51aXR5UHJlbWl1bVRvZ2dsZV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGxlZnRMYWJlbDogJ0VudGVyIFByZW1pdW0nLFxuICAgIH0sXG4gICAgY29udHJvbFN0eWxlczogbnVsbCxcbiAgfTtcblxuICBhbm51aXR5VGFibGVDYWxjdWxhdG9yIDphbnkgPSB7XG4gICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDFcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUxdmFsMlwiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsM1wiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTN2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGUzdmFsM1wiOiBcIlwiLFxuICAgIFwiYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxXCI6IFwiXCIsXG4gICAgXCJhbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJcIjogXCJcIixcbiAgICBcImFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsM1wiOiBcIlwiXG5cblxuICB9O1xuXG4gIGRpZ2l0Qm9zc1N3aXRjaCA6IGFueSA9IHtcbiAgICBpc1Zpc2libGUgOiBmYWxzZSxcbiAgICBpc1N3aXRjaE9uOiBmYWxzZSxcbiAgICBpY29uOiAnJyxcbiAgICBkaWdpdEJvc3NUZXh0OiAnJyxcbiAgICBkaWdpdEJvc3NWYWx1ZTogJydcbiAgfVxuXG4gIGRpZ2l0Qm9zc1RvZ2dsZUNvbmZpZzogYW55ID0ge1xuICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICBmaWVsZE5hbWU6ICdkaWdpdEJvc3NUb2dnbGUnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGxlZnRMYWJlbDogJydcbiAgICB9LFxuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgIGJvcmRlckNvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgICBib3JkZXJXaWR0aDogJzBweCdcbiAgICB9XG4gIH07XG5cbiAgb25EaWdpdEJvc3NTd2l0Y2hDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIC8vIGlmKHRoaXMucHJlbWl1bURldGFpbHMoKSAmJiB0aGlzLnByZW1pdW1EZXRhaWxzKCkuZGlnaXRCb3NzU3dpdGNoKXtcbiAgICAgICB0aGlzLmRpZ2l0Qm9zc1N3aXRjaC5pc1N3aXRjaE9uID0gZXZlbnQ7XG4gICAgICAgdGhpcy5vbkRpZ2l0Qm9zc1N3aXRjaFRvZ2dsZS5lbWl0KGV2ZW50KTtcbiAgICAvLyB9XG4gIH1cblxuICBhbm51aXR5UHJlbWl1bU9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDogJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfYW5udWl0eVByZW1pdW1fVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBmaWVsZE5hbWU6ICdhbm51aXR5UHJlbWl1bScsXG4gICAgbGFiZWw6ICdQcmVtaXVtJyxcbiAgICBwbGFjZUhvbGRlcjogJ0VudGVyJyxcbiAgICBtZXRhSWQ6ICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X2FubnVpdHlQcmVtaXVtX1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdFbnRlciBQcmVtaXVtJyxcbiAgICAgIG1pbkxlbmd0aDogNCxcbiAgICAgIG1pbkxlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBtYXhMZW5ndGg6IDEwLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogbnVsbCxcbiAgICB9LFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdNb250aGx5JyxcbiAgICAgICAgbGFiZWw6ICdNb250aGx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnT25lIFRpbWUnLFxuICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgbGFiZWw6ICdRdWFydGVybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdIYWxmIFllYXJseScsXG4gICAgICAgIGxhYmVsOiAnSGFsZiBZZWFybHknLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6ICdZZWFybHknLFxuICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICB9LFxuICAgIF0sXG4gICAgY3NzQ2xhc3M6ICcgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIHB5LTAgcGwtMyBwci0wIG10LTUgcHQtMicsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6IG51bGwsXG4gICAgY29uZmlnRGF0YToge1xuICAgICAgaXNDb21hU2VwZXJhdGVkOiB0cnVlLFxuICAgICAgaXNBbGxvd051bWJlcnNJblRleHRGaWVsZHM6IHRydWUsXG4gICAgICBoZWxwZXJUZXh0OiAnJyxcbiAgICAgIG51bWJlcnRvd29yZDogJydcbiAgICB9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogZmFsc2UsXG4gICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgfTtcblxuICBtaW5pbXVtQW5udWl0eVBheW91dE9iajogYW55ID0ge1xuICAgIGNvbnRyb2xTdHlsZToge1xuICAgICAgY29udHJvbFR5cGU6ICdhbW91bnRUZXh0Ym94JyxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RBREFEQScsXG4gICAgICBib3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgIGZvbnRGYW1pbHk6ICdNdWxpc2gnLFxuICAgICAgY29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZGRkZGJyxcbiAgICAgIGNhcmV0Q29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIG51ZGdlRGlzcGxheUltYWdlOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6ICcjZmZiYjAwJyxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBob3ZlckJvcmRlckNvbG9yOiAnI0ZGQkIwMCcsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgaG92ZXJDb2xvcjogJyM0NDQ0NDQnLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnIzk5OTk5OScsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogJyNFRTAwMDAnLFxuICAgICAgZXJyb3JCb3JkZXJXaWR0aDogJzAuMDk0cmVtJyxcbiAgICAgIGVycm9yQ29sb3I6ICcjNDQ0NDQ0JyxcbiAgICAgIGNyZWF0ZWREYXRlOiBudWxsLFxuICAgICAgcGFkZGluZzogbnVsbCxcbiAgICAgIG1hcmdpbjogbnVsbCxcbiAgICAgIGlzTWFzdGVyQ3NzOiBudWxsLFxuICAgICAgY29udHJvbE1ldGFJZDpcbiAgICAgICAgJ0FMTF9EUF9EUF9DVFJMX2Ftb3VudFRleHRib3hfbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0X1YxJyxcbiAgICAgIGJvcmRlclN0eWxlOiBudWxsLFxuICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgbWluSGVpZ2h0OiBudWxsLFxuICAgICAgbWF4SGVpZ2h0OiBudWxsLFxuICAgICAgbWluV2lkdGg6IG51bGwsXG4gICAgICBtYXhXaWR0aDogbnVsbCxcbiAgICAgIGNzc0NsYXNzOiBudWxsLFxuICAgIH0sXG4gICAgZmllbGROYW1lOiAnbWluaW11bUd1YXJhbnRlZWRBbm51aXR5UGF5b3V0JyxcbiAgICBsYWJlbDogJ0FubnVpdHknLFxuICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICBtZXRhSWQ6ICdBTExfRFBfRFBfQ1RSTF9hbW91bnRUZXh0Ym94X21pbmltdW1HdWFyYW50ZWVkQW5udWl0eVBheW91dF9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogdHJ1ZSxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdFbnRlciBBbm51aXR5IFBheW91dCcsXG4gICAgICBtaW5MZW5ndGg6IDQsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiAxMCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6IG51bGwsXG4gICAgfSxcbiAgICBvcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgIGxhYmVsOiAnTW9udGhseScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ09uZSBUaW1lJyxcbiAgICAgICAgbGFiZWw6ICdPbmUgVGltZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogJ1F1YXJ0ZXJseScsXG4gICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICBsYWJlbDogJ0hhbGYgWWVhcmx5JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAnWWVhcmx5JyxcbiAgICAgICAgbGFiZWw6ICdZZWFybHknLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGNzc0NsYXNzOlxuICAgICAgJyBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgcHktMCBwbC0zIG10LTEgcHItMCBtaW5pbXVtR3VhcmFudGVlZEFubnVpdHlQYXlvdXQnLFxuICAgIHZhbHVlOiBudWxsLFxuICAgIHN0eWxlOiBudWxsLFxuICAgIGltYWdlVXJsOiBudWxsLFxuICAgIGNvbmZpZ0RhdGE6IHtcbiAgICAgIGlzQ29tYVNlcGVyYXRlZDogdHJ1ZSxcbiAgICAgIGlzQWxsb3dOdW1iZXJzSW5UZXh0RmllbGRzOiB0cnVlLFxuICAgICAgaGVscGVyVGV4dDogJycsXG4gICAgICBudW1iZXJ0b3dvcmQ6ICcnXG4gICAgfSxcbiAgICBtZXRhRGF0YU9iajogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBpc01hc3RlckNvbnRyb2w6IGZhbHNlLFxuICAgIGNvbnRyb2xUeXBlOiAnYW1vdW50VGV4dGJveCcsXG4gIH07XG5cbiAgZW5hYmxlQXV0b0RlYml0T2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICd0b2dnbGUnLFxuICAgIGZpZWxkTmFtZTogJ2F1dG9EZWJpdCcsXG4gICAgbGFiZWw6ICdFbmFibGUgQXV0by1QYXkgdG8gZ2V0IGFkZGl0aW9uYWwgYmVuZWZpdHMnLFxuICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICBtZXRhSWQ6ICdBTExfQ09NX0dFTl9DVFJMX3RvZ2dsZV9hdXRvRGViaXRfVjEnLFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBpc0Rpc2FibGU6IGZhbHNlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczogJ2NvbC1zbS0xMiBjb2wtbWQtNSBjb2wtbGctNSBjb2wteGwtNSBtdC00IGF1dG9QYXknLFxuICAgIHZhbHVlOiBmYWxzZSxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiAndG9nZ2xlJyxcbiAgICAgIGJvcmRlckNvbG9yOiBudWxsLFxuICAgICAgYm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBib3JkZXJSYWRpdXM6IG51bGwsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICBmb250RmFtaWx5OiAnTXVsaXNoJyxcbiAgICAgIGNvbG9yOiAnIzQ0NDQ0NCcsXG4gICAgICBiYWNrZ3JvdW5kOiAnI0U2RjdGMycsXG4gICAgICBjYXJldENvbG9yOiBudWxsLFxuICAgICAgbnVkZ2VEaXNwbGF5SW1hZ2U6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkNvbG9yOiBudWxsLFxuICAgICAgZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgd2lkdGg6IG51bGwsXG4gICAgICBmb2N1c0JvcmRlcldpZHRoOiAnMC4wOTRyZW0nLFxuICAgICAgZm9jdXNCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzQmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGZvY3VzQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Db2xvcjogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Gb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnQ6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzOiBudWxsLFxuICAgICAgaG92ZXJCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBob3ZlckNvbG9yOiBudWxsLFxuICAgICAgZGlzYWJsZUNvbG9yOiAnI0VDRUNFQycsXG4gICAgICBkaXNhYmxlQmFja2dyb3VuZDogJyNFQ0VDRUMnLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6ICcwLjA5NHJlbScsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnQUxMX0NPTV9HRU5fQ1RSTF90b2dnbGVfbWFpbGluZ0FkZHJlc3NUb2dnbGVfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIHJlY2FsY3VsYXRlQnV0dG9uOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICdidXR0b24nLFxuICAgIGZpZWxkTmFtZTogJ2NhbGN1bGF0ZUFubnVpdHlQYXlvdXQnLFxuICAgIGxhYmVsOiAnQ2FsY3VsYXRlIEFubnVpdHkgUGF5b3V0JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fY2FsY3VsYXRlQW5udWl0eVBheW91dF9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgdmFsaWRhdG9yczoge1xuICAgICAgaXNSZXF1aXJlZDogZmFsc2UsXG4gICAgICByZXF1aXJlZE1lc3NhZ2U6ICdUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eScsXG4gICAgICBtaW5MZW5ndGg6IG51bGwsXG4gICAgICBtaW5MZW5ndGhNZXNzYWdlOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgbWF4TGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIHBhdHRlcm46IG51bGwsXG4gICAgICBwYXR0ZXJuTWVzc2FnZTogJycsXG4gICAgfSxcbiAgICBvcHRpb25zOiBudWxsLFxuICAgIGNzc0NsYXNzOiAnIGNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyIGNvbC14bC0xMiBtdC0zJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXG4gICAgICBjb2xvcjogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2NhbGN1bGF0ZUFubnVpdHlQYXlvdXRfVjEnLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICBtaW5IZWlnaHQ6IG51bGwsXG4gICAgICBtYXhIZWlnaHQ6IG51bGwsXG4gICAgICBtaW5XaWR0aDogbnVsbCxcbiAgICAgIG1heFdpZHRoOiBudWxsLFxuICAgICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgfSxcbiAgICBjb2x1bW5JbmRleDogMCxcbiAgICBjb25maWdEYXRhOiB7fSxcbiAgICBjb250cm9sU3R5bGVzOiBudWxsLFxuICB9O1xuXG4gIGludGVyY2hhbmdlQnV0dG9uT2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFN0eWxlOiB7XG4gICAgICBjb250cm9sVHlwZTogbnVsbCxcbiAgICAgIGJvcmRlckNvbG9yOiAnI0RERERERCcsXG4gICAgICBib3JkZXJXaWR0aDogJzBweCcsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgZm9udFNpemU6IG51bGwsXG4gICAgICBmb250V2VpZ2h0OiBudWxsLFxuICAgICAgZm9udEZhbWlseTogbnVsbCxcbiAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgYmFja2dyb3VuZDogbnVsbCxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiBudWxsLFxuICAgICAgYm9yZGVyU3R5bGU6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcyNnB4JyxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogJ2FubnVpdHlJbnRlckNoYW5nZScsXG4gICAgbGFiZWw6ICdBbm51aXR5IEludGVyY2hhbmdlIEJ1dHRvbicsXG4gICAgcGxhY2VIb2xkZXI6IG51bGwsXG4gICAgbWV0YUlkOiAnQUxMX0NPTV9HRU5fTUNUUkxfZG93bmxvYWRJY29uQnV0dG9uX2FubnVpdHlJbnRlckNoYW5nZV9WMScsXG4gICAgaXNWaXNpYmxlOiB0cnVlLFxuICAgIGlzRGlzYWJsZTogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogW10sXG4gICAgY3NzQ2xhc3M6IG51bGwsXG4gICAgdmFsdWU6IG51bGwsXG4gICAgc3R5bGU6IG51bGwsXG4gICAgaW1hZ2VVcmw6XG4gICAgICAnaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL1RyYW5zaXRpb24td2l0aC1ib3JkZXItaWNvbi5zdmcnLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIG1ldGFEYXRhT2JqOiBudWxsLFxuICAgIGlzU2hvd0xhYmVsOiB0cnVlLFxuICAgIGlzTWFzdGVyQ29udHJvbDogdHJ1ZSxcbiAgICBjb250cm9sVHlwZTogJ2Rvd25sb2FkSWNvbkJ1dHRvbicsXG4gIH07XG5cbiAgZ2VuZXJhdGVTdW1tYXJ5T2JqOiBhbnkgPSB7XG4gICAgY29udHJvbFR5cGU6ICdidXR0b24nLFxuICAgIGZpZWxkTmFtZTogJ2dlbmVyYXRlU3VtbWFyeScsXG4gICAgbGFiZWw6ICdHZW5lcmF0ZSBTdW1tYXJ5JyxcbiAgICBwbGFjZUhvbGRlcjogbnVsbCxcbiAgICBtZXRhSWQ6ICdMSV9EUF9HRU5fQ1RSTF9idXR0b25fZ2VuZXJhdGVTdW1tYXJ5X1YxJyxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaXNEaXNhYmxlOiB0cnVlLFxuICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgIGlzUmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgcmVxdWlyZWRNZXNzYWdlOiAnVGhpcyBmaWVsZCBjYW5ub3QgYmUgZW1wdHknLFxuICAgICAgbWluTGVuZ3RoOiBudWxsLFxuICAgICAgbWluTGVuZ3RoTWVzc2FnZTogbnVsbCxcbiAgICAgIG1heExlbmd0aDogbnVsbCxcbiAgICAgIG1heExlbmd0aE1lc3NhZ2U6IG51bGwsXG4gICAgICBwYXR0ZXJuOiBudWxsLFxuICAgICAgcGF0dGVybk1lc3NhZ2U6ICcnLFxuICAgIH0sXG4gICAgb3B0aW9uczogbnVsbCxcbiAgICBjc3NDbGFzczogJyBjb2wtc20tMTIgY29sLW1kLTEyIGNvbC1sZy0xMiBjb2wteGwtMTIgbXktMSBtdC0zJyxcbiAgICB2YWx1ZTogbnVsbCxcbiAgICBzdHlsZTogbnVsbCxcbiAgICBpbWFnZVVybDogbnVsbCxcbiAgICBpc1Nob3dMYWJlbDogdHJ1ZSxcbiAgICBjb250cm9sU3R5bGU6IHtcbiAgICAgIGNvbnRyb2xUeXBlOiBudWxsLFxuICAgICAgYm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBib3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICBmb250U2l6ZTogJzEycHgnLFxuICAgICAgZm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvbnRGYW1pbHk6IG51bGwsXG4gICAgICBjb2xvcjogbnVsbCxcbiAgICAgIGJhY2tncm91bmQ6ICcjRkZCQjAwJyxcbiAgICAgIGNhcmV0Q29sb3I6IG51bGwsXG4gICAgICBudWRnZURpc3BsYXlJbWFnZTogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQmdDb2xvcjogbnVsbCxcbiAgICAgIGRyb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHQ6IG51bGwsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZm9jdXNCb3JkZXJXaWR0aDogbnVsbCxcbiAgICAgIGZvY3VzQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0JhY2tncm91bmQ6IG51bGwsXG4gICAgICBmb2N1c0NvbG9yOiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJnQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3I6IG51bGwsXG4gICAgICBmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodDogbnVsbCxcbiAgICAgIGZvY3VzRHJvcGRvd25PcHRpb25Cb3JkZXJMZWZ0OiBudWxsLFxuICAgICAgZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1czogbnVsbCxcbiAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IG51bGwsXG4gICAgICBob3ZlckJvcmRlcldpZHRoOiBudWxsLFxuICAgICAgaG92ZXJDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVDb2xvcjogbnVsbCxcbiAgICAgIGRpc2FibGVCYWNrZ3JvdW5kOiBudWxsLFxuICAgICAgZXJyb3JCb3JkZXJDb2xvcjogbnVsbCxcbiAgICAgIGVycm9yQm9yZGVyV2lkdGg6IG51bGwsXG4gICAgICBlcnJvckNvbG9yOiBudWxsLFxuICAgICAgY3JlYXRlZERhdGU6IG51bGwsXG4gICAgICBwYWRkaW5nOiBudWxsLFxuICAgICAgbWFyZ2luOiBudWxsLFxuICAgICAgaXNNYXN0ZXJDc3M6IG51bGwsXG4gICAgICBjb250cm9sTWV0YUlkOiAnTElfRFBfR0VOX0NUUkxfYnV0dG9uX2dlbmVyYXRlU3VtbWFyeV9WMScsXG4gICAgICBib3JkZXJTdHlsZTogbnVsbCxcbiAgICAgIGhlaWdodDogbnVsbCxcbiAgICAgIG1pbkhlaWdodDogbnVsbCxcbiAgICAgIG1heEhlaWdodDogbnVsbCxcbiAgICAgIG1pbldpZHRoOiBudWxsLFxuICAgICAgbWF4V2lkdGg6IG51bGwsXG4gICAgICBjc3NDbGFzczogbnVsbCxcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiAwLFxuICAgIGNvbmZpZ0RhdGE6IHt9LFxuICAgIGNvbnRyb2xTdHlsZXM6IG51bGwsXG4gIH07XG5cbiAgZ3VyYW50ZWVkYW5udWl0eU9iajogYW55PXtcbiAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcbiAgICAgICAgICAgICAgICBcImZpZWxkTmFtZVwiOiBcImd1cmFudGVlZEFubnVpdHlhZ2VcIixcbiAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0ICVcIixcbiAgICAgICAgICAgICAgICBcInBsYWNlSG9sZGVyXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJMSV9EUF9EUF9DVFJMX3JhZGlvX2FubnVpdHlUeXBlX1YxXCIsXG4gICAgICAgICAgICAgICAgXCJpc1Zpc2libGVcIjogZmFsc2UsXG4gICAgICAgICAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgICAgICAgICAgXCJ2YWxpZGF0b3JzXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiaXNSZXF1aXJlZFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJyZXF1aXJlZE1lc3NhZ2VcIjogXCJUaGlzIGZpZWxkIGNhbm5vdCBiZSBlbXB0eVwiLFxuICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogMTUwLFxuICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJvcHRpb25zXCI6IFtdLFxuICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogXCIgY29sLXNtLTEyIGNvbC1tZC0zIGNvbC1sZy0zIGNvbC14bC0zIGFubnVpdHlUeXBlXCIsXG4gICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgIFwic3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJyYWRpb1wiLFxuICAgICAgICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBcIiNEQURBREFcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IFwiNDAwXCIsXG4gICAgICAgICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogXCJNdWxpc2hcIixcbiAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImJhY2tncm91bmRcIjogXCIjRkZGRkZGXCIsXG4gICAgICAgICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IFwiNDVweFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXG4gICAgICAgICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBcIkxJX0RQX0RQX0NUUkxfcmFkaW9fYW5udWl0eVR5cGVfVjFcIixcbiAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMzJweFwiLFxuICAgICAgICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICBcIm1pbldpZHRoXCI6IFwiNDVweFwiLFxuICAgICAgICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbHVtbkluZGV4XCI6IDAsXG4gICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxuICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlc1wiOiBudWxsXG4gIH07XG5cbiAgZ3Jvd3RoUmF0ZU9iajogYW55ID0ge1xuICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwicmFkaW9cIixcbiAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250U2l6ZVwiOiBcIjE2cHhcIixcbiAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBcIjQwMFwiLFxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IFwiTXVsaXNoXCIsXG4gICAgICAgICAgICBcImNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IFwiI0ZGRkZGRlwiLFxuICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImZvY3VzQm9yZGVyQ29sb3JcIjogXCIjZmZiYjAwXCIsXG4gICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IFwiI0RBREFEQVwiLFxuICAgICAgICAgICAgXCJob3ZlckJvcmRlcldpZHRoXCI6IFwiMXB4XCIsXG4gICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXG4gICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBcIiNFQ0VDRUNcIixcbiAgICAgICAgICAgIFwiZGlzYWJsZUJhY2tncm91bmRcIjogXCIjRUNFQ0VDXCIsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogXCIjREFEQURBXCIsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIxcHhcIixcbiAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBcIiM0NDQ0NDRcIixcbiAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogZmFsc2UsXG4gICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICB9LFxuICAgICAgICBcImZpZWxkTmFtZVwiOiBcImFubnVpdHlHcm93dGhSYXRlT3B0aW9uXCIsXG4gICAgICAgIFwibGFiZWxcIjogXCJTZWxlY3QgdGhlIEN1c3RvbWVyJ3MgUHJlZmVycmVkIFZhcmlhYmxlIEFubnVpdHkgTGV2ZWwgKEJhc2VkIG9uIFJpc2sgQXBwZXRpdGUpXCIsXG4gICAgICAgIFwicGxhY2VIb2xkZXJcIjogbnVsbCxcbiAgICAgICAgXCJtZXRhSWRcIjogbnVsbCxcbiAgICAgICAgXCJpc1Zpc2libGVcIjogdHJ1ZSxcbiAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogZmFsc2UsXG4gICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWluTGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4TGVuZ3RoTWVzc2FnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYXR0ZXJuXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5NZXNzYWdlXCI6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgXCJvcHRpb25zXCI6IFtdLFxuICAgICAgICBcImNzc0NsYXNzXCI6IFwiY29sLXNtLTEyIGNvbC1tZC01IGNvbC1sZy01IGNvbC14bC01XCIsXG4gICAgICAgIFwidmFsdWVcIjogbnVsbCxcbiAgICAgICAgXCJzdHlsZVwiOiBudWxsLFxuICAgICAgICBcImltYWdlVXJsXCI6IG51bGwsXG4gICAgICAgIFwiY29uZmlnRGF0YVwiOiB7XG4gICAgICAgICAgXCJzZWxlY3RWYWx1ZVwiOiBudWxsLFxuICAgICAgICAgIFwiY2FyZHNWYWx1ZVwiOltdLFxuICAgICAgICAgIFwiaXNTaG93Q2FyZFwiOiB0cnVlLFxuICAgICAgICAgIFwiaXNTaG93UmFkaW9PcHRpb25cIjogdHJ1ZSxcbiAgICAgICAgICBcInN1YkxhYmVsXCI6IFwiSWxsdXN0cmF0aXZlIFJldHVybnMgaWYgTmlmdHkgNTAgZ3Jvd3MgYXQ6XCIsXG4gICAgICAgICAgXCJpbmZvTWVzc2FnZVwiOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwibWV0YURhdGFPYmpcIjogbnVsbCxcbiAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICBcImlzTWFzdGVyQ29udHJvbFwiOiBmYWxzZSxcbiAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcImFubnVpdHlHcm93dGhSYXRlT3B0aW9uXCJcbiAgfTtcblxuICBockxpbmVPYmo6IGFueSA9IHtcbiAgICAgICAgXCJjb250cm9sU3R5bGVcIjoge1xuICAgICAgICAgICAgXCJjb250cm9sVHlwZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udFNpemVcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCI6IG51bGwsXG4gICAgICAgICAgICBcImNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImJhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgIFwiY2FyZXRDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJudWRnZURpc3BsYXlJbWFnZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkJnQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwid2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgIFwiZXJyb3JDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgXCJjcmVhdGVkRGF0ZVwiOiBudWxsLFxuICAgICAgICAgICAgXCJwYWRkaW5nXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1hcmdpblwiOiBudWxsLFxuICAgICAgICAgICAgXCJpc01hc3RlckNzc1wiOiBudWxsLFxuICAgICAgICAgICAgXCJjb250cm9sTWV0YUlkXCI6IG51bGwsXG4gICAgICAgICAgICBcImJvcmRlclN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICBcImhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5IZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgIFwibWF4SGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICBcIm1pbldpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heFdpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICBcImNzc0NsYXNzXCI6IG51bGxcbiAgICAgICAgfSxcbiAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJockxpbmVcIixcbiAgICAgICAgXCJsYWJlbFwiOiBcIkhvcml6b250YWwgTGluZVwiLFxuICAgICAgICBcInBsYWNlSG9sZGVyXCI6IG51bGwsXG4gICAgICAgIFwibWV0YUlkXCI6IFwiQUxMX0NPTV9HRU5fTUNUUkxfaHJMaW5lX2hyTGluZV9WMVwiLFxuICAgICAgICBcImlzVmlzaWJsZVwiOiBmYWxzZSxcbiAgICAgICAgXCJpc0Rpc2FibGVcIjogZmFsc2UsXG4gICAgICAgIFwiZGVmYXVsdFZhbHVlXCI6IG51bGwsXG4gICAgICAgIFwidmFsaWRhdG9yc1wiOiB7XG4gICAgICAgICAgICBcImlzUmVxdWlyZWRcIjogZmFsc2UsXG4gICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlRoaXMgZmllbGQgY2Fubm90IGJlIGVtcHR5XCIsXG4gICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICB9LFxuICAgICAgICBcIm9wdGlvbnNcIjogW10sXG4gICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbCxcbiAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgXCJjb25maWdEYXRhXCI6IHt9LFxuICAgICAgICBcIm1ldGFEYXRhT2JqXCI6IG51bGwsXG4gICAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcbiAgICAgICAgXCJpc01hc3RlckNvbnRyb2xcIjogdHJ1ZSxcbiAgICAgICAgXCJjb250cm9sVHlwZVwiOiBcImhyTGluZVwiXG4gICAgfTtcblxuXG4gIGFubnVpdHlwYXlvdXRPYmo6IGFueT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogXCJzZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmaWVsZE5hbWVcIjogXCJhbm51aXR5UGF5b3V0T3B0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibGFiZWxcIjogXCJQcmVtaXVtIFBheW1lbnQgRnJlcXVlbmN5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX3NlbGVjdF9hbm51aXR5UGF5b3V0T3B0aW9uX1YxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlBsZWFzZSBzZWxlY3QgTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNzc0NsYXNzXCI6IFwiIGNvbC1zbS0xMiBjb2wtbWQtMyBjb2wtbGctMyBjb2wteGwtMyBtdC00IHByLTAgcHQtMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwic3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpbWFnZVVybFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFR5cGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9udFNpemVcIjogXCIxMnB4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9udEZhbWlseVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNhcmV0Q29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibnVkZ2VEaXNwbGF5SW1hZ2VcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZHJvcGRvd25PcHRpb25Gb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIndpZHRoXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25CZ0NvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvY3VzRHJvcGRvd25PcHRpb25Db2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyTGVmdFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaG92ZXJCb3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGlzYWJsZUNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVCYWNrZ3JvdW5kXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZXJyb3JCb3JkZXJXaWR0aFwiOiBcIjAuMDk0cmVtXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3JlYXRlZERhdGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGFkZGluZ1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXJnaW5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNNYXN0ZXJDc3NcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbE1ldGFJZFwiOiBcIkFMTF9DT01fR0VOX0NUUkxfbXVsdGlwbGVTZWxlY3Rfc291cmNlT2ZGdW5kRm9yUHJlbWl1bV9WMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJib3JkZXJTdHlsZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluSGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heEhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5XaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhXaWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sdW1uSW5kZXhcIjogMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjb25maWdEYXRhXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN1YlRleHRcIjogXCJEaXNjb3VudCAgYXZhaWxhYmxlIG9uIHNvbWUgb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udHJvbFN0eWxlc1wiOiBudWxsXG5cbiAgfTtcblxuXG4gIG1pbmltdW1Bbm51aXR5UGF5b3V0ZnJlcXVlbmN5T2JqOiBhbnk9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IFwic2VsZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZmllbGROYW1lXCI6IFwiYW5udWl0eVBheW91dEZyZXF1ZW5jeU9wdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiQW5udWl0eSBQYXlvdXQgRnJlcXVlbmN5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGxhY2VIb2xkZXJcIjogXCJTZWxlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX3NlbGVjdF9hbm51aXR5UGF5b3V0RnJlcXVlbmN5T3B0aW9uX1YxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNWaXNpYmxlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaXNEaXNhYmxlXCI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInZhbGlkYXRvcnNcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1JlcXVpcmVkXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInJlcXVpcmVkTWVzc2FnZVwiOiBcIlBsZWFzZSBzZWxlY3QgTWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkxlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtaW5MZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1heExlbmd0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhMZW5ndGhNZXNzYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhdHRlcm5cIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicGF0dGVybk1lc3NhZ2VcIjogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9wdGlvbnNcIjogW3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnTW9udGhseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ01vbnRobHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdPbmUgVGltZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ09uZSBUaW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUXVhcnRlcmx5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnSGFsZiBZZWFybHknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIYWxmIFllYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1llYXJseScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjc3NDbGFzc1wiOiBcIiBjb2wtc20tMTIgY29sLW1kLTMgY29sLWxnLTMgY29sLXhsLTMgbXQtNCBwci0wIHB0LTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInN0eWxlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaW1hZ2VVcmxcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xUeXBlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRTaXplXCI6IFwiMTJweFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb250V2VpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZvbnRGYW1pbHlcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJjYXJldENvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm51ZGdlRGlzcGxheUltYWdlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkcm9wZG93bk9wdGlvbkNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRyb3Bkb3duT3B0aW9uRm9udFdlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ3aWR0aFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JvcmRlcldpZHRoXCI6IFwiMC4wOTRyZW1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNCb3JkZXJDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0JhY2tncm91bmRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQmdDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJmb2N1c0Ryb3Bkb3duT3B0aW9uQ29sb3JcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkZvbnRXZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlckxlZnRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9jdXNEcm9wZG93bk9wdGlvbkJvcmRlclJhZGl1c1wiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImhvdmVyQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJob3ZlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpc2FibGVDb2xvclwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXNhYmxlQmFja2dyb3VuZFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckJvcmRlckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImVycm9yQm9yZGVyV2lkdGhcIjogXCIwLjA5NHJlbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJlcnJvckNvbG9yXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNyZWF0ZWREYXRlXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInBhZGRpbmdcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWFyZ2luXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzTWFzdGVyQ3NzXCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xNZXRhSWRcIjogXCJBTExfQ09NX0dFTl9DVFJMX211bHRpcGxlU2VsZWN0X3NvdXJjZU9mRnVuZEZvclByZW1pdW1fVjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYm9yZGVyU3R5bGVcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm1pbkhlaWdodFwiOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJtYXhIZWlnaHRcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWluV2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwibWF4V2lkdGhcIjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY3NzQ2xhc3NcIjogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbHVtbkluZGV4XCI6IDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29uZmlnRGF0YVwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWJUZXh0XCI6IFwiRGlzY291bnQgIGF2YWlsYWJsZSBvbiBzb21lIG9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xTdHlsZXNcIjogbnVsbFxuXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlclNlcnZpY2UgOiBNYXN0ZXJDb250cm9sU2VydmljZSkge31cblxuICAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudHJpZ2dlclZhbGlkYXRpb24pIHtcbiAgICAgIHRoaXMudHJpZ2dlclZhbGlkYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5ncm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIChjaGFuZ2VzWydwcmVtaXVtRGV0YWlscyddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoY2hhbmdlc1sncHJlbWl1bURldGFpbHMnXS5jdXJyZW50VmFsdWUpICkge1xuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5yZWNhbGN1bGF0ZVN1YlRleHQpKSB7XG4gICAgICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LnJlY2FsY3VsYXRlU3ViVGV4dFsnaXNWaXNpYmxlJ10pKSB7XG5cbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVN1YlRleHRPYmpbJ2lzVmlzaWJsZSddID10aGlzLnByZW1pdW1EZXRhaWxzKCkucmVjYWxjdWxhdGVTdWJUZXh0Wydpc1Zpc2libGUnXSA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgfVxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bSkpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuYW5udWl0eVByZW1pdW0gPSB7XG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3RleHRWYWx1ZSddLFxuICAgICAgICAgIHNlbGVjdFZhbHVlOiB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ3NlbGVjdFZhbHVlJ10sXG4gICAgICAgIH07XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgIGNvbnN0IGZyZXEgPSBgIHBlciAke3RoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ119YDtcbiAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnaXNEaXNhYmxlJykpIHtcbiAgICAgICAgICB0aGlzLmFubnVpdHlQcmVtaXVtT2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uUHJlbWl1bVsnaXNEaXNhYmxlJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW0sICdpc0Rpc2FibGVEcm9wZG93bicpKSB7XG4gICAgICAgICAgdGhpcy5hbm51aXR5UHJlbWl1bU9ialsnY29uZmlnRGF0YSddWydpc0Rpc2FibGVEcm9wZG93biddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtWydpc0Rpc2FibGVEcm9wZG93biddO1xuICAgICAgICB9XG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5QcmVtaXVtLCAnb3B0aW9ucycpKSB7XG4gICAgICAgICAgdGhpcy5hbm51aXR5cGF5b3V0T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LlByZW1pdW1bJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5KSkge1xuICAgICAgICAvLyBDcmVhdGUgbmV3IG9iamVjdCB0byB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgdGhpcy5taW51bXVtQW5udWl0eVBheW91dCA9IHtcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsndGV4dFZhbHVlJ10sXG4gICAgICAgICAgc2VsZWN0VmFsdWU6IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnc2VsZWN0VmFsdWUnXSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgY29uc3QgZnJlcSA9IGAgcGVyICR7dGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXX1gO1xuICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqLmNvbmZpZ0RhdGEubnVtYmVydG93b3JkID0gdGhpcy50cmFuc2Zvcm0odGhpcy5taW51bXVtQW5udWl0eVBheW91dFsndGV4dFZhbHVlJ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdpc0Rpc2FibGUnKSkge1xuICAgICAgICAgIHRoaXMubWluaW11bUFubnVpdHlQYXlvdXRPYmpbJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5Wydpc0Rpc2FibGUnXTtcbiAgICAgICAgfVxuICAgICAgICBpZihPYmplY3QuaGFzT3duKHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eSwgJ2lzRGlzYWJsZURyb3Bkb3duJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydjb25maWdEYXRhJ11bJ2lzRGlzYWJsZURyb3Bkb3duJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ2lzRGlzYWJsZURyb3Bkb3duJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoT2JqZWN0Lmhhc093bih0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHksICdvcHRpb25zJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0ZnJlcXVlbmN5T2JqWydvcHRpb25zJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmFubnVpdHlbJ29wdGlvbnMnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKE9iamVjdC5oYXNPd24odGhpcy5wcmVtaXVtRGV0YWlscygpPy5hbm51aXR5LCAnaXNWaXNpYmxlJykpIHtcbiAgICAgICAgICB0aGlzLm1pbmltdW1Bbm51aXR5UGF5b3V0T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcikpIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyBvYmplY3QgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIHRoaXMuYW5udWl0eVRhYmxlQ2FsY3VsYXRvciA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uYW5udWl0eVRhYmxlQ2FsY3VsYXRvcjtcbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQnV0dG9uWydjb250cm9sU3R5bGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnY29udHJvbFN0eWxlJ11cbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUJ1dHRvblsnbGFiZWwnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uY2FsY3VsYXRlQW5udWl0eVsnbGFiZWwnXVxuICAgICAgICB9XG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmNhbGN1bGF0ZUFubnVpdHlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMucmVjYWxjdWxhdGVCdXR0b25bJ2lzRGlzYWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5jYWxjdWxhdGVBbm51aXR5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaCkpIHtcbiAgICAgICAgdGhpcy5kaWdpdEJvc3NTd2l0Y2ggPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmRpZ2l0Qm9zc1N3aXRjaDtcblxuICAgICAgfVxuXG4gICAgICAvL2d1cmFudGVlZCBBbm51aXR5IG9wdGlvbnNcblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eSkpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnb3B0aW9ucyddKSkge1xuICAgICAgICAgIHRoaXMuZ3VyYW50ZWVkYW5udWl0eU9ialsnb3B0aW9ucyddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5ndXJhbnRlZWRBbm51aXR5WydvcHRpb25zJ107XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ndXJhbnRlZWRhbm51aXR5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3VyYW50ZWVkQW5udWl0eVsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuXG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeSkpIHtcblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc1Zpc2libGUnXVxuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydjb250cm9sU3R5bGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlU3VtbWFyeU9ialsnY29udHJvbFN0eWxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnY29udHJvbFN0eWxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZVN1bW1hcnlPYmpbJ2xhYmVsJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmdlbmVyYXRlU3VtbWFyeVsnbGFiZWwnXTtcbiAgICAgICAgfVxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5nZW5lcmF0ZVN1bW1hcnlbJ2lzRGlzYWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVTdW1tYXJ5T2JqWydpc0Rpc2FibGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ2VuZXJhdGVTdW1tYXJ5Wydpc0Rpc2FibGUnXVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb24pKSB7XG5cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uYXV0b1BheU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVBdXRvRGViaXRPYmpbJ2lzVmlzaWJsZSddID0gdGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc1Zpc2libGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzVmlzaWJsZSddKSkge1xuICAgICAgICAgIHRoaXMuaXNFbmFibGVBdXRvRGViaXQgPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRW5hYmxlQXV0b0RlYml0J107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5hdXRvUGF5T3B0aW9uWydpc0Rpc2FibGUnXSkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZUF1dG9EZWJpdE9ialsnaXNEaXNhYmxlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/LmF1dG9QYXlPcHRpb25bJ2lzRGlzYWJsZSddO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvbikpIHtcbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddKSkge1xuICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddKSkge1xuICAgICAgICAgIHRoaXMuZ3Jvd3RoUmF0ZU9ialsnY29uZmlnRGF0YSddWydjYXJkc1ZhbHVlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnY2FyZHNWYWx1ZSddO1xuICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydpc1Zpc2libGUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnaXNWaXNpYmxlJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RWYWx1ZSddO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ3NlbGVjdGVkQ2FyZFZhbHVlJ10pKSB7XG4gICAgICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydzZWxlY3RlZENhcmRWYWx1ZSddO1xuICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydyYWRpb09wdGlvbnMnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ29wdGlvbnMnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsncmFkaW9PcHRpb25zJ107XG4gICAgICAgIH1cblxuICAgICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5wcmVtaXVtRGV0YWlscygpPy5ncm93dGhSYXRlT3B0aW9uWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10pKSB7XG4gICAgICAgICAgdGhpcy5ncm93dGhSYXRlT2JqWydjb25maWdEYXRhJ11bJ2luZm9NZXNzYWdlJ10gPSB0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsnaW5mb01lc3NhZ2UnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLnByZW1pdW1EZXRhaWxzKCk/Lmdyb3d0aFJhdGVPcHRpb25bJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSkpIHtcbiAgICAgICAgICB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsncGF5Z2V0SW5mb01lc3NhZ2UnXSA9IHRoaXMucHJlbWl1bURldGFpbHMoKT8uZ3Jvd3RoUmF0ZU9wdGlvblsnY29uZmlnRGF0YSddWydwYXlnZXRJbmZvTWVzc2FnZSddO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHByZVNlbGVjdENvbmZpZyB0byB0cmlnZ2VyIGNoaWxkJ3MgbmdPbkNoYW5nZXNcbiAgICAgICAgdGhpcy5ncm93dGhSYXRlUHJlU2VsZWN0Q29uZmlnID0ge1xuICAgICAgICAgIHNlbGVjdFZhbHVlOiB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0VmFsdWUnXSA/PyBudWxsLFxuICAgICAgICAgIHNlbGVjdGVkQ2FyZFZhbHVlOiB0aGlzLmdyb3d0aFJhdGVPYmpbJ2NvbmZpZ0RhdGEnXVsnc2VsZWN0ZWRDYXJkVmFsdWUnXSA/PyBudWxsXG4gICAgICAgIH07XG5cblxuICAgICAgfVxuXG5cbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVCdXR0b25DbGlja2VkKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSBmYWxzZTtcbiAgICBpZih0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbnMuaXNwcmVtaXVtRW50cnkgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLm9uQ2FsY3VhbHRlQnV0dG9uQ2xpY2suZW1pdCgpO1xuICB9XG5cbiAgZ2VuZXJhdGVTdW1tYXJ5Q2xpY2tlZCgpIHtcbiAgICB0aGlzLm9uR2VuZXJhdGVTdW1tYXJ5Q2xpY2suZW1pdCgpO1xuICB9XG5cbiAgc2VsZWN0ZWRHcm93dGhSYXRlOiBhbnkgPSBudWxsO1xuICBncm93dGhSYXRlUHJlU2VsZWN0Q29uZmlnOiBhbnkgPSBudWxsO1xuXG4gIG9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkR3Jvd3RoUmF0ZSA9IGV2ZW50O1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCh7IHR5cGU6ICdyYWRpbycsIHZhbHVlOiBldmVudCB9KTtcbiAgICAvL1xuICB9XG5cbiAgb25Hcm93dGhSYXRlQ2FyZENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KHsgdHlwZTogJ2NhcmQnLCB2YWx1ZTogZXZlbnQgfSk7XG4gIH1cblxuICBncm93dGhSYXRlU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5vbkdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZC5lbWl0KCk7XG4gIH1cblxuICBvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICB0aGlzLnZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5ID0gZmFsc2U7XG4gICAgaWYodGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5hbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ10pKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gIH1cbiAgICB0aGlzLm9uQW5udWl0eVByZW1pdW1DaGFuZ2UuZW1pdCh0aGlzLmFubnVpdHlQcmVtaXVtKTtcblxuICAgIC8vY29udmVydCB0byB3b3Jkc1xuICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmFubnVpdHlQcmVtaXVtWyd0ZXh0VmFsdWUnXSkgJiYgIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3NlbGVjdFZhbHVlJ10pKSB7XG4gICAgY29uc3QgZnJlcSA9YCBwZXIgJHt0aGlzLmFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddfWA7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5hbm51aXR5UHJlbWl1bU9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cbiAgb25NaW5QcmVtaXVtVmFsdWVDaGFuZ2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMub25NaW5pbXVtUHJlbWl1bVZhbHVlQ2hhbmdlLmVtaXQodGhpcy5taW51bXVtQW5udWl0eVBheW91dCk7XG4gICAgLy9jb252ZXJ0IHRvIHdvcmRzXG4gICAgaWYoIXRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKSAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5taW51bXVtQW5udWl0eVBheW91dFsnc2VsZWN0VmFsdWUnXSkpIHtcbiAgICBjb25zdCBmcmVxID0gYCBwZXIgJHt0aGlzLm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddfWA7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9IHRoaXMudHJhbnNmb3JtKHRoaXMubWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgdGhpcy5taW5pbXVtQW5udWl0eVBheW91dE9iai5jb25maWdEYXRhLm51bWJlcnRvd29yZCA9ICcnO1xuICAgIH1cbn1cblxuICBvbkVuYWJsZUF1dG9EZWJpdFZhbHVlQ2hhbmdlKGV2ZW50IDogYW55KSB7XG4gICAgdGhpcy5vbkF1dGlvRGViaXRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uR3VyYW50ZWVkQW5udWl0eUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkd1cmFudGVlZEFubnVpdHlWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGdyb3d0aFJhdGVPcHRpb25TZWxlY3RlZChjYXJkPzogYW55LCB2YWx1ZT86IGFueSkge1xuICAgIHRoaXMub25Hcm93dGhSYXRlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICAgIGlmIChjYXJkKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8uc2VsZWN0Q2FyZChjYXJkKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFubnVpdHlSYWRpb1JlZj8udG9nZ2xlUmFkaW8odmFsdWUsIG5ldyBFdmVudCgnY2xpY2snKSk7XG4gICAgfVxuICB9XG5cbiAgYW5udWFsSW5jb21lZm9jdXNPdXQoKSB7XG4gICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IGZhbHNlO1xuICAgIGlmKHRoaXMubWFzdGVyU2VydmljZS5jaGVja0lmVmFsdWVJc0VtcHR5KHRoaXMuYW5udWl0eVByZW1pdW1bJ3RleHRWYWx1ZSddKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9ucy5pc3ByZW1pdW1FbnRyeSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgYSA9IFsnJywgJ09uZSAnLCAnVHdvICcsICdUaHJlZSAnLCAnRm91ciAnLCAnRml2ZSAnLCAnU2l4ICcsICdTZXZlbiAnLCAnRWlnaHQgJywgJ05pbmUgJywgJ1RlbiAnLCAnRWxldmVuICcsICdUd2VsdmUgJywgJ1RoaXJ0ZWVuICcsICdGb3VydGVlbiAnLCAnRmlmdGVlbiAnLCAnU2l4dGVlbiAnLCAnU2V2ZW50ZWVuICcsICdFaWdodGVlbiAnLCAnTmluZXRlZW4gJ107XG4gIGIgPSBbJycsICcnLCAnVHdlbnR5JywgJ1RoaXJ0eScsICdGb3VydHknLCAnRmlmdHknLCAnU2l4dHknLCAnU2V2ZW50eScsICdFaWdodHknLCAnTmluZXR5J107XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhbHVlID0gdGhpcy5tYXN0ZXJTZXJ2aWNlLnJlbW92ZUNvbWFzQW5kQ3VycmVuY3lTeW1ib2xGcm9tTnVtYmVyVmFsdWVzKHZhbHVlKTtcbiAgICBsZXQgbiA9ICgnMDAwMDAwMDAwJyArIHZhbHVlKS5zdWJzdHIoLTkpLm1hdGNoKC9eKFxcZHsyfSkoXFxkezJ9KShcXGR7Mn0pKFxcZHsxfSkoXFxkezJ9KSQvKTtcbiAgICBpZiAoIW4pIHJldHVybiAnJztcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsxXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzFdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsxXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzFdWzFdKV0pKSArICdDcm9yZSAnIDogJyc7XG4gICAgc3RyICs9IChOdW1iZXIoblsyXSkgIT0gMCkgPyAodGhpcy5hW051bWJlcihuWzJdKV0gfHwgKHRoaXMuYltOdW1iZXIoblsyXVswXSldICsgJyAnICsgdGhpcy5hW051bWJlcihuWzJdWzFdKV0pKSArICdMYWtoICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzNdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bM10pXSB8fCAodGhpcy5iW051bWJlcihuWzNdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bM11bMV0pXSkpICsgJ1Rob3VzYW5kICcgOiAnJztcbiAgICBzdHIgKz0gKE51bWJlcihuWzRdKSAhPSAwKSA/ICh0aGlzLmFbTnVtYmVyKG5bNF0pXSB8fCAodGhpcy5iW051bWJlcihuWzRdWzBdKV0gKyAnICcgKyB0aGlzLmFbTnVtYmVyKG5bNF1bMV0pXSkpICsgJ0h1bmRyZWQgJyA6ICcnO1xuICAgIHN0ciArPSAoTnVtYmVyKG5bNV0pICE9IDApID8gKChzdHIgIT0gJycpID8gJ0FuZCAnIDogJycpICsgKHRoaXMuYVtOdW1iZXIobls1XSldIHx8ICh0aGlzLmJbTnVtYmVyKG5bNV1bMF0pXSArICcgJyArIHRoaXMuYVtOdW1iZXIobls1XVsxXSldKSkgOiAnJztcbiAgICBzdHIgPSBzdHIudHJpbSgpO1xuICAgIHJldHVybiBzdHIgPyBzdHIgKyAnIE9ubHknIDogJyc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIHB4LTNcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHg7Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzogMHB4IDRweCAxNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpICFpbXBvcnRhbnQ7XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8aDQgY2xhc3M9XCJjYXJkLW1haW4tdGl0bGVcIj48c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTJweDtcIj48aW1nXG4gICAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvY2FsY3VsYXRvci5zdmdcIiBhbHQ9XCJhbm51aXR5IGNhbGN1bGF0b3JcIj48L3NwYW4+SGVyZSdzIFlvdXIgUHJlbWl1bSB0byBBbm51aXR5IENhbGN1bGF0b3I8L2g0PlxuICA8L2Rpdj5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwicm93XCI+IC0tPlxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwYi00IHB4LTRcIiBzdHlsZT1cImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcIj5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuXG4gICAgPC9kaXY+IC0tPlxuXG4gICAgPGRpdiBjbGFzcz1cInJvdyBteC1hdXRvXCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01OCUpO1wiPlxuICAgICAgPGxpYi10b2dnbGUgY2xhc3M9XCJjb2wtYXV0b1wiIFtmaWVsZF09XCJhbm51aXR5UHJlbWl1bVRvZ2dsZU9ialwiIC8+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2Rpdj4gLS0+XG4gICAgPGRpdiBjbGFzcz1cIiBjb2wtMTJcIiBzdHlsZT1cIlxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBwLTAgZ2FwLTJcIiBzdHlsZT1cIndpZHRoOiA0NSU7XCI+XG4gICAgICAgIDxsaWItYW1vdW50LXRleHRib3ggW2ZpZWxkXT1cImFubnVpdHlQcmVtaXVtT2JqXCIgWyhuZ01vZGVsKV09XCJhbm51aXR5UHJlbWl1bVsndGV4dFZhbHVlJ11cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQW5udWl0eVByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInZhbGlkYXRpb25zLmlzcHJlbWl1bUVudHJ5XCI+XG4gICAgICAgICAgUGxlYXNlIGVudGVyIFByZW1pdW0gYW1vdW50XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1tYXQtaGludFwiICpuZ0lmPVwiYW5udWl0eVByZW1pdW1PYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZFwiPnt7YW5udWl0eVByZW1pdW1PYmo/LmNvbmZpZ0RhdGE/Lm51bWJlcnRvd29yZH19PC9kaXY+XG5cbiAgICAgICAgPGxpYi1zZWxlY3QgW2ZpZWxkXT1cImFubnVpdHlwYXlvdXRPYmpcIiBbKG5nTW9kZWwpXT1cImFubnVpdHlQcmVtaXVtWydzZWxlY3RWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkFubnVpdHlQcmVtaXVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImVuYWJsZUF1dG9EZWJpdE9ialwiIFsobmdNb2RlbCldPVwiaXNFbmFibGVBdXRvRGViaXRcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25FbmFibGVBdXRvRGViaXRWYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICBzdHlsZT1cIndpZHRoOiAxMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCA2cHgpOyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgPCEtLSBUb3AgbGluZSAtLT5cbiAgICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHdpZHRoOiAxcHg7IGhlaWdodDogY2FsYyg1MCUgKyAxOXB4KTsgdG9wOiAtMzBweDsgYmFja2dyb3VuZDogcmdiYSgyMjEsIDIyMSwgMjIxLCAxKTsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCI+PC9kaXY+XG4gICAgICAgIDwhLS0gQm90dG9tIGxpbmUgLS0+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB3aWR0aDogMXB4OyBoZWlnaHQ6IGNhbGMoNTAlICsgMjRweCk7IGJvdHRvbTogLTM3cHg7IGJhY2tncm91bmQ6IHJnYmEoMjIxLCAyMjEsIDIyMSwgMSk7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiPjwvZGl2PlxuICAgICAgICA8bGliLWljb24tYnV0dG9uIFtmaWVsZF09XCJpbnRlcmNoYW5nZUJ1dHRvbk9ialwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcC0wIGdhcC0yXCIgc3R5bGU9XCJ3aWR0aDogNDUlO1wiPlxuICAgICAgICA8bGliLWFtb3VudC10ZXh0Ym94IFtmaWVsZF09XCJtaW5pbXVtQW5udWl0eVBheW91dE9ialwiIFsobmdNb2RlbCldPVwibWludW11bUFubnVpdHlQYXlvdXRbJ3RleHRWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgKm5nSWY9XCJtaW5pbXVtQW5udWl0eVBheW91dE9iai5pc1Zpc2libGU7XCIvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1tYXQtaGludFwiICpuZ0lmPVwibWluaW11bUFubnVpdHlQYXlvdXRPYmouaXNWaXNpYmxlICYmIG1pbmltdW1Bbm51aXR5UGF5b3V0T2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmRcIj57e21pbmltdW1Bbm51aXR5UGF5b3V0T2JqPy5jb25maWdEYXRhPy5udW1iZXJ0b3dvcmR9fTwvZGl2PlxuICAgICAgICA8bGliLXNlbGVjdCBbZmllbGRdPVwibWluaW11bUFubnVpdHlQYXlvdXRmcmVxdWVuY3lPYmpcIiBbKG5nTW9kZWwpXT1cIm1pbnVtdW1Bbm51aXR5UGF5b3V0WydzZWxlY3RWYWx1ZSddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1pblByZW1pdW1WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbml1bS1hbm51aXR5IG10LTNcIiAqbmdJZj1cImd1cmFudGVlZGFubnVpdHlPYmpbJ2lzVmlzaWJsZSddXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbXNnIHctMTAwIHB4LTIgcHktMVwiPlxuICAgICAgICAgICAgVmFsdWUgYmFzZWQgb24gYXNzdW1lZCAxMCUgYW5udWFsIGdyb3d0aCBvZiBOaWZ0eSA1MCBpbmRleC5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcHgtMiBweS0xXCI+XG4gICAgICAgICAgICA8bGliLXJhZGlvIFtmaWVsZF09XCJndXJhbnRlZWRhbm51aXR5T2JqXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEd1cmFudGVlZEFubnVpdHlcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkd1cmFudGVlZEFubnVpdHlDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktbXNnLTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcCB3LTEwMCBweC0yIHB5LTFcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3N0cmVhbWxpbmVfZ3JhcGgtYXJyb3ctaW5jcmVhc2UtcmVtaXgucG5nXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDI0cHg7XCIgLz5cbiAgICAgICAgICAgIDxzcGFuPlBvdGVudGlhbCBmb3IgaGlnaGVyIHJldHVybnMgYnkgbG93ZXJpbmcgdGhlIG1pbmltdW0gZ3VhcmFudGVlZCBhbm51aXR5IHJhdGUuPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAjZW1wdHlSaWdodENvbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC01IGNvbC1sZy01IHAtMFwiPjwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8ZGl2IGNsYXNzPVwidmVydGljYWwtbGluZVwiPjwvZGl2PiAtLT5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJjdXN0b20tZ3JpZC10ZW1wbGF0ZVwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImVuYWJsZUF1dG9EZWJpdE9ialwiIFsobmdNb2RlbCldPVwiaXNFbmFibGVBdXRvRGViaXRcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRW5hYmxlQXV0b0RlYml0VmFsdWVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4gLS0+XG5cbiAgPC9kaXY+XG5cblxuICA8ZGl2IGNsYXNzPVwiY2FyZCBweS0zIG1iLTQgYm9yZGVyLXRvcC0wXCIgc3R5bGU9XCJib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XCI+XG4gICAgPGRpdiBjbGFzcz1cIm14LTRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkaWdpdC1ib3NzLWJhbm5lclwiICpuZ0lmPVwiZGlnaXRCb3NzU3dpdGNoPy5pc1Zpc2libGVcIj5cbiAgICAgICAgPGxpYi10b2dnbGUgW2ZpZWxkXT1cImRpZ2l0Qm9zc1RvZ2dsZUNvbmZpZ1wiIFsobmdNb2RlbCldPVwidGhpcy5kaWdpdEJvc3NTd2l0Y2guaXNTd2l0Y2hPblwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGlnaXRCb3NzU3dpdGNoQ2hhbmdlKCRldmVudClcIj48L2xpYi10b2dnbGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWdpdC1ib3NzLXRleHRcIj5cbiAgICAgICAgICB7e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5wcmVmaXhUZXh0fX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7dGhpcy5kaWdpdEJvc3NTd2l0Y2g/LmhpZ2hsaWdodFRleHR9fTwvc3Bhbj5cbiAgICAgICAgICB7e3RoaXMuZGlnaXRCb3NzU3dpdGNoPy5zdWJUZXh0fX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93LWljb25cIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9zdHJlYW1saW5lX2dyYXBoLWFycm93LWluY3JlYXNlLXJlbWl4LnN2Z1wiLz48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bGliLWJ1dHRvbiBbZmllbGRdPVwicmVjYWxjdWxhdGVCdXR0b25cIiAoY2xpY2spPVwiY2FsY3VsYXRlQnV0dG9uQ2xpY2tlZCgpXCIgLz5cblxuICAgICAgPCEtLSAvL2RpZ2l0IGJvc3MgdXBkYXRlZCBkZXNpZ24gLS0+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC0xMiBtdC0zXCIgc3R5bGU9XCJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGRpc3BsYXk6IGZsZXg7XCIgKm5nSWY9XCIhbWluaW11bUFubnVpdHlQYXlvdXRPYmouaXNWaXNpYmxlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy0xMiBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBwYWRkaW5nLWxlZnQtMCBwYWRkaW5nLXJpZ2h0LTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlYWxpc3RpYy1waWN0dXJlLWNhcmRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVhbGlzdGljLXBpY3R1cmUtaGVhZGVyXCI+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwiZGlnaXRCb3NzU3dpdGNoPy5pY29uXCIgW3NyY109XCJkaWdpdEJvc3NTd2l0Y2g/Lmljb25cIiBzdHlsZT1cIndpZHRoOjEycHg7aGVpZ2h0OjEycHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXgtc2hyaW5rOjA7XCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVhbGlzdGljLXBpY3R1cmUtbGFiZWxcIj5SZWFsaXN0aWMgUGljdHVyZTo8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWFsaXN0aWMtcGljdHVyZS10ZXh0XCI+e3tkaWdpdEJvc3NTd2l0Y2g/LmRpZ2l0Qm9zc1RleHR9fSA8c3BhbiBjbGFzcz1cInJlYWxpc3RpYy1waWN0dXJlLWhpZ2hsaWdodFwiPnt7ZGlnaXRCb3NzU3dpdGNoPy5kaWdpdEJvc3NWYWx1ZX19PC9zcGFuPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbjwvZGl2PiAtLT5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgIG1iLTAgbXQtMlwiXG4gICAgICAgIHN0eWxlPVwiYWxpZ24taXRlbXM6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDhweDtmb250LXdlaWdodDogNDAwO2NvbG9yOnJnYmEoNjgsIDY4LCA2OCwgMSkgXCJcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtNFwiICpuZ0lmPVwicmVjYWxjdWxhdGVTdWJUZXh0T2JqPy5pc1Zpc2libGVcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9Hcm91cCsxMDEwMTA2MzM2LnBuZ1wiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAzcHg7XCIgLz5cbiAgICAgICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA2cHg7XCI+RXZlcnkgdGltZSB5b3UgbWFrZSBhIGNoYW5nZSBhYm92ZSwgcGxlYXNlIGNsaWNrIHJlY2FsY3VsYXRlLjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7YWxpZ24taXRlbXM6IGNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtib3JkZXI6bm9uZTtmb250LXNpemU6IDEwcHg7Zm9udC13ZWlnaHQ6IDcwMDtoZWlnaHQ6MzJweDtiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjUwLCAyMzUsIDEpO2dhcDogOHB4O21hcmdpbjogNHB4O1wiXG4gICAgICAqbmdJZj1cImFubnVpdHlUYWJsZUNhbGN1bGF0b3I/LmlzVmlzaWJsZVwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jYWxjdWxhdG9yLnN2Z1wiIC8+XG4gICAgICBNaW5pbXVtIEd1YXJhbnRlZWQgUGF5b3V0KEEpICsgVmFyaWFibGUgUGF5b3V0KEIpID0gVG90YWwgUGF5b3V0KEMpXG4gICAgPC9kaXY+XG4gICAgPCEtLSBhbm51aXR5IGNhbGN1bGF0b3IgdGFibGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImFubnVpdHktdGFibGVzLW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCJhbm51aXR5VGFibGVDYWxjdWxhdG9yPy5pc1Zpc2libGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYW5udWl0eS10YWJsZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDwhLS0gVGFibGUgMSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTEtaGVhZGVyXCI+TWluaW11bSBHdWFyYW50ZWVkIEFubnVpdHkgUGF5b3V0KEEpPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jZWxsXCI+PHNwYW4gY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPjxzcGFuXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6MTJweDsgY29sb3I6IHJnYmEoNjgsIDY4LCA2OCwgMSk7XCI+XG4gICAgICAgICAgICAgICAgPHt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMXZhbDF9fT5cbiAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFubnVpdHl0YWJsZS1idXR0b25cIj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTF2YWwyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wZXJhdG9yLXN5bWJvbFwiPis8L2Rpdj5cblxuICAgICAgICA8IS0tIFRhYmxlIDIgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbm51aXR5LWNhbGN1bGF0b3ItdGFibGUyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlciBhbm51aXR5dGFibGUxLWhlYWRlclwiPkFzc3VtZSBncm93dGggb2YgQmVuY2hNYXJrIGluZGV4PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj4mIzY0O3t7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlMnZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPiYjNjQ7e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGUydmFsMn19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCI+JiM2NDt7e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTJ2YWwzfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUYWJsZSAzIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXRhYmxlM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXIgYW5udWl0eXRhYmxlMS1oZWFkZXJcIj4xc3QgVmFyaWFibGUgQW5udWl0eSBQYXlvdXQoQik8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDF9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlM3ZhbDN9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwib3BlcmF0b3Itc3ltYm9sXCI+PTwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGFibGUgNCAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci10YWJsZTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyIGFubnVpdHl0YWJsZTQtaGVhZGVyXCI+MXN0IFRvdGFsUGF5b3V0L0ZyZXF1ZW5jeShDKTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IGFubnVpdHl0YWJsZTQtYmdcIj48c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwicnVwZWUtaWNvblwiPuKCuTwvc3Bhbj57e2FubnVpdHlUYWJsZUNhbGN1bGF0b3IuYW5udWl0eWNhbGN1bGF0b3JUYWJsZTR2YWwxfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3cgYW5udWl0eXRhYmxlNC1iZ1wiPjxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJydXBlZS1pY29uXCI+4oK5PC9zcGFuPnt7YW5udWl0eVRhYmxlQ2FsY3VsYXRvci5hbm51aXR5Y2FsY3VsYXRvclRhYmxlNHZhbDJ9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBhbm51aXR5dGFibGU0LWJnXCI+PHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJ1cGVlLWljb25cIj7igrk8L3NwYW4+e3thbm51aXR5VGFibGVDYWxjdWxhdG9yLmFubnVpdHljYWxjdWxhdG9yVGFibGU0dmFsM319PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYW5udWl0eS1jYWxjdWxhdG9yLXBhcmFncmFwaFwiICpuZ0lmPVwiYW5udWl0eVRhYmxlQ2FsY3VsYXRvcj8uaXNWaXNpYmxlXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImFubnVpdHktY2FsY3VsYXRvci1wYXJhZ3JhcGgxXCI+VGhpcyBpcyBhbiBhc3N1bWVkIGdyb3d0aCBwZXJjZW50YWdlIGZvciB0aGUgaW5kZXggYmFzaXMgd2hpY2ggdGhlXG4gICAgICAgIHZhbHVlcyBpbiBjb2x1bW5zIEIgYW5kIEMgYXJlIGNhbGN1bGF0ZWQuPC9zcGFuPiBBY3R1YWwgZ3Jvd3RoIHdpbGwgZGVwZW5kIG9uIGluZGV4IHBlcmZvcm1hbmNlIGFuZCBtYXkgYWZmZWN0XG4gICAgICB5b3VyIHZhcmlhYmxlIGFubnVpdHkgcGF5b3V0IGFuZCB0b3RhbCBhbm51aXR5IHBheW91dC5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJncm93dGhSYXRlT2JqLmlzVmlzaWJsZVwiPlxuICAgICAgPGxpYi1hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW9cbiAgICAgICAgW2ZpZWxkXT1cImdyb3d0aFJhdGVPYmpcIlxuICAgICAgICBbcHJlU2VsZWN0Q29uZmlnXT1cImdyb3d0aFJhdGVQcmVTZWxlY3RDb25maWdcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImdyb3d0aFJhdGVPcHRpb25cIlxuICAgICAgICAoY2hhbmdlKT1cIm9uR3Jvd3RoUmF0ZVJhZGlvQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJvbkdyb3d0aFJhdGVDYXJkQ2hhbmdlKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhyTGluZU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1oci1saW5lIFtmaWVsZF09XCJockxpbmVPYmpcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImdlbmVyYXRlU3VtbWFyeU9iai5pc1Zpc2libGVcIiBjbGFzcz1cImdlbmVyYXRlU3VtbWFyeVwiPlxuICAgICAgPGxpYi1idXR0b24gW2ZpZWxkXT1cImdlbmVyYXRlU3VtbWFyeU9ialwiIChjbGljayk9XCJnZW5lcmF0ZVN1bW1hcnlDbGlja2VkKClcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiJdfQ==
|