ng-easycommerce-v18 0.3.20-beta.2 → 0.3.21-beta.2

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 (29) hide show
  1. package/README.md +4 -16
  2. package/esm2022/lib/classes/filters/attributes-filter.mjs +4 -74
  3. package/esm2022/lib/classes/filters/category-filter.mjs +26 -105
  4. package/esm2022/lib/classes/filters/filter-factory.mjs +3 -7
  5. package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
  6. package/esm2022/lib/constants/core.constants.service.mjs +1 -12
  7. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +6 -1
  8. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +53 -44
  9. package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +17 -41
  10. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +9 -42
  11. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +5 -13
  12. package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +2 -13
  13. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +17 -7
  14. package/esm2022/lib/ec-services/filters.service.mjs +18 -124
  15. package/esm2022/lib/ec-services/pagination.service.mjs +22 -70
  16. package/esm2022/lib/ec-services/products.service.mjs +3 -5
  17. package/fesm2022/ng-easycommerce-v18.mjs +170 -540
  18. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  19. package/lib/classes/filters/attributes-filter.d.ts +0 -24
  20. package/lib/classes/filters/category-filter.d.ts +3 -30
  21. package/lib/constants/core.constants.service.d.ts +0 -7
  22. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +1 -0
  23. package/lib/ec-components/collection-ec/collection-ec.component.d.ts +4 -5
  24. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +0 -13
  25. package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +0 -2
  26. package/lib/ec-services/filters.service.d.ts +1 -18
  27. package/lib/ec-services/pagination.service.d.ts +5 -21
  28. package/lib/ec-services/products.service.d.ts +1 -1
  29. package/package.json +1 -1
package/README.md CHANGED
@@ -1,19 +1,7 @@
1
- # Version 0.3.20-beta.2
2
- - Refactor completo de filtros, paginación y productos para soportar correctamente SSR (Server-Side Rendering).
3
- - Unificación del flujo de filtrado: ahora toda la lógica se basa en URL (params + queryParams) y se hidrata desde `FiltersService.hydrateFromRoute()`.
4
- - Se optimiza el runtime inicial para evitar ciclos innecesarios y cargar filtros antes del primer render.
5
- - Se centraliza la sincronización de rangos de precio (filters ↔ pagination ↔ products).
6
- # Version 0.3.17-beta.4
7
- - Se agrega if platformID en mas archivos para que no de error al navegar elden.
8
- # Version 0.3.17-beta.2
9
- - Ya estaba contemplado isVisible en el componente `menu-ec.component`, pero se adapto para que devuelva solo las categorias, atributos y secciones visibles y no tener que filtrarlos en el frontend.
10
- # Version 0.3.17-beta.1
11
- - Se agrego el isVisible de las categorias a su interfaz
12
- # Version 0.3.18-beta.2
13
- - Se optimizar y comenta codigo para que el runtime no sea un bucle y se haga antes de la primera carga
14
- # Version 0.3.18-beta.1
15
- - Se modifican servicios y componentes para que funcione el deploy SSR.
16
- - Se elimina uso de DOM ya que en SSR tira error.
1
+ # Version 0.3.21-beta.2
2
+ - Ajuste adicional en el flujo de Mercado Pago para móviles: se ejecutan los eventos de estado dentro de NgZone para asegurar la correcta detección de cambios y avanzar al siguiente paso del checkout.
3
+ # Version 0.3.21-beta.1
4
+ - Mejora en el flujo de pago con Mercado Pago en dispositivos móviles: se agrega fallback de redirección cuando `window.close()` es ignorado, asegurando que la pantalla de resultado no quede bloqueada en el catch.
17
5
  # Version 0.3.17
18
6
  - En el `header-ec.component.ts` se hacen public algunos injectores para poder usarlo en el `header.component.ts` de los frontends.
19
7
  # Version 0.3.16
@@ -1,16 +1,10 @@
1
1
  import { inject } from "@angular/core";
2
2
  import { OptionsService } from "../../ec-services";
3
3
  import { Filter } from "./filter";
4
- /**
5
- * AttributesFilter
6
- * - Gestiona el filtro de atributos (estructura de padres/children).
7
- * - Soporta hidratación desde query params y aplicación de códigos seleccionados.
8
- */
9
4
  export class AttributesFilter extends Filter {
10
5
  _optionsService = inject(OptionsService);
11
6
  data = [];
12
7
  multi = false;
13
- _codesFromQuery = null;
14
8
  constructor(initialValue, options) {
15
9
  super();
16
10
  if (options) {
@@ -18,6 +12,7 @@ export class AttributesFilter extends Filter {
18
12
  }
19
13
  else {
20
14
  this._optionsService.getAttributes().subscribe(res => {
15
+ //console.log(res);
21
16
  this.setContent(res, initialValue);
22
17
  });
23
18
  }
@@ -27,18 +22,10 @@ export class AttributesFilter extends Filter {
27
22
  const attributes = this._optionsService.generateMenu(options);
28
23
  attributes.forEach((filter) => filter = this.createElement(filter, options, initialValue));
29
24
  this.data = attributes;
30
- // Si ya teníamos códigos de la URL guardados, aplicarlos ahora
31
- if (this._codesFromQuery && this._codesFromQuery.length) {
32
- // ADDED: Aplicar códigos guardados tras cargar la data.
33
- this.applyCodes(this._codesFromQuery);
34
- }
35
25
  }
36
26
  getContent() {
37
27
  return this.data;
38
28
  }
39
- /**
40
- * ADDED: toUrlParams construye la porción de query string que representa las selecciones de atributos.
41
- */
42
29
  toUrlParams(actual_url = '&attributeCodes=', sublist, already) {
43
30
  let elements = sublist || this.data;
44
31
  let aux_url = '';
@@ -60,14 +47,12 @@ export class AttributesFilter extends Filter {
60
47
  }
61
48
  }
62
49
  });
50
+ //console.log(actual_url + aux_url);
63
51
  return actual_url + aux_url;
64
52
  }
65
53
  ;
66
54
  cleanResult(text) { return text.replace('&attributeCodes=', ''); }
67
55
  ;
68
- /**
69
- * ADDED: createElement transforma cada nodo original en FilterElement y marca selección inicial si corresponde.
70
- */
71
56
  createElement(filter, original, initialValue) {
72
57
  if (filter.type == 'sub') {
73
58
  filter.multi = false;
@@ -80,64 +65,9 @@ export class AttributesFilter extends Filter {
80
65
  else {
81
66
  filter.value = original.code;
82
67
  filter.multi = false;
83
- filter.selected = (initialValue &&
84
- this.removeAccents(original.slug?.toLowerCase()) === this.removeAccents(initialValue?.toLowerCase()));
68
+ filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
85
69
  }
86
70
  return filter;
87
71
  }
88
- /** hidratar desde la URL */
89
- hydrateFromQuery(params) {
90
- const raw = params['attributeCodes'];
91
- if (!raw) {
92
- // nada en la URL → limpió filtro
93
- this._codesFromQuery = null;
94
- this.clearSelection();
95
- return;
96
- }
97
- const codes = String(raw)
98
- .split('<and>')
99
- .map(c => c.trim())
100
- .filter(Boolean);
101
- if (!codes.length) {
102
- this._codesFromQuery = null;
103
- this.clearSelection();
104
- return;
105
- }
106
- this._codesFromQuery = codes;
107
- // Si ya tengo data cargada, aplico ahora;
108
- // si no, se aplicará en setContent().
109
- if (this.data && this.data.length) {
110
- // ADDED: Aplicar códigos inmediatamente porque la data ya está disponible.
111
- this.applyCodes(codes);
112
- }
113
- }
114
- /**
115
- * ADDED: applyCodes recorre la estructura y marca selected=true en los children cuyo código está en 'codes'.
116
- * Además marca el parent como seleccionado si alguno de sus hijos lo está.
117
- */
118
- applyCodes(codes) {
119
- this.data?.forEach((parent) => {
120
- parent.selected = false;
121
- (parent.children || []).forEach((child) => {
122
- const code = child.code || child.value;
123
- const isSelected = codes.includes(code);
124
- child.selected = isSelected;
125
- if (isSelected) {
126
- parent.selected = true;
127
- }
128
- });
129
- });
130
- }
131
- /**
132
- * ADDED: clearSelection desmarca todos los parents y children (restablece el filtro).
133
- */
134
- clearSelection() {
135
- this.data?.forEach((parent) => {
136
- parent.selected = false;
137
- (parent.children || []).forEach((child) => {
138
- child.selected = false;
139
- });
140
- });
141
- }
142
72
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBQ2hDLGVBQWUsR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXhELElBQUksR0FBb0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFeEIsZUFBZSxHQUFvQixJQUFJLENBQUM7SUFFaEQsWUFBWSxZQUFrQixFQUFFLE9BQWE7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FDMUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVRLElBQUksS0FBaUIsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRTNDLFVBQVUsQ0FBQyxPQUFZLEVBQUUsWUFBa0I7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZ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bSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuXG4vKipcbiAqIEF0dHJpYnV0ZXNGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGF0cmlidXRvcyAoZXN0cnVjdHVyYSBkZSBwYWRyZXMvY2hpbGRyZW4pLlxuICogLSBTb3BvcnRhIGhpZHJhdGFjacOzbiBkZXNkZSBxdWVyeSBwYXJhbXMgeSBhcGxpY2FjacOzbiBkZSBjw7NkaWdvcyBzZWxlY2Npb25hZG9zLlxuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlc0ZpbHRlciBleHRlbmRzIEZpbHRlciB7XG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9jb2Rlc0Zyb21RdWVyeTogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKGluaXRpYWxWYWx1ZT86IGFueSwgb3B0aW9ucz86IGFueSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KG9wdGlvbnMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5nZXRBdHRyaWJ1dGVzKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHsgcmV0dXJuICdhdHRyaWJ1dGVzJzsgfVxuXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KG9wdGlvbnMpO1xuICAgICAgICBhdHRyaWJ1dGVzLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcblxuICAgICAgICAvLyBTaSB5YSB0ZW7DrWFtb3MgY8OzZGlnb3MgZGUgbGEgVVJMIGd1YXJkYWRvcywgYXBsaWNhcmxvcyBhaG9yYVxuICAgICAgICBpZiAodGhpcy5fY29kZXNGcm9tUXVlcnkgJiYgdGhpcy5fY29kZXNGcm9tUXVlcnkubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBBRERFRDogQXBsaWNhciBjw7NkaWdvcyBndWFyZGFkb3MgdHJhcyBjYXJnYXIgbGEgZGF0YS5cbiAgICAgICAgICAgIHRoaXMuYXBwbHlDb2Rlcyh0aGlzLl9jb2Rlc0Zyb21RdWVyeSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBRERFRDogdG9VcmxQYXJhbXMgY29uc3RydXllIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBxdWUgcmVwcmVzZW50YSBsYXMgc2VsZWNjaW9uZXMgZGUgYXRyaWJ1dG9zLlxuICAgICAqL1xuICAgIG92ZXJyaWRlIHRvVXJsUGFyYW1zKGFjdHVhbF91cmwgPSAnJmF0dHJpYnV0ZUNvZGVzPScsIHN1Ymxpc3Q/OiBhbnksIGFscmVhZHk/OiBhbnkpIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzID0gc3VibGlzdCB8fCB0aGlzLmRhdGE7XG4gICAgICAgIGxldCBhdXhfdXJsID0gJyc7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnRvVXJsUGFyYW1zKCcnLCBlbGVtZW50LmNoaWxkcmVuLCAoYWN0dWFsX3VybCAhPSAnJmF0dHJpYnV0ZUNvZGVzPScgJiYgYWN0dWFsX3VybCAhPSAnJykpXG4gICAgICAgICAgICAgICAgaWYgKCFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkpIGFjdHVhbF91cmwgKz0gdGhpcy5jbGVhblJlc3VsdChyZXN1bHQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdHVhbF91cmwgPT0gJyZhdHRyaWJ1dGVDb2Rlcz0nICYmIGF1eF91cmwgPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgYXV4X3VybCA9IGVsZW1lbnQuY29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXhfdXJsID09ICcnKSBhdXhfdXJsID0gKGFscmVhZHkgPyAnPGFuZD4nIDogJycpICsgZWxlbWVudC5jb2RlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGF1eF91cmwgKz0gKCc8YW5kPicgKyBlbGVtZW50LmNvZGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmwgKyBhdXhfdXJsO1xuICAgIH07XG5cbiAgICBjbGVhblJlc3VsdCh0ZXh0OiBzdHJpbmcpIHsgcmV0dXJuIHRleHQucmVwbGFjZSgnJmF0dHJpYnV0ZUNvZGVzPScsICcnKSB9O1xuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNyZWF0ZUVsZW1lbnQgdHJhbnNmb3JtYSBjYWRhIG5vZG8gb3JpZ2luYWwgZW4gRmlsdGVyRWxlbWVudCB5IG1hcmNhIHNlbGVjY2nDs24gaW5pY2lhbCBzaSBjb3JyZXNwb25kZS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSBjcmVhdGVFbGVtZW50KGZpbHRlcjogYW55LCBvcmlnaW5hbDogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpIHtcbiAgICAgICAgaWYgKGZpbHRlci50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICBmaWx0ZXIubXVsdGkgPSBmYWxzZTtcbiAgICAgICAgICAgIGZpbHRlci5zaGFwZSA9ICd0ZXh0JztcbiAgICAgICAgICAgIGZpbHRlci52YWx1ZSA9IG9yaWdpbmFsLmNvZGU7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBjaGlsZC5jaGlsZHJlbiwgaW5pdGlhbFZhbHVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlICYmXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyO1xuICAgIH1cblxuICAgIC8qKiBoaWRyYXRhciBkZXNkZSBsYSBVUkwgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJhdyA9IHBhcmFtc1snYXR0cmlidXRlQ29kZXMnXTtcblxuICAgICAgICBpZiAoIXJhdykge1xuICAgICAgICAgICAgLy8gbmFkYSBlbiBsYSBVUkwg4oaSIGxpbXBpw7MgZmlsdHJvXG4gICAgICAgICAgICB0aGlzLl9jb2Rlc0Zyb21RdWVyeSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2RlcyA9IFN0cmluZyhyYXcpXG4gICAgICAgICAgICAuc3BsaXQoJzxhbmQ+JylcbiAgICAgICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgaWYgKCFjb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvZGVzRnJvbVF1ZXJ5ID0gY29kZXM7XG5cbiAgICAgICAgLy8gU2kgeWEgdGVuZ28gZGF0YSBjYXJnYWRhLCBhcGxpY28gYWhvcmE7XG4gICAgICAgIC8vIHNpIG5vLCBzZSBhcGxpY2Fyw6EgZW4gc2V0Q29udGVudCgpLlxuICAgICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIEFEREVEOiBBcGxpY2FyIGPDs2RpZ29zIGlubWVkaWF0YW1lbnRlIHBvcnF1ZSBsYSBkYXRhIHlhIGVzdMOhIGRpc3BvbmlibGUuXG4gICAgICAgICAgICB0aGlzLmFwcGx5Q29kZXMoY29kZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGFwcGx5Q29kZXMgcmVjb3JyZSBsYSBlc3RydWN0dXJhIHkgbWFyY2Egc2VsZWN0ZWQ9dHJ1ZSBlbiBsb3MgY2hpbGRyZW4gY3V5byBjw7NkaWdvIGVzdMOhIGVuICdjb2RlcycuXG4gICAgICogQWRlbcOhcyBtYXJjYSBlbCBwYXJlbnQgY29tbyBzZWxlY2Npb25hZG8gc2kgYWxndW5vIGRlIHN1cyBoaWpvcyBsbyBlc3TDoS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5Q29kZXMoY29kZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YT8uZm9yRWFjaCgocGFyZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgKHBhcmVudC5jaGlsZHJlbiB8fCBbXSkuZm9yRWFjaCgoY2hpbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBjaGlsZC5jb2RlIHx8IGNoaWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb2Rlcy5pbmNsdWRlcyhjb2RlKTtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQURERUQ6IGNsZWFyU2VsZWN0aW9uIGRlc21hcmNhIHRvZG9zIGxvcyBwYXJlbnRzIHkgY2hpbGRyZW4gKHJlc3RhYmxlY2UgZWwgZmlsdHJvKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGE/LmZvckVhY2goKHBhcmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBwYXJlbnQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIChwYXJlbnQuY2hpbGRyZW4gfHwgW10pLmZvckVhY2goKGNoaWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2F0dHJpYnV0ZXMtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU07SUFDaEMsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFeEQsSUFBSSxHQUFvQixFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFZLEtBQUssQ0FBQztJQUVoQyxZQUFZLFlBQWtCLEVBQUUsT0FBWTtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUcsT0FBTyxFQUFDLENBQUM7WUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUMxQyxHQUFHLENBQUMsRUFBRTtnQkFDRixtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFUSxJQUFJLEtBQWlCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQztJQUUzQyxVQUFVLENBQUMsT0FBWSxFQUFFLFlBQWtCO1FBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlE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QUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUksQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9lYy1zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgRmlsdGVyRWxlbWVudCwgRmlsdGVyVHlwZSwgSUZpbHRlciB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZXNGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlPzogYW55LCBvcHRpb25zPzphbnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgaWYob3B0aW9ucyl7XG4gICAgICAgICAgICB0aGlzLnNldENvbnRlbnQob3B0aW9ucywgaW5pdGlhbFZhbHVlKTsgXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0QXR0cmlidXRlcygpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHsgcmV0dXJuICdhdHRyaWJ1dGVzJzsgfVxuXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudChvcHRpb25zOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2VuZXJhdGVNZW51KG9wdGlvbnMpO1xuICAgICAgICBhdHRyaWJ1dGVzLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gYXR0cmlidXRlcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcyhhY3R1YWxfdXJsID0gJyZhdHRyaWJ1dGVDb2Rlcz0nLCBzdWJsaXN0PzphbnksIGFscmVhZHk/OmFueSkge1xuICAgICAgICBsZXQgZWxlbWVudHMgPSBzdWJsaXN0IHx8IHRoaXMuZGF0YTtcbiAgICAgICAgbGV0IGF1eF91cmwgPSAnJztcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09ICdzdWInKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMudG9VcmxQYXJhbXMoJycsIGVsZW1lbnQuY2hpbGRyZW4sIChhY3R1YWxfdXJsICE9ICcmYXR0cmlidXRlQ29kZXM9JyAmJiBhY3R1YWxfdXJsICE9ICcnKSlcbiAgICAgICAgICAgICAgICBpZiAoIWFjdHVhbF91cmwuaW5jbHVkZXMocmVzdWx0KSkgYWN0dWFsX3VybCArPSB0aGlzLmNsZWFuUmVzdWx0KHJlc3VsdCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0dWFsX3VybCA9PSAnJmF0dHJpYnV0ZUNvZGVzPScgJiYgYXV4X3VybCA9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBhdXhfdXJsID0gZWxlbWVudC5jb2RlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF1eF91cmwgPT0gJycpIGF1eF91cmwgPSAoYWxyZWFkeSA/ICc8YW5kPicgOiAnJykgKyBlbGVtZW50LmNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgYXV4X3VybCArPSAoJzxhbmQ+JyArIGVsZW1lbnQuY29kZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAvL2NvbnNvbGUubG9nKGFjdHVhbF91cmwgKyBhdXhfdXJsKTtcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmwgKyBhdXhfdXJsO1xuICAgIH07XG5cbiAgICBjbGVhblJlc3VsdCh0ZXh0OiBzdHJpbmcpIHsgcmV0dXJuIHRleHQucmVwbGFjZSgnJmF0dHJpYnV0ZUNvZGVzPScsICcnKSB9O1xuXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLmNoaWxkcmVuID0gZmlsdGVyLmNoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaTogbnVtYmVyKSA9PntcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KGNoaWxkLCBjaGlsZC5jaGlsZHJlbiwgaW5pdGlhbFZhbHVlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2VsZWN0ZWQgPSAoaW5pdGlhbFZhbHVlICYmIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PSB0aGlzLnJlbW92ZUFjY2VudHMoaW5pdGlhbFZhbHVlPy50b0xvd2VyQ2FzZSgpKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG59XG4iXX0=
@@ -1,24 +1,17 @@
1
1
  import { inject } from "@angular/core";
2
- import { FiltersService, OptionsService } from "../../ec-services";
2
+ import { OptionsService } from "../../ec-services";
3
3
  import { Filter } from "./filter";
4
- /**
5
- * CategoryFilter
6
- * - Gestiona el filtro de categorías.
7
- * - Mantiene la estructura de categorías (parents/children) y permite:
8
- * * Inicializar desde OptionsService.
9
- * * Marcar elementos según slug o query param.
10
- * * Generar porción de query string (&category=...).
11
- */
12
4
  export class CategoryFilter extends Filter {
5
+ initialValues;
13
6
  _optionsService = inject(OptionsService);
14
- _filtersService = inject(FiltersService);
15
7
  data = [];
16
8
  multi = false;
17
- constructor(initialValue) {
9
+ constructor(initialValues) {
18
10
  super();
11
+ this.initialValues = initialValues;
19
12
  this._optionsService.getCategories().subscribe(res => {
20
- this.setContent(res, initialValue);
21
- this._filtersService.refreshFilters();
13
+ //console.log(res);
14
+ this.setContent(res, initialValues);
22
15
  });
23
16
  }
24
17
  type() {
@@ -30,109 +23,37 @@ export class CategoryFilter extends Filter {
30
23
  this.data = categories;
31
24
  }
32
25
  getContent() {
33
- return this.data;
34
- }
35
- /**
36
- * toUrlParams
37
- * - Recorre la estructura y devuelve la porción de query string para la categoría seleccionada.
38
- * - Prioriza el primer selected encontrado (solo una categoría se envía).
39
- */
40
- toUrlParams() {
41
- const selectedCodes = [];
42
- const walk = (nodes) => {
43
- nodes.forEach(n => {
44
- if (n.selected) {
45
- selectedCodes.push(n.code || n.value);
46
- }
47
- if (Array.isArray(n.children) && n.children.length) {
48
- walk(n.children);
49
- }
50
- });
51
- };
52
- walk(this.data);
53
- if (selectedCodes.length > 0) {
54
- return `&category=${encodeURIComponent(selectedCodes[0])}`;
55
- }
56
- return '';
26
+ throw new Error("Method not implemented.");
27
+ }
28
+ toUrlParams(actual_url = '', sublist) {
29
+ let elements = sublist || this.data;
30
+ elements.forEach((element) => {
31
+ if (element.type == 'sub' && !element.selected) {
32
+ const result = this.toUrlParams('', element.children);
33
+ !actual_url.includes(result) ? actual_url += result : null;
34
+ }
35
+ else if (element.selected) {
36
+ if (actual_url == '')
37
+ actual_url = '&category=' + element.value;
38
+ else
39
+ actual_url = element.value;
40
+ }
41
+ });
42
+ return actual_url;
57
43
  }
58
44
  createElement(filter, original, initialValue) {
59
45
  if (filter.type == 'sub') {
60
46
  filter.multi = false;
61
47
  filter.shape = 'text';
62
48
  filter.value = original.code;
63
- filter.selected = (initialValue &&
64
- this.removeAccents(original.slug?.toLowerCase()) ===
65
- this.removeAccents(String(initialValue).toLowerCase()));
49
+ filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
66
50
  filter.children = filter.children.map((child, i) => this.createElement(child, original.children[i], initialValue));
67
51
  }
68
52
  else {
69
53
  filter.value = original.code;
70
- filter.selected = (initialValue &&
71
- this.removeAccents(original.slug?.toLowerCase()) ===
72
- this.removeAccents(String(initialValue).toLowerCase()));
54
+ filter.selected = (initialValue && this.removeAccents(original.slug?.toLowerCase()) == this.removeAccents(initialValue?.toLowerCase()));
73
55
  }
74
56
  return filter;
75
57
  }
76
- /**
77
- * setFromSlug
78
- * - Marca como selected los nodos cuyo slug/path/name coincide con el slug proporcionado.
79
- * - Utiliza removeAccents para comparar sin tildes y en minúsculas.
80
- * - No retorna valor, solo modifica this.data.
81
- */
82
- setFromSlug(slug) {
83
- const target = this.removeAccents(String(slug).toLowerCase());
84
- const walk = (nodes) => {
85
- nodes.forEach(n => {
86
- // ADDED: iniciar sin selección explícita (asegura estado consistente)
87
- n.selected = false;
88
- const candidates = [
89
- n.slug,
90
- n.path && String(n.path).split('/').filter(Boolean).pop(),
91
- n.name
92
- ]
93
- .filter(Boolean)
94
- .map((s) => this.removeAccents(s.toLowerCase()));
95
- if (candidates.includes(target)) {
96
- n.selected = true;
97
- }
98
- if (Array.isArray(n.children) && n.children.length) {
99
- walk(n.children);
100
- }
101
- });
102
- };
103
- walk(this.data);
104
- }
105
- /**
106
- * hydrateFromQuery
107
- * - Marca la categoría según el parámetro de query 'category' si existe.
108
- * - Busca el code exacto en la estructura y marca el nodo correspondiente.
109
- * - Loggea si se encontró o no la categoría.
110
- */
111
- hydrateFromQuery(query) {
112
- const raw = query?.['category'];
113
- if (!raw)
114
- return;
115
- const code = String(raw).trim();
116
- if (!code)
117
- return;
118
- const mark = (nodes) => {
119
- let found = false;
120
- nodes.forEach(n => {
121
- if (n.code === code) {
122
- n.selected = true;
123
- found = true;
124
- }
125
- else {
126
- n.selected = false;
127
- }
128
- if (Array.isArray(n.children) && n.children.length) {
129
- if (mark(n.children))
130
- found = true;
131
- }
132
- });
133
- return found;
134
- };
135
- const ok = mark(this.data);
136
- }
137
58
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsTUFBTTtJQUM5QixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQVksWUFBa0I7UUFDMUIsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRVEsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFB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LElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBWSxFQUFXLEVBQUU7WUFDbkMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO29CQUNsQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDakIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixDQUFDO2dCQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakQsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzt3QkFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7UUFFRixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGaWx0ZXJzU2VydmljZSwgT3B0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZWMtc2VydmljZXNcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5cbi8qKlxuICogQ2F0ZWdvcnlGaWx0ZXJcbiAqIC0gR2VzdGlvbmEgZWwgZmlsdHJvIGRlIGNhdGVnb3LDrWFzLlxuICogLSBNYW50aWVuZSBsYSBlc3RydWN0dXJhIGRlIGNhdGVnb3LDrWFzIChwYXJlbnRzL2NoaWxkcmVuKSB5IHBlcm1pdGU6XG4gKiAgICogSW5pY2lhbGl6YXIgZGVzZGUgT3B0aW9uc1NlcnZpY2UuXG4gKiAgICogTWFyY2FyIGVsZW1lbnRvcyBzZWfDum4gc2x1ZyBvIHF1ZXJ5IHBhcmFtLlxuICogICAqIEdlbmVyYXIgcG9yY2nDs24gZGUgcXVlcnkgc3RyaW5nICgmY2F0ZWdvcnk9Li4uKS5cbiAqL1xuZXhwb3J0IGNsYXNzIENhdGVnb3J5RmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgICBwcml2YXRlIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZSA9IGluamVjdChGaWx0ZXJzU2VydmljZSk7XG5cbiAgICBvdmVycmlkZSBkYXRhOiBGaWx0ZXJFbGVtZW50W10gPSBbXTtcbiAgICBvdmVycmlkZSBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fb3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRDb250ZW50KHJlcywgaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnJlZnJlc2hGaWx0ZXJzKClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdHlwZSgpOiBGaWx0ZXJUeXBlIHtcbiAgICAgICAgcmV0dXJuICdjYXRlZ29yaWVzJztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXRDb250ZW50KG9wdGlvbnM6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLl9vcHRpb25zU2VydmljZS5nZW5lcmF0ZU1lbnUob3B0aW9ucyk7XG4gICAgICAgIGNhdGVnb3JpZXMuZm9yRWFjaCgoZmlsdGVyOiBhbnksIGk6IG51bWJlcikgPT5cbiAgICAgICAgICAgIGZpbHRlciA9IHRoaXMuY3JlYXRlRWxlbWVudChmaWx0ZXIsIG9wdGlvbnNbaV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhID0gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRDb250ZW50KCk6IEZpbHRlckVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9VcmxQYXJhbXNcbiAgICAgKiAtIFJlY29ycmUgbGEgZXN0cnVjdHVyYSB5IGRldnVlbHZlIGxhIHBvcmNpw7NuIGRlIHF1ZXJ5IHN0cmluZyBwYXJhIGxhIGNhdGVnb3LDrWEgc2VsZWNjaW9uYWRhLlxuICAgICAqIC0gUHJpb3JpemEgZWwgcHJpbWVyIHNlbGVjdGVkIGVuY29udHJhZG8gKHNvbG8gdW5hIGNhdGVnb3LDrWEgc2UgZW52w61hKS5cbiAgICAgKi9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENvZGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHdhbGsgPSAobm9kZXM6IGFueVtdKSA9PiB7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29kZXMucHVzaChuLmNvZGUgfHwgbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBgJmNhdGVnb3J5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNlbGVjdGVkQ29kZXNbMF0pfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY3JlYXRlRWxlbWVudChmaWx0ZXI6IGFueSwgb3JpZ2luYWw6IGFueSwgaW5pdGlhbFZhbHVlPzogYW55KSB7XG4gICAgICAgIGlmIChmaWx0ZXIudHlwZSA9PSAnc3ViJykge1xuICAgICAgICAgICAgZmlsdGVyLm11bHRpID0gZmFsc2U7XG4gICAgICAgICAgICBmaWx0ZXIuc2hhcGUgPSAndGV4dCc7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBmaWx0ZXIuY2hpbGRyZW4gPSBmaWx0ZXIuY2hpbGRyZW4ubWFwKFxuICAgICAgICAgICAgICAgIChjaGlsZDogYW55LCBpOiBudW1iZXIpID0+IHRoaXMuY3JlYXRlRWxlbWVudChjaGlsZCwgb3JpZ2luYWwuY2hpbGRyZW5baV0sIGluaXRpYWxWYWx1ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSBvcmlnaW5hbC5jb2RlO1xuICAgICAgICAgICAgZmlsdGVyLnNlbGVjdGVkID0gKFxuICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlQWNjZW50cyhvcmlnaW5hbC5zbHVnPy50b0xvd2VyQ2FzZSgpKSA9PT1cbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFjY2VudHMoU3RyaW5nKGluaXRpYWxWYWx1ZSkudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRGcm9tU2x1Z1xuICAgICAqIC0gTWFyY2EgY29tbyBzZWxlY3RlZCBsb3Mgbm9kb3MgY3V5byBzbHVnL3BhdGgvbmFtZSBjb2luY2lkZSBjb24gZWwgc2x1ZyBwcm9wb3JjaW9uYWRvLlxuICAgICAqIC0gVXRpbGl6YSByZW1vdmVBY2NlbnRzIHBhcmEgY29tcGFyYXIgc2luIHRpbGRlcyB5IGVuIG1pbsO6c2N1bGFzLlxuICAgICAqIC0gTm8gcmV0b3JuYSB2YWxvciwgc29sbyBtb2RpZmljYSB0aGlzLmRhdGEuXG4gICAgICovXG4gICAgc2V0RnJvbVNsdWcoc2x1Zzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMucmVtb3ZlQWNjZW50cyhTdHJpbmcoc2x1ZykudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgY29uc3Qgd2FsayA9IChub2RlczogYW55W10pID0+IHtcbiAgICAgICAgICAgIG5vZGVzLmZvckVhY2gobiA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQURERUQ6IGluaWNpYXIgc2luIHNlbGVjY2nDs24gZXhwbMOtY2l0YSAoYXNlZ3VyYSBlc3RhZG8gY29uc2lzdGVudGUpXG4gICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIG4uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgbi5wYXRoICYmIFN0cmluZyhuLnBhdGgpLnNwbGl0KCcvJykuZmlsdGVyKEJvb2xlYW4pLnBvcCgpLFxuICAgICAgICAgICAgICAgICAgICBuLm5hbWVcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoczogc3RyaW5nKSA9PiB0aGlzLnJlbW92ZUFjY2VudHMocy50b0xvd2VyQ2FzZSgpKSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY2FuZGlkYXRlcy5pbmNsdWRlcyh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG4uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdhbGsobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgd2Fsayh0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGh5ZHJhdGVGcm9tUXVlcnlcbiAgICAgKiAtIE1hcmNhIGxhIGNhdGVnb3LDrWEgc2Vnw7puIGVsIHBhcsOhbWV0cm8gZGUgcXVlcnkgJ2NhdGVnb3J5JyBzaSBleGlzdGUuXG4gICAgICogLSBCdXNjYSBlbCBjb2RlIGV4YWN0byBlbiBsYSBlc3RydWN0dXJhIHkgbWFyY2EgZWwgbm9kbyBjb3JyZXNwb25kaWVudGUuXG4gICAgICogLSBMb2dnZWEgc2kgc2UgZW5jb250csOzIG8gbm8gbGEgY2F0ZWdvcsOtYS5cbiAgICAgKi9cbiAgICBoeWRyYXRlRnJvbVF1ZXJ5KHF1ZXJ5OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmF3ID0gcXVlcnk/LlsnY2F0ZWdvcnknXTtcbiAgICAgICAgaWYgKCFyYXcpIHJldHVybjtcblxuICAgICAgICBjb25zdCBjb2RlID0gU3RyaW5nKHJhdykudHJpbSgpO1xuICAgICAgICBpZiAoIWNvZGUpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtYXJrID0gKG5vZGVzOiBhbnlbXSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgICAgICBub2Rlcy5mb3JFYWNoKG4gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuLmNvZGUgPT09IGNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrKG4uY2hpbGRyZW4pKSBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2sgPSBtYXJrKHRoaXMuZGF0YSk7XG4gICAgfVxufSJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9jYXRlZ29yeS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLE9BQU8sY0FBZSxTQUFRLE1BQU07SUFNbEI7SUFMWixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV4RCxJQUFJLEdBQW9CLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVksS0FBSyxDQUFDO0lBRWhDLFlBQW9CLGFBQW1CO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFEsa0JBQWEsR0FBYixhQUFhLENBQU07UUFFbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsbUJBQW1CO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVRLElBQUk7UUFDVCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ1EsVUFBVSxDQUFDLE9BQVksRUFBRSxZQUFrQjtRQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBVyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFDUSxVQUFVO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDUSxXQUFXLENBQUMsVUFBVSxHQUFHLEVBQUUsRUFBRSxPQUFhO1FBQy9DLElBQUksUUFBUSxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQy9ELENBQUM7aUJBQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksVUFBVSxJQUFJLEVBQUU7b0JBQUUsVUFBVSxHQUFHLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDOztvQkFDM0QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUNRLGFBQWEsQ0FBQyxNQUFXLEVBQUUsUUFBYSxFQUFFLFlBQWtCO1FBQ2pFLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUN0QixNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEksTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVMsRUFBRSxDQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsSSxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1SSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VjLXNlcnZpY2VzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlLCBJRmlsdGVyIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXJ7XG4gICAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcblxuICAgIG92ZXJyaWRlIGRhdGE6IEZpbHRlckVsZW1lbnRbXSA9IFtdO1xuICAgIG92ZXJyaWRlIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluaXRpYWxWYWx1ZXM/OiBhbnksKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudChyZXMsIGluaXRpYWxWYWx1ZXMpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIG92ZXJyaWRlIHR5cGUoKTogRmlsdGVyVHlwZSB7XG4gICAgICAgIHJldHVybiAnY2F0ZWdvcmllcyc7XG4gICAgfVxuICAgIG92ZXJyaWRlIHNldENvbnRlbnQob3B0aW9uczogYW55LCBpbml0aWFsVmFsdWU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdlbmVyYXRlTWVudShvcHRpb25zKTtcbiAgICAgICAgY2F0ZWdvcmllcy5mb3JFYWNoKChmaWx0ZXI6IGFueSwgaTogbnVtYmVyKSA9PiBmaWx0ZXIgPSB0aGlzLmNyZWF0ZUVsZW1lbnQoZmlsdGVyLCBvcHRpb25zW2ldLCBpbml0aWFsVmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRhID0gY2F0ZWdvcmllcztcbiAgICB9XG4gICAgb3ZlcnJpZGUgZ2V0Q29udGVudCgpOiBGaWx0ZXJFbGVtZW50W10ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgICB9XG4gICAgb3ZlcnJpZGUgdG9VcmxQYXJhbXMoYWN0dWFsX3VybCA9ICcnLCBzdWJsaXN0PzogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGVsZW1lbnRzID0gc3VibGlzdCB8fCB0aGlzLmRhdGE7XG4gICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAnc3ViJyAmJiAhZWxlbWVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9VcmxQYXJhbXMoJycsIGVsZW1lbnQuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICFhY3R1YWxfdXJsLmluY2x1ZGVzKHJlc3VsdCkgPyBhY3R1YWxfdXJsICs9IHJlc3VsdCA6IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0dWFsX3VybCA9PSAnJykgYWN0dWFsX3VybCA9ICcmY2F0ZWdvcnk9JyArIGVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICAgICAgZWxzZSBhY3R1YWxfdXJsID0gZWxlbWVudC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFjdHVhbF91cmw7XG4gICAgfVxuICAgIG92ZXJyaWRlIGNyZWF0ZUVsZW1lbnQoZmlsdGVyOiBhbnksIG9yaWdpbmFsOiBhbnksIGluaXRpYWxWYWx1ZT86IGFueSkge1xuICAgICAgICBpZiAoZmlsdGVyLnR5cGUgPT0gJ3N1YicpIHtcbiAgICAgICAgICAgIGZpbHRlci5tdWx0aSA9IGZhbHNlO1xuICAgICAgICAgICAgZmlsdGVyLnNoYXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcbiAgICAgICAgICAgIGZpbHRlci5zZWxlY3RlZCA9IChpbml0aWFsVmFsdWUgJiYgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09IHRoaXMucmVtb3ZlQWNjZW50cyhpbml0aWFsVmFsdWU/LnRvTG93ZXJDYXNlKCkpKTtcbiAgICAgICAgICAgIGZpbHRlci5jaGlsZHJlbiA9IGZpbHRlci5jaGlsZHJlbi5tYXAoKGNoaWxkOmFueSwgaTpudW1iZXIpID0+IHRoaXMuY3JlYXRlRWxlbWVudChjaGlsZCwgb3JpZ2luYWwuY2hpbGRyZW5baV0sIGluaXRpYWxWYWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyLnZhbHVlID0gb3JpZ2luYWwuY29kZTtcbiAgICAgICAgICAgIGZpbHRlci5zZWxlY3RlZCA9IChpbml0aWFsVmFsdWUgJiYgdGhpcy5yZW1vdmVBY2NlbnRzKG9yaWdpbmFsLnNsdWc/LnRvTG93ZXJDYXNlKCkpID09IHRoaXMucmVtb3ZlQWNjZW50cyhpbml0aWFsVmFsdWU/LnRvTG93ZXJDYXNlKCkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyXG4gICAgfVxufVxuIl19
@@ -7,13 +7,9 @@ export class FilterFactory {
7
7
  create(filterType, productsFilter) {
8
8
  switch (filterType) {
9
9
  case 'categories':
10
- return new CategoryFilter(productsFilter?.type === 'categories'
11
- ? productsFilter.value
12
- : null);
10
+ return new CategoryFilter(productsFilter ? (productsFilter.type == 'categories' && productsFilter.value) : null);
13
11
  case 'attributes':
14
- return new AttributesFilter(productsFilter?.type === 'attributes'
15
- ? productsFilter.value
16
- : null);
12
+ return new AttributesFilter(productsFilter ? (productsFilter.type == 'attributes' && productsFilter.value) : null);
17
13
  case 'dynamics':
18
14
  return new DynamicsFilter();
19
15
  case 'sort':
@@ -26,4 +22,4 @@ export class FilterFactory {
26
22
  }
27
23
  }
28
24
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2ZpbHRlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sYUFBYTtJQUNmLE1BQU0sQ0FBQyxVQUFzQixFQUFFLGNBQW1DO1FBQ3JFLFFBQVEsVUFBVSxFQUFFLENBQUM7WUFDakIsS0FBSyxZQUFZO2dCQUNiLE9BQU8sSUFBSSxjQUFjLENBQ3JCLGNBQWMsRUFBRSxJQUFJLEtBQUssWUFBWTtvQkFDakMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLO29CQUN0QixDQUFDLENBQUMsSUFBSSxDQUNiLENBQUM7WUFDTixLQUFLLFlBQVk7Z0JBQ2IsT0FBTyxJQUFJLGdCQUFnQixDQUN2QixjQUFjLEVBQUUsSUFBSSxLQUFLLFlBQVk7b0JBQ2pDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSztvQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FDYixDQUFDO1lBQ04sS0FBSyxVQUFVO2dCQUNYLE9BQU8sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzVCLEtBQUssYUFBYTtnQkFDZCxPQUFPLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNsQztnQkFDSSw0REFBNEQ7Z0JBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUMxQyxDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyVHlwZSwgSUZpbHRlciwgUGFnaW5hdGlvblNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEF0dHJpYnV0ZXNGaWx0ZXIgfSBmcm9tIFwiLi9hdHRyaWJ1dGVzLWZpbHRlclwiO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIgfSBmcm9tIFwiLi9jYXRlZ29yeS1maWx0ZXJcIjtcbmltcG9ydCB7IER5bmFtaWNzRmlsdGVyIH0gZnJvbSBcIi4vZHluYW1pY3MtZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcbmltcG9ydCB7IFNvcnRGaWx0ZXIgfSBmcm9tIFwiLi9zb3J0LWZpbHRlclwiO1xuaW1wb3J0IHsgUHJpY2VSYW5nZUZpbHRlciB9IGZyb20gXCIuL3ByaWNlX3JhbmdlLWZpbHRlclwiO1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRmFjdG9yeSB7XG4gICAgcHVibGljIGNyZWF0ZShmaWx0ZXJUeXBlOiBGaWx0ZXJUeXBlLCBwcm9kdWN0c0ZpbHRlcj86IFBhZ2luYXRpb25TZXR0aW5ncyk6IEZpbHRlciB7XG4gICAgICAgIHN3aXRjaCAoZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXRlZ29yeUZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNGaWx0ZXI/LnR5cGUgPT09ICdjYXRlZ29yaWVzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9kdWN0c0ZpbHRlci52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgJ2F0dHJpYnV0ZXMnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQXR0cmlidXRlc0ZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHNGaWx0ZXI/LnR5cGUgPT09ICdhdHRyaWJ1dGVzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9kdWN0c0ZpbHRlci52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgJ2R5bmFtaWNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IER5bmFtaWNzRmlsdGVyKCk7XG4gICAgICAgICAgICBjYXNlICdzb3J0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNvcnRGaWx0ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgJ3ByaWNlX3JhbmdlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByaWNlUmFuZ2VGaWx0ZXIoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRmlsdGVyIHR5cGUgbm90IHJlY29nbml6ZWQ6JywgZmlsdGVyVHlwZSk7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGltcGxlbWVudGVkXCIpXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvY2xhc3Nlcy9maWx0ZXJzL2ZpbHRlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sYUFBYTtJQUNmLE1BQU0sQ0FBQyxVQUFzQixFQUFFLGNBQW1DO1FBQ3JFLFFBQVEsVUFBVSxFQUFFLENBQUM7WUFDakIsS0FBSyxZQUFZO2dCQUNiLE9BQU8sSUFBSSxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksWUFBWSxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckgsS0FBSyxZQUFZO2dCQUNiLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxZQUFZLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2SCxLQUFLLFVBQVU7Z0JBQ1gsT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTTtnQkFDUCxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7WUFDNUIsS0FBSyxhQUFhO2dCQUNkLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xDO2dCQUNJLDREQUE0RDtnQkFDNUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJUeXBlLCBJRmlsdGVyLCBQYWdpbmF0aW9uU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgQXR0cmlidXRlc0ZpbHRlciB9IGZyb20gXCIuL2F0dHJpYnV0ZXMtZmlsdGVyXCI7XG5pbXBvcnQgeyBDYXRlZ29yeUZpbHRlciB9IGZyb20gXCIuL2NhdGVnb3J5LWZpbHRlclwiO1xuaW1wb3J0IHsgRHluYW1pY3NGaWx0ZXIgfSBmcm9tIFwiLi9keW5hbWljcy1maWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gXCIuL2ZpbHRlclwiO1xuaW1wb3J0IHsgU29ydEZpbHRlciB9IGZyb20gXCIuL3NvcnQtZmlsdGVyXCI7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSBcIi4vcHJpY2VfcmFuZ2UtZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJGYWN0b3J5IHtcbiAgICBwdWJsaWMgY3JlYXRlKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIHByb2R1Y3RzRmlsdGVyPzogUGFnaW5hdGlvblNldHRpbmdzKTogRmlsdGVyIHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXJUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdjYXRlZ29yaWVzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENhdGVnb3J5RmlsdGVyKHByb2R1Y3RzRmlsdGVyID8gKHByb2R1Y3RzRmlsdGVyLnR5cGUgPT0gJ2NhdGVnb3JpZXMnICYmIHByb2R1Y3RzRmlsdGVyLnZhbHVlKSA6IG51bGwpO1xuICAgICAgICAgICAgY2FzZSAnYXR0cmlidXRlcyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBBdHRyaWJ1dGVzRmlsdGVyKHByb2R1Y3RzRmlsdGVyID8gKHByb2R1Y3RzRmlsdGVyLnR5cGUgPT0gJ2F0dHJpYnV0ZXMnICYmIHByb2R1Y3RzRmlsdGVyLnZhbHVlKSA6IG51bGwpO1xuICAgICAgICAgICAgY2FzZSAnZHluYW1pY3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRHluYW1pY3NGaWx0ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgJ3NvcnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU29ydEZpbHRlcigpO1xuICAgICAgICAgICAgY2FzZSAncHJpY2VfcmFuZ2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJpY2VSYW5nZUZpbHRlcigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdGaWx0ZXIgdHlwZSBub3QgcmVjb2duaXplZDonLCBmaWx0ZXJUeXBlKTtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgaW1wbGVtZW50ZWRcIilcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -15,8 +15,8 @@ export class PriceRangeFilter extends Filter {
15
15
  if (options.minPrice != null && options.maxPrice != null) {
16
16
  this.minPrice = options.minPrice;
17
17
  this.maxPrice = options.maxPrice;
18
- this.currentMinPrice = options.currentMinPrice ?? null;
19
- this.currentMaxPrice = options.currentMaxPrice ?? null;
18
+ this.currentMinPrice = options.currentMinPrice ?? this.minPrice;
19
+ this.currentMaxPrice = options.currentMaxPrice ?? this.maxPrice;
20
20
  this._loaded = true;
21
21
  }
22
22
  };
@@ -56,4 +56,4 @@ export class PriceRangeFilter extends Filter {
56
56
  this.currentMaxPrice = null;
57
57
  };
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2VfcmFuZ2UtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsTUFBTTtJQUNoQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFXLENBQUMsQ0FBQztJQUNyQixlQUFlLEdBQWtCLElBQUksQ0FBQztJQUN0QyxlQUFlLEdBQWtCLElBQUksQ0FBQztJQUU3QixJQUFJLEdBQUcsR0FBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBRWhELHlDQUF5QztJQUN6QyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELHFEQUFxRDtJQUM1QyxVQUFVLEdBQUcsQ0FBQyxPQUFxRyxFQUFFLEVBQUU7UUFDNUgsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO1lBRXZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxZQUFZLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELG1EQUFtRDtJQUMxQyxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFRLEVBQUU7UUFDdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUQsQ0FBQyxDQUFBO0lBRUQsdURBQXVEO0lBQ3ZELGdCQUFnQixHQUFHLEdBQWlDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFTO1FBQzNDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFTO0tBQzlDLENBQUMsQ0FBQTtJQUVGLDJFQUEyRTtJQUNsRSxXQUFXLEdBQUcsR0FBVyxFQUFFO1FBQ2hDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDLENBQUE7SUFFRCxpREFBaUQ7SUFDakQsS0FBSyxHQUFHLEdBQVMsRUFBRTtRQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUMsQ0FBQTtDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJFbGVtZW50LCBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBQcmljZVJhbmdlRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICAgIG1pblByaWNlOiBudW1iZXIgPSAwO1xuICAgIG1heFByaWNlOiBudW1iZXIgPSAwO1xuICAgIGN1cnJlbnRNaW5QcmljZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgY3VycmVudE1heFByaWNlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIG92ZXJyaWRlIHR5cGUgPSAoKTogRmlsdGVyVHlwZSA9PiAncHJpY2VfcmFuZ2UnO1xuXG4gICAgLyoqIHRydWUgY3VhbmRvIHlhIHRlbmdvIHVuIHJhbmdvIHJlYWwgKi9cbiAgICBnZXQgaXNMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWQ7XG4gICAgfVxuXG4gICAgLy8gTcOpdG9kbyBwYXJhIGNvbmZpZ3VyYXIgZWwgcmFuZ28gZGUgcHJlY2lvcyBpbmljaWFsXG4gICAgb3ZlcnJpZGUgc2V0Q29udGVudCA9IChvcHRpb25zOiB7IG1pblByaWNlPzogbnVtYmVyOyBtYXhQcmljZT86IG51bWJlcjsgY3VycmVudE1pblByaWNlPzogbnVtYmVyOyBjdXJyZW50TWF4UHJpY2U/OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5taW5QcmljZSAhPSBudWxsICYmIG9wdGlvbnMubWF4UHJpY2UgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5taW5QcmljZSA9IG9wdGlvbnMubWluUHJpY2U7XG4gICAgICAgICAgICB0aGlzLm1heFByaWNlID0gb3B0aW9ucy5tYXhQcmljZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gb3B0aW9ucy5jdXJyZW50TWluUHJpY2UgPz8gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1heFByaWNlID0gb3B0aW9ucy5jdXJyZW50TWF4UHJpY2UgPz8gbnVsbDtcblxuICAgICAgICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVByaWNlcyhtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG1heDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmICh0aGlzLmN1cnJlbnRNaW5QcmljZSA8IG1pbiB8fCB0aGlzLmN1cnJlbnRNaW5QcmljZSA+IG1heCkpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiAodGhpcy5jdXJyZW50TWF4UHJpY2UgPiBtYXggfHwgdGhpcy5jdXJyZW50TWF4UHJpY2UgPCBtaW4pKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3NcbiAgICBvdmVycmlkZSBzZXRTZWxlY3RlZCA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBtaW4gIT09IHRoaXMubWluUHJpY2UgPyBtaW4gOiBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG1heCAhPT0gdGhpcy5tYXhQcmljZSA/IG1heCA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gUmV0b3JuYSBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zIChyYW5nbyBkZSBwcmVjaW9zKVxuICAgIGdldFNlbGVjdGVkUmFuZ2UgPSAoKTogeyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfSA9PiAoe1xuICAgICAgICBtaW46IHRoaXMuY3VycmVudE1pblByaWNlID8/IHRoaXMubWluUHJpY2UhLFxuICAgICAgICBtYXg6IHRoaXMuY3VycmVudE1heFByaWNlID8/IHRoaXMubWF4UHJpY2UhXG4gICAgfSlcblxuICAgIC8vIEdlbmVyYSBsb3MgcGFyw6FtZXRyb3MgZGUgbGEgVVJMIGVuIGJhc2UgYWwgcmFuZ28gZGUgcHJlY2lvcyBzZWxlY2Npb25hZG9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcyA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaW5QcmljZSAhPSBudWxsKSBwYXJhbXMgKz0gYCZwcmljZV9taW49JHt0aGlzLmN1cnJlbnRNaW5QcmljZX1gO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWF4UHJpY2UgIT0gbnVsbCkgcGFyYW1zICs9IGAmcHJpY2VfbWF4PSR7dGhpcy5jdXJyZW50TWF4UHJpY2V9YDtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICAvLyBSZXN0YWJsZWNlIGVsIGZpbHRybyBhIGxvcyB2YWxvcmVzIHBvciBkZWZlY3RvXG4gICAgcmVzZXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2VfcmFuZ2UtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NsYXNzZXMvZmlsdGVycy9wcmljZV9yYW5nZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUdsQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsTUFBTTtJQUNoQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRXhCLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFXLENBQUMsQ0FBQztJQUNyQixlQUFlLEdBQWtCLElBQUksQ0FBQztJQUN0QyxlQUFlLEdBQWtCLElBQUksQ0FBQztJQUU3QixJQUFJLEdBQUcsR0FBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBRWhELHlDQUF5QztJQUN6QyxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELHFEQUFxRDtJQUM1QyxVQUFVLEdBQUcsQ0FBQyxPQUFxRyxFQUFFLEVBQUU7UUFDNUgsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDaEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUMsQ0FBQTtJQUVELFlBQVksQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsbURBQW1EO0lBQzFDLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQVEsRUFBRTtRQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5RCxDQUFDLENBQUE7SUFFRCx1REFBdUQ7SUFDdkQsZ0JBQWdCLEdBQUcsR0FBaUMsRUFBRSxDQUFDLENBQUM7UUFDcEQsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVM7UUFDM0MsR0FBRyxFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFFBQVM7S0FDOUMsQ0FBQyxDQUFBO0lBRUYsMkVBQTJFO0lBQ2xFLFdBQVcsR0FBRyxHQUFXLEVBQUU7UUFDaEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJO1lBQUUsTUFBTSxJQUFJLGNBQWMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pGLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJO1lBQUUsTUFBTSxJQUFJLGNBQWMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pGLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsQ0FBQTtJQUVELGlEQUFpRDtJQUNqRCxLQUFLLEdBQUcsR0FBUyxFQUFFO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQyxDQUFBO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlckVsZW1lbnQsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIFByaWNlUmFuZ2VGaWx0ZXIgZXh0ZW5kcyBGaWx0ZXIge1xuICAgIHByaXZhdGUgX2xvYWRlZCA9IGZhbHNlO1xuXG4gICAgbWluUHJpY2U6IG51bWJlciA9IDA7XG4gICAgbWF4UHJpY2U6IG51bWJlciA9IDA7XG4gICAgY3VycmVudE1pblByaWNlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBjdXJyZW50TWF4UHJpY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgb3ZlcnJpZGUgdHlwZSA9ICgpOiBGaWx0ZXJUeXBlID0+ICdwcmljZV9yYW5nZSc7XG5cbiAgICAvKiogdHJ1ZSBjdWFuZG8geWEgdGVuZ28gdW4gcmFuZ28gcmVhbCAqL1xuICAgIGdldCBpc0xvYWRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZDtcbiAgICB9XG5cbiAgICAvLyBNw6l0b2RvIHBhcmEgY29uZmlndXJhciBlbCByYW5nbyBkZSBwcmVjaW9zIGluaWNpYWxcbiAgICBvdmVycmlkZSBzZXRDb250ZW50ID0gKG9wdGlvbnM6IHsgbWluUHJpY2U/OiBudW1iZXI7IG1heFByaWNlPzogbnVtYmVyOyBjdXJyZW50TWluUHJpY2U/OiBudW1iZXI7IGN1cnJlbnRNYXhQcmljZT86IG51bWJlciB9KSA9PiB7XG4gICAgICAgIGlmIChvcHRpb25zLm1pblByaWNlICE9IG51bGwgJiYgb3B0aW9ucy5tYXhQcmljZSAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm1pblByaWNlID0gb3B0aW9ucy5taW5QcmljZTtcbiAgICAgICAgICAgIHRoaXMubWF4UHJpY2UgPSBvcHRpb25zLm1heFByaWNlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBvcHRpb25zLmN1cnJlbnRNaW5QcmljZSA/PyB0aGlzLm1pblByaWNlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBvcHRpb25zLmN1cnJlbnRNYXhQcmljZSA/PyB0aGlzLm1heFByaWNlO1xuICAgICAgICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVByaWNlcyhtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5QcmljZSA9IG1pbjtcbiAgICAgICAgdGhpcy5tYXhQcmljZSA9IG1heDtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE1pblByaWNlICE9PSBudWxsICYmICh0aGlzLmN1cnJlbnRNaW5QcmljZSA8IG1pbiB8fCB0aGlzLmN1cnJlbnRNaW5QcmljZSA+IG1heCkpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNYXhQcmljZSAhPT0gbnVsbCAmJiAodGhpcy5jdXJyZW50TWF4UHJpY2UgPiBtYXggfHwgdGhpcy5jdXJyZW50TWF4UHJpY2UgPCBtaW4pKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9sb2FkZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIHNlbGVjY2lvbmFkb3NcbiAgICBvdmVycmlkZSBzZXRTZWxlY3RlZCA9IChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50TWluUHJpY2UgPSBtaW4gIT09IHRoaXMubWluUHJpY2UgPyBtaW4gOiBudWxsO1xuICAgICAgICB0aGlzLmN1cnJlbnRNYXhQcmljZSA9IG1heCAhPT0gdGhpcy5tYXhQcmljZSA/IG1heCA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gUmV0b3JuYSBsb3MgdmFsb3JlcyBzZWxlY2Npb25hZG9zIChyYW5nbyBkZSBwcmVjaW9zKVxuICAgIGdldFNlbGVjdGVkUmFuZ2UgPSAoKTogeyBtaW46IG51bWJlciwgbWF4OiBudW1iZXIgfSA9PiAoe1xuICAgICAgICBtaW46IHRoaXMuY3VycmVudE1pblByaWNlID8/IHRoaXMubWluUHJpY2UhLFxuICAgICAgICBtYXg6IHRoaXMuY3VycmVudE1heFByaWNlID8/IHRoaXMubWF4UHJpY2UhXG4gICAgfSlcblxuICAgIC8vIEdlbmVyYSBsb3MgcGFyw6FtZXRyb3MgZGUgbGEgVVJMIGVuIGJhc2UgYWwgcmFuZ28gZGUgcHJlY2lvcyBzZWxlY2Npb25hZG9cbiAgICBvdmVycmlkZSB0b1VybFBhcmFtcyA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNaW5QcmljZSAhPSBudWxsKSBwYXJhbXMgKz0gYCZwcmljZV9taW49JHt0aGlzLmN1cnJlbnRNaW5QcmljZX1gO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWF4UHJpY2UgIT0gbnVsbCkgcGFyYW1zICs9IGAmcHJpY2VfbWF4PSR7dGhpcy5jdXJyZW50TWF4UHJpY2V9YDtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICAvLyBSZXN0YWJsZWNlIGVsIGZpbHRybyBhIGxvcyB2YWxvcmVzIHBvciBkZWZlY3RvXG4gICAgcmVzZXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudE1pblByaWNlID0gbnVsbDtcbiAgICAgICAgdGhpcy5jdXJyZW50TWF4UHJpY2UgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==