valtech-components 4.0.1038 → 4.0.1040

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.
@@ -120,6 +120,7 @@ export class SearchSelectorComponent {
120
120
  [interfaceOptions]="customPopoverOptions"
121
121
  [interface]="resolvedProps.selectInterface || 'popover'"
122
122
  [placeholder]="resolvedProps.placeholder"
123
+ toggleIcon="chevron-down-outline"
123
124
  [cancelText]="cancelText"
124
125
  [okText]="okText"
125
126
  >
@@ -145,7 +146,7 @@ export class SearchSelectorComponent {
145
146
  </ion-select-option>
146
147
  }
147
148
  </ion-select>
148
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;min-height:auto;border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.5rem!important;padding-bottom:.5rem!important;padding-inline-start:1rem!important;padding-inline-end:.625rem!important}.select-option-content{display:inline-flex;align-items:center;gap:.625rem}.select-option-icon{flex:0 0 auto;font-size:1.125rem}.select-option-icon-mask{width:1.125rem;height:1.125rem;background:currentColor;mask:var(--val-select-option-icon-src) center/contain no-repeat;-webkit-mask:var(--val-select-option-icon-src) center/contain no-repeat}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
149
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;min-height:auto;border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.5rem!important;padding-bottom:.5rem!important;padding-inline-start:1rem!important;padding-inline-end:.875rem!important}.select-option-content{display:inline-flex;align-items:center;gap:.625rem}.select-option-icon{flex:0 0 auto;font-size:1.125rem}.select-option-icon-mask{width:1.125rem;height:1.125rem;background:currentColor;mask:var(--val-select-option-icon-src) center/contain no-repeat;-webkit-mask:var(--val-select-option-icon-src) center/contain no-repeat}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSelect, selector: "ion-select", inputs: ["cancelText", "color", "compareWith", "disabled", "errorText", "expandedIcon", "fill", "helperText", "interface", "interfaceOptions", "justify", "label", "labelPlacement", "mode", "multiple", "name", "okText", "placeholder", "selectedText", "shape", "toggleIcon", "value"] }, { kind: "component", type: IonSelectOption, selector: "ion-select-option", inputs: ["disabled", "value"] }] }); }
149
150
  }
150
151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SearchSelectorComponent, decorators: [{
151
152
  type: Component,
@@ -156,6 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
156
157
  [interfaceOptions]="customPopoverOptions"
157
158
  [interface]="resolvedProps.selectInterface || 'popover'"
158
159
  [placeholder]="resolvedProps.placeholder"
160
+ toggleIcon="chevron-down-outline"
159
161
  [cancelText]="cancelText"
160
162
  [okText]="okText"
161
163
  >
@@ -181,10 +183,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
181
183
  </ion-select-option>
182
184
  }
183
185
  </ion-select>
184
- `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;min-height:auto;border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.5rem!important;padding-bottom:.5rem!important;padding-inline-start:1rem!important;padding-inline-end:.625rem!important}.select-option-content{display:inline-flex;align-items:center;gap:.625rem}.select-option-icon{flex:0 0 auto;font-size:1.125rem}.select-option-icon-mask{width:1.125rem;height:1.125rem;background:currentColor;mask:var(--val-select-option-icon-src) center/contain no-repeat;-webkit-mask:var(--val-select-option-icon-src) center/contain no-repeat}\n"] }]
186
+ `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-select{--padding-top: 0;--padding-bottom: 0;--padding-start: 0;--padding-end: 0;min-height:auto;border:.0625rem solid var(--ion-color-medium);border-radius:1.5rem;margin-top:.375rem;padding-top:.5rem!important;padding-bottom:.5rem!important;padding-inline-start:1rem!important;padding-inline-end:.875rem!important}.select-option-content{display:inline-flex;align-items:center;gap:.625rem}.select-option-icon{flex:0 0 auto;font-size:1.125rem}.select-option-icon-mask{width:1.125rem;height:1.125rem;background:currentColor;mask:var(--val-select-option-icon-src) center/contain no-repeat;-webkit-mask:var(--val-select-option-icon-src) center/contain no-repeat}\n"] }]
185
187
  }], propDecorators: { preset: [{
186
188
  type: Input
187
189
  }], props: [{
188
190
  type: Input
189
191
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sYUFBYSxDQUFDOzs7QUF5QzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBaEVwQztRQWlFVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFXeEM7Ozs7Ozs7Ozs7V0FVRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztLQXlFcEQ7SUFsRUMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxR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QUFlLENBQUMsWUFDekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzhCQXVDUSxNQUFNO3NCQUFkLEtBQUs7Z0JBYUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL2Zvcm0tZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW9uSWNvbiwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBQcmVzZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlc2V0cyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMsIElucHV0TWV0YWRhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1zZWxlY3QtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW9uSWNvbiwgSW9uU2VsZWN0LCBJb25TZWxlY3RPcHRpb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tc2VsZWN0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwicmVzb2x2ZWRQcm9wcy5jb250cm9sXCJcbiAgICAgIFtsYWJlbF09XCJyZXNvbHZlZFByb3BzLmxhYmVsXCJcbiAgICAgIFtpbnRlcmZhY2VPcHRpb25zXT1cImN1c3RvbVBvcG92ZXJPcHRpb25zXCJcbiAgICAgIFtpbnRlcmZhY2VdPVwicmVzb2x2ZWRQcm9wcy5zZWxlY3RJbnRlcmZhY2UgfHwgJ3BvcG92ZXInXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJyZXNvbHZlZFByb3BzLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtjYW5jZWxUZXh0XT1cImNhbmNlbFRleHRcIlxuICAgICAgW29rVGV4dF09XCJva1RleHRcIlxuICAgID5cbiAgICAgIEBmb3IgKG8gb2YgcmVzb2x2ZWRQcm9wcy5vcHRpb25zOyB0cmFjayBvLmlkKSB7XG4gICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiby5pZFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LW9wdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICBAaWYgKG8uaWNvbj8uc3JjKSB7XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uLWljb24gc2VsZWN0LW9wdGlvbi1pY29uLW1hc2tcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS4tLXZhbC1zZWxlY3Qtb3B0aW9uLWljb24tc3JjXT1cImljb25NYXNrKG8uaWNvbi5zcmMpXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoby5pY29uPy5uYW1lKSB7XG4gICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LW9wdGlvbi1pY29uXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJvLmljb24/Lm5hbWVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJvLmljb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgby5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRyb2w6IG15Q29udHJvbCxcbiAqICAgbGFiZWw6ICdTZWxlY2Npb25hcicsXG4gKiAgIG9wdGlvbnM6IFt7IGlkOiAnMScsIG5hbWU6ICdPcGNpw7NuIDEnIH1dXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoYmFja3dhcmRzIGNvbXBhdGlibGUpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogbXlDb250cm9sLFxuICogICBsYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAqICAgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wY2nDs24gMScgfV0sXG4gKiAgIGNhbmNlbFRleHQ6ICdDYW5jZWxhcicsXG4gKiAgIG9rVGV4dDogJ0FjZXB0YXInXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5IChlLmcuLCAnZm9ybS1maWVsZCcpXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VsZWN0IGlucHV0IChvdmVycmlkZXMgcHJlc2V0IHZhbHVlcylcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtc2VsZWN0LWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBjdHJsLCBvcHRpb25zOiBvcHRzIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqIEBwcm9wZXJ0eSBtb2RhbEhlYWRlciAtIEN1c3RvbSBoZWFkZXIgdGV4dCBmb3IgdGhlIG1vZGFsIChvcHRpb25hbCwgdXNlcyBsYWJlbCBpZiBub3QgcHJvdmlkZWQpLlxuICAgKiBAcHJvcGVydHkgY2FuY2VsVGV4dCAtIEN1c3RvbSBjYW5jZWwgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdDYW5jZWxhcicpLlxuICAgKiBAcHJvcGVydHkgb2tUZXh0IC0gQ3VzdG9tIE9LIGJ1dHRvbiB0ZXh0IChkZWZhdWx0OiAnQWNlcHRhcicpLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IElucHV0TWV0YWRhdGEgPSB7fSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gIGN1c3RvbU1vZGFsT3B0aW9uczogeyBoZWFkZXI6IHN0cmluZzsgYnJlYWtwb2ludHM6IG51bWJlcltdOyBpbml0aWFsQnJlYWtwb2ludDogbnVtYmVyIH07XG4gIGN1c3RvbVBvcG92ZXJPcHRpb25zOiB7IGNzc0NsYXNzOiBzdHJpbmcgfTtcbiAgY2FuY2VsVGV4dDogc3RyaW5nO1xuICBva1RleHQ6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgnc2VsZWN0SW5wdXQnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxJbnB1dE1ldGFkYXRhPikgOiB7fTtcblxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHtcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHM/LndpdGhEZWZhdWx0IHx8IHRoaXMucmVzb2x2ZWRQcm9wcz8udmFsdWUpIHtcbiAgICAgIGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sKHRoaXMucmVzb2x2ZWRQcm9wcyk7XG4gICAgfVxuXG4gICAgLy8gU2V0IG1vZGFsIGhlYWRlciBmcm9tIHByb3BzIG9yIHVzZSBsYWJlbCBhcyBmYWxsYmFjaywgdGhlbiBpMThuIGRlZmF1bHRcbiAgICBjb25zdCBoZWFkZXJUZXh0ID0gdGhpcy5yZXNvbHZlZFByb3BzLm1vZGFsSGVhZGVyIHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCB0aGlzLmkxOG4udCgnc2VsZWN0T3B0aW9uJyk7XG5cbiAgICB0aGlzLmN1c3RvbU1vZGFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcjogaGVhZGVyVGV4dCxcbiAgICAgIGJyZWFrcG9pbnRzOiBbMCwgMC42XSxcbiAgICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gICAgfTtcbiAgICB0aGlzLmN1c3RvbVBvcG92ZXJPcHRpb25zID0geyBjc3NDbGFzczogJ3ZhbC1zZWxlY3QtcG9wb3ZlcicgfTtcblxuICAgIC8vIFNldCBidXR0b24gdGV4dHMgZnJvbSBwcm9wcyBvciB1c2UgaTE4biBkZWZhdWx0cy5cbiAgICAvLyBGYWxsYmFjayBjaGFpbjogbmFtZXNwYWNlLWxlc3MgaTE4biDihpIgJ0NvbW1vbicgbmFtZXNwYWNlIOKGkiBoYXJkY29kZWQuXG4gICAgLy8gRWwgbmFtZXNwYWNlLWxlc3MgYnVzY2EgZW4gX2dsb2JhbDsgc2kgbm8gZXhpc3RlIChjYXNvIHR5cGljYWwgYXBwKSxcbiAgICAvLyBwcm9iYW1vcyBlbiAnQ29tbW9uJyBxdWUgbGEgbWF5b3LDrWEgZGUgYXBwcyB0aWVuZW4gcG9ibGFkby5cbiAgICB0aGlzLmNhbmNlbFRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMuY2FuY2VsVGV4dCB8fCB0aGlzLnJlc29sdmVJMThuKCdjYW5jZWwnLCAnQ2FuY2VsYXInKTtcbiAgICB0aGlzLm9rVGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5va1RleHQgfHwgdGhpcy5yZXNvbHZlSTE4bignb2snLCAnT0snKTtcbiAgfVxuXG4gIGljb25NYXNrKHNyYzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHVybChcIiR7c3JjfVwiKWA7XG4gIH1cblxuICAvKipcbiAgICogQnVzY2EgdW4ga2V5IGVuIGBfZ2xvYmFsYCBwcmltZXJvLCBsdWVnbyBlbiBgQ29tbW9uYCwgZmluYWxtZW50ZSBjYWUgYWxcbiAgICogZGVmYXVsdCBoYXJkY29kZWQuIMOadGlsIHBhcmEgdGV4dG9zIGNyb3NzLWN1dHRpbmcgKGNhbmNlbC9vay9jbG9zZS9ldGMuKVxuICAgKiBzaW4gb2JsaWdhciBhIGNhZGEgYXBwIGEgZHVwbGljYXJsb3MgZW4gY2FkYSBuYW1lc3BhY2UuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVJMThuKGtleTogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cnlHbG9iYWwgPSB0aGlzLmkxOG4udChrZXkpO1xuICAgIGlmICh0cnlHbG9iYWwgJiYgIXRyeUdsb2JhbC5zdGFydHNXaXRoKCdbJykpIHJldHVybiB0cnlHbG9iYWw7XG4gICAgY29uc3QgdHJ5Q29tbW9uID0gdGhpcy5pMThuLnQoa2V5LCAnQ29tbW9uJyk7XG4gICAgaWYgKHRyeUNvbW1vbiAmJiAhdHJ5Q29tbW9uLnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHRyeUNvbW1vbjtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cbn1cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sYUFBYSxDQUFDOzs7QUEwQzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBakVwQztRQWtFVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFXeEM7Ozs7Ozs7Ozs7V0FVRztRQUNNLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTVDOztXQUVHO1FBQ0gsa0JBQWEsR0FBa0IsRUFBbUIsQ0FBQztLQXlFcEQ7SUFsRUMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxR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ZUFBZSxDQUFDLFlBQ3pEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQ1Q7OEJBdUNRLE1BQU07c0JBQWQsS0FBSztnQkFhRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgYXBwbHlEZWZhdWx0VmFsdWVUb0NvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5pbXBvcnQgeyBJb25JY29uLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IFByZXNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVzZXRzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcywgSW5wdXRNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNlbGVjdC1pbnB1dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJb25JY29uLCBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1zZWxlY3RcbiAgICAgIFtmb3JtQ29udHJvbF09XCJyZXNvbHZlZFByb3BzLmNvbnRyb2xcIlxuICAgICAgW2xhYmVsXT1cInJlc29sdmVkUHJvcHMubGFiZWxcIlxuICAgICAgW2ludGVyZmFjZU9wdGlvbnNdPVwiY3VzdG9tUG9wb3Zlck9wdGlvbnNcIlxuICAgICAgW2ludGVyZmFjZV09XCJyZXNvbHZlZFByb3BzLnNlbGVjdEludGVyZmFjZSB8fCAncG9wb3ZlcidcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInJlc29sdmVkUHJvcHMucGxhY2Vob2xkZXJcIlxuICAgICAgdG9nZ2xlSWNvbj1cImNoZXZyb24tZG93bi1vdXRsaW5lXCJcbiAgICAgIFtjYW5jZWxUZXh0XT1cImNhbmNlbFRleHRcIlxuICAgICAgW29rVGV4dF09XCJva1RleHRcIlxuICAgID5cbiAgICAgIEBmb3IgKG8gb2YgcmVzb2x2ZWRQcm9wcy5vcHRpb25zOyB0cmFjayBvLmlkKSB7XG4gICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwiby5pZFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0LW9wdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICBAaWYgKG8uaWNvbj8uc3JjKSB7XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uLWljb24gc2VsZWN0LW9wdGlvbi1pY29uLW1hc2tcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS4tLXZhbC1zZWxlY3Qtb3B0aW9uLWljb24tc3JjXT1cImljb25NYXNrKG8uaWNvbi5zcmMpXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoby5pY29uPy5uYW1lKSB7XG4gICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LW9wdGlvbi1pY29uXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJvLmljb24/Lm5hbWVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJvLmljb24/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNwYW4+e3sgby5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L2lvbi1zZWxlY3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLXNlbGVjdC1pbnB1dFxuICpcbiAqIEEgc2VsZWN0L2Ryb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBBbmd1bGFyIGZvcm1zLCB1c2luZyBJb25pYydzIHNlbGVjdCBjb21wb25lbnQuXG4gKiBTdXBwb3J0cyBwcmVzZXRzIGZvciByZXVzYWJsZSBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHByZXNldCAocmVjb21tZW5kZWQpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgcHJlc2V0PVwiZm9ybS1maWVsZFwiIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRyb2w6IG15Q29udHJvbCxcbiAqICAgbGFiZWw6ICdTZWxlY2Npb25hcicsXG4gKiAgIG9wdGlvbnM6IFt7IGlkOiAnMScsIG5hbWU6ICdPcGNpw7NuIDEnIH1dXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBleGFtcGxlIFN0YXRpYyAoYmFja3dhcmRzIGNvbXBhdGlibGUpOlxuICogPHZhbC1zZWxlY3QtaW5wdXQgW3Byb3BzXT1cIntcbiAqICAgY29udHJvbDogbXlDb250cm9sLFxuICogICBsYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAqICAgb3B0aW9uczogW3sgaWQ6ICcxJywgbmFtZTogJ09wY2nDs24gMScgfV0sXG4gKiAgIGNhbmNlbFRleHQ6ICdDYW5jZWxhcicsXG4gKiAgIG9rVGV4dDogJ0FjZXB0YXInXG4gKiB9XCI+PC92YWwtc2VsZWN0LWlucHV0PlxuICpcbiAqIEBpbnB1dCBwcmVzZXQ6IHN0cmluZyAtIE5hbWUgb2YgcHJlc2V0IHRvIGFwcGx5IChlLmcuLCAnZm9ybS1maWVsZCcpXG4gKiBAaW5wdXQgcHJvcHM6IElucHV0TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VsZWN0IGlucHV0IChvdmVycmlkZXMgcHJlc2V0IHZhbHVlcylcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHByZXNldHMgPSBpbmplY3QoUHJlc2V0U2VydmljZSk7XG5cbiAgLyoqXG4gICAqIFByZXNldCBuYW1lIHRvIGFwcGx5LiBQcmVzZXRzIGRlZmluZSByZXVzYWJsZSBpbnB1dCBjb25maWd1cmF0aW9uc1xuICAgKiB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGF0IGFwcCBsZXZlbCB2aWEgcHJvdmlkZVZhbHRlY2hQcmVzZXRzKCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDx2YWwtc2VsZWN0LWlucHV0IHByZXNldD1cImZvcm0tZmllbGRcIiBbcHJvcHNdPVwieyBjb250cm9sOiBjdHJsLCBvcHRpb25zOiBvcHRzIH1cIj48L3ZhbC1zZWxlY3QtaW5wdXQ+XG4gICAqL1xuICBASW5wdXQoKSBwcmVzZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBWYWx1ZXMgaGVyZSBvdmVycmlkZSBwcmVzZXQgdmFsdWVzLlxuICAgKiBAdHlwZSB7SW5wdXRNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbnRyb2wgLSBUaGUgQW5ndWxhciBGb3JtQ29udHJvbCBmb3IgdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHByb3BlcnR5IGxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgc2VsZWN0LlxuICAgKiBAcHJvcGVydHkgb3B0aW9ucyAtIFRoZSBhdmFpbGFibGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdC5cbiAgICogQHByb3BlcnR5IHBsYWNlaG9sZGVyIC0gVGhlIHBsYWNlaG9sZGVyIHRleHQuXG4gICAqIEBwcm9wZXJ0eSBtb2RhbEhlYWRlciAtIEN1c3RvbSBoZWFkZXIgdGV4dCBmb3IgdGhlIG1vZGFsIChvcHRpb25hbCwgdXNlcyBsYWJlbCBpZiBub3QgcHJvdmlkZWQpLlxuICAgKiBAcHJvcGVydHkgY2FuY2VsVGV4dCAtIEN1c3RvbSBjYW5jZWwgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdDYW5jZWxhcicpLlxuICAgKiBAcHJvcGVydHkgb2tUZXh0IC0gQ3VzdG9tIE9LIGJ1dHRvbiB0ZXh0IChkZWZhdWx0OiAnQWNlcHRhcicpLlxuICAgKi9cbiAgQElucHV0KCkgcHJvcHM6IFBhcnRpYWw8SW5wdXRNZXRhZGF0YT4gPSB7fTtcblxuICAvKipcbiAgICogUmVzb2x2ZWQgcHJvcHMgYWZ0ZXIgbWVyZ2luZyBwcmVzZXQgKyBleHBsaWNpdCBwcm9wcy5cbiAgICovXG4gIHJlc29sdmVkUHJvcHM6IElucHV0TWV0YWRhdGEgPSB7fSBhcyBJbnB1dE1ldGFkYXRhO1xuXG4gIGN1c3RvbU1vZGFsT3B0aW9uczogeyBoZWFkZXI6IHN0cmluZzsgYnJlYWtwb2ludHM6IG51bWJlcltdOyBpbml0aWFsQnJlYWtwb2ludDogbnVtYmVyIH07XG4gIGN1c3RvbVBvcG92ZXJPcHRpb25zOiB7IGNzc0NsYXNzOiBzdHJpbmcgfTtcbiAgY2FuY2VsVGV4dDogc3RyaW5nO1xuICBva1RleHQ6IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc29sdmVQcm9wcygpO1xuICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncHJlc2V0J10gfHwgY2hhbmdlc1sncHJvcHMnXSkge1xuICAgICAgdGhpcy5yZXNvbHZlUHJvcHMoKTtcbiAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgcHJlc2V0IGNvbmZpZ3VyYXRpb24gd2l0aCBleHBsaWNpdCBwcm9wcy5cbiAgICogRXhwbGljaXQgcHJvcHMgdGFrZSBwcmVjZWRlbmNlIG92ZXIgcHJlc2V0IHZhbHVlcy5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZVByb3BzKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXNldFByb3BzID0gdGhpcy5wcmVzZXQgPyAodGhpcy5wcmVzZXRzLmdldCgnc2VsZWN0SW5wdXQnLCB0aGlzLnByZXNldCkgYXMgUGFydGlhbDxJbnB1dE1ldGFkYXRhPikgOiB7fTtcblxuICAgIHRoaXMucmVzb2x2ZWRQcm9wcyA9IHtcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHN0YXRlOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICAgIC4uLnByZXNldFByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9IGFzIElucHV0TWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc29sdmVkUHJvcHM/LndpdGhEZWZhdWx0IHx8IHRoaXMucmVzb2x2ZWRQcm9wcz8udmFsdWUpIHtcbiAgICAgIGFwcGx5RGVmYXVsdFZhbHVlVG9Db250cm9sKHRoaXMucmVzb2x2ZWRQcm9wcyk7XG4gICAgfVxuXG4gICAgLy8gU2V0IG1vZGFsIGhlYWRlciBmcm9tIHByb3BzIG9yIHVzZSBsYWJlbCBhcyBmYWxsYmFjaywgdGhlbiBpMThuIGRlZmF1bHRcbiAgICBjb25zdCBoZWFkZXJUZXh0ID0gdGhpcy5yZXNvbHZlZFByb3BzLm1vZGFsSGVhZGVyIHx8IHRoaXMucmVzb2x2ZWRQcm9wcy5sYWJlbCB8fCB0aGlzLmkxOG4udCgnc2VsZWN0T3B0aW9uJyk7XG5cbiAgICB0aGlzLmN1c3RvbU1vZGFsT3B0aW9ucyA9IHtcbiAgICAgIGhlYWRlcjogaGVhZGVyVGV4dCxcbiAgICAgIGJyZWFrcG9pbnRzOiBbMCwgMC42XSxcbiAgICAgIGluaXRpYWxCcmVha3BvaW50OiAwLjYsXG4gICAgfTtcbiAgICB0aGlzLmN1c3RvbVBvcG92ZXJPcHRpb25zID0geyBjc3NDbGFzczogJ3ZhbC1zZWxlY3QtcG9wb3ZlcicgfTtcblxuICAgIC8vIFNldCBidXR0b24gdGV4dHMgZnJvbSBwcm9wcyBvciB1c2UgaTE4biBkZWZhdWx0cy5cbiAgICAvLyBGYWxsYmFjayBjaGFpbjogbmFtZXNwYWNlLWxlc3MgaTE4biDihpIgJ0NvbW1vbicgbmFtZXNwYWNlIOKGkiBoYXJkY29kZWQuXG4gICAgLy8gRWwgbmFtZXNwYWNlLWxlc3MgYnVzY2EgZW4gX2dsb2JhbDsgc2kgbm8gZXhpc3RlIChjYXNvIHR5cGljYWwgYXBwKSxcbiAgICAvLyBwcm9iYW1vcyBlbiAnQ29tbW9uJyBxdWUgbGEgbWF5b3LDrWEgZGUgYXBwcyB0aWVuZW4gcG9ibGFkby5cbiAgICB0aGlzLmNhbmNlbFRleHQgPSB0aGlzLnJlc29sdmVkUHJvcHMuY2FuY2VsVGV4dCB8fCB0aGlzLnJlc29sdmVJMThuKCdjYW5jZWwnLCAnQ2FuY2VsYXInKTtcbiAgICB0aGlzLm9rVGV4dCA9IHRoaXMucmVzb2x2ZWRQcm9wcy5va1RleHQgfHwgdGhpcy5yZXNvbHZlSTE4bignb2snLCAnT0snKTtcbiAgfVxuXG4gIGljb25NYXNrKHNyYzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHVybChcIiR7c3JjfVwiKWA7XG4gIH1cblxuICAvKipcbiAgICogQnVzY2EgdW4ga2V5IGVuIGBfZ2xvYmFsYCBwcmltZXJvLCBsdWVnbyBlbiBgQ29tbW9uYCwgZmluYWxtZW50ZSBjYWUgYWxcbiAgICogZGVmYXVsdCBoYXJkY29kZWQuIMOadGlsIHBhcmEgdGV4dG9zIGNyb3NzLWN1dHRpbmcgKGNhbmNlbC9vay9jbG9zZS9ldGMuKVxuICAgKiBzaW4gb2JsaWdhciBhIGNhZGEgYXBwIGEgZHVwbGljYXJsb3MgZW4gY2FkYSBuYW1lc3BhY2UuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVJMThuKGtleTogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cnlHbG9iYWwgPSB0aGlzLmkxOG4udChrZXkpO1xuICAgIGlmICh0cnlHbG9iYWwgJiYgIXRyeUdsb2JhbC5zdGFydHNXaXRoKCdbJykpIHJldHVybiB0cnlHbG9iYWw7XG4gICAgY29uc3QgdHJ5Q29tbW9uID0gdGhpcy5pMThuLnQoa2V5LCAnQ29tbW9uJyk7XG4gICAgaWYgKHRyeUNvbW1vbiAmJiAhdHJ5Q29tbW9uLnN0YXJ0c1dpdGgoJ1snKSkgcmV0dXJuIHRyeUNvbW1vbjtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cbn1cbiJdfQ==