PageSourceSearch

https://nrcelectronics.com/chunk-C336LEHP.js

js nrcelectronics.com collected 2026-10-06 16:33:55 UTC 51,789 bytes, 367 lines download raw bytes

1import { injectQuery as __vite__injectQuery } from "/@vite/client";import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/chunk-C336LEHP.js");import {
2  BuildNrcComponent
3} from "/chunk-ALTFCXHA.js";
4import {
5  BannerFirstComponent
6} from "/chunk-WM3WEWU7.js";
7import {
8  LoaderBoxComponent,
9  SeoService,
10  seo_service_exports
11} from "/chunk-AFH6AP46.js";
12import {
13  DataService,
14  data_service_exports,
15  environment
16} from "/chunk-BRGIGWYZ.js";
17
18// src/app/pages/products/products.component.ts
19import { CommonModule as CommonModule2 } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65";
20import { Component as Component2 } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65";
21
22// src/app/components/common/search/search.component.ts
23import { CommonModule } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65";
24import { Component, Output, EventEmitter, Input } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65";
25import { FormsModule } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_forms.js?v=32da3b65";
26import { Subject } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/rxjs.js?v=32da3b65";
27import { debounceTime } from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/rxjs_operators.js?v=32da3b65";
28import * as i0 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65";
29import * as i1 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65";
30import * as i2 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_forms.js?v=32da3b65";
31var SearchComponent = class _SearchComponent {
32  sortOrder = "";
33  inputText = "";
34  setText;
35  textHover = "";
36  searchSubject = new Subject();
37  valueChanged = new EventEmitter();
38  valueChangedInput = new EventEmitter();
39  onClick = new EventEmitter();
40  emitClick() {
41    this.inputText = "";
42    this.searchSubject.next(this.inputText);
43    this.onClick.emit();
44  }
45  debounceTimeMs = 350;
46  ngOnInit() {
47    this.searchSubject.pipe(debounceTime(this.debounceTimeMs)).subscribe((searchValue) => {
48      this.performSearch(searchValue);
49    });
50  }
51  ngOnChanges(changes) {
52    if (changes["setText"] && changes["setText"].currentValue !== void 0) {
53      this.inputText = changes["setText"].currentValue;
54    }
55    if (changes["deleteSort"] && changes["deleteSort"].currentValue !== void 0) {
56      if (changes["deleteSort"].currentValue == true) {
57        this.sortOrder = "";
58      }
59    }
60  }
61  emitSortOrder() {
62    this.valueChanged.emit({ sortOrder: this.sortOrder });
63  }
64  onSearch() {
65    this.searchSubject.next(this.inputText);
66  }
67  performSearch(searchValue) {
68    this.valueChangedInput.emit({ inputText: searchValue });
69  }
70  static \u0275fac = function SearchComponent_Factory(__ngFactoryType__) {
71    return new (__ngFactoryType__ || _SearchComponent)();
72  };
73  static \u0275cmp = /* @__PURE__ */ i0.\u0275\u0275defineComponent({ type: _SearchComponent, selectors: [["app-search"]], inputs: { setText: "setText", textHover: "textHover" }
73, outputs: { valueChanged: "valueChanged", valueChangedInput: "valueChangedInput", onClick: "onClick" }, features: [i0.\u0275\u0275NgOnChangesFeature], decls: 22, vars: 3, consts: [[1, "flex", "flex-col", "mt-4", "bg-white", "rounded-full"], [1, "flex", "w-full", "gap-2", "md:gap-4", "border-neutro-50", "border", "rounded-full", "justify-between", "pl-4", "pr-8"], [1, "flex", "items-center", "rounded-full", "w-full"], ["width", "24", "height", "25", "viewBox", "0 0 24 25", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M11 19.8403C15.4183 19.8403 19 16.2586 19 11.8403C19 7.42205 15.4183 3.84033 11 3.84033C6.58172 3.84033 3 7.42205 3 11.8403C3 16.2586 6.58172 19.8403 11 19.8403Z", "stroke", "#94A3B8", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["d", "M21 21.8403L17 17.8403", "stroke", "#94A3B8", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["type", "text", 1, "font-nunito-sans", "outline-none", "block", "w-full", "p-2", "rounded-full", "text-black", "h-10", "md:h-12", "rounded-full", "text-neutro-600", "text-sm", "md:text-base", "placeholder-neutro-400", 3, "ngModelChange", "input", "ngModel", "placeholder"], [1, "flex", "w-32", "md:w-fit"], [1, "h-[75%]", "w-[2px]", "my-auto", "bg-light-300"], [1, "flex", "items-center", "bg-transparent", "rounded-full", "w-fit", "relative"], [1, "block", "font-nunito-sans", "z-10", "w-auto", "py-2", "px-2", "w-full", "md:w-auto", "md:px-6", "text-sm", "md:text-base", "rounded-full", "w-fit", "text-neutro-300", "focus:outline-none", "focus:border-black", "h-10", "md:h-12", "custom-select", 3, "ngModelChange", "change", "ngModel"], ["value", "", "disabled", "", "selected", ""], ["value", "asc", 1, ""], ["value", "desc", 1, ""], [1, "pr-4", "md:pr-2", "md:p-2", "absolute", "-right-4"], ["width", "14", "height", "24", "viewBox", "0 0 14 24", "fill", "none", "xmlns", "http://www.w3.org/2000/svg"], ["d", "M3.5 15.25L7 18.75L10.5 15.25", "stroke", "#83909E", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"], ["d", "M3.5 8.75L7 5.25L10.5 8.75", "stroke", "#83909E", "stroke-width", "1.5", "stroke-linecap", "round", "stroke-linejoin", "round"]], template: function SearchComponent_Template(rf, ctx) {
74    if (rf & 1) {
75      i0.\u0275\u0275elementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
76      i0.\u0275\u0275namespaceSVG();
77      i0.\u0275\u0275elementStart(3, "svg", 3);
78      i0.\u0275\u0275element(4, "path", 4)(5, "path", 5);
79      i0.\u0275\u0275elementEnd();
80      i0.\u0275\u0275namespaceHTML();
81      i0.\u0275\u0275elementStart(6, "input", 6);
82      i0.\u0275\u0275twoWayListener("ngModelChange", function SearchComponent_Template_input_ngModelChange_6_listener($event) {
83        i0.\u0275\u0275twoWayBindingSet(ctx.inputText, $event) || (ctx.inputText = $event);
84        return $event;
85      });
86      i0.\u0275\u0275listener("input", function SearchComponent_Template_input_input_6_listener() {
87        return ctx.onSearch();
88      });
89      i0.\u0275\u0275elementEnd()();
90      i0.\u0275\u0275elementStart(7, "div", 7)(8, "div", 8);
91      i0.\u0275\u0275text(9, "\xA0");
92      i0.\u0275\u0275elementEnd();
93      i0.\u0275\u0275elementStart(10, "div", 9)(11, "select", 10);
94      i0.\u0275\u0275twoWayListener("ngModelChange", function SearchComponent_Template_select_ngModelChange_11_listener($event) {
95        i0.\u0275\u0275twoWayBindingSet(ctx.sortOrder, $event) || (ctx.sortOrder = $event);
96        return $event;
97      });
98      i0.\u0275\u0275listener("change", function SearchComponent_Template_select_change_11_listener() {
99        return ctx.emitSortOrder();
100      });
101      i0.\u0275\u0275elementStart(12, "option", 11);
102      i0.\u0275\u0275text(13, "Sort by");
103      i0.\u0275\u0275elementEnd();
104      i0.\u0275\u0275elementStart(14, "option", 12);
105      i0.\u0275\u0275text(15, "Order: A-Z");
106      i0.\u0275\u0275elementEnd();
107      i0.\u0275\u0275elementStart(16, "option", 13);
108      i0.\u0275\u0275text(17, "Order: Z-A");
109      i0.\u0275\u0275elementEnd()();
110      i0.\u0275\u0275elementStart(18, "span", 14);
111      i0.\u0275\u0275namespaceSVG();
112      i0.\u0275\u0275elementStart(19, "svg", 15);
113      i0.\u0275\u0275element(20, "path", 16)(21, "path", 17);
114      i0.\u0275\u0275elementEnd()()()()()();
115    }
116    if (rf & 2) {
117      i0.\u0275\u0275advance(6);
118      i0.\u0275\u0275twoWayProperty("ngModel", ctx.inputText);
119      i0.\u0275\u0275property("placeholder", ctx.textHover);
120      i0.\u0275\u0275advance(5);
121      i0.\u0275\u0275twoWayProperty("ngModel", ctx.sortOrder);
122    }
123  }, dependencies: [CommonModule, i1.NgClass, i1.NgComponentOutlet, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i1.NgSwitchDefault, i1.NgPlural, i1.NgPluralCase, i1.AsyncPipe, i1.UpperCasePipe, i1.LowerCasePipe, i1.JsonPipe, i1.SlicePipe, i1.DecimalPipe, i1.PercentPipe, i1.TitleCasePipe, i1.CurrencyPipe, i1.DatePipe, i1.I18nPluralPipe, i1.I18nSelectPipe, i1.KeyValuePipe, FormsModule, i2.\u0275NgNoValidate, i2.NgSelectOption, i2.\u0275NgSelectMultipleOption, i2.DefaultValueAccessor, i2.NumberValueAccessor, i2.RangeValueAccessor, i2.CheckboxControlValueAccessor, i2.SelectControlValueAccessor, i2.SelectMultipleControlValueAccessor, i2.RadioControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.RequiredValidator, i2.MinLengthValidator, i2.MaxLengthValidator, i2.PatternValidator, i2.CheckboxRequiredValidator, i2.EmailValidator, i2.MinValidator, i2.MaxValidator, i2.NgModel, i2.NgModelGroup, i2.NgForm], styles: ["\n\nselect[_ngcontent-%COMP%] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n  background: none;\n}\n.select-container[_ngcontent-%COMP%] {\n  position: relative;\n  display: flex;\n  align-items: center;\n  border: 1px solid #83909E;\n  border-radius: 8px;\n  padding-left: 8px;\n}\n/*# sourceMappingURL=search.component.css.map */"] });
124};
125(() => {
126  (typeof ngDevMode === "undefined" || ngDevMode) && i0.\u0275setClassDebugInfo(SearchComponent, { className: "SearchComponent", filePath: "src/app/components/common/search/search.component.ts", lineNumber: 13 });
127})();
128(() => {
129  const id = "src%2Fapp%2Fcomponents%2Fcommon%2Fsearch%2Fsearch.component.ts%40SearchComponent";
130  function SearchComponent_HmrLoad(t) {
131    import(
132      /* @vite-ignore */
133      __vite__injectQuery(new URL("./@ng/component?c=" + id + "&t=" + encodeURIComponent(t), import.meta.url).href, 'import')
134    ).then((m) => m.default && i0.\u0275\u0275replaceMetadata(SearchComponent, m.default, [i0, i1, i2], [CommonModule, FormsModule], import.meta, id));
135  }
136  (typeof ngDevMode === "undefined" || ngDevMode) && SearchComponent_HmrLoad(Date.now());
137  (typeof ngDevMode === "undefined" || ngDevMode) && (import.meta.hot && import.meta.hot.on("angular:component-update", (d) => d.id === id && SearchComponent_HmrLoad(d.timestamp)));
138})();
139
140// src/app/pages/products/products.component.ts
141import * as i02 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_core.js?v=32da3b65";
142import * as i3 from "/@fs/var/www/html/nrcelectronics.blubear.io/nrc-electronics-front/.angular/cache/19.2.5/nrc-web/vite/deps/@angular_common.js?v=32da3b65";
143function ProductsComponent_ng_container_5_ng_container_5_Template(rf, ctx) {
144  if (rf & 1) {
145    i02.\u0275\u0275elementContainerStart(0);
146    i02.\u0275\u0275element(1, "app-loader-box", 9);
147    i02.\u0275\u0275elementContainerEnd();
148  }
149}
150function ProductsComponent_ng_container_5_Template(rf, ctx) {
151  if (rf & 1) {
152    i02.\u0275\u0275elementContainerStart(0);
153    i02.\u0275\u0275elementStart(1, "div", 4)(2, "div", 5);
154    i02.\u0275\u0275element(3, "app-loader-box", 6);
155    i02.\u0275\u0275elementEnd();
156    i02.\u0275\u0275elementStart(4, "div", 7);
157    i02.\u0275\u0275template(5, ProductsComponent_ng_container_5_ng_container_5_Template, 2, 0, "ng-container", 8);
158    i02.\u0275\u0275elementEnd()();
159    i02.\u0275\u0275elementContainerEnd();
160  }
161  if (rf & 2) {
162    const ctx_r0 = i02.\u0275\u0275nextContext();
163    i02.\u0275\u0275advance(5);
164    i02.\u0275\u0275property("ngForOf", ctx_r0.imagesLoad);
165  }
166}
167function ProductsComponent_ng_container_6_span_4_Template(rf, ctx) {
168  if (rf & 1) {
169    i02.\u0275\u0275elementStart(0, "span", 12);
170    i02.\u0275\u0275text(1, " There are no categories that match your search. ");
171    i02.\u0275\u0275elementEnd();
172  }
173}
174function ProductsComponent_ng_container_6_ng_container_6_Template(rf, ctx) {
175  if (rf & 1) {
176    i02.\u0275\u0275elementContainerStart(0);
177    i02.\u0275\u0275elementStart(1, "div", 13);
178    i02.\u0275\u0275element(2, "img", 14);
179    i02.\u0275\u0275elementStart(3, "div", 15)(4, "a", 16)(5, "h3", 17);
180    i02.\u0275\u0275text(6);
181    i02.\u0275\u0275elementEnd();
182    i02.\u0275\u0275element(7, "img", 18);
183    i02.\u0275\u0275elementEnd()()();
184    i02.\u0275\u0275elementContainerEnd();
185  }
186  if (rf & 2) {
187    const item_r3 = ctx.$implicit;
188    const ctx_r0 = i02.\u0275\u0275nextContext(2);
189    i02.\u0275\u0275advance(2);
190    i02.\u0275\u0275property("src", ctx_r0.envUrl + item_r3.image.url, i02.\u0275\u0275sanitizeUrl)("alt", item_r3.description);
191    i02.\u0275\u0275advance(2);
192    i02.\u0275\u0275property("href", "/contact/" + ctx_r0.cleanDescription(item_r3.description), i02.\u0275\u0275sanitizeUrl);
193    i02.\u0275\u0275advance(2);
194    i02.\u0275\u0275textInterpolate1(" ", item_r3.description, " ");
195  }
196}
197function ProductsComponent_ng_container_6_Template(rf, ctx) {
198  if (rf & 1) {
199    const _r2 = i02.\u0275\u0275getCurrentView();
200    i02.\u0275\u0275elementContainerStart(0);
201    i02.\u0275\u0275elementStart(1, "div", 4)(2, "div", 5)(3, "app-search", 10);
202    i02.\u0275\u0275listener("valueChanged", function ProductsComponent_ng_container_6_Template_app_search_valueChanged_3_listener($event) {
203      i02.\u0275\u0275restoreView(_r2);
204      const ctx_r0 = i02.\u0275\u0275nextContext();
205      return i02.\u0275\u0275resetView(ctx_r0.sortItems($event));
206    })("valueChangedInput", function ProductsComponent_ng_container_6_Template_app_search_valueChangedInput_3_listener($event) {
207      i02.\u0275\u0275restoreView(_r2);
208      const ctx_r0 = i02.\u0275\u0275nextContext();
209      return i02.\u0275\u0275resetView(ctx_r0.onSearchChanges($event));
210    });
211    i02.\u0275\u0275elementEnd();
212    i02.\u0275\u0275template(4, ProductsComponent_ng_container_6_span_4_Template, 2, 0, "span", 11);
213    i02.\u0275\u0275elementEnd();
214    i02.\u0275\u0275elementStart(5, "div", 7);
215    i02.\u0275\u0275template(6, ProductsComponent_ng_container_6_ng_container_6_Template, 8, 4, "ng-container", 8);
216    i02.\u0275\u0275elementEnd()();
217    i02.\u0275\u0275elementContainerEnd();
218  }
219  if (rf & 2) {
220    let tmp_1_0;
221    const ctx_r0 = i02.\u0275\u0275nextContext();
222    i02.\u0275\u0275advance(3);
223    i02.\u0275\u0275property("textHover", (tmp_1_0 = ctx_r0.productInfo == null ? null : ctx_r0.productInfo.hoverSearch) !== null && tmp_1_0 !== void 0 ? tmp_1_0 : "")("setText", ctx_r0.inputSearch);
224    i02.\u0275\u0275advance();
225    i02.\u0275\u0275property("ngIf", ctx_r0.filteredItems.length == 0);
226    i02.\u0275\u0275advance(2);
227    i02.\u0275\u0275property("ngForOf", ctx_r0.filteredItems);
228  }
229}
230function ProductsComponent_ng_container_8_Template(rf, ctx) {
231  if (rf & 1) {
232    i02.\u0275\u0275elementContainer(0);
233  }
234}
235function ProductsComponent_ng_container_9_Template(rf, ctx) {
236  if (rf & 1) {
237    i02.\u0275\u0275elementContainerStart(0);
238    i02.\u0275\u0275elementStart(1, "div", 19);
239    i02.\u0275\u0275element(2, "app-build-nrc", 20);
240    i02.\u0275\u0275elementEnd();
241    i02.\u0275\u0275elementContainerEnd();
242  }
243  if (rf & 2) {
244    const ctx_r0 = i02.\u0275\u0275nextContext();
245    i02.\u0275\u0275advance(2);
246    i02.\u0275\u0275property("nrcBuildInfo", ctx_r0.nrcBuildInfo);
247  }
248}
249var ProductsComponent = class _ProductsComponent {
250  data;
251  seoService;
252  loading = true;
253  productInfo;
254  envUrl = environment.strapiUrl;
255  firstSection;
256  itemsIamge = [];
257  filteredItems = [];
258  nrcBuildInfo;
259  inputSearch;
260  sortOrder = "";
261  noSearch = false;
262  seoInfo;
263  imagesLoad = new Array(6).fill({});
264  constructor(data, seoService) {
265    this.data = data;
266    this.seoService = seoService;
267    this.loading = true;
268    this.data.getDataStrapi("api/product?pLevel=5").subscribe({
269      next: (res) => {
270        if (res) {
271          if (res.data != null) {
272            this.productInfo = res.data;
273            this.firstSection = this.productInfo?.firstSection;
274            this.itemsIamge = this.productInfo?.productItems ?? [];
275            this.filteredItems = this.itemsIamge;
276            this.nrcBuildInfo = this.productInfo?.build_nrc;
277            this.sortItems({ sortOrder: "asc" });
278            this.loading = false;
279            this.seoInfo = this.productInfo?.seo;
280            this.seoService.setMetaTitle(this.seoInfo?.title ?? "");
281            this.seoService.setMetaDescription(this.seoInfo?.description ?? "");
282            this.seoService.setMetaKeywords(this.seoInfo?.keywords ?? "");
283            if (this.seoInfo?.image?.data?.attributes?.url) {
284              this.seoService.setMetaImage(`${environment.strapiUrl}${this.seoInfo?.image.data.attributes.url ?? ""}`);
285            }
286          }
287        }
288      },
289      error: (error) => {
290        this.loading = false;
291      }
292    });
293  }
294  onSearchChanges(event) {
295    this.inputSearch = event.inputText;
296    this.filterItemsSelect();
297  }
298  filterItemsSelect() {
299    this.filteredItems = this.itemsIamge.filter((item) => {
300      const matchesSearch = this.inputSearch ? item.description.toLowerCase().includes(this.inputSearch.toLowerCase()) : true;
301      return matchesSearch;
302    });
303  }
304  sortItems(event) {
305    this.sortOrder = event.sortOrder;
306    if (this.sortOrder === "asc") {
307      this.filteredItems.sort((a, b) => a.description.localeCompare(b.description));
308    } else if (this.sortOrder === "desc") {
309      this.filteredItems.sort((a, b) => b.description.localeCompare(a.description));
310    }
311  }
312  cleanDescription(description) {
313    return description.toLowerCase().replace(/\s+/g, "-");
314  }
315  static \u0275fac = function ProductsComponent_Factory(__ngFactoryType__) {
316    return new (__ngFactoryType__ || _ProductsComponent)(i02.\u0275\u0275directiveInject(DataService), i02.\u0275\u0275directiveInject(SeoService));
317  };
318  static \u0275cmp = /* @__PURE__ */ i02.\u0275\u0275defineComponent({ type: _ProductsComponent, selectors: [["app-products"]], decls: 10, vars: 6, consts: [[1, "main-section"], [1, "flex", "flex-col", "w-full"], ["colorWord", "text-nrc-pink", 3, "loading", "firstSection"], [4, "ngIf"], [1, "flex", "flex-col", "w-full", "gap-10", "lg:gap-12", "padding-global", "py-10", "lg:py-12"], [1, "flex", "flex-col", "gap-2"], ["width", "w-full", "height", "h-12"], [1, "grid", "md:grid-cols-2", "lg:grid-cols-3", "gap-4"], [4, "ngFor", "ngForOf"], ["width", "w-full", "height", "h-72"], [3, "valueChanged", "valueChangedInput", "textHover", "setText"], ["class", "text-red text-xs ml-4", 4, "ngIf"], [1, "text-red", "text-xs", "ml-4"], [1, "flex", "w-full", "overflow-hidden", "rounded-xl", "relative", "group"], [1, "aspect-[396/328]", "object-cover", "w-full", "group-hover:scale-105", "transition-all", "duration-300", 3, "src", "alt"], [1, "flex", "items-end", "absolute", "inset-0", "bg-gradient-to-b", "from-transparent", "via-transparent", "to-[#040404]", "z-10"], [1, "flex", "w-full", "justify-between", "mx-8", "pb-4", "mb-6", "border-b-white", "border-b-[1px]", "cursor-pointer", 3, "href"], [1, "font-reem", "font-semibold", "text-base", "text-white", "transition-all", "duration-300"], ["src", "common/ArrowUpRight.svg", "alt", "arrow", 1, "invert", "brightness-0"], [1, "flex", "w-full", "justify-center", "items-center", "relative"], [3, "nrcBuildInfo"]], template: function ProductsComponent_Template(rf, ctx) {
319    if (rf & 1) {
320      i02.\u0275\u0275elementStart(0, "section", 0);
321      i02.\u0275\u0275elementContainerStart(1);
322      i02.\u0275\u0275elementStart(2, "div", 1);
323      i02.\u0275\u0275element(3, "app-banner-first", 2);
324      i02.\u0275\u0275elementEnd();
325      i02.\u0275\u0275elementContainerEnd();
326      i02.\u0275\u0275elementContainerStart(4);
327      i02.\u0275\u0275template(5, ProductsComponent_ng_container_5_Template, 6, 1, "ng-container", 3)(6, ProductsComponent_ng_container_6_Template, 7, 4, "ng-container", 3);
328      i02.\u0275\u0275elementContainerEnd();
329      i02.\u0275\u0275elementContainerStart(7);
330      i02.\u0275\u0275template(8, ProductsComponent_ng_container_8_Template, 1, 0, "ng-container", 3)(9, ProductsComponent_ng_container_9_Template, 3, 1, "ng-container", 3);
331      i02.\u0275\u0275elementContainerEnd();
332      i02.\u0275\u0275elementEnd();
333    }
334    if (rf & 2) {
335      i02.\u0275\u0275advance(3);
336      i02.\u0275\u0275property("loading", ctx.loading)("firstSection", ctx.firstSection);
337      i02.\u0275\u0275advance(2);
338      i02.\u0275\u0275property("ngIf", ctx.loading);
339      i02.\u0275\u0275advance();
340      i02.\u0275\u0275property("ngIf", !ctx.loading);
341      i02.\u0275\u0275advance(2);
342      i02.\u0275\u0275property("ngIf", ctx.loading);
343      i02.\u0275\u0275advance();
344      i02.\u0275\u0275property("ngIf", !ctx.loading && ctx.nrcBuildInfo);
345    }
346  }
346, dependencies: [CommonModule2, i3.NgClass, i3.NgComponentOutlet, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i3.NgPlural, i3.NgPluralCase, i3.AsyncPipe, i3.UpperCasePipe, i3.LowerCasePipe, i3.JsonPipe, i3.SlicePipe, i3.DecimalPipe, i3.PercentPipe, i3.TitleCasePipe, i3.CurrencyPipe, i3.DatePipe, i3.I18nPluralPipe, i3.I18nSelectPipe, i3.KeyValuePipe, BuildNrcComponent, LoaderBoxComponent, BannerFirstComponent, SearchComponent], encapsulation: 2 });
347};
348(() => {
349  (typeof ngDevMode === "undefined" || ngDevMode) && i02.\u0275setClassDebugInfo(ProductsComponent, { className: "ProductsComponent", filePath: "src/app/pages/products/products.component.ts", lineNumber: 23 });
350})();
351(() => {
352  const id = "src%2Fapp%2Fpages%2Fproducts%2Fproducts.component.ts%40ProductsComponent";
353  function ProductsComponent_HmrLoad(t) {
354    import(
355      /* @vite-ignore */
356      __vite__injectQuery(new URL("./@ng/component?c=" + id + "&t=" + encodeURIComponent(t), import.meta.url).href, 'import')
357    ).then((m) => m.default && i02.\u0275\u0275replaceMetadata(ProductsComponent, m.default, [i02, i3, data_service_exports, seo_service_exports], [CommonModule2, BuildNrcComponent, LoaderBoxComponent, BannerFirstComponent, SearchComponent], import.meta, id));
358  }
359  (typeof ngDevMode === "undefined" || ngDevMode) && ProductsComponent_HmrLoad(Date.now());
360  (typeof ngDevMode === "undefined" || ngDevMode) && (import.meta.hot && import.meta.hot.on("angular:component-update", (d) => d.id === id && ProductsComponent_HmrLoad(d.timestamp)));
361})();
362export {
363  ProductsComponent
364};
365
366
367//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvcHJvZHVjdHMvcHJvZHVjdHMuY29tcG9uZW50LnRzIiwic3JjL2FwcC9wYWdlcy9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQuaHRtbCIsInNyYy9hcHAvY29tcG9uZW50cy9jb21tb24vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCJzcmMvYXBwL2NvbXBvbmVudHMvY29tbW9uL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZHVjdHNJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvcmR1Y3RzX2ludGFyZmFjZSc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBGaXJzdFNlY3Rpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ZpcnN0X3NlY3Rpb25faW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1aWxkTnJjIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9idWlsZF9ucmNfaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlcnZpY2VzSW1hZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2hvbWVfaW50ZXJmYWNlJztcbmltcG9ydCB7IEJ1aWxkTnJjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tb24vYnVpbGQtbnJjL2J1aWxkLW5yYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGVyQm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tb24vbG9hZGVyLWJveC9sb2FkZXItYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYW5uZXJGaXJzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbW9uL2Jhbm5lci1maXJzdC9iYW5uZXItZmlyc3QuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZW8uc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbW1vbi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZW9JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Nlb19pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdHMnLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdWlsZE5yY0NvbXBvbmVudCwgTG9hZGVyQm94Q29tcG9uZW50LCBCYW5uZXJGaXJzdENvbXBvbmVudCwgU2VhcmNoQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Byb2R1Y3RzLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzQ29tcG9uZW50IHtcblxuICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvZHVjdEluZm8/OiBQcm9kdWN0c0ludGVyZmFjZTtcbiAgZW52VXJsOiBzdHJpbmcgPSBlbnZpcm9ubWVudC5zdHJhcGlVcmw7XG4gIGZpcnN0U2VjdGlvbj86IEZpcnN0U2VjdGlvblxuICBpdGVtc0lhbWdlOiBTZXJ2aWNlc0ltYWdlW10gPSBbXTtcbiAgZmlsdGVyZWRJdGVtczogU2VydmljZXNJbWFnZVtdID0gW107XG4gIG5yY0J1aWxkSW5mbz86IEJ1aWxkTnJjXG4gIGlucHV0U2VhcmNoPzogc3RyaW5nO1xuICBzb3J0T3JkZXI6IHN0cmluZyA9ICcnO1xuICBub1NlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBzZW9JbmZvPzogU2VvSW50ZXJmYWNlXG4gIGltYWdlc0xvYWQgPSBuZXcgQXJyYXkoNikuZmlsbCh7fSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhOiBEYXRhU2VydmljZSwgcHJpdmF0ZSBzZW9TZXJ2aWNlOiBTZW9TZXJ2aWNlKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRhdGEuZ2V0RGF0YVN0cmFwaShcImFwaS9wcm9kdWN0P3BMZXZlbD01XCIpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgIGlmIChyZXMuZGF0YSAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RJbmZvID0gcmVzLmRhdGFcbiAgICAgICAgICAgI
367HRoaXMuZmlyc3RTZWN0aW9uID0gdGhpcy5wcm9kdWN0SW5mbz8uZmlyc3RTZWN0aW9uXG4gICAgICAgICAgICB0aGlzLml0ZW1zSWFtZ2UgPSB0aGlzLnByb2R1Y3RJbmZvPy5wcm9kdWN0SXRlbXMgPz8gW11cbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuaXRlbXNJYW1nZVxuICAgICAgICAgICAgdGhpcy5ucmNCdWlsZEluZm8gPSB0aGlzLnByb2R1Y3RJbmZvPy5idWlsZF9ucmNcbiAgICAgICAgICAgIHRoaXMuc29ydEl0ZW1zKHsgc29ydE9yZGVyOiAnYXNjJyB9KVxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuc2VvSW5mbyA9IHRoaXMucHJvZHVjdEluZm8/LnNlbztcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhVGl0bGUodGhpcy5zZW9JbmZvPy50aXRsZSA/PyBcIlwiKTtcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhRGVzY3JpcHRpb24odGhpcy5zZW9JbmZvPy5kZXNjcmlwdGlvbiA/PyBcIlwiKTtcbiAgICAgICAgICAgIHRoaXMuc2VvU2VydmljZS5zZXRNZXRhS2V5d29yZHModGhpcy5zZW9JbmZvPy5rZXl3b3JkcyA/PyBcIlwiKVxuICAgICAgICAgICAgaWYgKHRoaXMuc2VvSW5mbz8uaW1hZ2U/LmRhdGE/LmF0dHJpYnV0ZXM/LnVybCkge1xuICAgICAgICAgICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0TWV0YUltYWdlKGAke2Vudmlyb25tZW50LnN0cmFwaVVybH0ke3RoaXMuc2VvSW5mbz8uaW1hZ2UuZGF0YS5hdHRyaWJ1dGVzLnVybCA/PyAnJ31gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgb25TZWFyY2hDaGFuZ2VzKGV2ZW50OiB7IGlucHV0VGV4dDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmlucHV0U2VhcmNoID0gKGV2ZW50LmlucHV0VGV4dClcbiAgICB0aGlzLmZpbHRlckl0ZW1zU2VsZWN0KCk7XG4gIH1cblxuICBmaWx0ZXJJdGVtc1NlbGVjdCgpIHtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLml0ZW1zSWFtZ2UuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgbWF0Y2hlc1NlYXJjaCA9IHRoaXMuaW5wdXRTZWFyY2ggPyAoaXRlbS5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRTZWFyY2gudG9Mb3dlckNhc2UoKSkpIDogdHJ1ZTtcbiAgICAgIHJldHVybiBtYXRjaGVzU2VhcmNoO1xuICAgIH0pO1xuICB9XG5cbiAgc29ydEl0ZW1zKGV2ZW50OiB7IHNvcnRPcmRlcjogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnNvcnRPcmRlciA9IChldmVudC5zb3J0T3JkZXIpXG4gICAgaWYgKHRoaXMuc29ydE9yZGVyID09PSAnYXNjJykge1xuICAgICAgdGhpcy5maWx0ZXJlZEl0ZW1zLnNvcnQoKGEsIGIpID0+IGEuZGVzY3JpcHRpb24ubG9jYWxlQ29tcGFyZShiLmRlc2NyaXB0aW9uKSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXMuc29ydCgoYSwgYikgPT4gYi5kZXNjcmlwdGlvbi5sb2NhbGVDb21wYXJlKGEuZGVzY3JpcHRpb24pKTtcbiAgICB9XG4gIH1cblxuICBjbGVhbkRlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xccysvZywgJy0nKTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb25cIj5cbiAgICA8bmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxhcHAtYmFubmVyLWZpcnN0IGNvbG9yV29yZD1cInRleHQtbnJjLXBpbmtcIiBbbG9hZGluZ109XCJ0aGlzLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFtmaXJzdFNlY3Rpb25dPVwidGhpcy5maXJzdFNlY3Rpb25cIj48L2FwcC1iYW5uZXItZmlyc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbCBnYXAtMTAgbGc6Z2FwLTEyIHBhZGRpbmctZ2xvYmFsIHB5LTEwIGxnOnB5LTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1sb2FkZXItYm94IHdpZHRoPVwidy1mdWxsXCIgaGVpZ2h0PVwiaC0xMlwiPjwvYXBwLWxvYWRlci1ib3g+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aGlzLmltYWdlc0xvYWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtbG9hZGVyLWJveCB3aWR0aD1cInctZnVsbFwiIGhlaWdodD1cImgtNzJcIj48L2FwcC1sb2FkZXItYm94PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLmxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHctZnVsbCBnYXAtMTAgbGc6Z2FwLTEyIHBhZGRpbmctZ2xvYmFsIHB5LTEwIGxnOnB5LTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2ggW3RleHRIb3Zlcl09XCIgdGhpcy5wcm9kdWN0SW5mbz8uaG92ZXJTZWFyY2g/PycnXCIgW3NldFRleHRdPVwidGhpcy5pbnB1dFNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2VkKT1cInNvcnRJdGVtcygkZXZlbnQpXCIgKHZhbHVlQ2hhbmdlZElucHV0KT1cIm9uU2VhcmNoQ2hhbmdlcygkZXZlbnQpXCI+PC9hcHAtc2VhcmNoPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkIHRleHQteHMgbWwtNFwiICpuZ0lmPVwidGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aD09MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhlcmUgYXJlIG5vIGNhdGVnb3JpZXMgdGhhdCBtY
367XRjaCB5b3VyIHNlYXJjaC5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zIGdhcC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGhpcy5maWx0ZXJlZEl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGwgcmVsYXRpdmUgZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiYXNwZWN0LVszOTYvMzI4XSBvYmplY3QtY292ZXIgdy1mdWxsIGdyb3VwLWhvdmVyOnNjYWxlLTEwNSAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJ0aGlzLmVudlVybCArIGl0ZW0uaW1hZ2UudXJsXCIgW2FsdF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtZW5kIGFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXRyYW5zcGFyZW50IHZpYS10cmFuc3BhcmVudCB0by1bIzA0MDQwNF0gei0xMCBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiJy9jb250YWN0LycrY2xlYW5EZXNjcmlwdGlvbiggaXRlbS5kZXNjcmlwdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWJldHdlZW4gbXgtOCBwYi00IG1iLTYgYm9yZGVyLWItd2hpdGUgYm9yZGVyLWItWzFweF0gY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoM1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9udC1yZWVtIGZvbnQtc2VtaWJvbGQgdGV4dC1iYXNlICB0ZXh0LXdoaXRlIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImludmVydCBicmlnaHRuZXNzLTBcIiBzcmM9XCJjb21tb24vQXJyb3dVcFJpZ2h0LnN2Z1wiIGFsdD1cImFycm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLmxvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLmxvYWRpbmcgJiYgdGhpcy5ucmNCdWlsZEluZm9cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWJ1aWxkLW5yYyBbbnJjQnVpbGRJbmZvXT1cInRoaXMubnJjQnVpbGRJbmZvXCI+PC9hcHAtYnVpbGQtbnJjPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG48L3NlY3Rpb24+IiwiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCB7XG4gIHNvcnRPcmRlcjogc3RyaW5nID0gJyc7XG4gIGlucHV0VGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNldFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRIb3Zlcjogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgc2VhcmNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzb3J0T3JkZXI6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkSW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5wdXRUZXh0OiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgZW1pdENsaWNrKCkge1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gXCJcIlxuICAgIHRoaXMuc2VhcmNoU3ViamVjdC5uZXh0KHRoaXMuaW5wdXRUZXh0KTtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpOyAvLyBFbWl0aXIgZWwgZXZlbnRvXG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZVRpbWVNcyA9IDM1MDtcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0LnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lTXMpKS5zdWJzY3JpYmUoKHNlYXJjaFZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnBlcmZvcm1TZWFyY2goc2VhcmNoVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXG5cbiAgICBpZiAoY2hhbmdlc1snc2V0VGV4dCddICYmIGNoYW5nZXNbJ3NldFRleHQnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSBjaGFuZ2VzWydzZXRUZX
367h0J10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snZGVsZXRlU29ydCddICYmIGNoYW5nZXNbJ2RlbGV0ZVNvcnQnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2RlbGV0ZVNvcnQnXS5jdXJyZW50VmFsdWUgPT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLnNvcnRPcmRlciA9ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGVtaXRTb3J0T3JkZXIoKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh7IHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgfSk7XG4gIH1cbiAgb25TZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hTdWJqZWN0Lm5leHQodGhpcy5pbnB1dFRleHQpO1xuICB9XG4gIHBlcmZvcm1TZWFyY2goc2VhcmNoVmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkSW5wdXQuZW1pdCh7IGlucHV0VGV4dDogc2VhcmNoVmFsdWUgfSlcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC00IGJnLXdoaXRlIHJvdW5kZWQtZnVsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHctZnVsbCBnYXAtMiBtZDpnYXAtNCBib3JkZXItbmV1dHJvLTUwIGJvcmRlciByb3VuZGVkLWZ1bGwganVzdGlmeS1iZXR3ZWVuIHBsLTQgcHItOFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1mdWxsIHctZnVsbFwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI0IDI1XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOS44NDAzQzE1LjQxODMgMTkuODQwMyAxOSAxNi4yNTg2IDE5IDExLjg0MDNDMTkgNy40MjIwNSAxNS40MTgzIDMuODQwMzMgMTEgMy44NDAzM0M2LjU4MTcyIDMuODQwMzMgMyA3LjQyMjA1IDMgMTEuODQwM0MzIDE2LjI1ODYgNi41ODE3MiAxOS44NDAzIDExIDE5Ljg0MDNaXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzk0QTNCOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yMSAyMS44NDAzTDE3IDE3Ljg0MDNcIiBzdHJva2U9XCIjOTRBM0I4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgKGlucHV0KT1cIm9uU2VhcmNoKClcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJ0aGlzLnRleHRIb3ZlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb250LW51bml0by1zYW5zIG91dGxpbmUtbm9uZSBibG9jayB3LWZ1bGwgcC0yIHJvdW5kZWQtZnVsbCB0ZXh0LWJsYWNrIGgtMTAgbWQ6aC0xMiByb3VuZGVkLWZ1bGwgdGV4dC1uZXV0cm8tNjAwIHRleHQtc20gbWQ6dGV4dC1iYXNlIHBsYWNlaG9sZGVyLW5ldXRyby00MDBcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggdy0zMiBtZDp3LWZpdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtWzc1JV0gdy1bMnB4XSBteS1hdXRvIGJnLWxpZ2h0LTMwMCBcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBiZy10cmFuc3BhcmVudCByb3VuZGVkLWZ1bGwgdy1maXQgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic29ydE9yZGVyXCIgKGNoYW5nZSk9XCJlbWl0U29ydE9yZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIGZvbnQtbnVuaXRvLXNhbnMgei0xMCB3LWF1dG8gcHktMiBweC0yIHctZnVsbCBtZDp3LWF1dG8gbWQ6cHgtNiB0ZXh0LXNtIG1kOnRleHQtYmFzZSByb3VuZGVkLWZ1bGwgdy1maXQgdGV4dC1uZXV0cm8tMzAwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItYmxhY2sgaC0xMCBtZDpoLTEyIGN1c3RvbS1zZWxlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlNvcnQgYnk8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBjbGFzcz1cIlwiIHZhbHVlPVwiYXNjXCI+T3JkZXI6IEEtWjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGNsYXNzPVwiXCIgdmFsdWU9XCJkZXNjXCI+T3JkZXI6IFotQTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHItNCBtZDpwci0yIG1kOnAtMiBhYnNvbHV0ZSAtcmlnaHQtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMTQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy41IDE1LjI1TDcgMTguNzVMMTAuNSAxNS4yNVwiIHN0cm9rZT1cIiM4MzkwOUVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuNSA4Ljc1TDcgNS4yNUwxMC41IDguNzVcIiBzdHJva2U9XCIjODM5MDlFXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVMsZ0JBQUFBLHFCQUFvQjtB
367QUM3QixTQUFTLGFBQUFDLGtCQUFpQjs7O0FFRDFCLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsV0FBVyxRQUFRLGNBQTZCLGFBQWE7QUFDdEUsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsb0JBQW9COzs7O0FBUXZCLElBQU8sa0JBQVAsTUFBTyxpQkFBZTtFQUMxQixZQUFvQjtFQUNwQixZQUFvQjtFQUNYO0VBQ0EsWUFBb0I7RUFDckIsZ0JBQWdCLElBQUksUUFBTztFQUN6QixlQUFlLElBQUksYUFBWTtFQUMvQixvQkFBb0IsSUFBSSxhQUFZO0VBQ3BDLFVBQThCLElBQUksYUFBWTtFQUN4RCxZQUFTO0FBQ1AsU0FBSyxZQUFZO0FBQ2pCLFNBQUssY0FBYyxLQUFLLEtBQUssU0FBUztBQUN0QyxTQUFLLFFBQVEsS0FBSTtFQUNuQjtFQUNpQixpQkFBaUI7RUFDbEMsV0FBUTtBQUNOLFNBQUssY0FBYyxLQUFLLGFBQWEsS0FBSyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsZ0JBQWU7QUFDbkYsV0FBSyxjQUFjLFdBQVc7SUFDaEMsQ0FBQztFQUNIO0VBRUEsWUFBWSxTQUFzQjtBQUdoQyxRQUFJLFFBQVEsU0FBUyxLQUFLLFFBQVEsU0FBUyxFQUFFLGlCQUFpQixRQUFXO0FBQ3ZFLFdBQUssWUFBWSxRQUFRLFNBQVMsRUFBRTtJQUN0QztBQUNBLFFBQUksUUFBUSxZQUFZLEtBQUssUUFBUSxZQUFZLEVBQUUsaUJBQWlCLFFBQVc7QUFDN0UsVUFBSSxRQUFRLFlBQVksRUFBRSxnQkFBZ0IsTUFBTTtBQUM5QyxhQUFLLFlBQVk7TUFDbkI7SUFDRjtFQUNGO0VBRUEsZ0JBQWE7QUFDWCxTQUFLLGFBQWEsS0FBSyxFQUFFLFdBQVcsS0FBSyxVQUFTLENBQUU7RUFDdEQ7RUFDQSxXQUFRO0FBQ04sU0FBSyxjQUFjLEtBQUssS0FBSyxTQUFTO0VBQ3hDO0VBQ0EsY0FBYyxhQUFtQjtBQUMvQixTQUFLLGtCQUFrQixLQUFLLEVBQUUsV0FBVyxZQUFXLENBQUU7RUFDeEQ7O3FDQTFDVyxrQkFBZTtFQUFBOzRFQUFmLGtCQUFlLFdBQUEsQ0FBQSxDQUFBLFlBQUEsQ0FBQSxHQUFBLFFBQUEsRUFBQSxTQUFBLFdBQUEsV0FBQSxZQUFBLEdBQUEsU0FBQSxFQUFBLGNBQUEsZ0JBQUEsbUJBQUEscUJBQUEsU0FBQSxVQUFBLEdBQUEsVUFBQSxDQUFBLGlDQUFBLEdBQUEsT0FBQSxJQUFBLE1BQUEsR0FBQSxRQUFBLENBQUEsQ0FBQSxHQUFBLFFBQUEsWUFBQSxRQUFBLFlBQUEsY0FBQSxHQUFBLENBQUEsR0FBQSxRQUFBLFVBQUEsU0FBQSxZQUFBLG9CQUFBLFVBQUEsZ0JBQUEsbUJBQUEsUUFBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsZ0JBQUEsZ0JBQUEsUUFBQSxHQUFBLENBQUEsU0FBQSxNQUFBLFVBQUEsTUFBQSxXQUFBLGFBQUEsUUFBQSxRQUFBLFNBQUEsNEJBQUEsR0FBQSxDQUFBLEtBQUEscUtBQUEsVUFBQSxXQUFBLGdCQUFBLE9BQUEsa0JBQUEsU0FBQSxtQkFBQSxPQUFBLEdBQUEsQ0FBQSxLQUFBLDBCQUFBLFVBQUEsV0FBQSxnQkFBQSxPQUFBLGtCQUFBLFNBQUEsbUJBQUEsT0FBQSxHQUFBLENBQUEsUUFBQSxRQUFBLEdBQUEsb0JBQUEsZ0JBQUEsU0FBQSxVQUFBLE9BQUEsZ0JBQUEsY0FBQSxRQUFBLFdBQUEsZ0JBQUEsbUJBQUEsV0FBQSxnQkFBQSwwQkFBQSxHQUFBLGlCQUFBLFNBQUEsV0FBQSxhQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsUUFBQSxVQUFBLEdBQUEsQ0FBQSxHQUFBLFdBQUEsV0FBQSxXQUFBLGNBQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxnQkFBQSxrQkFBQSxnQkFBQSxTQUFBLFVBQUEsR0FBQSxDQUFBLEdBQUEsU0FBQSxvQkFBQSxRQUFBLFVBQUEsUUFBQSxRQUFBLFVBQUEsYUFBQSxXQUFBLFdBQUEsZ0JBQUEsZ0JBQUEsU0FBQSxtQkFBQSxzQkFBQSxzQkFBQSxRQUFBLFdBQUEsaUJBQUEsR0FBQSxpQkFBQSxVQUFBLFNBQUEsR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EdBQUEsQ0FBQSxHQUFBLFFBQUEsWUFBQSxVQUFBLFVBQUEsYUFBQSxrQkFBQSxTQUFBLFVBQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxZQUFBLE9BQUEsR0FBQSxDQUFBLFNBQUEsVUFBQSxVQUFBLE1BQUEsR0FBQSxDQUFBLEdBQUEsUUFBQSxrQkFBQSxrQkFBQSxPQUFBLEdBQUEsQ0FBQSxHQUFBLFNBQUEsU0FBQSxHQUFBLENBQUEsU0FBQSxVQUFBLFVBQUEsTUFBQSxHQUFBLENBQUEsR0FBQSxnQkFBQSxxQkFBQSxhQUFBLFNBQUEsR0FBQSxDQUFBLFNBQUEseUJBQUEsR0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFlBQUEsV0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsVUFBQSxtQkFBQSxjQUFBLFlBQUEsT0FBQSxHQUFBLENBQUEsR0FBQSxvQkFBQSxnQkFBQSxVQUFBLHlCQUFBLGtCQUFBLGdCQUFBLEdBQUEsT0FBQSxLQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsYUFBQSxZQUFBLFdBQUEsb0JBQUEsb0JBQUEsbUJBQUEsZ0JBQUEsTUFBQSxHQUFBLENBQUEsR0FBQSxRQUFBLFVBQUEsbUJBQUEsUUFBQSxRQUFBLFFBQUEsa0JBQUEsa0JBQUEsa0JBQUEsR0FBQSxNQUFBLEdBQUEsQ0FBQSxHQUFBLGFBQUEsaUJBQUEsYUFBQSxjQUFBLGtCQUFBLGNBQUEsR0FBQSxDQUFBLE9BQUEsMkJBQUEsT0FBQSxTQUFBLEdBQUEsVUFBQSxjQUFBLEdBQUEsQ0FBQSxHQUFBLFFBQUEsVUFBQSxrQkFBQSxnQkFBQSxVQUFBLEdBQUEsQ0FBQSxHQUFBLGNBQUEsQ0FBQSxHQUFBLFVBQUEsU0FBQSwyQkFBQSxJQUFBLEtBQUE7QUFBQSxRQUFBLEtBQUEsR0FBQTtBQ3RCOUIsTUFBQSw2QkFBQSxHQUFBLFdBQUEsQ0FBQTtBQUNJLE1BQUEsc0NBQUEsQ0FBQTtBQUNJLE1BQUEsNkJBQUEsR0FBQSxPQUFBLENBQUE7QUFDSSxNQUFBLHdCQUFBLEdBQUEsb0JBQUEsQ0FBQTtBQUVKLE1BQUEsMkJBQUE7O0FBRUosTUFBQSxzQ0FBQSxDQUFBO0FBQ0ksTUFBQSx5QkFBQSxHQUFBLDJDQUFBLEdBQUEsR0FBQSxnQkFBQSxDQUFBLEVBQW1DLEdBQUEsMkNBQUEsR0FBQSxHQUFBLGdCQUFBLENBQUE7O0FBNEN2QyxNQUFBLHNDQUFBLENBQUE7QUFDSSxNQUFBLHlCQUFBLEdBQUEsMkNBQUEsR0FBQSxHQUFBLGdCQUFBLENBQUEsRUFBbUMsR0FBQSwyQ0FBQSxHQUFBLEdBQUEsZ0JBQUEsQ0FBQTs7QUFRM0MsTUFBQSwyQkFBQTs7O0FBMUR3RCxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFdBQUEsSUFBQSxPQUFBLEVBQXdCLGdCQUFBLElBQUEsWUFBQTtBQUt6RCxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFFBQUEsSUFBQSxPQUFBO0FBWUEsTUFBQSx3QkFBQTtBQUFBLE1BQUEseUJBQUEsUUFBQSxDQUFBLElBQUEsT0FBQTtBQWlDQSxNQUFBLHdCQUFBLENBQUE7QUFBQSxNQUFBLHlCQUFBLFFBQUEsSUFBQSxPQUFBO0FBQ0EsTUFBQSx3QkFBQTtBQUFBLE1BQUEseUJBQUEsUUFBQSxDQUFBLElBQUEsV0FBQSxJQUFBLFlBQUE7O29CRHJDWEMsZUFBWSxZQUFBLHNCQUFBLFlBQUEsU0FBQSxxQkFBQSxZQUFBLGFBQUEsaUJBQUEsb0JBQUEsYUFBQSxpQkFBQSxjQUFBLGtCQUFBLGtCQUFBLGFBQUEsY0FBQSxnQkFBQSxnQkFBQSxrQkFBQSxpQkFBQSxhQUFBLG1CQUFBLG1CQUFBLGlCQUFFLG1CQUFtQixvQkFBb0Isc0JBQXNCLGVBQWUsR0FBQSxlQUFBLEVBQUEsQ0FBQTs7O2lGQUt6RixtQkFBaUIsRUFBQSxXQUFBLHFCQUFBLFVBQUEsZ0RBQUEsWUFBQSxHQUFBLENBQUE7QUFBQSxHQUFBOzs7Ozs7OytEQUFqQixtQkFB
367aUIsRUFBQSxTQUFBLENBQUFDLEtBQUEsSUFBQSxzQkFBQSxtQkFBQSxHQUFBLENBQUFELGVBQUEsbUJBQUEsb0JBQUEsc0JBQUEsZUFBQSxHQUFBLGFBQUEsRUFBQSxDQUFBO0VBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGNBQUEsMEJBQUEsS0FBQSxJQUFBLENBQUE7QUFBQSxHQUFBLE9BQUEsY0FBQSxlQUFBLGVBQUEsWUFBQSxPQUFBLFlBQUEsSUFBQSxHQUFBLDRCQUFBLE9BQUEsRUFBQSxPQUFBLE1BQUEsMEJBQUEsRUFBQSxTQUFBLENBQUE7QUFBQSxHQUFBOyIsIm5hbWVzIjpbIkNvbW1vbk1vZHVsZSIsIkNvbXBvbmVudCIsIkNvbW1vbk1vZHVsZSIsImkwIl19

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.