@ieeesa-npm/presentation 0.33.0 → 0.33.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.
@@ -82,18 +82,36 @@ export class BreadcrumbComponent {
82
82
  const queryParams = Object.keys(snapshotQueryParams).length > 0
83
83
  ? snapshotQueryParams
84
84
  : undefined;
85
- if (routeData['breadcrumbData'] &&
86
- routeData['breadcrumbData'].breadcrumb &&
87
- label) {
88
- const newLabel = routeData['breadcrumbData'].breadcrumb;
85
+ const breadcrumbData = routeData['breadcrumbData'];
86
+ const shouldUseDynamicBreadcrumb = !!breadcrumbData?.breadcrumb && (routeURL !== '' || !!label);
87
+ if (shouldUseDynamicBreadcrumb) {
88
+ if (breadcrumbData.parentBreadcrumb) {
89
+ const parentBreadcrumbLabel = breadcrumbData.parentBreadcrumb;
90
+ const isDuplicateParentBreadcrumb = breadcrumbs[breadcrumbs.length - 1]?.label === parentBreadcrumbLabel;
91
+ if (!isDuplicateParentBreadcrumb) {
92
+ breadcrumbs.push({
93
+ label: parentBreadcrumbLabel,
94
+ url: breadcrumbData.parentBreadcrumbUrl ?? url,
95
+ params: breadcrumbData.parentQueryParam ?? queryParams,
96
+ });
97
+ }
98
+ }
99
+ const newLabel = breadcrumbData.breadcrumb;
89
100
  breadcrumbs.push({
90
101
  label: newLabel,
91
- url: url,
92
- params: routeData['breadcrumbData'].queryParam ?? queryParams,
102
+ url: breadcrumbData.breadcrumbUrl ?? url,
103
+ params: breadcrumbData.queryParam ?? queryParams,
93
104
  });
105
+ if (label && breadcrumbData.keepStaticLabel) {
106
+ breadcrumbs.push({
107
+ label: breadcrumbData.staticBreadcrumbLabel ?? label,
108
+ url: url,
109
+ params: breadcrumbData.queryParam ?? queryParams,
110
+ });
111
+ }
94
112
  }
95
113
  else if (label) {
96
- breadcrumbs.push({ label, url, params: queryParams });
114
+ breadcrumbs.push({ label, url });
97
115
  }
98
116
  return this.createBreadcrumbs(child, url, breadcrumbs);
99
117
  }
@@ -126,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
126
144
  }], breadcrumbInitialRouteLabel: [{
127
145
  type: Input
128
146
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFHTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUczRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW1CO2FBb0JkLDBCQUFxQixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUNyRCwwQ0FBMEM7SUFDMUM7SUFDRSwwQ0FBMEM7SUFDbkMsY0FBOEI7SUFDckMsMENBQTBDO0lBQ2xDLE1BQWM7UUFGZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXpCeEIsOERBQThEO1FBQzlELG9CQUFlLEdBQVEsV0FBVyxDQUFDO1FBQ25DOzs7OztXQUtHO1FBQ00sMkJBQXNCLEdBQUcsR0FBRyxDQUFDO1FBQ3RDOzs7OztXQUtHO1FBQ00sZ0NBQTJCLEdBQ2xDLElBQUksQ0FBQyxl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QUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBdkhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVNQzFCaEMsbTFCQThCQSw4a1NEVFksWUFBWSwrUEFBRSxZQUFZOzs0RkFLekIsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJOzBIQVc1QixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBT0csMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIERhdGEsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogUmV1c2FibGUgYnJlYWRjcnVtYiBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYW5kIG5hdmlnYXRpbmcgdGhyb3VnaCBhIGhpZXJhcmNoeSBvZiBwYWdlcy5cclxuICogQGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWJyZWFkY3J1bWInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGJyZWFkY3J1bWJUZXh0czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCByb3V0ZSBmb3IgdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQGRlZmF1bHQgJy8nXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBicmVhZGNydW1iSW5pdGlhbFJvdXRlID0gJy8nO1xyXG4gIC8qKlxyXG4gICAqIEluaXRpYWwgbGFiZWwgZm9yIHRoZSBicmVhZGNydW1iIGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBkZWZhdWx0IGJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWxcclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJJbml0aWFsUm91dGVMYWJlbCA9XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWw7XHJcbiAgYnJlYWRjcnVtYnMhOiBCcmVhZGNydW1iW107XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHN0YXRpYyByZWFkb25seSBST1VURV9EQVRBX0JSRUFEQ1JVTUIgPSAnYnJlYWRjcnVtYic7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBbXTtcclxuICAgIHRoaXMuc2V0Um91dGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHVwIHRoZSBzdWJzY3JpcHRpb24gdG8gcm91dGVyIGV2ZW50cyB0byB1cGRhdGUgYnJlYWRjcnVtYnMuXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRSb3V0ZURhdGEoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gdGhpcy5jcmVhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3QpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogUmVjdXJzaXZlbHkgZ2V0cyB0aGUgYnJlYWRjcnVtYiBpdGVtcyBmb3IgdGhlIGdpdmVuIHJvdXRlLlxyXG4gICAqIEBwYXJhbSB7QWN0aXZhdGVkUm91dGV9IHJvdXRlIC0gVGhlIGFjdGl2YXRlZCByb3V0ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3VybD0nJ10gLSBUaGUgY3VycmVudCBVUkwuXHJcbiAgICogQHBhcmFtIHtCcmVhZGNydW1iW119IFticmVhZGNydW1icz1bXV0gLSBUaGUgY3VycmVudCBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAqIEByZXR1cm4ge0JyZWFkY3J1bWJbXX0gLSBUaGUgYXJyYXkgb2YgYnJlYWRjcnVtYiBpdGVtcy5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUJyZWFkY3J1bWJzKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgdXJsID0gJycsXHJcbiAgICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW11cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICk6IGFueSB7XHJcbiAgICBjb25zdCBjaGlsZHJlbjogQWN0aXZhdGVkUm91dGVbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG5cclxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qgcm91dGVVUkw6IHN0cmluZyA9IGNoaWxkLnNuYXBzaG90LnVybFxyXG4gICAgICAgIC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQucGF0aClcclxuICAgICAgICAuam9pbignLycpO1xyXG4gICAgICBpZiAocm91dGVVUkwgIT09ICcnKSB7XHJcbiAgICAgICAgdXJsICs9IGAvJHtyb3V0ZVVSTH1gO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCByb3V0ZURhdGE6IERhdGEgPSBjaGlsZC5zbmFwc2hvdC5kYXRhO1xyXG4gICAgICBjb25zdCBsYWJlbCA9XHJcbiAgICAgICAgY2hpbGQuc25hcHNob3QuZGF0YVtCcmVhZGNydW1iQ29tcG9uZW50LlJPVVRFX0RBVEFfQlJFQURDUlVNQl07XHJcbiAgICAgIC8vIENhcHR1cmUgcXVlcnkgcGFyYW1zIGZyb20gdGhlIHJvdXRlIHNuYXBzaG90IHNvIGJyZWFkY3J1bWIgbGlua3MgcHJlc2VydmUgdGhlbVxyXG4gICAgICBjb25zdCBzbmFwc2hvdFF1ZXJ5UGFyYW1zID0gY2hpbGQuc25hcHNob3QucXVlcnlQYXJhbXMgPz8ge307XHJcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmtleXMoc25hcHNob3RRdWVyeVBhcmFtcykubGVuZ3RoID4gMFxyXG4gICAgICAgID8gc25hcHNob3RRdWVyeVBhcmFtc1xyXG4gICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgcm91dGVEYXRhWydicmVhZGNydW1iRGF0YSddICYmXHJcbiAgICAgICAgcm91dGVEYXRhWydicmVhZGNydW1iRGF0YSddLmJyZWFkY3J1bWIgJiZcclxuICAgICAgICBsYWJlbFxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBuZXdMYWJlbCA9IHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXS5icmVhZGNydW1iO1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICAgICAgbGFiZWw6IG5ld0xhYmVsLFxyXG4gICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICBwYXJhbXM6IHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXS5xdWVyeVBhcmFtID8/IHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgYnJlYWRjcnVtYnMucHVzaCh7IGxhYmVsLCB1cmwsIHBhcmFtczogcXVlcnlQYXJhbXMgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIHVybCwgYnJlYWRjcnVtYnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGFrZXMgdGhlIGluZGV4IGFuZCB0aGUgY3VycmVudCBpdGVtIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpdGVtLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAqIEByZXR1cm4ge251bWJlcn1cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5nT25EZXN0cm95IHBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJpZWVlc2EtYnJlYWRjcnVtYiBicmVhZGNydW1iXCI+XHJcbiAgPGxpPlxyXG4gICAgPGFcclxuICAgICAgW3JvdXRlckxpbmtdPVwiYnJlYWRjcnVtYkluaXRpYWxSb3V0ZVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgdGV4dC1kZWNvcmF0aW9uLW5vbmVcIlxyXG4gICAgICA+e3sgYnJlYWRjcnVtYkluaXRpYWxSb3V0ZUxhYmVsIH19XHJcbiAgICA8L2E+XHJcbiAgPC9saT5cclxuXHJcbiAgPGxpXHJcbiAgICAqbmdGb3I9XCJcclxuICAgICAgbGV0IGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnM7XHJcbiAgICAgIGxldCBsYXN0ID0gbGFzdDtcclxuICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdDsgZWxzZSBkaXNhYmxlTGlua1wiPlxyXG4gICAgICA8YVxyXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlticmVhZGNydW1iPy51cmxdXCJcclxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYnJlYWRjcnVtYj8ucGFyYW1zXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IHRleHQtZGVjb3JhdGlvbi1ub25lXCJcclxuICAgICAgICA+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZGlzYWJsZUxpbms+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTRcIj57eyBicmVhZGNydW1iLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2xpPlxyXG48L3VsPlxyXG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFHTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUczRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW1CO2FBb0JkLDBCQUFxQixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUNyRCwwQ0FBMEM7SUFDMUM7SUFDRSwwQ0FBMEM7SUFDbkMsY0FBOEI7SUFDckMsMENBQTBDO0lBQ2xDLE1BQWM7UUFGZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXpCeEIsOERBQThEO1FBQzlELG9CQUFlLEdBQVEsV0FBVyxDQUFDO1FBQ25DOzs7OztXQUtHO1FBQ00sMkJBQXNCLEdBQUcsR0FBRyxDQUFDO1FBQ3RDOzs7OztXQUtHO1FBQ00sZ0NBQTJCLEdBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7UUFFbkQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBU2xELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGlCQUFpQixDQUNmLEtBQXFCLEVBQ3JCLEdBQUcsR0FBRyxFQUFFLEVBQ1IsY0FBNEIsRUFBRTtJQUNoQyw4REFBOEQ7O1FBRTVELE1BQU0sUUFBUSxHQUFxQixLQUFLLENBQUMsUUFBUSxDQUFDO1FBRWxELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUM1QixNQUFNLFFBQVEsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUc7aUJBQ3hDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO2dCQUNuQixHQUFHLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQzthQUN2QjtZQUVELE1BQU0sU0FBUyxHQUFTLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzVDLE1BQU0sS0FBSyxHQUNULEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDakUsaUZBQWlGO1lBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQzdELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDckIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sMEJBQTBCLEdBQzlCLENBQUMsQ0FBQyxjQUFjLEVBQUUsVUFBVSxJQUFJLENBQUMsUUFBUSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFDRSwwQkFBMEIsRUFDMUI7Z0JBQ0EsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ25DLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDO29CQUM5RCxNQUFNLDJCQUEyQixHQUMvQixXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUsscUJBQXFCLENBQUM7b0JBQ3ZFLElBQUksQ0FBQywyQkFBMkIsRUFBRTt3QkFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQzs0QkFDZixLQUFLLEVBQUUscUJBQXFCOzRCQUM1QixHQUFHLEVBQUUsY0FBYyxDQUFDLG1CQUFtQixJQUFJLEdBQUc7NEJBQzlDLE1BQU0sRUFBRSxjQUFjLENBQUMsZ0JBQWdCLElBQUksV0FBVzt5QkFDdkQsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO2dCQUNELE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUM7Z0JBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2YsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsR0FBRyxFQUFFLGNBQWMsQ0FBQyxhQUFhLElBQUksR0FBRztvQkFDeEMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxVQUFVLElBQUksV0FBVztpQkFDakQsQ0FBQyxDQUFDO2dCQUNILElBQUksS0FBSyxJQUFJLGNBQWMsQ0FBQyxlQUFlLEVBQUU7b0JBQzNDLFdBQVcsQ0FBQyxJQUFJLENBQUM7d0JBQ2YsS0FBSyxFQUFFLGNBQWMsQ0FBQyxxQkFBcUIsSUFBSSxLQUFLO3dCQUNwRCxHQUFHLEVBQUUsR0FBRzt3QkFDUixNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsSUFBSSxXQUFXO3FCQUNqRCxDQUFDLENBQUM7aUJBQ0o7YUFDRjtpQkFBTSxJQUFJLEtBQUssRUFBRTtnQkFDaEIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBM0lVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVNQzFCaEMsbTFCQThCQSw4a1NEVFksWUFBWSwrUEFBRSxZQUFZOzs0RkFLekIsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJOzBIQVc1QixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBT0csMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIERhdGEsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogUmV1c2FibGUgYnJlYWRjcnVtYiBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYW5kIG5hdmlnYXRpbmcgdGhyb3VnaCBhIGhpZXJhcmNoeSBvZiBwYWdlcy5cclxuICogQGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWJyZWFkY3J1bWInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGJyZWFkY3J1bWJUZXh0czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCByb3V0ZSBmb3IgdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQGRlZmF1bHQgJy8nXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBicmVhZGNydW1iSW5pdGlhbFJvdXRlID0gJy8nO1xyXG4gIC8qKlxyXG4gICAqIEluaXRpYWwgbGFiZWwgZm9yIHRoZSBicmVhZGNydW1iIGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBkZWZhdWx0IGJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWxcclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJJbml0aWFsUm91dGVMYWJlbCA9XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWw7XHJcbiAgYnJlYWRjcnVtYnMhOiBCcmVhZGNydW1iW107XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHN0YXRpYyByZWFkb25seSBST1VURV9EQVRBX0JSRUFEQ1JVTUIgPSAnYnJlYWRjcnVtYic7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBbXTtcclxuICAgIHRoaXMuc2V0Um91dGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHVwIHRoZSBzdWJzY3JpcHRpb24gdG8gcm91dGVyIGV2ZW50cyB0byB1cGRhdGUgYnJlYWRjcnVtYnMuXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRSb3V0ZURhdGEoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gdGhpcy5jcmVhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3QpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogUmVjdXJzaXZlbHkgZ2V0cyB0aGUgYnJlYWRjcnVtYiBpdGVtcyBmb3IgdGhlIGdpdmVuIHJvdXRlLlxyXG4gICAqIEBwYXJhbSB7QWN0aXZhdGVkUm91dGV9IHJvdXRlIC0gVGhlIGFjdGl2YXRlZCByb3V0ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3VybD0nJ10gLSBUaGUgY3VycmVudCBVUkwuXHJcbiAgICogQHBhcmFtIHtCcmVhZGNydW1iW119IFticmVhZGNydW1icz1bXV0gLSBUaGUgY3VycmVudCBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAqIEByZXR1cm4ge0JyZWFkY3J1bWJbXX0gLSBUaGUgYXJyYXkgb2YgYnJlYWRjcnVtYiBpdGVtcy5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUJyZWFkY3J1bWJzKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgdXJsID0gJycsXHJcbiAgICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW11cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICk6IGFueSB7XHJcbiAgICBjb25zdCBjaGlsZHJlbjogQWN0aXZhdGVkUm91dGVbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG5cclxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qgcm91dGVVUkw6IHN0cmluZyA9IGNoaWxkLnNuYXBzaG90LnVybFxyXG4gICAgICAgIC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQucGF0aClcclxuICAgICAgICAuam9pbignLycpO1xyXG4gICAgICBpZiAocm91dGVVUkwgIT09ICcnKSB7XHJcbiAgICAgICAgdXJsICs9IGAvJHtyb3V0ZVVSTH1gO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCByb3V0ZURhdGE6IERhdGEgPSBjaGlsZC5zbmFwc2hvdC5kYXRhO1xyXG4gICAgICBjb25zdCBsYWJlbCA9XHJcbiAgICAgICAgY2hpbGQuc25hcHNob3QuZGF0YVtCcmVhZGNydW1iQ29tcG9uZW50LlJPVVRFX0RBVEFfQlJFQURDUlVNQl07XHJcbiAgICAgIC8vIENhcHR1cmUgcXVlcnkgcGFyYW1zIGZyb20gdGhlIHJvdXRlIHNuYXBzaG90IHNvIGJyZWFkY3J1bWIgbGlua3MgcHJlc2VydmUgdGhlbVxyXG4gICAgICBjb25zdCBzbmFwc2hvdFF1ZXJ5UGFyYW1zID0gY2hpbGQuc25hcHNob3QucXVlcnlQYXJhbXMgPz8ge307XHJcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmtleXMoc25hcHNob3RRdWVyeVBhcmFtcykubGVuZ3RoID4gMFxyXG4gICAgICAgID8gc25hcHNob3RRdWVyeVBhcmFtc1xyXG4gICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICBjb25zdCBicmVhZGNydW1iRGF0YSA9IHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXTtcclxuICAgICAgY29uc3Qgc2hvdWxkVXNlRHluYW1pY0JyZWFkY3J1bWIgPVxyXG4gICAgICAgICEhYnJlYWRjcnVtYkRhdGE/LmJyZWFkY3J1bWIgJiYgKHJvdXRlVVJMICE9PSAnJyB8fCAhIWxhYmVsKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHNob3VsZFVzZUR5bmFtaWNCcmVhZGNydW1iXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmIChicmVhZGNydW1iRGF0YS5wYXJlbnRCcmVhZGNydW1iKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRCcmVhZGNydW1iTGFiZWwgPSBicmVhZGNydW1iRGF0YS5wYXJlbnRCcmVhZGNydW1iO1xyXG4gICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGVQYXJlbnRCcmVhZGNydW1iID1cclxuICAgICAgICAgICAgYnJlYWRjcnVtYnNbYnJlYWRjcnVtYnMubGVuZ3RoIC0gMV0/LmxhYmVsID09PSBwYXJlbnRCcmVhZGNydW1iTGFiZWw7XHJcbiAgICAgICAgICBpZiAoIWlzRHVwbGljYXRlUGFyZW50QnJlYWRjcnVtYikge1xyXG4gICAgICAgICAgICBicmVhZGNydW1icy5wdXNoKHtcclxuICAgICAgICAgICAgICBsYWJlbDogcGFyZW50QnJlYWRjcnVtYkxhYmVsLFxyXG4gICAgICAgICAgICAgIHVybDogYnJlYWRjcnVtYkRhdGEucGFyZW50QnJlYWRjcnVtYlVybCA/PyB1cmwsXHJcbiAgICAgICAgICAgICAgcGFyYW1zOiBicmVhZGNydW1iRGF0YS5wYXJlbnRRdWVyeVBhcmFtID8/IHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbmV3TGFiZWwgPSBicmVhZGNydW1iRGF0YS5icmVhZGNydW1iO1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICAgICAgbGFiZWw6IG5ld0xhYmVsLFxyXG4gICAgICAgICAgdXJsOiBicmVhZGNydW1iRGF0YS5icmVhZGNydW1iVXJsID8/IHVybCxcclxuICAgICAgICAgIHBhcmFtczogYnJlYWRjcnVtYkRhdGEucXVlcnlQYXJhbSA/PyBxdWVyeVBhcmFtcyxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgYnJlYWRjcnVtYkRhdGEua2VlcFN0YXRpY0xhYmVsKSB7XHJcbiAgICAgICAgICBicmVhZGNydW1icy5wdXNoKHtcclxuICAgICAgICAgICAgbGFiZWw6IGJyZWFkY3J1bWJEYXRhLnN0YXRpY0JyZWFkY3J1bWJMYWJlbCA/PyBsYWJlbCxcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICAgIHBhcmFtczogYnJlYWRjcnVtYkRhdGEucXVlcnlQYXJhbSA/PyBxdWVyeVBhcmFtcyxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChsYWJlbCkge1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goeyBsYWJlbCwgdXJsIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKGNoaWxkLCB1cmwsIGJyZWFkY3J1bWJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRha2VzIHRoZSBpbmRleCBhbmQgdGhlIGN1cnJlbnQgaXRlbSBhcyBhcmd1bWVudHMgYW5kIG5lZWRzIHRvIHJldHVybiB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaXRlbS5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwiaWVlZXNhLWJyZWFkY3J1bWIgYnJlYWRjcnVtYlwiPlxyXG4gIDxsaT5cclxuICAgIDxhXHJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWJJbml0aWFsUm91dGVcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IHRleHQtZGVjb3JhdGlvbi1ub25lXCJcclxuICAgICAgPnt7IGJyZWFkY3J1bWJJbml0aWFsUm91dGVMYWJlbCB9fVxyXG4gICAgPC9hPlxyXG4gIDwvbGk+XHJcblxyXG4gIDxsaVxyXG4gICAgKm5nRm9yPVwiXHJcbiAgICAgIGxldCBicmVhZGNydW1iIG9mIGJyZWFkY3J1bWJzO1xyXG4gICAgICBsZXQgbGFzdCA9IGxhc3Q7XHJcbiAgICAgIGxldCBpID0gaW5kZXg7XHJcbiAgICAgIHRyYWNrQnk6IHRyYWNrQnlGblxyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3Q7IGVsc2UgZGlzYWJsZUxpbmtcIj5cclxuICAgICAgPGFcclxuICAgICAgICBbcm91dGVyTGlua109XCJbYnJlYWRjcnVtYj8udXJsXVwiXHJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImJyZWFkY3J1bWI/LnBhcmFtc1wiXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCB0ZXh0LWRlY29yYXRpb24tbm9uZVwiXHJcbiAgICAgICAgPnt7IGJyZWFkY3J1bWIubGFiZWwgfX08L2FcclxuICAgICAgPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Rpc2FibGVMaW5rPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0XCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9saT5cclxuPC91bD5cclxuIl19
@@ -8035,18 +8035,36 @@ class BreadcrumbComponent {
8035
8035
  const queryParams = Object.keys(snapshotQueryParams).length > 0
8036
8036
  ? snapshotQueryParams
8037
8037
  : undefined;
8038
- if (routeData['breadcrumbData'] &&
8039
- routeData['breadcrumbData'].breadcrumb &&
8040
- label) {
8041
- const newLabel = routeData['breadcrumbData'].breadcrumb;
8038
+ const breadcrumbData = routeData['breadcrumbData'];
8039
+ const shouldUseDynamicBreadcrumb = !!breadcrumbData?.breadcrumb && (routeURL !== '' || !!label);
8040
+ if (shouldUseDynamicBreadcrumb) {
8041
+ if (breadcrumbData.parentBreadcrumb) {
8042
+ const parentBreadcrumbLabel = breadcrumbData.parentBreadcrumb;
8043
+ const isDuplicateParentBreadcrumb = breadcrumbs[breadcrumbs.length - 1]?.label === parentBreadcrumbLabel;
8044
+ if (!isDuplicateParentBreadcrumb) {
8045
+ breadcrumbs.push({
8046
+ label: parentBreadcrumbLabel,
8047
+ url: breadcrumbData.parentBreadcrumbUrl ?? url,
8048
+ params: breadcrumbData.parentQueryParam ?? queryParams,
8049
+ });
8050
+ }
8051
+ }
8052
+ const newLabel = breadcrumbData.breadcrumb;
8042
8053
  breadcrumbs.push({
8043
8054
  label: newLabel,
8044
- url: url,
8045
- params: routeData['breadcrumbData'].queryParam ?? queryParams,
8055
+ url: breadcrumbData.breadcrumbUrl ?? url,
8056
+ params: breadcrumbData.queryParam ?? queryParams,
8046
8057
  });
8058
+ if (label && breadcrumbData.keepStaticLabel) {
8059
+ breadcrumbs.push({
8060
+ label: breadcrumbData.staticBreadcrumbLabel ?? label,
8061
+ url: url,
8062
+ params: breadcrumbData.queryParam ?? queryParams,
8063
+ });
8064
+ }
8047
8065
  }
8048
8066
  else if (label) {
8049
- breadcrumbs.push({ label, url, params: queryParams });
8067
+ breadcrumbs.push({ label, url });
8050
8068
  }
8051
8069
  return this.createBreadcrumbs(child, url, breadcrumbs);
8052
8070
  }