master-control 0.4.99 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/age-date/age-date.component.mjs +7 -3
- package/esm2022/lib/amount-textbox/amount-textbox.component.mjs +7 -3
- package/esm2022/lib/annuity-calculator-radio/annuity-calculator-radio.component.mjs +8 -4
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +5 -3
- package/esm2022/lib/checkbox/checkbox.component.mjs +7 -3
- package/esm2022/lib/dob/dob.component.mjs +7 -3
- package/esm2022/lib/email-with-domain/email-with-domain.component.mjs +7 -3
- package/esm2022/lib/field-name-attribute.util.mjs +11 -0
- package/esm2022/lib/info-textbox/info-textbox.component.mjs +7 -3
- package/esm2022/lib/master-control.component.mjs +8 -3
- package/esm2022/lib/medial-questions/medial-questions.component.mjs +3 -3
- package/esm2022/lib/mob-number/mob-number.component.mjs +5 -3
- package/esm2022/lib/multiple-select/multiple-select.component.mjs +5 -3
- package/esm2022/lib/otp-mob-number/otp-mob-number.component.mjs +7 -3
- package/esm2022/lib/otp-textbox/otp-textbox.component.mjs +7 -3
- package/esm2022/lib/radio/radio.component.mjs +5 -3
- package/esm2022/lib/search-multi-select/search-multi-select.component.mjs +5 -3
- package/esm2022/lib/select/select.component.mjs +7 -6
- package/esm2022/lib/select-textbox/select-textbox.component.mjs +7 -3
- package/esm2022/lib/subscript-textbox/subscript-textbox.component.mjs +7 -3
- package/esm2022/lib/suffix-textbox/suffix-textbox.component.mjs +7 -3
- package/esm2022/lib/tag-mob-number/tag-mob-number.component.mjs +7 -3
- package/esm2022/lib/textarea/textarea.component.mjs +7 -3
- package/esm2022/lib/textbox/textbox.component.mjs +5 -3
- package/esm2022/lib/textbox-with-image/textbox-with-image.component.mjs +7 -3
- package/esm2022/lib/textbox-with-text/textbox-with-text.component.mjs +7 -3
- package/esm2022/lib/textbox-with-underscore/textbox-with-underscore.component.mjs +7 -3
- package/esm2022/lib/toggle/toggle.component.mjs +7 -3
- package/esm2022/lib/upload/upload.component.mjs +7 -3
- package/fesm2022/master-control.mjs +136 -58
- package/fesm2022/master-control.mjs.map +1 -1
- package/lib/age-date/age-date.component.d.ts +1 -0
- package/lib/amount-textbox/amount-textbox.component.d.ts +1 -0
- package/lib/checkbox/checkbox.component.d.ts +1 -0
- package/lib/dob/dob.component.d.ts +1 -0
- package/lib/email-with-domain/email-with-domain.component.d.ts +1 -0
- package/lib/field-name-attribute.util.d.ts +1 -0
- package/lib/info-textbox/info-textbox.component.d.ts +1 -0
- package/lib/otp-mob-number/otp-mob-number.component.d.ts +1 -0
- package/lib/otp-textbox/otp-textbox.component.d.ts +1 -0
- package/lib/select/select.component.d.ts +1 -0
- package/lib/select-textbox/select-textbox.component.d.ts +1 -0
- package/lib/subscript-textbox/subscript-textbox.component.d.ts +1 -0
- package/lib/suffix-textbox/suffix-textbox.component.d.ts +1 -0
- package/lib/tag-mob-number/tag-mob-number.component.d.ts +1 -0
- package/lib/textarea/textarea.component.d.ts +1 -0
- package/lib/textbox-with-image/textbox-with-image.component.d.ts +1 -0
- package/lib/textbox-with-text/textbox-with-text.component.d.ts +1 -0
- package/lib/textbox-with-underscore/textbox-with-underscore.component.d.ts +1 -0
- package/lib/toggle/toggle.component.d.ts +1 -0
- package/lib/upload/upload.component.d.ts +1 -0
- package/master-control-0.5.00.tgz +0 -0
- package/package.json +1 -1
- package/master-control-0.4.99.tgz +0 -0
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, forwardRef, input } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, forwardRef, input, effect } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { MatRadioModule } from '@angular/material/radio';
|
|
5
|
+
import { initializeFieldNameAttribute } from '../field-name-attribute.util';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common";
|
|
7
8
|
export class AnnuityCalculatorRadioComponent {
|
|
8
9
|
el;
|
|
9
10
|
constructor(el) {
|
|
10
11
|
this.el = el;
|
|
12
|
+
effect(() => {
|
|
13
|
+
initializeFieldNameAttribute(this.field());
|
|
14
|
+
});
|
|
11
15
|
}
|
|
12
16
|
preSelectConfig = null;
|
|
13
17
|
// ngOnInit(): void {
|
|
@@ -118,7 +122,7 @@ export class AnnuityCalculatorRadioComponent {
|
|
|
118
122
|
useExisting: forwardRef(() => AnnuityCalculatorRadioComponent),
|
|
119
123
|
multi: true
|
|
120
124
|
}
|
|
121
|
-
], usesOnChanges: true, ngImport: i0, template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldName\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }] });
|
|
125
|
+
], usesOnChanges: true, ngImport: i0, template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }] });
|
|
122
126
|
}
|
|
123
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnuityCalculatorRadioComponent, decorators: [{
|
|
124
128
|
type: Component,
|
|
@@ -129,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
129
133
|
useExisting: forwardRef(() => AnnuityCalculatorRadioComponent),
|
|
130
134
|
multi: true
|
|
131
135
|
}
|
|
132
|
-
], template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldName\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"] }]
|
|
136
|
+
], template: "\n\n<div class=\"acr-wrapper\">\n\n <!-- Top Header Label -->\n <div class=\"acr-sub-label\" *ngIf=\"field() && field()?.isVisible\">\n {{ field()?.label }}\n <span class=\"error-message\" *ngIf=\"field()?.validators?.isRequired\">*</span>\n </div>\n\n <!-- Radio Option Cards -->\n <div class=\"radio-btn-group1\" *ngIf=\"field()?.configData?.isShowRadioOption\">\n <div\n class=\"annuity-radio-card-gender\"\n *ngFor=\"let data of field()?.options\"\n [class.selected]=\"inputValue === data.value\"\n [class.disable-radio-btn]=\"field()?.isDisable || data.disabled === true || data.disabled === 'true'\"\n (click)=\"(data.disabled === true || data.disabled === 'true') ? null : toggleRadio(data.value, $event)\"\n >\n <!-- Hidden native radio input \u2014 enables proper [id]/[name] binding for form semantics.\n Parent projects can bind (change)=\"myHandler($event)\" on the host component. -->\n <input\n type=\"radio\"\n style=\"position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;\"\n [id]=\"field()?.fieldName\"\n [name]=\"field()?.fieldNameAttribute\"\n [value]=\"data.value\"\n [checked]=\"inputValue === data.value\"\n (growthRateChange)=\"toggleRadio(data.value, $event)\"\n />\n <span\n class=\"forRadioLabelAnnuityRadio\"\n [ngStyle]=\"{\n '--radio-button-font-weight': field()?.controlStyle?.fontWeight,\n '--radio-button-font-size': field()?.controlStyle?.fontSize,\n '--radio-button-font-color': field()?.controlStyle?.color\n }\"\n >{{ data.label }}</span>\n </div>\n </div>\n\n <!-- Card Container -->\n <div class=\"acr-card-container\" *ngIf=\"field()?.configData?.cardsValue?.length > 0\">\n <div class=\"acr-card-wrap\">\n <div class=\"acr-sub-label\" *ngIf=\"field()?.configData?.subLabel\">\n {{ field()?.configData?.subLabel }}\n </div>\n <div class=\"acr-new-cards-list\">\n <ng-container *ngFor=\"let card of field()?.configData?.cardsValue; let i = index\">\n <div\n class=\"acr-new-card\"\n [class.acr-new-card--selected]=\"selectedCard.value === card.value\"\n [class.acr-new-card--disabled]=\"card.disabled\"\n >\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}} HHHH {{selectedCard.value === card.value}}\n <!-- Card Header: Radio + Label -->\n <div class=\"acr-new-card-header\" (click)=\"selectCard(card)\">\n selectedCard.value => {{selectedCard.value}} HHHHH card.value => {{card.value}}\n <span class=\"acr-new-radio\" [class.acr-new-radio--checked]=\"selectedCard.value === card.value\">\n <span class=\"acr-new-radio-inner\" *ngIf=\"selectedCard.value === card.value\"></span>\n </span>\n <span class=\"acr-new-card-label\">{{ card.label }}</span>\n </div>\n\n <!-- Three-column content row -->\n <div class=\"acr-new-content-row\">\n <!-- Left: amount -->\n <div class=\"acr-new-col-amount\">\n <div class=\"acr-new-main-value\">{{ card.mainValue }} / <span class=\"acr-new-main-frequency\">{{ card.mainFrequencyValue }}</span></div>\n <div class=\"acr-new-sub-value\">{{ card.subValue }} / <span class=\"acr-new-sub-frequency\">{{ card.subFrequencyValue }}</span></div>\n </div>\n <!-- Center: rate -->\n <div class=\"acr-new-col-rate\">\n <div class=\"acr-new-rate-percent\">{{ card.growthRate }}</div>\n <div class=\"acr-new-rate-percent\">Annuity Rate</div>\n </div>\n <!-- Right: guaranteed / variable -->\n <div class=\"acr-new-col-details\">\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Guaranteed :</span>\n <span class=\"acr-new-detail-val\">{{ card.guaranteed }}</span>\n </div>\n <div class=\"acr-new-detail-row\">\n <span class=\"acr-new-detail-key\">Variable :</span>\n <span class=\"acr-new-detail-val\">{{ card.variable }}</span>\n </div>\n </div>\n </div>\n\n <!-- Note outside card border, shown only when selected -->\n </div><!-- /acr-new-card -->\n <div class=\"acr-new-note\" *ngIf=\"selectedCard?.value === card.value && field()?.configData?.infoMessage\">\n <strong>Note:</strong> {{ field()?.configData?.infoMessage }}\n </div>\n </ng-container>\n </div><!-- /acr-new-cards-list -->\n </div><!-- /acr-card-wrap -->\n </div><!-- /acr-card-container -->\n\n</div>\n", styles: [".acr-wrapper{font-family:mulish!important;width:100%;display:flex;flex-direction:column}.forRadioLabelAnnuityRadio{font-size:12px!important;font-weight:400!important;cursor:pointer;color:#444!important;min-width:25%!important;height:fit-content}.required-star{color:red;margin-left:2px}.radio-btn-group1{display:flex;gap:4px;flex-wrap:wrap;padding-right:10px;padding-left:10px;height:42px;max-height:100px!important;line-height:15px}.annuity-radio-card-gender{border:1px solid rgba(218,218,218,1);border-radius:4px;padding:6px 20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.annuity-radio-card-gender.selected{border-color:#fb0;border-width:1.6px}.annuity-radio-card-gender.selected:after{content:\"\";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);width:0;height:0;z-index:3}.annuity-radio-card-gender.selected:before{content:\"\";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:11px solid #fff;z-index:4}.annuity-radio-card-gender:hover:not(.disable-radio-btn){border-color:#ffd600}.disable-radio-btn{opacity:.55;pointer-events:none;background:#f5f5f5}.acr-card-container{position:relative;width:100%;padding-top:22px;box-sizing:border-box;padding-right:10px;padding-left:10px}.acr-card{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;padding:20px 18px 16px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-sub-label{font-size:10px;font-weight:700;color:#444;padding-right:10px;padding-left:10px;margin-top:10px}.acr-cards-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.acr-card-option{background:#fff;border:2px solid #E0E0E0;border-radius:12px;flex:1 1 0;max-width:none;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;flex:0 0 calc((100% - 28px) / 3);max-width:calc((100% - 28px) / 3);padding:18px 16px;min-width:0}.acr-card-option.selected{border-color:#ffd600;box-shadow:0 0 0 1px #ffd600}.acr-card-option:hover:not(.disabled){border-color:#ffd600}.acr-card-option.disabled{opacity:.5;pointer-events:none}.acr-card-main-value{font-size:16px;font-weight:700;color:#444;margin-bottom:3px;line-height:20px}.acr-card-main-sub-value{font-size:16px;font-weight:400;color:#444;margin-bottom:3px;line-height:20px}.acr-card-sub-value{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-card-sub-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-card-rate{background:linear-gradient(to right,#fb0,#fff7df,#fb0);color:#444;font-weight:700;font-size:10px;line-height:14px;padding:4px;margin-bottom:10px;margin-top:6px;width:100%;height:22px;text-align:center;box-sizing:border-box}.acr-card-details{width:100%;margin-bottom:14px;background-color:#f5f5f5;padding-left:10px;padding-right:10px;display:grid;grid-template-columns:max-content auto 1fr;column-gap:4px}.acr-card-detail-row{display:contents;font-size:10px;color:#444}.acr-card-detail-row span{font-weight:400;font-size:8px;line-height:14px;color:#444}.acr-card-detail-row strong{font-weight:600;color:#444;font-size:8px;line-height:14px;text-align:right}.acr-card-type{position:absolute;bottom:-14px;left:0;right:0;display:flex;justify-content:center}.acr-card-type-btn{border:none;border-radius:20px;padding:5px 22px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.btn-high{background:#00946f;color:#fff;font-weight:700;font-size:10px;line-height:14px}.btn-medium{background:#66ccb2;color:#444;font-weight:700;font-size:10px;line-height:14px}.btn-low{background:#cef0e8;color:#444;font-weight:700;font-size:10px;line-height:14px}.acr-note{background:#ececec;color:#222;font-size:12px;border-radius:4px;padding:4px 8px;line-height:16px;width:100%;box-sizing:border-box;margin-top:8px;font-weight:400}.acr-note strong{font-weight:700;font-size:12px;line-height:16px;color:#222}.acr-card-wrap{background:#fff;border:1px solid rgba(218,218,218,1);border-radius:14px;width:100%;position:relative;overflow:visible;box-sizing:border-box}.acr-card-wrap:after{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:14px;border-style:solid;border-color:transparent transparent rgba(218,218,218,1) transparent;z-index:2}.acr-card-wrap:before{content:\"\";position:absolute;bottom:100%;left:var(--arrow-left, 40px);transform:translate(-50%);transition:left .2s ease;border-width:12px;border-style:solid;border-color:transparent transparent rgba(255,255,255,1) transparent;z-index:3}.acr-new-cards-list{display:flex;flex-direction:column;gap:0;padding:10px}.acr-new-card{border:1.6px solid #DADADA;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;background:#fff;overflow:hidden;box-sizing:border-box;padding:12px 14px 0;margin-bottom:14px}.acr-new-card--selected{border-color:#fb0;border-width:2px}.acr-new-card--disabled{opacity:.5;pointer-events:none}.acr-new-card:hover:not(.acr-new-card--disabled){border-color:#fb0}.acr-new-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;cursor:pointer;width:fit-content}.acr-new-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #B4B4B4;background:#fff;flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}.acr-new-radio--checked{border-color:#f0a000;border-width:2px;background:#fff}.acr-new-radio-inner{width:8px;height:8px;border-radius:50%;background:#f0a000;display:block}.acr-new-card-label{font-size:12px;font-weight:700;color:#222}.acr-new-content-row{display:flex;overflow:hidden;margin:0 8px 8px;gap:4px}.acr-new-col-amount{background:#e6f7f3;padding:8px;display:flex;flex-direction:column;justify-content:center}.acr-new-main-frequency{font-size:16px;font-weight:400}.acr-new-sub-frequency{font-size:10px;font-weight:400}.acr-new-main-value{font-size:16px;font-weight:700;color:#444;line-height:20px}.acr-new-sub-value{font-size:10px;font-weight:400;color:#444;line-height:14px}.acr-new-col-rate{background:#fff1cc;padding:4px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.acr-new-rate-percent{font-size:10px;font-weight:700;color:#444;line-height:14px}.acr-new-col-details{border:.5px solid rgba(218,218,218,1);background:#fff;padding:10px 14px 12px;flex:1.3;display:flex;flex-direction:column;justify-content:center;gap:5px}.acr-new-detail-row{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.acr-new-detail-key{font-size:9px;font-weight:400;color:#444;white-space:nowrap}.acr-new-detail-val{font-size:9px;font-weight:700;color:#444;white-space:nowrap}.acr-new-note{background:#ececec;padding:4px 8px;font-size:12px;color:#444;line-height:16px;font-weight:400;margin-top:-14px;margin-bottom:14px}.acr-new-note strong{font-weight:700;font-size:12px;line-height:16px;color:#444}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-mdc-radio-touch-target{width:12px!important;height:12px!important}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-form-field{gap:8px;align-items:center;display:flex}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio{flex-shrink:0;display:flex;align-items:center;justify-content:center}::ng-deep .relationship-radio-group .mat-mdc-radio-button .mat-ripple,::ng-deep .relationship-radio-group .mat-mdc-radio-button .mdc-radio__ripple{display:none!important}::ng-deep .relationship-radio-group .mdc-form-field>label{padding-left:0!important;cursor:pointer;line-height:12px;display:flex;align-items:center}.relationship-option-text{font-size:12px;font-weight:400;font-family:var(--custom-font-family, \"Mulish\");color:var(--custom-font-color, #444);line-height:14px}\n"] }]
|
|
133
137
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { preSelectConfig: [{
|
|
134
138
|
type: Input
|
|
135
139
|
}], change: [{
|
|
@@ -137,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
137
141
|
}], growthRateChange: [{
|
|
138
142
|
type: Output
|
|
139
143
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFnRCxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLHlCQUF5QixDQUFDOzs7QUFnQnpFLE1BQU0sT0FBTywrQkFBK0I7SUFDdEI7SUFBcEIsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBRyxDQUFDO0lBRTdCLGVBQWUsR0FBUSxJQUFJLENBQUM7SUFFckMscUJBQXFCO0lBQ3JCLG1EQUFtRDtJQUNuRCxJQUFJO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFD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LENBQUMsSUFBSSxDQUFDO1lBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7d0dBbkhVLCtCQUErQjs0RkFBL0IsK0JBQStCLDhsQkFSL0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixDQUFDO2dCQUM5RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsK0NDbEJILDBtSkFvR0EsZzRRRDNGWSxZQUFZLG9WQUFFLGNBQWMsOEJBQUUsbUJBQW1CLDhCQUN6RCxXQUFXOzs0RkFVRiwrQkFBK0I7a0JBZjNDLFNBQVM7K0JBQ0UsOEJBQThCLFdBRy9CLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUI7d0JBQ3pELFdBQVcsQ0FBQyxjQUNGLElBQUksYUFDTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7K0VBS1EsZUFBZTtzQkFBdkIsS0FBSztnQkE4Q0ksTUFBTTtzQkFBZixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIGlucHV0LCBFbGVtZW50UmVmLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSwgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFJhZGlvTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFubnVpdHlDYWxjdWxhdG9yUmFkaW9Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBASW5wdXQoKSBwcmVTZWxlY3RDb25maWc6IGFueSA9IG51bGw7XG5cbiAgLy8gbmdPbkluaXQoKTogdm9pZCB7XG4gIC8vICAgdGhpcy5fYXBwbHlQcmVTZWxlY3Rpb24odGhpcy5wcmVTZWxlY3RDb25maWcpO1xuICAvLyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydwcmVTZWxlY3RDb25maWcnXSAmJiBjaGFuZ2VzWydwcmVTZWxlY3RDb25maWcnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuX2FwcGx5UHJlU2VsZWN0aW9uKGNoYW5nZXNbJ3ByZVNlbGVjdENvbmZpZyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlQcmVTZWxlY3Rpb24oY29uZmlnOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWNvbmZpZykgcmV0dXJuO1xuICAgIGNvbnN0IGYgPSB0aGlzLmZpZWxkKCk7XG4gICAgaWYgKCFmKSByZXR1cm47XG5cbiAgICAvLyBQcmUtc2VsZWN0IHJhZGlvIG9wdGlvblxuICAgIGNvbnN0IHNlbGVjdFZhbCA9IGNvbmZpZy5zZWxlY3RWYWx1ZTtcbiAgICBpZiAoc2VsZWN0VmFsICE9PSBudWxsICYmIHNlbGVjdFZhbCAhPT0gdW5kZWZpbmVkICYmIHNlbGVjdFZhbCAhPT0gJycpIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSBmPy5vcHRpb25zPy5maW5kKChvcHQ6IGFueSkgPT4gb3B0LnZhbHVlID09PSBzZWxlY3RWYWwpO1xuICAgICAgaWYgKG1hdGNoZWRPcHRpb24pIHtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gc2VsZWN0VmFsO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dQb3NpdGlvbigpLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmUtc2VsZWN0IGNhcmQgYnkgbWF0Y2hpbmcgc2VsZWN0ZWRDYXJkVmFsdWUgd2l0aCBjYXJkJ3MgZ3Jvd3RoUmF0ZVxuICAgIGNvbnN0IGNhcmRTZWxlY3RlZFZhbCA9IGNvbmZpZy5zZWxlY3RlZENhcmRWYWx1ZTtcbiAgICBpZiAoY2FyZFNlbGVjdGVkVmFsICE9PSBudWxsICYmIGNhcmRTZWxlY3RlZFZhbCAhPT0gdW5kZWZpbmVkICYmIGNhcmRTZWxlY3RlZFZhbCAhPT0gJycpIHtcbiAgICAgIGNvbnN0IGNhcmRzID0gZj8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZTtcbiAgICAgIGNvbnN0IG1hdGNoZWRDYXJkID0gY2FyZHM/LmZpbmQoKGM6IGFueSkgPT4gYy5ncm93dGhSYXRlID09PSBjYXJkU2VsZWN0ZWRWYWwpO1xuICAgICAgaWYgKG1hdGNoZWRDYXJkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkID0gbWF0Y2hlZENhcmQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkSW5kZXggPSBjYXJkcy5pbmRleE9mKG1hdGNoZWRDYXJkKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG1hdGNoZWRDYXJkLnZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0IDogYW55ID0gaW5wdXQ8YW55PigpO1xuICBmaWVsZCA6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcbiAgaW5wdXRWYWx1ZTogYW55ID0gbnVsbDtcblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoKSBncm93dGhSYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgdmFsdWU6IGFueSA9IG51bGw7XG4gIHNlbGVjdGVkQ2FyZEluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgc2VsZWN0ZWRDYXJkOiBhbnkgPSBudWxsO1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICBjb25zdCBjYXJkcyA9IHRoaXMuZmllbGQoKT8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZTtcbiAgICBpZiAoY2FyZHMpIHtcbiAgICAgIGNvbnN0IGlkeCA9IGNhcmRzLmZpbmRJbmRleCgoYzogYW55KSA9PiBjLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FyZEluZGV4ID0gaWR4ID49IDAgPyBpZHggOiBudWxsO1xuICAgICAgdGhpcy5zZWxlY3RlZENhcmQgPSBpZHggPj0gMCA/IGNhcmRzW2lkeF0gOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2VsZWN0Q2FyZChjYXJkOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoY2FyZC5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0ZWRDYXJkID0gY2FyZDtcbiAgICBjb25zdCBjYXJkcyA9IHRoaXMuZmllbGQoKT8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZEluZGV4ID0gY2FyZHMgPyBjYXJkcy5pbmRleE9mKGNhcmQpIDogbnVsbDtcbiAgICB0aGlzLnZhbHVlID0gY2FyZC52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5ncm93dGhSYXRlQ2hhbmdlLmVtaXQoY2FyZCk7XG4gIH1cbiAgb25SYWRpb0dyb3VwQ2hhbmdlKGV2ZW50OiBNYXRSYWRpb0NoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gbmV3VmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgICBjb25zb2xlLmxvZygnUmFkaW8gZ3JvdXAgY2hhbmdlZDonLCBuZXdWYWx1ZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93UG9zaXRpb24oKSwgMCk7XG4gIH1cbiAgdG9nZ2xlUmFkaW8odmFsdWU6IGFueSwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5yZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0ICYmIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSkge1xuICAgICAgdGhpcy5yZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0LnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5vblJhZGlvR3JvdXBDaGFuZ2UoeyBzb3VyY2U6IHt9IGFzIGFueSwgdmFsdWU6IHZhbHVlIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBcnJvd1Bvc2l0aW9uKCksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVBcnJvd1Bvc2l0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHJvb3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgc2VsZWN0ZWQ6IEhUTUxFbGVtZW50ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuYW5udWl0eS1yYWRpby1jYXJkLWdlbmRlci5zZWxlY3RlZCcpO1xuICAgIGNvbnN0IGNhcmQ6IEhUTUxFbGVtZW50ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuYWNyLWNhcmQtd3JhcCcpO1xuICAgIGlmIChzZWxlY3RlZCAmJiBjYXJkKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFJlY3QgPSBzZWxlY3RlZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNhcmRSZWN0ID0gY2FyZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGNlbnRlclggPSBzZWxlY3RlZFJlY3QubGVmdCArIHNlbGVjdGVkUmVjdC53aWR0aCAvIDIgLSBjYXJkUmVjdC5sZWZ0O1xuICAgICAgY2FyZC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcnJvdy1sZWZ0JywgYCR7Y2VudGVyWH1weGApO1xuICAgIH1cbiAgfVxuXG59XG4iLCJcblxuPGRpdiBjbGFzcz1cImFjci13cmFwcGVyXCI+XG5cbiAgPCEtLSBUb3AgSGVhZGVyIExhYmVsIC0tPlxuICA8ZGl2IGNsYXNzPVwiYWNyLXN1Yi1sYWJlbFwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIj5cbiAgICB7eyBmaWVsZCgpPy5sYWJlbCB9fVxuICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiPio8L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDwhLS0gUmFkaW8gT3B0aW9uIENhcmRzIC0tPlxuICA8ZGl2IGNsYXNzPVwicmFkaW8tYnRuLWdyb3VwMVwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uaXNTaG93UmFkaW9PcHRpb25cIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImFubnVpdHktcmFkaW8tY2FyZC1nZW5kZXJcIlxuICAgICAgKm5nRm9yPVwibGV0IGRhdGEgb2YgZmllbGQoKT8ub3B0aW9uc1wiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZS1yYWRpby1idG5dPVwiZmllbGQoKT8uaXNEaXNhYmxlIHx8IGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnXCJcbiAgICAgIChjbGljayk9XCIoZGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSAndHJ1ZScpID8gbnVsbCA6IHRvZ2dsZVJhZGlvKGRhdGEudmFsdWUsICRldmVudClcIlxuICAgID5cbiAgICAgIDwhLS0gSGlkZGVuIG5hdGl2ZSByYWRpbyBpbnB1dCDigJQgZW5hYmxlcyBwcm9wZXIgW2lkXS9bbmFtZV0gYmluZGluZyBmb3IgZm9ybSBzZW1hbnRpY3MuXG4gICAgICAgICAgIFBhcmVudCBwcm9qZWN0cyBjYW4gYmluZCAoY2hhbmdlKT1cIm15SGFuZGxlcigkZXZlbnQpXCIgb24gdGhlIGhvc3QgY29tcG9uZW50LiAtLT5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMDsgd2lkdGg6IDA7IGhlaWdodDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XCJcbiAgICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgICAgIFt2YWx1ZV09XCJkYXRhLnZhbHVlXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiaW5wdXRWYWx1ZSA9PT0gZGF0YS52YWx1ZVwiXG4gICAgICAgIChncm93dGhSYXRlQ2hhbmdlKT1cInRvZ2dsZVJhZGlvKGRhdGEudmFsdWUsICRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiZm9yUmFkaW9MYWJlbEFubnVpdHlSYWRpb1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAnLS1yYWRpby1idXR0b24tZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRXZWlnaHQsXG4gICAgICAgICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFNpemUsXG4gICAgICAgICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yXG4gICAgICAgIH1cIlxuICAgICAgPnt7IGRhdGEubGFiZWwgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gICA8IS0tIENhcmQgQ29udGFpbmVyIC0tPlxuICA8ZGl2IGNsYXNzPVwiYWNyLWNhcmQtY29udGFpbmVyXCIgKm5nSWY9XCJmaWVsZCgpPy5jb25maWdEYXRhPy5jYXJkc1ZhbHVlPy5sZW5ndGggPiAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImFjci1jYXJkLXdyYXBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Itc3ViLWxhYmVsXCIgKm5nSWY9XCJmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJMYWJlbFwiPlxuICAgICAgICB7eyBmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJMYWJlbCB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jYXJkcy1saXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXJkIG9mIGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJhY3ItbmV3LWNhcmRcIlxuICAgICAgICBbY2xhc3MuYWNyLW5ldy1jYXJkLS1zZWxlY3RlZF09XCJzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWVcIlxuICAgICAgICBbY2xhc3MuYWNyLW5ldy1jYXJkLS1kaXNhYmxlZF09XCJjYXJkLmRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAgc2VsZWN0ZWRDYXJkLnZhbHVlID0+IHt7c2VsZWN0ZWRDYXJkLnZhbHVlfX0gSEhISEggY2FyZC52YWx1ZSA9PiB7e2NhcmQudmFsdWV9fSAgSEhISCB7e3NlbGVjdGVkQ2FyZC52YWx1ZSA9PT0gY2FyZC52YWx1ZX19XG4gICAgICAgIDwhLS0gQ2FyZCBIZWFkZXI6IFJhZGlvICsgTGFiZWwgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNhcmQtaGVhZGVyXCIgKGNsaWNrKT1cInNlbGVjdENhcmQoY2FyZClcIj5cbiAgICAgICAgICBzZWxlY3RlZENhcmQudmFsdWUgPT4ge3tzZWxlY3RlZENhcmQudmFsdWV9fSBISEhISCBjYXJkLnZhbHVlID0+IHt7Y2FyZC52YWx1ZX19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LXJhZGlvXCIgW2NsYXNzLmFjci1uZXctcmFkaW8tLWNoZWNrZWRdPVwic2VsZWN0ZWRDYXJkLnZhbHVlID09PSBjYXJkLnZhbHVlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctcmFkaW8taW5uZXJcIiAqbmdJZj1cInNlbGVjdGVkQ2FyZC52YWx1ZSA9PT0gY2FyZC52YWx1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWNhcmQtbGFiZWxcIj57eyBjYXJkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFRocmVlLWNvbHVtbiBjb250ZW50IHJvdyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY29udGVudC1yb3dcIj5cbiAgICAgICAgICA8IS0tIExlZnQ6IGFtb3VudCAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jb2wtYW1vdW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1tYWluLXZhbHVlXCI+e3sgY2FyZC5tYWluVmFsdWUgfX0gLyA8c3BhbiBjbGFzcz1cImFjci1uZXctbWFpbi1mcmVxdWVuY3lcIj57eyBjYXJkLm1haW5GcmVxdWVuY3lWYWx1ZSB9fTwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LXN1Yi12YWx1ZVwiPnt7IGNhcmQuc3ViVmFsdWUgfX0gLyA8c3BhbiBjbGFzcz1cImFjci1uZXctc3ViLWZyZXF1ZW5jeVwiPnt7IGNhcmQuc3ViRnJlcXVlbmN5VmFsdWUgfX08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBDZW50ZXI6IHJhdGUgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY29sLXJhdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LXJhdGUtcGVyY2VudFwiPnt7IGNhcmQuZ3Jvd3RoUmF0ZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctcmF0ZS1wZXJjZW50XCI+QW5udWl0eSBSYXRlPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPCEtLSBSaWdodDogZ3VhcmFudGVlZCAvIHZhcmlhYmxlIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbC1kZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwtcm93XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwta2V5XCI+R3VhcmFudGVlZCA6PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXZhbFwiPnt7IGNhcmQuZ3VhcmFudGVlZCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXJvd1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLWtleVwiPlZhcmlhYmxlIDo8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1kZXRhaWwtdmFsXCI+e3sgY2FyZC52YXJpYWJsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIE5vdGUgb3V0c2lkZSBjYXJkIGJvcmRlciwgc2hvd24gb25seSB3aGVuIHNlbGVjdGVkIC0tPlxuICAgICAgICA8L2Rpdj48IS0tIC9hY3ItbmV3LWNhcmQgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LW5vdGVcIiAqbmdJZj1cInNlbGVjdGVkQ2FyZD8udmFsdWUgPT09IGNhcmQudmFsdWUgJiYgZmllbGQoKT8uY29uZmlnRGF0YT8uaW5mb01lc3NhZ2VcIj5cbiAgICAgICAgICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IHt7IGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmluZm9NZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj48IS0tIC9hY3ItbmV3LWNhcmRzLWxpc3QgLS0+XG4gICAgPC9kaXY+PCEtLSAvYWNyLWNhcmQtd3JhcCAtLT5cbiAgPC9kaXY+PCEtLSAvYWNyLWNhcmQtY29udGFpbmVyIC0tPlxuXG48L2Rpdj5cbiJdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYW5udWl0eS1jYWxjdWxhdG9yLXJhZGlvL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2FubnVpdHktY2FsY3VsYXRvci1yYWRpby9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUF3QyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZ0I1RSxNQUFNLE9BQU8sK0JBQStCO0lBQ3RCO0lBQXBCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDViw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxlQUFlLEdBQVEsSUFBSSxDQUFDO0lBRXJDLHFCQUFxQjtJQUNyQixtREFBbUQ7SUFDbkQsSUFBSTtJQUVKLFdBQVcsQ0FBQyxPQUFzQjtR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QVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO3dHQXZIVSwrQkFBK0I7NEZBQS9CLCtCQUErQiw4bEJBUi9CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztnQkFDOUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLCtDQ25CSCxtbkpBb0dBLGc0UUQxRlksWUFBWSxvVkFBRSxjQUFjLDhCQUFFLG1CQUFtQiw4QkFDekQsV0FBVzs7NEZBVUYsK0JBQStCO2tCQWYzQyxTQUFTOytCQUNFLDhCQUE4QixXQUcvQixDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CO3dCQUN6RCxXQUFXLENBQUMsY0FDRixJQUFJLGFBQ0w7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdDLENBQUM7NEJBQzlELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOytFQVNRLGVBQWU7c0JBQXZCLEtBQUs7Z0JBOENJLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBlZmZlY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUsIE1hdFJhZGlvQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSB9IGZyb20gJy4uL2ZpZWxkLW5hbWUtYXR0cmlidXRlLnV0aWwnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFubnVpdHktY2FsY3VsYXRvci1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbm51aXR5LWNhbGN1bGF0b3ItcmFkaW8uY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQW5udWl0eUNhbGN1bGF0b3JSYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBbm51aXR5Q2FsY3VsYXRvclJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaW5pdGlhbGl6ZUZpZWxkTmFtZUF0dHJpYnV0ZSh0aGlzLmZpZWxkKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHJlU2VsZWN0Q29uZmlnOiBhbnkgPSBudWxsO1xuXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xuICAvLyAgIHRoaXMuX2FwcGx5UHJlU2VsZWN0aW9uKHRoaXMucHJlU2VsZWN0Q29uZmlnKTtcbiAgLy8gfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10gJiYgY2hhbmdlc1sncHJlU2VsZWN0Q29uZmlnJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLl9hcHBseVByZVNlbGVjdGlvbihjaGFuZ2VzWydwcmVTZWxlY3RDb25maWcnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5UHJlU2VsZWN0aW9uKGNvbmZpZzogYW55KTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcpIHJldHVybjtcbiAgICBjb25zdCBmID0gdGhpcy5maWVsZCgpO1xuICAgIGlmICghZikgcmV0dXJuO1xuXG4gICAgLy8gUHJlLXNlbGVjdCByYWRpbyBvcHRpb25cbiAgICBjb25zdCBzZWxlY3RWYWwgPSBjb25maWcuc2VsZWN0VmFsdWU7XG4gICAgaWYgKHNlbGVjdFZhbCAhPT0gbnVsbCAmJiBzZWxlY3RWYWwgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3RWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gZj8ub3B0aW9ucz8uZmluZCgob3B0OiBhbnkpID0+IG9wdC52YWx1ZSA9PT0gc2VsZWN0VmFsKTtcbiAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHNlbGVjdFZhbDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZUFycm93UG9zaXRpb24oKSwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJlLXNlbGVjdCBjYXJkIGJ5IG1hdGNoaW5nIHNlbGVjdGVkQ2FyZFZhbHVlIHdpdGggY2FyZCdzIGdyb3d0aFJhdGVcbiAgICBjb25zdCBjYXJkU2VsZWN0ZWRWYWwgPSBjb25maWcuc2VsZWN0ZWRDYXJkVmFsdWU7XG4gICAgaWYgKGNhcmRTZWxlY3RlZFZhbCAhPT0gbnVsbCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09IHVuZGVmaW5lZCAmJiBjYXJkU2VsZWN0ZWRWYWwgIT09ICcnKSB7XG4gICAgICBjb25zdCBjYXJkcyA9IGY/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgICBjb25zdCBtYXRjaGVkQ2FyZCA9IGNhcmRzPy5maW5kKChjOiBhbnkpID0+IGMuZ3Jvd3RoUmF0ZSA9PT0gY2FyZFNlbGVjdGVkVmFsKTtcbiAgICAgIGlmIChtYXRjaGVkQ2FyZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IG1hdGNoZWRDYXJkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FyZEluZGV4ID0gY2FyZHMuaW5kZXhPZihtYXRjaGVkQ2FyZCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBtYXRjaGVkQ2FyZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcbiAgZmllbGQgOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG4gIGlucHV0VmFsdWU6IGFueSA9IG51bGw7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgZ3Jvd3RoUmF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHZhbHVlOiBhbnkgPSBudWxsO1xuICBzZWxlY3RlZENhcmRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkQ2FyZDogYW55ID0gbnVsbDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgaWYgKGNhcmRzKSB7XG4gICAgICBjb25zdCBpZHggPSBjYXJkcy5maW5kSW5kZXgoKGM6IGFueSkgPT4gYy52YWx1ZSA9PT0gdmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGlkeCA+PSAwID8gaWR4IDogbnVsbDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXJkID0gaWR4ID49IDAgPyBjYXJkc1tpZHhdIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNlbGVjdENhcmQoY2FyZDogYW55KTogdm9pZCB7XG4gICAgaWYgKGNhcmQuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLnNlbGVjdGVkQ2FyZCA9IGNhcmQ7XG4gICAgY29uc3QgY2FyZHMgPSB0aGlzLmZpZWxkKCk/LmNvbmZpZ0RhdGE/LmNhcmRzVmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZENhcmRJbmRleCA9IGNhcmRzID8gY2FyZHMuaW5kZXhPZihjYXJkKSA6IG51bGw7XG4gICAgdGhpcy52YWx1ZSA9IGNhcmQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIHRoaXMuZ3Jvd3RoUmF0ZUNoYW5nZS5lbWl0KGNhcmQpO1xuICB9XG4gIG9uUmFkaW9Hcm91cENoYW5nZShldmVudDogTWF0UmFkaW9DaGFuZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgY29uc29sZS5sb2coJ1JhZGlvIGdyb3VwIGNoYW5nZWQ6JywgbmV3VmFsdWUpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy51cGRhdGVBcnJvd1Bvc2l0aW9uKCksIDApO1xuICB9XG4gIHRvZ2dsZVJhZGlvKHZhbHVlOiBhbnksIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCAmJiB0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3Quc2V0VmFsdWUpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub25SYWRpb0dyb3VwQ2hhbmdlKHsgc291cmNlOiB7fSBhcyBhbnksIHZhbHVlOiB2YWx1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudXBkYXRlQXJyb3dQb3NpdGlvbigpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQXJyb3dQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCByb290ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHNlbGVjdGVkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFubnVpdHktcmFkaW8tY2FyZC1nZW5kZXIuc2VsZWN0ZWQnKTtcbiAgICBjb25zdCBjYXJkOiBIVE1MRWxlbWVudCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFjci1jYXJkLXdyYXAnKTtcbiAgICBpZiAoc2VsZWN0ZWQgJiYgY2FyZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSZWN0ID0gc2VsZWN0ZWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjYXJkUmVjdCA9IGNhcmQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBjZW50ZXJYID0gc2VsZWN0ZWRSZWN0LmxlZnQgKyBzZWxlY3RlZFJlY3Qud2lkdGggLyAyIC0gY2FyZFJlY3QubGVmdDtcbiAgICAgIGNhcmQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXJyb3ctbGVmdCcsIGAke2NlbnRlclh9cHhgKTtcbiAgICB9XG4gIH1cblxufVxuIiwiXG5cbjxkaXYgY2xhc3M9XCJhY3Itd3JhcHBlclwiPlxuXG4gIDwhLS0gVG9wIEhlYWRlciBMYWJlbCAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1zdWItbGFiZWxcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCI+XG4gICAge3sgZmllbGQoKT8ubGFiZWwgfX1cbiAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8IS0tIFJhZGlvIE9wdGlvbiBDYXJkcyAtLT5cbiAgPGRpdiBjbGFzcz1cInJhZGlvLWJ0bi1ncm91cDFcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmlzU2hvd1JhZGlvT3B0aW9uXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhbm51aXR5LXJhZGlvLWNhcmQtZ2VuZGVyXCJcbiAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIGZpZWxkKCk/Lm9wdGlvbnNcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgW2NsYXNzLmRpc2FibGUtcmFkaW8tYnRuXT1cImZpZWxkKCk/LmlzRGlzYWJsZSB8fCBkYXRhLmRpc2FibGVkID09PSB0cnVlIHx8IGRhdGEuZGlzYWJsZWQgPT09ICd0cnVlJ1wiXG4gICAgICAoY2xpY2spPVwiKGRhdGEuZGlzYWJsZWQgPT09IHRydWUgfHwgZGF0YS5kaXNhYmxlZCA9PT0gJ3RydWUnKSA/IG51bGwgOiB0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8IS0tIEhpZGRlbiBuYXRpdmUgcmFkaW8gaW5wdXQg4oCUIGVuYWJsZXMgcHJvcGVyIFtpZF0vW25hbWVdIGJpbmRpbmcgZm9yIGZvcm0gc2VtYW50aWNzLlxuICAgICAgICAgICBQYXJlbnQgcHJvamVjdHMgY2FuIGJpbmQgKGNoYW5nZSk9XCJteUhhbmRsZXIoJGV2ZW50KVwiIG9uIHRoZSBob3N0IGNvbXBvbmVudC4gLS0+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lO1wiXG4gICAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVBdHRyaWJ1dGVcIlxuICAgICAgICBbdmFsdWVdPVwiZGF0YS52YWx1ZVwiXG4gICAgICAgIFtjaGVja2VkXT1cImlucHV0VmFsdWUgPT09IGRhdGEudmFsdWVcIlxuICAgICAgICAoZ3Jvd3RoUmF0ZUNoYW5nZSk9XCJ0b2dnbGVSYWRpbyhkYXRhLnZhbHVlLCAkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZvclJhZGlvTGFiZWxBbm51aXR5UmFkaW9cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJy0tcmFkaW8tYnV0dG9uLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplLFxuICAgICAgICAgICctLXJhZGlvLWJ1dHRvbi1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvclxuICAgICAgICB9XCJcbiAgICAgID57eyBkYXRhLmxhYmVsIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICAgPCEtLSBDYXJkIENvbnRhaW5lciAtLT5cbiAgPGRpdiBjbGFzcz1cImFjci1jYXJkLWNvbnRhaW5lclwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uY2FyZHNWYWx1ZT8ubGVuZ3RoID4gMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY3ItY2FyZC13cmFwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNyLXN1Yi1sYWJlbFwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWxcIj5cbiAgICAgICAge3sgZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViTGFiZWwgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY2FyZHMtbGlzdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FyZCBvZiBmaWVsZCgpPy5jb25maWdEYXRhPy5jYXJkc1ZhbHVlOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNyLW5ldy1jYXJkXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tc2VsZWN0ZWRdPVwic2VsZWN0ZWRDYXJkLnZhbHVlID09PSBjYXJkLnZhbHVlXCJcbiAgICAgICAgW2NsYXNzLmFjci1uZXctY2FyZC0tZGlzYWJsZWRdPVwiY2FyZC5kaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIHNlbGVjdGVkQ2FyZC52YWx1ZSA9PiB7e3NlbGVjdGVkQ2FyZC52YWx1ZX19IEhISEhIIGNhcmQudmFsdWUgPT4ge3tjYXJkLnZhbHVlfX0gIEhISEgge3tzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWV9fVxuICAgICAgICA8IS0tIENhcmQgSGVhZGVyOiBSYWRpbyArIExhYmVsIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jYXJkLWhlYWRlclwiIChjbGljayk9XCJzZWxlY3RDYXJkKGNhcmQpXCI+XG4gICAgICAgICAgc2VsZWN0ZWRDYXJkLnZhbHVlID0+IHt7c2VsZWN0ZWRDYXJkLnZhbHVlfX0gSEhISEggY2FyZC52YWx1ZSA9PiB7e2NhcmQudmFsdWV9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1yYWRpb1wiIFtjbGFzcy5hY3ItbmV3LXJhZGlvLS1jaGVja2VkXT1cInNlbGVjdGVkQ2FyZC52YWx1ZSA9PT0gY2FyZC52YWx1ZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LXJhZGlvLWlubmVyXCIgKm5nSWY9XCJzZWxlY3RlZENhcmQudmFsdWUgPT09IGNhcmQudmFsdWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNyLW5ldy1jYXJkLWxhYmVsXCI+e3sgY2FyZC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBUaHJlZS1jb2x1bW4gY29udGVudCByb3cgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbnRlbnQtcm93XCI+XG4gICAgICAgICAgPCEtLSBMZWZ0OiBhbW91bnQgLS0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctY29sLWFtb3VudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctbWFpbi12YWx1ZVwiPnt7IGNhcmQubWFpblZhbHVlIH19IC8gPHNwYW4gY2xhc3M9XCJhY3ItbmV3LW1haW4tZnJlcXVlbmN5XCI+e3sgY2FyZC5tYWluRnJlcXVlbmN5VmFsdWUgfX08L3NwYW4+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1zdWItdmFsdWVcIj57eyBjYXJkLnN1YlZhbHVlIH19IC8gPHNwYW4gY2xhc3M9XCJhY3ItbmV3LXN1Yi1mcmVxdWVuY3lcIj57eyBjYXJkLnN1YkZyZXF1ZW5jeVZhbHVlIH19PC9zcGFuPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gQ2VudGVyOiByYXRlIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWNvbC1yYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1yYXRlLXBlcmNlbnRcIj57eyBjYXJkLmdyb3d0aFJhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LXJhdGUtcGVyY2VudFwiPkFubnVpdHkgUmF0ZTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwhLS0gUmlnaHQ6IGd1YXJhbnRlZWQgLyB2YXJpYWJsZSAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1jb2wtZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXJvd1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLWtleVwiPkd1YXJhbnRlZWQgOjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC12YWxcIj57eyBjYXJkLmd1YXJhbnRlZWQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1yb3dcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3ItbmV3LWRldGFpbC1rZXlcIj5WYXJpYWJsZSA6PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjci1uZXctZGV0YWlsLXZhbFwiPnt7IGNhcmQudmFyaWFibGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBOb3RlIG91dHNpZGUgY2FyZCBib3JkZXIsIHNob3duIG9ubHkgd2hlbiBzZWxlY3RlZCAtLT5cbiAgICAgICAgPC9kaXY+PCEtLSAvYWNyLW5ldy1jYXJkIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNyLW5ldy1ub3RlXCIgKm5nSWY9XCJzZWxlY3RlZENhcmQ/LnZhbHVlID09PSBjYXJkLnZhbHVlICYmIGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmluZm9NZXNzYWdlXCI+XG4gICAgICAgICAgPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiB7eyBmaWVsZCgpPy5jb25maWdEYXRhPy5pbmZvTWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+PCEtLSAvYWNyLW5ldy1jYXJkcy1saXN0IC0tPlxuICAgIDwvZGl2PjwhLS0gL2Fjci1jYXJkLXdyYXAgLS0+XG4gIDwvZGl2PjwhLS0gL2Fjci1jYXJkLWNvbnRhaW5lciAtLT5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import { MatInputModule } from '@angular/material/input';
|
|
|
5
5
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
6
6
|
import { MatOptionModule } from '@angular/material/core';
|
|
7
7
|
import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { initializeFieldNameAttribute } from '../field-name-attribute.util';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "../master-control.service";
|
|
10
11
|
import * as i2 from "@angular/material/form-field";
|
|
@@ -29,6 +30,7 @@ export class AutocompleteComponent {
|
|
|
29
30
|
valueChanged = new EventEmitter();
|
|
30
31
|
optionSelected = new EventEmitter();
|
|
31
32
|
ngOnInit() {
|
|
33
|
+
initializeFieldNameAttribute(this.field());
|
|
32
34
|
this.filteredOptions = this.field().options || [];
|
|
33
35
|
// Subscribe to valueChanges if using reactive forms
|
|
34
36
|
if (this.reactiveFormControlobject && this.reactiveFormControlobject.valueChanges) {
|
|
@@ -172,7 +174,7 @@ export class AutocompleteComponent {
|
|
|
172
174
|
useExisting: AutocompleteComponent,
|
|
173
175
|
multi: true
|
|
174
176
|
}
|
|
175
|
-
], ngImport: i0, template: " <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n", styles: [".field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 4px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 4px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}.custom-dropdown-arrow{color:#666;font-size:18px;cursor:pointer;margin-right:4px;padding:0!important;margin-top:12px!important}.show-arrow{background-image:url(https://d2h44aw7l5xdvz.cloudfront.net/digitPlusAssets/Dropdown_arrow.svg)!important;background-position:calc(100% - 12px) calc(1em - 4px),calc(100% - 15px) calc(1em + 8px),calc(100% - 2.5em) .5em;background-size:10px 10px,5px 5px,1px 1.5em;background-repeat:no-repeat}@media screen and (max-width: 768px){::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{font-size:14px!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:14px!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{font-size:14px!important}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
177
|
+
], ngImport: i0, template: " <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldNameAttribute\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldNameAttribute\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n", styles: [".field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 4px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 4px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}.custom-dropdown-arrow{color:#666;font-size:18px;cursor:pointer;margin-right:4px;padding:0!important;margin-top:12px!important}.show-arrow{background-image:url(https://d2h44aw7l5xdvz.cloudfront.net/digitPlusAssets/Dropdown_arrow.svg)!important;background-position:calc(100% - 12px) calc(1em - 4px),calc(100% - 15px) calc(1em + 8px),calc(100% - 2.5em) .5em;background-size:10px 10px,5px 5px,1px 1.5em;background-repeat:no-repeat}@media screen and (max-width: 768px){::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{font-size:14px!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:14px!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{font-size:14px!important}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
176
178
|
}
|
|
177
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
178
180
|
type: Component,
|
|
@@ -190,7 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
190
192
|
useExisting: AutocompleteComponent,
|
|
191
193
|
multi: true
|
|
192
194
|
}
|
|
193
|
-
], template: " <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldName\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n", styles: [".field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 4px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 4px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}.custom-dropdown-arrow{color:#666;font-size:18px;cursor:pointer;margin-right:4px;padding:0!important;margin-top:12px!important}.show-arrow{background-image:url(https://d2h44aw7l5xdvz.cloudfront.net/digitPlusAssets/Dropdown_arrow.svg)!important;background-position:calc(100% - 12px) calc(1em - 4px),calc(100% - 15px) calc(1em + 8px),calc(100% - 2.5em) .5em;background-size:10px 10px,5px 5px,1px 1.5em;background-repeat:no-repeat}@media screen and (max-width: 768px){::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{font-size:14px!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:14px!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{font-size:14px!important}}\n"] }]
|
|
195
|
+
], template: " <label *ngIf=\"field() && field()?.isVisible && field().isShowLabel\" class=\"field-lable\">{{field()?.label}}<span style=\"color: red;\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\n <mat-form-field class=\"w-100 show-arrow\" appearance=\"outline\" *ngIf=\"field() && field()?.isVisible\" [ngStyle]=\"{\n '--custom-border-color': field()?.controlStyle?.borderColor ,\n '--custom-border-width': field()?.controlStyle?.borderWidth ,\n '--custom-border-radius': field()?.controlStyle?.borderRadius ,\n '--custom-bg-color': field()?.controlStyle?.background ,\n '--custom-border-color-focus': field()?.controlStyle?.focusBorderColor ,\n '--custom-border-width-focus': field()?.controlStyle?.focusBorderWidth ,\n '--custom-bg-color-focus': field()?.controlStyle?.focusBackground ,\n '--custom-border-color-hover': field()?.controlStyle?.hoverBorderColor ,\n '--custom-border-width-hover': field()?.controlStyle?.hoverBorderWidth ,\n '--custom-border-color-error': field()?.controlStyle?.errorBorderColor ,\n '--custom-border-width-error': field()?.controlStyle?.errorBorderWidth ,\n'--custom-font-color-disabled' : field()?.controlStyle?.disableColor ,\n'--custom-bg-color-disabled' : field()?.controlStyle?.disableBackground ,\n }\">\n @if(reactiveFormControlobject()) {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldNameAttribute\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n (input)=\"onInputChangeForReactiveForms($event)\"\n [formControl]=\"reactiveFormControlobject()\"\n />\n }@else {\n <input\n matInput\n type=\"text\"\n [name]=\"field()?.fieldNameAttribute\"\n [id]=\"field()?.fieldName\"\n [matAutocomplete]=\"auto\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"onInputChange($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"field()?.isDisable\"\n [required]=\"field()?.validators?.isRequired\"\n [placeholder]=\"field()?.placeHolder\"\n />\n }\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" [displayWith]=\"displayFn\" (optionSelected)=\"onOptionSelected($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n <mat-error>\n {{ field().validators.requiredMessage }}\n </mat-error>\n </mat-form-field>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.isRequiredMessage }}.\n </div>\n <div class=\"error-message\" *ngIf=\"false\">\n {{ field()?.validators?.patternMessage }}.\n </div>\n", styles: [".field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.error-message{color:red}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--custom-border-color-focus, #ffbb00)!important;border-width:var(--custom-border-width-focus, 1.5px)!important}::ng-deep .mat-mdc-form-field{background-color:var(--custom-bg-color, #ffffff)!important;border-radius:var(--custom-border-radius , 4px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__leading{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-notched-outline .mdc-notched-outline__trailing{border-color:var(--custom-border-color-hover, #ffbb00)!important;border-width:var(--custom-border-width-hover, 1.5px)!important}::ng-deep .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color, #dddddd)!important;border-width:var(--custom-border-width, 1.5px)!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--custom-caret-color, #ffbb00)!important;font-size:12px!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important;color:var(--custom-font-color, #444444)!important}::ng-deep .mat-form-field-invalid .mdc-text-field--outlined .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field.mat-form-field-disabled{background:var(--custom-bg-color-disabled, #ECECEC)!important}::ng-deep .mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--custom-font-color-disabled, #999999)!important}::ng-deep .mdc-label{color:var(--custom-font-color, #444)!important;font-size:var(--custom-font-size, 16px)!important;font-weight:var(--custom-font-weight, 400)!important;font-family:var(--custom-font-family, \"Mulish\")!important}::placeholder{color:#8f8f8f!important;font-size:12px!important}::ng-deep .mat-mdc-form-field-hint-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error-wrapper{padding:0!important}::ng-deep .mat-mdc-form-field-error{color:#e00!important;font-size:12px;font-weight:500;font-family:Mulish!important;letter-spacing:0}::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: var(--custom-border-radius , 4px) !important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--custom-border-color-error, red)!important;border-width:var(--custom-border-width-error, 1.5px)!important}::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none!important}::ng-deep .mat-mdc-select-arrow{border-style:solid!important;border-width:0 2px 2px 0!important;border-right:2px solid!important;content:\"\"!important;display:inline-block!important;padding:3px!important;transform:rotate(45deg)!important;vertical-align:middle!important;width:unset!important;height:unset!important;color:#444!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-mdc-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-arrow svg{display:none!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{background:#fff!important}::ng-deep div.mat-mdc-select-panel{background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item{background:#fff!important;color:#444!important;font-weight:400}::ng-deep .mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:#fb0!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item{background:var(--custom-select-option-background-color, #fff)!important;color:var(--custom-select-option-font-color, #444)!important;font-weight:var(--custom-select-option-font-weight, 400)!important}::ng-deep .mat-mdc-option:focus.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option.mat-mdc-option-active.mdc-list-item{background:var(--custom-select-option-background-color-focus, #fffaeb)!important;color:var(--custom-select-option-font-color-focus, #444)!important;font-weight:var(--custom-select-option-font-weight-focus, 600)!important;border-left:var(--custom-select-option-border-left-focus, 4px solid #fb0)!important;border-radius:var(--custom-select-option-border-radius-focus, 3px)!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:var(--custom-font-size, 12px)!important}::ng-deep .cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{padding:0!important;background:#fafafa!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:12px!important}::ng-deep .mat-mdc-form-field.mat-focused.mat-primary .mat-select-arrow{color:#fb0}::ng-deep .mat-mdc-select-panel-above div.mat-mdc-select-panel{padding:0!important}::ng-deep .mat-mdc-optgroup-label{background:#f5f5f5;color:#444;font-weight:800}::ng-deep .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{padding:0!important;background:#fff!important}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background:#fffaeb!important;border-left:4px solid #fb0;font-weight:600!important;color:#444!important;border-radius:3px}::ng-deep .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:unset!important}::ng-deep .mat-mdc-option .mat-pseudo-checkbox-minimal{display:none!important}::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{color:#8f8f8f!important;font-size:12px!important;vertical-align:sub}*{font-family:mulish!important}.custom-dropdown-arrow{color:#666;font-size:18px;cursor:pointer;margin-right:4px;padding:0!important;margin-top:12px!important}.show-arrow{background-image:url(https://d2h44aw7l5xdvz.cloudfront.net/digitPlusAssets/Dropdown_arrow.svg)!important;background-position:calc(100% - 12px) calc(1em - 4px),calc(100% - 15px) calc(1em + 8px),calc(100% - 2.5em) .5em;background-size:10px 10px,5px 5px,1px 1.5em;background-repeat:no-repeat}@media screen and (max-width: 768px){::ng-deep .mat-mdc-form-field .mat-mdc-select-placeholder{font-size:14px!important}::ng-deep .mat-mdc-option .mdc-list-item__primary-text{font-size:14px!important}::ng-deep .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{font-size:14px!important}}\n"] }]
|
|
194
196
|
}], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { blur: [{
|
|
195
197
|
type: Output
|
|
196
198
|
}], selectionChanged: [{
|
|
@@ -200,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
200
202
|
}], optionSelected: [{
|
|
201
203
|
type: Output
|
|
202
204
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUF3QjNHLE1BQU0sT0FBTyxxQkFBcUI7SUFDYjtJQUFuQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRyxDQUFDO0lBQzNELEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDbkMsY0FBYyxHQUFRLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQUssRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsR0FBUSxFQUFFLENBQUM7SUFDckIseUJBQXlCLEdBQVMsS0FBSyxFQUFPLENBQUM7SUFFL0MsbURBQW1EO0lBQ3pDLElB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Qix1ZkFSckI7WUFDUDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUscUJBQXFCO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDN0JMLDR6RkE4REEsMmdQRGpESSxrQkFBa0Isc1VBQ2xCLFlBQVksb1ZBQ1osY0FBYywwV0FDZCxxQkFBcUIsdzFCQUNyQixlQUFlLDhCQUNmLFdBQVcsMjBCQUNYLG1CQUFtQjs7NEZBWVYscUJBQXFCO2tCQXRCakMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEIsYUFHVTt3QkFDUDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHVCQUF1Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7eUZBV08sSUFBSTtzQkFBYixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXV0b2NvbXBsZXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHt9XG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG4gIHNlbGVjdGVkT3B0aW9uOiBhbnkgPSBudWxsO1xuICBmaWx0ZXJlZE9wdGlvbnM6YW55PVtdO1xuICBpbnB1dFZhbHVlOiBhbnkgPSAnJztcbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcblxuICAvLyBPdXRwdXQgZXZlbnRzIGZvciBwYXJlbnQgY29tcG9uZW50IGNvbW11bmljYXRpb25cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWVsZCgpLm9wdGlvbnMgfHwgW107XG4gICAgLy8gU3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBpZiB1c2luZyByZWFjdGl2ZSBmb3Jtc1xuICAgIGlmICh0aGlzLnJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QgJiYgdGhpcy5yZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0LnZhbHVlQ2hhbmdlcykge1xuICAgICAgdGhpcy5yZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5vbklucHV0Q2hhbmdlKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICAgIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIHZhbHVlIGlzIGFuIG9iamVjdCwgZXh0cmFjdCB0aGUgbGFiZWxcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUubGFiZWwpIHtcbiAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZS5sYWJlbDtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgbGV0IG9wdGlvbiA9IHRoaXMuZmllbGQoKS5vcHRpb25zPy5maW5kKChvcHQ6IGFueSkgPT5cbiAgICAgICAgICAgIG9wdC52YWx1ZSA9PT0gdmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICghb3B0aW9uKSB7XG4gICAgICAgICAgICBvcHRpb24gPSB0aGlzLmZpZWxkKCkub3B0aW9ucz8uZmluZCgob3B0OiBhbnkpID0+XG4gICAgICAgICAgICAgIG9wdC5sYWJlbCA9PT0gdmFsdWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG9wdGlvbi5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0geyBsYWJlbDogdmFsdWUudG9TdHJpbmcoKSwgdmFsdWU6IHZhbHVlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgICB9XG4gICAgICBpZih0eXBlb2YgdGhpcy5pbnB1dFZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIC8vIEhhbmRsZSBkaXNhYmxlZCBzdGF0ZSBpZiBuZWVkZWRcbiAgICB9XG5cbiAgICBvbklucHV0Q2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcblxuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICBpZih0eXBlb2YgdGhpcy5pbnB1dFZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluZCBtYXRjaGluZyBvcHRpb25cbiAgICAgIGNvbnN0IG1hdGNoaW5nT3B0aW9uID0gdGhpcy5maWVsZCgpLm9wdGlvbnM/LmZpbmQoKG9wdGlvbjogYW55KSA9PlxuICAgICAgICBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcblxuICAgICAgaWYgKG1hdGNoaW5nT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBtYXRjaGluZ09wdGlvbjtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShtYXRjaGluZ09wdGlvbi52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KHZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb24pO1xuICAgIH1cblxuICAgIG9uT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSBvcHRpb24ubGFiZWw7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG9wdGlvbi52YWx1ZSk7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuXG4gICAgICAvLyBFbWl0IGV2ZW50cyBmb3IgcGFyZW50IGNvbXBvbmVudFxuICAgICAgdGhpcy5vcHRpb25TZWxlY3RlZC5lbWl0KG9wdGlvbik7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdChvcHRpb24pO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdChvcHRpb24ubGFiZWwpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudD86IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBmaWx0ZXJPcHRpb25zKCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmlucHV0VmFsdWUgfHwgdGhpcy5pbnB1dFZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpZWxkKCkub3B0aW9ucyB8fCBbXTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHRoaXMuaW5wdXRWYWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSAodGhpcy5maWVsZCgpLm9wdGlvbnMgfHwgW10pLmZpbHRlcigob3B0aW9uOiBhbnkpID0+XG4gICAgICAgIG9wdGlvbi5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5Rm4gPSAob3B0aW9uOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgbGV0IGZpbHRlcmVkT2JqZWN0VmFsdWUgOiBhbnkgPSAnJztcbiAgICAgIGxldCB0b0ZpbHRlclN0cmluZyA6IGFueSA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbi52YWx1ZSA/IG9wdGlvbi52YWx1ZSA6IG9wdGlvbjtcbiAgICAgIGlmKCF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eSh0aGlzLmZpbHRlcmVkT3B0aW9ucykpIHtcbiAgICAgICAgbGV0IGZpbHRlcmVkT2JqIDogYW55ID0gdGhpcy5maWx0ZXJlZE9wdGlvbnMuZmlsdGVyKChvcHQ6IGFueSkgPT4gKChvcHQudmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gdG9GaWx0ZXJTdHJpbmcudG9Mb3dlckNhc2UoKSkgfHwgKG9wdC5sYWJlbC50b0xvd2VyQ2FzZSgpID09PSB0b0ZpbHRlclN0cmluZy50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICBpZihmaWx0ZXJlZE9iai5sZW5ndGggPiAwICYmICF0aGlzLm1hc3RlclNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eShmaWx0ZXJlZE9ialswXVsnbGFiZWwnXSkpIHtcbiAgICAgICAgICBmaWx0ZXJlZE9iamVjdFZhbHVlID0gZmlsdGVyZWRPYmpbMF1bJ2xhYmVsJ11cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICByZXR1cm4gZmlsdGVyZWRPYmplY3RWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBVdGlsaXR5IG1ldGhvZCB0byBnZXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdmFsdWVcbiAgICBnZXRDdXJyZW50VmFsdWUoKTogYW55IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9uID8gdGhpcy5zZWxlY3RlZE9wdGlvbi52YWx1ZSA6IHRoaXMuaW5wdXRWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBVdGlsaXR5IG1ldGhvZCB0byBnZXQgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb3B0aW9uXG4gICAgZ2V0Q3VycmVudE9wdGlvbigpOiBhbnkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb247XG4gICAgfVxuXG4gICAgLy8gTWV0aG9kIHRvIHNldCB2YWx1ZSBwcm9ncmFtbWF0aWNhbGx5ICh1c2VmdWwgZm9yIHBhcmVudCBjb21wb25lbnRzKVxuICAgIHNldFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0Q3VycmVudFZhbHVlKCkpO1xuICAgIH1cblxuICBvbklucHV0Q2hhbmdlRm9yUmVhY3RpdmVGb3JtcyhldmVudCA6IGFueSkge1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gZXZlbnQ/LnRhcmdldD8udmFsdWU7XG4gICAgICBpZih0eXBlb2YgdGhpcy5pbnB1dFZhbHVlID09PSAnc3RyaW5nJyAmJiBldmVudD8udGFyZ2V0Py52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluZCBtYXRjaGluZyBvcHRpb25cbiAgICAgIGNvbnN0IG1hdGNoaW5nT3B0aW9uID0gdGhpcy5maWVsZCgpLm9wdGlvbnM/LmZpbmQoKG9wdGlvbjogYW55KSA9PlxuICAgICAgICBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gZXZlbnQ/LnRhcmdldD8udmFsdWUudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcblxuICAgICAgaWYgKG1hdGNoaW5nT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBtYXRjaGluZ09wdGlvbjtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShtYXRjaGluZ09wdGlvbi52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShldmVudD8udGFyZ2V0Py52YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KGV2ZW50Py50YXJnZXQ/LnZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb24pO1xuICB9XG5cbiAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlck9wdGlvbnMoKTtcbiAgfVxufVxuIiwiICA8bGFiZWwgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpLmlzU2hvd0xhYmVsXCIgY2xhc3M9XCJmaWVsZC1sYWJsZVwiPnt7ZmllbGQoKT8ubGFiZWx9fTxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDAgc2hvdy1hcnJvd1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZVwiICBbbmdTdHlsZV09XCJ7XG4gICctLWN1c3RvbS1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlckNvbG9yICxcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyV2lkdGggLFxuICAnLS1jdXN0b20tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcbiAgJy0tY3VzdG9tLWJnLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5iYWNrZ3JvdW5kICxcbiAgJy0tY3VzdG9tLWJvcmRlci1jb2xvci1mb2N1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCb3JkZXJDb2xvciAsXG4gICctLWN1c3RvbS1ib3JkZXItd2lkdGgtZm9jdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQm9yZGVyV2lkdGggLFxuICAnLS1jdXN0b20tYmctY29sb3ItZm9jdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCAsXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3ItaG92ZXInOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmhvdmVyQm9yZGVyQ29sb3IgLFxuICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlcldpZHRoICxcbiAgJy0tY3VzdG9tLWJvcmRlci1jb2xvci1lcnJvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZXJyb3JCb3JkZXJDb2xvciAsXG4gICctLWN1c3RvbS1ib3JkZXItd2lkdGgtZXJyb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmVycm9yQm9yZGVyV2lkdGggLFxuJy0tY3VzdG9tLWZvbnQtY29sb3ItZGlzYWJsZWQnIDogZmllbGQoKT8uY29udHJvbFN0eWxlPy5kaXNhYmxlQ29sb3IgLFxuJy0tY3VzdG9tLWJnLWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUJhY2tncm91bmQgLFxuICB9XCI+XG4gICBAaWYocmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpKSB7XG4gICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxuICAgICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCk/LnBsYWNlSG9sZGVyXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlRm9yUmVhY3RpdmVGb3JtcygkZXZlbnQpXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxuICAgICAvPlxuICAgfUBlbHNlIHtcbiAgICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgIFtuZ01vZGVsXT1cImlucHV0VmFsdWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXG4gICAgICBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQoKT8ucGxhY2VIb2xkZXJcIlxuICAgICAvPlxuICAgfVxuICAgPG1hdC1hdXRvY29tcGxldGUgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlGblwiIChvcHRpb25TZWxlY3RlZCk9XCJvbk9wdGlvblNlbGVjdGVkKCRldmVudC5vcHRpb24udmFsdWUpXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XG4gICAgICB7eyBvcHRpb24ubGFiZWwgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8bWF0LWVycm9yPlxuICAgIHt7IGZpZWxkKCkudmFsaWRhdG9ycy5yZXF1aXJlZE1lc3NhZ2UgfX1cbiAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRNZXNzYWdlIH19LlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZhbHNlXCI+XG4gICAge3sgZmllbGQoKT8udmFsaWRhdG9ycz8ucGF0dGVybk1lc3NhZ2UgfX0uXG4gIDwvZGl2PlxuIl19
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBRTNHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUF1QjVFLE1BQU0sT0FBTyxxQkFBcUI7SUFDYjtJQUFuQixZQUFtQixhQUFvQztRQUFwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7SUFBRyxDQUFDO0lBQzNELEtBQUssR0FBUSxLQUFLLENBQUMsUUFBUSxFQUFPLENBQUM7SUFDbkMsY0FBYyxHQUFRLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQUssRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsR0FBUSxFQUFFLENBQUM7SUFDckIseUJBQXlCLEdBQVMsS0FBSyxFQUFPLENBQUM7SUFFL0MsbURBQW1EO0lBQ3pDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDM0MsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdkMsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHbkQsUUFBUTtRQUNOLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEQsb0RBQW9EO1FBQ3BELElBQUksSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRixJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNuRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFQyxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFFMUIsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUMxQywyQ0FBMkM7WUFDM0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUM7aUJBQ0ksQ0FBQztnQkFDSixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ25ELEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUNwQixDQUFDO2dCQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUMvQyxHQUFHLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FDcEIsQ0FBQztnQkFDSixDQUFDO2dCQUNELElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO29CQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztnQkFDL0IsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQ2xFLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBRyxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxrQ0FBa0M7SUFDcEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBRXRCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUcsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUNoRSxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FDbkQsQ0FBQztRQUVGLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQVc7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqQixtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUUsQ0FDekUsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxHQUFHLENBQUMsTUFBVyxFQUFVLEVBQUU7UUFDbEMsSUFBSSxtQkFBbUIsR0FBUyxFQUFFLENBQUM7UUFDbkMsSUFBSSxjQUFjLEdBQVMsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM5RixJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxJQUFJLFdBQVcsR0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5TCxJQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5RixtQkFBbUIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDL0MsQ0FBQztRQUVILENBQUM7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUMsQ0FBQTtJQUVELG1EQUFtRDtJQUNuRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUgsNkJBQTZCLENBQUMsS0FBVztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQ3ZDLElBQUcsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4RSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQ2hFLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQ2xFLENBQUM7UUFFRixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXZMVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix1ZkFSckI7WUFDUDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUscUJBQXFCO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDOUJMLDgwRkE4REEsMmdQRGhESSxrQkFBa0Isc1VBQ2xCLFlBQVksb1ZBQ1osY0FBYywwV0FDZCxxQkFBcUIsdzFCQUNyQixlQUFlLDhCQUNmLFdBQVcsMjBCQUNYLG1CQUFtQjs7NEZBWVYscUJBQXFCO2tCQXRCakMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjtxQkFDcEIsYUFHVTt3QkFDUDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHVCQUF1Qjs0QkFDbEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7eUZBV08sSUFBSTtzQkFBYixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBpbml0aWFsaXplRmllbGROYW1lQXR0cmlidXRlIH0gZnJvbSAnLi4vZmllbGQtbmFtZS1hdHRyaWJ1dGUudXRpbCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXV0b2NvbXBsZXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXN0ZXJTZXJ2aWNlIDogTWFzdGVyQ29udHJvbFNlcnZpY2UpIHt9XG4gIGZpZWxkOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XG4gIHNlbGVjdGVkT3B0aW9uOiBhbnkgPSBudWxsO1xuICBmaWx0ZXJlZE9wdGlvbnM6YW55PVtdO1xuICBpbnB1dFZhbHVlOiBhbnkgPSAnJztcbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcblxuICAvLyBPdXRwdXQgZXZlbnRzIGZvciBwYXJlbnQgY29tcG9uZW50IGNvbW11bmljYXRpb25cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuXG4gIG5nT25Jbml0KCkge1xuICAgIGluaXRpYWxpemVGaWVsZE5hbWVBdHRyaWJ1dGUodGhpcy5maWVsZCgpKTtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5vcHRpb25zIHx8IFtdO1xuICAgIC8vIFN1YnNjcmliZSB0byB2YWx1ZUNoYW5nZXMgaWYgdXNpbmcgcmVhY3RpdmUgZm9ybXNcbiAgICBpZiAodGhpcy5yZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0ICYmIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC52YWx1ZUNoYW5nZXMpIHtcbiAgICAgIHRoaXMucmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25JbnB1dENoYW5nZSh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBJZiB2YWx1ZSBpcyBhbiBvYmplY3QsIGV4dHJhY3QgdGhlIGxhYmVsXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlLmxhYmVsKSB7XG4gICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWUubGFiZWw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGxldCBvcHRpb24gPSB0aGlzLmZpZWxkKCkub3B0aW9ucz8uZmluZCgob3B0OiBhbnkpID0+XG4gICAgICAgICAgICBvcHQudmFsdWUgPT09IHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoIW9wdGlvbikge1xuICAgICAgICAgICAgb3B0aW9uID0gdGhpcy5maWVsZCgpLm9wdGlvbnM/LmZpbmQoKG9wdDogYW55KSA9PlxuICAgICAgICAgICAgICBvcHQubGFiZWwgPT09IHZhbHVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBvcHRpb24ubGFiZWw7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHsgbGFiZWw6IHZhbHVlLnRvU3RyaW5nKCksIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYodHlwZW9mIHRoaXMuaW5wdXRWYWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAvLyBIYW5kbGUgZGlzYWJsZWQgc3RhdGUgaWYgbmVlZGVkXG4gICAgfVxuXG4gICAgb25JbnB1dENoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7XG5cbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgaWYodHlwZW9mIHRoaXMuaW5wdXRWYWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmQgbWF0Y2hpbmcgb3B0aW9uXG4gICAgICBjb25zdCBtYXRjaGluZ09wdGlvbiA9IHRoaXMuZmllbGQoKS5vcHRpb25zPy5maW5kKChvcHRpb246IGFueSkgPT5cbiAgICAgICAgb3B0aW9uLmxhYmVsLnRvTG93ZXJDYXNlKCkgPT09IHZhbHVlLnRvTG93ZXJDYXNlKClcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXRjaGluZ09wdGlvbikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbWF0Y2hpbmdPcHRpb247XG4gICAgICAgIHRoaXMub25DaGFuZ2UobWF0Y2hpbmdPcHRpb24udmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uKTtcbiAgICB9XG5cbiAgICBvbk9wdGlvblNlbGVjdGVkKG9wdGlvbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gb3B0aW9uO1xuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gb3B0aW9uLmxhYmVsO1xuICAgICAgdGhpcy5vbkNoYW5nZShvcHRpb24udmFsdWUpO1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcblxuICAgICAgLy8gRW1pdCBldmVudHMgZm9yIHBhcmVudCBjb21wb25lbnRcbiAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdChvcHRpb24pO1xuICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2VkLmVtaXQob3B0aW9uKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQob3B0aW9uLmxhYmVsKTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ/OiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLmJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgZmlsdGVyT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5pbnB1dFZhbHVlIHx8IHRoaXMuaW5wdXRWYWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWVsZCgpLm9wdGlvbnMgfHwgW107XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSB0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gKHRoaXMuZmllbGQoKS5vcHRpb25zIHx8IFtdKS5maWx0ZXIoKG9wdGlvbjogYW55KSA9PlxuICAgICAgICBvcHRpb24ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZGlzcGxheUZuID0gKG9wdGlvbjogYW55KTogc3RyaW5nID0+IHtcbiAgICAgIGxldCBmaWx0ZXJlZE9iamVjdFZhbHVlIDogYW55ID0gJyc7XG4gICAgICBsZXQgdG9GaWx0ZXJTdHJpbmcgOiBhbnkgPSB0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiBvcHRpb24udmFsdWUgPyBvcHRpb24udmFsdWUgOiBvcHRpb247XG4gICAgICBpZighdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkodGhpcy5maWx0ZXJlZE9wdGlvbnMpKSB7XG4gICAgICAgIGxldCBmaWx0ZXJlZE9iaiA6IGFueSA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmZpbHRlcigob3B0OiBhbnkpID0+ICgob3B0LnZhbHVlLnRvTG93ZXJDYXNlKCkgPT09IHRvRmlsdGVyU3RyaW5nLnRvTG93ZXJDYXNlKCkpIHx8IChvcHQubGFiZWwudG9Mb3dlckNhc2UoKSA9PT0gdG9GaWx0ZXJTdHJpbmcudG9Mb3dlckNhc2UoKSkpKTtcbiAgICAgICAgaWYoZmlsdGVyZWRPYmoubGVuZ3RoID4gMCAmJiAhdGhpcy5tYXN0ZXJTZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoZmlsdGVyZWRPYmpbMF1bJ2xhYmVsJ10pKSB7XG4gICAgICAgICAgZmlsdGVyZWRPYmplY3RWYWx1ZSA9IGZpbHRlcmVkT2JqWzBdWydsYWJlbCddXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0VmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVXRpbGl0eSBtZXRob2QgdG8gZ2V0IHRoZSBjdXJyZW50IHNlbGVjdGVkIHZhbHVlXG4gICAgZ2V0Q3VycmVudFZhbHVlKCk6IGFueSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbiA/IHRoaXMuc2VsZWN0ZWRPcHRpb24udmFsdWUgOiB0aGlzLmlucHV0VmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVXRpbGl0eSBtZXRob2QgdG8gZ2V0IHRoZSBjdXJyZW50IHNlbGVjdGVkIG9wdGlvblxuICAgIGdldEN1cnJlbnRPcHRpb24oKTogYW55IHtcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9uO1xuICAgIH1cblxuICAgIC8vIE1ldGhvZCB0byBzZXQgdmFsdWUgcHJvZ3JhbW1hdGljYWxseSAodXNlZnVsIGZvciBwYXJlbnQgY29tcG9uZW50cylcbiAgICBzZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmdldEN1cnJlbnRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgb25JbnB1dENoYW5nZUZvclJlYWN0aXZlRm9ybXMoZXZlbnQgOiBhbnkpIHtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlO1xuICAgICAgaWYodHlwZW9mIHRoaXMuaW5wdXRWYWx1ZSA9PT0gJ3N0cmluZycgJiYgZXZlbnQ/LnRhcmdldD8udmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmQgbWF0Y2hpbmcgb3B0aW9uXG4gICAgICBjb25zdCBtYXRjaGluZ09wdGlvbiA9IHRoaXMuZmllbGQoKS5vcHRpb25zPy5maW5kKChvcHRpb246IGFueSkgPT5cbiAgICAgICAgb3B0aW9uLmxhYmVsLnRvTG93ZXJDYXNlKCkgPT09IGV2ZW50Py50YXJnZXQ/LnZhbHVlLnRvTG93ZXJDYXNlKClcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXRjaGluZ09wdGlvbikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbWF0Y2hpbmdPcHRpb247XG4gICAgICAgIHRoaXMub25DaGFuZ2UobWF0Y2hpbmdPcHRpb24udmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoZXZlbnQ/LnRhcmdldD8udmFsdWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdChldmVudD8udGFyZ2V0Py52YWx1ZSk7XG4gICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9uKTtcbiAgfVxuXG4gIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJPcHRpb25zKCk7XG4gIH1cbn1cbiIsIiAgPGxhYmVsICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGUgJiYgZmllbGQoKS5pc1Nob3dMYWJlbFwiIGNsYXNzPVwiZmllbGQtbGFibGVcIj57e2ZpZWxkKCk/LmxhYmVsfX08c3BhbiBzdHlsZT1cImNvbG9yOiByZWQ7XCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwIHNob3ctYXJyb3dcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIiAgW25nU3R5bGVdPVwie1xuICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvciAsXG4gICctLWN1c3RvbS1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoICxcbiAgJy0tY3VzdG9tLWJvcmRlci1yYWRpdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclJhZGl1cyAsXG4gICctLWN1c3RvbS1iZy1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3ItZm9jdXMnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQm9yZGVyQ29sb3IgLFxuICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlcldpZHRoICxcbiAgJy0tY3VzdG9tLWJnLWNvbG9yLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JhY2tncm91bmQgLFxuICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlckNvbG9yICxcbiAgJy0tY3VzdG9tLWJvcmRlci13aWR0aC1ob3Zlcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uaG92ZXJCb3JkZXJXaWR0aCAsXG4gICctLWN1c3RvbS1ib3JkZXItY29sb3ItZXJyb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmVycm9yQm9yZGVyQ29sb3IgLFxuICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWVycm9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5lcnJvckJvcmRlcldpZHRoICxcbictLWN1c3RvbS1mb250LWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUNvbG9yICxcbictLWN1c3RvbS1iZy1jb2xvci1kaXNhYmxlZCcgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmRpc2FibGVCYWNrZ3JvdW5kICxcbiAgfVwiPlxuICAgQGlmKHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QoKSkge1xuICAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVBdHRyaWJ1dGVcIlxuICAgICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZmllbGQoKT8uaXNEaXNhYmxlXCJcbiAgICAgIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZCgpPy5wbGFjZUhvbGRlclwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZUZvclJlYWN0aXZlRm9ybXMoJGV2ZW50KVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwicmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCgpXCJcbiAgICAgLz5cbiAgIH1AZWxzZSB7XG4gICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtuYW1lXT1cImZpZWxkKCk/LmZpZWxkTmFtZUF0dHJpYnV0ZVwiXG4gICAgICBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxuICAgICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCk/LnBsYWNlSG9sZGVyXCJcbiAgICAgLz5cbiAgIH1cbiAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAob3B0aW9uU2VsZWN0ZWQpPVwib25PcHRpb25TZWxlY3RlZCgkZXZlbnQub3B0aW9uLnZhbHVlKVwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPG1hdC1lcnJvcj5cbiAgICB7eyBmaWVsZCgpLnZhbGlkYXRvcnMucmVxdWlyZWRNZXNzYWdlIH19XG4gIDwvbWF0LWVycm9yPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmFsc2VcIj5cbiAgICB7eyBmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkTWVzc2FnZSB9fS5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmYWxzZVwiPlxuICAgIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LnBhdHRlcm5NZXNzYWdlIH19LlxuICA8L2Rpdj5cbiJdfQ==
|