@rededor/site-front-end-lib 1.0.44 → 1.1.1

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.
Files changed (47) hide show
  1. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +2 -2
  2. package/esm2022/lib/components/footer/footer.component.mjs +90 -22
  3. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +35 -35
  4. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +1 -1
  5. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +12 -7
  6. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +4 -4
  7. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +4 -4
  8. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +12 -7
  9. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +4 -4
  10. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +4 -4
  11. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +4 -4
  12. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +17 -11
  13. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +43 -32
  14. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +12 -7
  15. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +13 -11
  16. package/esm2022/lib/components/header/header.component.mjs +32 -18
  17. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +98 -96
  18. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +1 -1
  19. package/esm2022/lib/components/index.mjs +1 -5
  20. package/esm2022/lib/components/search/search.component.mjs +3 -3
  21. package/fesm2022/rededor-site-front-end-lib.mjs +2080 -2096
  22. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  23. package/lib/components/footer/footer.component.d.ts +32 -7
  24. package/lib/components/footer/models/FooterTheme.model.d.ts +4 -4
  25. package/lib/components/header/components/header-action-menu/header-action-menu.component.d.ts +4 -2
  26. package/lib/components/header/components/header-aux-menu/header-aux-menu.component.d.ts +1 -1
  27. package/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.d.ts +1 -1
  28. package/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.d.ts +4 -1
  29. package/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.d.ts +1 -1
  30. package/lib/components/header/components/header-logo/header-logo.component.d.ts +1 -1
  31. package/lib/components/header/components/header-main-menu/header-main-menu.component.d.ts +1 -1
  32. package/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.d.ts +7 -4
  33. package/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.d.ts +10 -14
  34. package/lib/components/header/components/header-side-menu/header-side-menu.component.d.ts +4 -2
  35. package/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.d.ts +4 -3
  36. package/lib/components/header/header.component.d.ts +15 -7
  37. package/lib/components/header/models/HeaderTheme.model.d.ts +5 -5
  38. package/lib/components/index.d.ts +0 -4
  39. package/package.json +1 -1
  40. package/esm2022/lib/components/footer/components/footer-disclaimer/footer-disclaimer.component.mjs +0 -33
  41. package/esm2022/lib/components/footer/components/footer-menu/footer-menu.component.mjs +0 -28
  42. package/esm2022/lib/components/footer/components/footer-menu-item/footer-menu-item.component.mjs +0 -39
  43. package/esm2022/lib/components/footer/components/footer-social-medias/footer-social-medias.component.mjs +0 -44
  44. package/lib/components/footer/components/footer-disclaimer/footer-disclaimer.component.d.ts +0 -15
  45. package/lib/components/footer/components/footer-menu/footer-menu.component.d.ts +0 -11
  46. package/lib/components/footer/components/footer-menu-item/footer-menu-item.component.d.ts +0 -15
  47. package/lib/components/footer/components/footer-social-medias/footer-social-medias.component.d.ts +0 -17
@@ -101,11 +101,11 @@ export class SearchComponent {
101
101
  this.controlSubscription?.unsubscribe();
102
102
  }
103
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchComponent, deps: [{ token: i1.DeviceDetectorService }, { token: i2.CuraService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SearchComponent, isStandalone: true, selector: "rdsite-search", inputs: { searchControl: "searchControl", showSearchButtonMobile: "showSearchButtonMobile", debounceTime: "debounceTime", label: "label", canClean: "canClean", enable: "enable", loading: "loading", setFocus: "setFocus" }, outputs: { controlBlur: "controlBlur", controlFocus: "controlFocus", controlReset: "controlReset", termChange: "termChange", enterPress: "enterPress" }, host: { properties: { "style": "this.style" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"rdsite-search\">\n <div class=\"rdsite-search-control\" [ngClass]=\"{ disabled: !enable || !searchControl.enabled, focus: focus }\">\n <label class=\"label-hidden\">{{ label }}</label>\n <input\n #searchInput\n class=\"rdsite-search-control-input\"\n [type]=\"'text'\"\n name=\"term\"\n autocomplete=\"off\"\n [placeholder]=\"label\"\n [formControl]=\"searchControl\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keyup.enter)=\"onSubmit($event)\"\n enterkeyhint=\"search\"\n (search)=\"onSubmit($event)\"\n />\n\n <div class=\"rdsite-search-control-icon\">\n <cura-icon\n name=\"closeCircle\"\n size=\"20\"\n color=\"primary-base\"\n (click)=\"clean()\"\n class=\"close\"\n [ngClass]=\"{ active: (searchControl.value || canClean) && !loading }\"\n ></cura-icon>\n <cura-icon name=\"search\" size=\"20\" color=\"primary-base\" (click)=\"onSubmitByClick()\" class=\"search\" [ngClass]=\"{ active: !loading }\"></cura-icon>\n @if (loading) {\n <cura-loader-circle color=\"primary\" size=\"small\"></cura-loader-circle>\n }\n </div>\n </div>\n</div>\n", styles: [".rdsite-search{background-color:#fff;box-shadow:0 4px 8px #26262629;height:100%;width:100%;max-width:100vw}.rdsite-search-control{display:flex;align-items:center;width:100%;height:100%;padding:0 20px}.rdsite-search-control-input{flex-grow:1;padding:0 8px 0 0;color:var(--color);font-size:16px!important;font-weight:500;line-height:20px}.rdsite-search-control-icon{display:flex;align-items:center;justify-content:center;gap:20px}.rdsite-search-control-icon cura-icon{cursor:pointer;visibility:hidden}.rdsite-search-control-icon cura-icon.active{visibility:unset}@media only screen and (min-width: 1024px){.rdsite-search .rdsite-search-control{padding:0 40px 0 20px}}.label-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SearchComponent, isStandalone: true, selector: "rdsite-search", inputs: { searchControl: "searchControl", showSearchButtonMobile: "showSearchButtonMobile", debounceTime: "debounceTime", label: "label", canClean: "canClean", enable: "enable", loading: "loading", setFocus: "setFocus" }, outputs: { controlBlur: "controlBlur", controlFocus: "controlFocus", controlReset: "controlReset", termChange: "termChange", enterPress: "enterPress" }, host: { properties: { "style": "this.style" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"rdsite-search-control\" [ngClass]=\"{ disabled: !enable || !searchControl.enabled, focus: focus }\">\n <label class=\"label-hidden\">{{ label }}</label>\n <input\n #searchInput\n class=\"rdsite-search-control-input\"\n [type]=\"'text'\"\n name=\"term\"\n autocomplete=\"off\"\n [placeholder]=\"label\"\n [formControl]=\"searchControl\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keyup.enter)=\"onSubmit($event)\"\n enterkeyhint=\"search\"\n (search)=\"onSubmit($event)\"\n />\n\n <div class=\"rdsite-search-control-icon\">\n <cura-icon\n name=\"closeCircle\"\n size=\"20\"\n color=\"primary-base\"\n (click)=\"clean()\"\n class=\"close\"\n [ngClass]=\"{ active: (searchControl.value || canClean) && !loading }\"\n ></cura-icon>\n <cura-icon name=\"search\" size=\"20\" color=\"primary-base\" (click)=\"onSubmitByClick()\" class=\"search\" [ngClass]=\"{ active: !loading }\"></cura-icon>\n @if (loading) {\n <cura-loader-circle color=\"primary\" size=\"small\"></cura-loader-circle>\n }\n </div>\n</div>\n", styles: [":host{background-color:#fff;box-shadow:0 4px 8px #26262629;height:100%;width:100%;max-width:100vw}:host .rdsite-search-control{display:flex;align-items:center;width:100%;height:100%;padding:0 20px}:host .rdsite-search-control-input{flex-grow:1;padding:0 8px 0 0;color:var(--color);font-size:16px!important;font-weight:500;line-height:20px}:host .rdsite-search-control-icon{display:flex;align-items:center;justify-content:center;gap:20px}:host .rdsite-search-control-icon cura-icon{cursor:pointer;visibility:hidden}:host .rdsite-search-control-icon cura-icon.active{visibility:unset}@media only screen and (min-width: 1024px){:host .rdsite-search-control{padding:0 40px 0 20px}}.label-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
105
105
  }
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchComponent, decorators: [{
107
107
  type: Component,
108
- args: [{ selector: 'rdsite-search', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"rdsite-search\">\n <div class=\"rdsite-search-control\" [ngClass]=\"{ disabled: !enable || !searchControl.enabled, focus: focus }\">\n <label class=\"label-hidden\">{{ label }}</label>\n <input\n #searchInput\n class=\"rdsite-search-control-input\"\n [type]=\"'text'\"\n name=\"term\"\n autocomplete=\"off\"\n [placeholder]=\"label\"\n [formControl]=\"searchControl\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keyup.enter)=\"onSubmit($event)\"\n enterkeyhint=\"search\"\n (search)=\"onSubmit($event)\"\n />\n\n <div class=\"rdsite-search-control-icon\">\n <cura-icon\n name=\"closeCircle\"\n size=\"20\"\n color=\"primary-base\"\n (click)=\"clean()\"\n class=\"close\"\n [ngClass]=\"{ active: (searchControl.value || canClean) && !loading }\"\n ></cura-icon>\n <cura-icon name=\"search\" size=\"20\" color=\"primary-base\" (click)=\"onSubmitByClick()\" class=\"search\" [ngClass]=\"{ active: !loading }\"></cura-icon>\n @if (loading) {\n <cura-loader-circle color=\"primary\" size=\"small\"></cura-loader-circle>\n }\n </div>\n </div>\n</div>\n", styles: [".rdsite-search{background-color:#fff;box-shadow:0 4px 8px #26262629;height:100%;width:100%;max-width:100vw}.rdsite-search-control{display:flex;align-items:center;width:100%;height:100%;padding:0 20px}.rdsite-search-control-input{flex-grow:1;padding:0 8px 0 0;color:var(--color);font-size:16px!important;font-weight:500;line-height:20px}.rdsite-search-control-icon{display:flex;align-items:center;justify-content:center;gap:20px}.rdsite-search-control-icon cura-icon{cursor:pointer;visibility:hidden}.rdsite-search-control-icon cura-icon.active{visibility:unset}@media only screen and (min-width: 1024px){.rdsite-search .rdsite-search-control{padding:0 40px 0 20px}}.label-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"] }]
108
+ args: [{ selector: 'rdsite-search', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"rdsite-search-control\" [ngClass]=\"{ disabled: !enable || !searchControl.enabled, focus: focus }\">\n <label class=\"label-hidden\">{{ label }}</label>\n <input\n #searchInput\n class=\"rdsite-search-control-input\"\n [type]=\"'text'\"\n name=\"term\"\n autocomplete=\"off\"\n [placeholder]=\"label\"\n [formControl]=\"searchControl\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (keyup.enter)=\"onSubmit($event)\"\n enterkeyhint=\"search\"\n (search)=\"onSubmit($event)\"\n />\n\n <div class=\"rdsite-search-control-icon\">\n <cura-icon\n name=\"closeCircle\"\n size=\"20\"\n color=\"primary-base\"\n (click)=\"clean()\"\n class=\"close\"\n [ngClass]=\"{ active: (searchControl.value || canClean) && !loading }\"\n ></cura-icon>\n <cura-icon name=\"search\" size=\"20\" color=\"primary-base\" (click)=\"onSubmitByClick()\" class=\"search\" [ngClass]=\"{ active: !loading }\"></cura-icon>\n @if (loading) {\n <cura-loader-circle color=\"primary\" size=\"small\"></cura-loader-circle>\n }\n </div>\n</div>\n", styles: [":host{background-color:#fff;box-shadow:0 4px 8px #26262629;height:100%;width:100%;max-width:100vw}:host .rdsite-search-control{display:flex;align-items:center;width:100%;height:100%;padding:0 20px}:host .rdsite-search-control-input{flex-grow:1;padding:0 8px 0 0;color:var(--color);font-size:16px!important;font-weight:500;line-height:20px}:host .rdsite-search-control-icon{display:flex;align-items:center;justify-content:center;gap:20px}:host .rdsite-search-control-icon cura-icon{cursor:pointer;visibility:hidden}:host .rdsite-search-control-icon cura-icon.active{visibility:unset}@media only screen and (min-width: 1024px){:host .rdsite-search-control{padding:0 40px 0 20px}}.label-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}\n"] }]
109
109
  }], ctorParameters: () => [{ type: i1.DeviceDetectorService }, { type: i2.CuraService }, { type: undefined, decorators: [{
110
110
  type: Inject,
111
111
  args: [PLATFORM_ID]
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
142
142
  type: HostBinding,
143
143
  args: ['style']
144
144
  }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFFTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBRXRCLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV2xELE1BQU0sT0FBTyxlQUFlO0lBYTFCLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBYUQsWUFDVSxhQUFvQyxFQUNwQyxXQUF3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QkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBSUgsTUFBTTtzQkFEVCxLQUFLO2dCQVdGLE9BQU87c0JBRFYsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBRUYsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VyYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jkc2l0ZS1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2VhcmNoQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICBASW5wdXQoKSBzaG93U2VhcmNoQnV0dG9uTW9iaWxlID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gMzAwO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhbkNsZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBjb250cm9sQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNvbnRyb2xGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNvbnRyb2xSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHRlcm1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBlbnRlclByZXNzOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIF9lbmFibGUgPSB0cnVlO1xuICBASW5wdXQoKVxuICBnZXQgZW5hYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGU7XG4gIH1cbiAgc2V0IGVuYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZSA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q29udHJvbFN0YXRlKCk7XG4gIH1cblxuICBfbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldEZvY3VzID0gZmFsc2U7XG4gIGZvY3VzID0gZmFsc2U7XG5cbiAgY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlID0ge1xuICAgICctLWNvbG9yJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1ibGFjaycpLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNldEZvY3VzKSB0aGlzLnNldEluaXRpYWxGb2N1cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSkpLnN1YnNjcmliZSgodGVybSkgPT4gdGhpcy5vbkNoYW5nZSh0ZXJtKSk7XG4gIH1cblxuICBzZXRJbml0aWFsRm9jdXMoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICB0aGlzLm9uRm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSh0ZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRlcm1DaGFuZ2UuZW1pdCh0ZXJtKTtcbiAgfVxuXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1cyA9IHRydWU7XG4gICAgdGhpcy5jb250cm9sRm9jdXMuZW1pdCgpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRyb2xCbHVyLmVtaXQoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCRldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5lbnRlclByZXNzLmVtaXQoJGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5kZXZpY2VTZXJ2aWNlLmlzTW9iaWxlKCkgJiYgdGhpcy5zaG93U2VhcmNoQnV0dG9uTW9iaWxlKSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5ibHVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TdWJtaXRCeUNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuZW50ZXJQcmVzcy5lbWl0KHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5kZXZpY2VTZXJ2aWNlLmlzTW9iaWxlKCkgJiYgdGhpcy5zaG93U2VhcmNoQnV0dG9uTW9iaWxlKSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRDb250cm9sU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlKSB7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmNvbnRyb2xSZXNldC5lbWl0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbnRyb2xTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZHNpdGUtc2VhcmNoXCI+XG4gIDxkaXYgY2xhc3M9XCJyZHNpdGUtc2VhcmNoLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhZW5hYmxlIHx8ICFzZWFyY2hDb250cm9sLmVuYWJsZWQsIGZvY3VzOiBmb2N1cyB9XCI+XG4gICAgPGxhYmVsIGNsYXNzPVwibGFiZWwtaGlkZGVuXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgI3NlYXJjaElucHV0XG4gICAgICBjbGFzcz1cInJkc2l0ZS1zZWFyY2gtY29udHJvbC1pbnB1dFwiXG4gICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgbmFtZT1cInRlcm1cIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgIGVudGVya2V5aGludD1cInNlYXJjaFwiXG4gICAgICAoc2VhcmNoKT1cIm9uU3VibWl0KCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLXNlYXJjaC1jb250cm9sLWljb25cIj5cbiAgICAgIDxjdXJhLWljb25cbiAgICAgICAgbmFtZT1cImNsb3NlQ2lyY2xlXCJcbiAgICAgICAgc2l6ZT1cIjIwXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5LWJhc2VcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYW4oKVwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogKHNlYXJjaENvbnRyb2wudmFsdWUgfHwgY2FuQ2xlYW4pICYmICFsb2FkaW5nIH1cIlxuICAgICAgPjwvY3VyYS1pY29uPlxuICAgICAgPGN1cmEtaWNvbiBuYW1lPVwic2VhcmNoXCIgc2l6ZT1cIjIwXCIgY29sb3I9XCJwcmltYXJ5LWJhc2VcIiAoY2xpY2spPVwib25TdWJtaXRCeUNsaWNrKClcIiBjbGFzcz1cInNlYXJjaFwiIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAhbG9hZGluZyB9XCI+PC9jdXJhLWljb24+XG4gICAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgPGN1cmEtbG9hZGVyLWNpcmNsZSBjb2xvcj1cInByaW1hcnlcIiBzaXplPVwic21hbGxcIj48L2N1cmEtbG9hZGVyLWNpcmNsZT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFFTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBRXRCLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsWUFBWSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBV2xELE1BQU0sT0FBTyxlQUFlO0lBYTFCLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBYUQsWUFDVSxhQUFvQyxFQUNwQyxXQUF3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QkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBSUgsTUFBTTtzQkFEVCxLQUFLO2dCQVdGLE9BQU87c0JBRFYsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBRUYsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VyYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jkc2l0ZS1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2VhcmNoQ29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpO1xuICBASW5wdXQoKSBzaG93U2VhcmNoQnV0dG9uTW9iaWxlID0gdHJ1ZTtcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gMzAwO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhbkNsZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBjb250cm9sQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNvbnRyb2xGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNvbnRyb2xSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHRlcm1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBlbnRlclByZXNzOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIF9lbmFibGUgPSB0cnVlO1xuICBASW5wdXQoKVxuICBnZXQgZW5hYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGU7XG4gIH1cbiAgc2V0IGVuYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZSA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q29udHJvbFN0YXRlKCk7XG4gIH1cblxuICBfbG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcbiAgfVxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldEZvY3VzID0gZmFsc2U7XG4gIGZvY3VzID0gZmFsc2U7XG5cbiAgY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlID0ge1xuICAgICctLWNvbG9yJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1ibGFjaycpLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNldEZvY3VzKSB0aGlzLnNldEluaXRpYWxGb2N1cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb250cm9sU3Vic2NyaXB0aW9uID0gdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSkpLnN1YnNjcmliZSgodGVybSkgPT4gdGhpcy5vbkNoYW5nZSh0ZXJtKSk7XG4gIH1cblxuICBzZXRJbml0aWFsRm9jdXMoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICB0aGlzLm9uRm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZSh0ZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRlcm1DaGFuZ2UuZW1pdCh0ZXJtKTtcbiAgfVxuXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1cyA9IHRydWU7XG4gICAgdGhpcy5jb250cm9sRm9jdXMuZW1pdCgpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRyb2xCbHVyLmVtaXQoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCRldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5lbnRlclByZXNzLmVtaXQoJGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5kZXZpY2VTZXJ2aWNlLmlzTW9iaWxlKCkgJiYgdGhpcy5zaG93U2VhcmNoQnV0dG9uTW9iaWxlKSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5ibHVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TdWJtaXRCeUNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlYXJjaENvbnRyb2wudmFsdWUpIHtcbiAgICAgIHRoaXMuZW50ZXJQcmVzcy5lbWl0KHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSk7XG4gICAgICBpZiAodGhpcy5kZXZpY2VTZXJ2aWNlLmlzTW9iaWxlKCkgJiYgdGhpcy5zaG93U2VhcmNoQnV0dG9uTW9iaWxlKSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRDb250cm9sU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlKSB7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYW4oKSB7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmNvbnRyb2xSZXNldC5lbWl0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbnRyb2xTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZHNpdGUtc2VhcmNoLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhZW5hYmxlIHx8ICFzZWFyY2hDb250cm9sLmVuYWJsZWQsIGZvY3VzOiBmb2N1cyB9XCI+XG4gIDxsYWJlbCBjbGFzcz1cImxhYmVsLWhpZGRlblwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGlucHV0XG4gICAgI3NlYXJjaElucHV0XG4gICAgY2xhc3M9XCJyZHNpdGUtc2VhcmNoLWNvbnRyb2wtaW5wdXRcIlxuICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgbmFtZT1cInRlcm1cIlxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJvblN1Ym1pdCgkZXZlbnQpXCJcbiAgICBlbnRlcmtleWhpbnQ9XCJzZWFyY2hcIlxuICAgIChzZWFyY2gpPVwib25TdWJtaXQoJGV2ZW50KVwiXG4gIC8+XG5cbiAgPGRpdiBjbGFzcz1cInJkc2l0ZS1zZWFyY2gtY29udHJvbC1pY29uXCI+XG4gICAgPGN1cmEtaWNvblxuICAgICAgbmFtZT1cImNsb3NlQ2lyY2xlXCJcbiAgICAgIHNpemU9XCIyMFwiXG4gICAgICBjb2xvcj1cInByaW1hcnktYmFzZVwiXG4gICAgICAoY2xpY2spPVwiY2xlYW4oKVwiXG4gICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiAoc2VhcmNoQ29udHJvbC52YWx1ZSB8fCBjYW5DbGVhbikgJiYgIWxvYWRpbmcgfVwiXG4gICAgPjwvY3VyYS1pY29uPlxuICAgIDxjdXJhLWljb24gbmFtZT1cInNlYXJjaFwiIHNpemU9XCIyMFwiIGNvbG9yPVwicHJpbWFyeS1iYXNlXCIgKGNsaWNrKT1cIm9uU3VibWl0QnlDbGljaygpXCIgY2xhc3M9XCJzZWFyY2hcIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogIWxvYWRpbmcgfVwiPjwvY3VyYS1pY29uPlxuICAgIEBpZiAobG9hZGluZykge1xuICAgICAgPGN1cmEtbG9hZGVyLWNpcmNsZSBjb2xvcj1cInByaW1hcnlcIiBzaXplPVwic21hbGxcIj48L2N1cmEtbG9hZGVyLWNpcmNsZT5cbiAgICB9XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=